diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d4f49c3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ + +PDFWorkflowManager/PDFWorkflowManager/obj +PDFWorkflowManager/PDFWorkflowManager/bin +PDFWorkflowManager/Setup/Debug +PDFWorkflowManager/Setup/Release \ No newline at end of file diff --git a/PDFWorkflowManager/.vs/PDFWorkflowManager/v16/.suo b/PDFWorkflowManager/.vs/PDFWorkflowManager/v16/.suo new file mode 100644 index 0000000..230858e Binary files /dev/null and b/PDFWorkflowManager/.vs/PDFWorkflowManager/v16/.suo differ diff --git a/PDFWorkflowManager/PDFWorkflowManager.sln b/PDFWorkflowManager/PDFWorkflowManager.sln new file mode 100644 index 0000000..1e51c0f --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.33214.272 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PDF Workflow Manager", "PDFWorkflowManager\PDF Workflow Manager.csproj", "{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{E4C5F971-3D5B-4645-98E7-2737AE92E82A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Debug|x64.ActiveCfg = Debug|x64 + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Debug|x64.Build.0 = Debug|x64 + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|Any CPU.Build.0 = Release|Any CPU + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|x64.ActiveCfg = Release|x64 + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|x64.Build.0 = Release|x64 + {E4C5F971-3D5B-4645-98E7-2737AE92E82A}.Debug|Any CPU.ActiveCfg = Debug + {E4C5F971-3D5B-4645-98E7-2737AE92E82A}.Debug|x64.ActiveCfg = Debug + {E4C5F971-3D5B-4645-98E7-2737AE92E82A}.Debug|x64.Build.0 = Debug + {E4C5F971-3D5B-4645-98E7-2737AE92E82A}.Release|Any CPU.ActiveCfg = Release + {E4C5F971-3D5B-4645-98E7-2737AE92E82A}.Release|x64.ActiveCfg = Release + {E4C5F971-3D5B-4645-98E7-2737AE92E82A}.Release|x64.Build.0 = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {057144D2-A9D9-4540-82A3-7FB6D1F72DAD} + EndGlobalSection +EndGlobal diff --git a/PDFWorkflowManager/PDFWorkflowManager/App.config b/PDFWorkflowManager/PDFWorkflowManager/App.config new file mode 100644 index 0000000..d04bf24 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/App.config @@ -0,0 +1,48 @@ + + + + +
+ + + + + + + + + C:\Program Files\ScanTailor Advanced\scantailor.exe + + + .\origs + + + .\work + + + .\work\out + + + .\temp + + + gswin64c.exe + + + pdftk.exe + + + tesseract.exe + + + Tomse + + + Processed by Tomse @ http://retro-commodore.eu + + + 1 + + + + \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/Help/page1.html.txt b/PDFWorkflowManager/PDFWorkflowManager/Help/page1.html.txt new file mode 100644 index 0000000..880c9e2 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Help/page1.html.txt @@ -0,0 +1,37 @@ + +Topic 1 + + + +
+
+ + + +
RCEU Workflow +Manager
+
+

Pre-requisites

+

+

RCEU Workflow Manager is a partial wrapper for other programs.

+

Required for full functionality are these free programs:

+

GhostScript, PDFToolKit +Server, TesserAct-OCR, +ScanTailor.

+

 

+

You either need to have the binaries in your path environment, or go to +settings and navigate each to it's executable.

+

 

+

 

+
+
+
+ diff --git a/PDFWorkflowManager/PDFWorkflowManager/Help/page2.html.txt b/PDFWorkflowManager/PDFWorkflowManager/Help/page2.html.txt new file mode 100644 index 0000000..bdcd28e --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Help/page2.html.txt @@ -0,0 +1,44 @@ + +Topic 2 + + + +
+
+ + + +
RCEU Workflow +Manager
+
+

Intro

+

+

What is RCEU Workflow Manager?

+

 

+

It is a tool, which helps creating PDF files for https://retro-commodore.eu, but can be +used for your own needs.

+

 

+

The workflow is like this:

+

After you've scanned, you put your original files in an origs directory,

+

this directory will be copied to a work directory - we never work on the +original scans, so the origs is our safekeeping directory.

+

Now it's time to process your images with ScanTailor.

+

After you've created your outputfiles using ScanTailor, you can fill out the +metadata fields, and save these to the root of the project.

+

Convert the files, will OCR and make the images into single PDF +files.

+

Make PDF will then combine all the single PDF files and save it with it's +OCRed pages.

+

 

+

Thats it, you're done and have a nice PDF product.

+

 

+

 

+
+
+
+ diff --git a/PDFWorkflowManager/PDFWorkflowManager/Help/page3.html.txt b/PDFWorkflowManager/PDFWorkflowManager/Help/page3.html.txt new file mode 100644 index 0000000..be20e25 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Help/page3.html.txt @@ -0,0 +1,53 @@ + +Topic 3 + + + +
+
+ + + +
RCEU Workflow +Manager
+
+

Preparation

+

+

To the more depth going procedure to make the process a success:

+

When you scan, you should know a few basics.

+

Scanning in 600dpi make black/white text only look good, in 300dpi the pixels +can make the text feel jagged. Remember, you can always scale down, but +upscaling requires magic like AI, but it's always the best to have high +resolution scans rather than guesswork from a computer.

+

Stay away from lossy formats like jpg and gif. TIFF and PNG are both very +good options. TIFF has several choices of compression, of these are CCITT.6 (G4 +Fax) for black and white images, and LZW for the rest -indexed, grayscal and +color, the best choices. There is the  JBIG which compresses +Black/White better, but it usually also makes the PDF viewer vastly slower.

+

Unfortunately LZW is not usable in PDF/A. PNG can be a good choice as well, +though it is somewhat slower to open in programs. Sticking to free tools GIMP +has no problems working with these formats.

+

 

+

RCEU Make Manual only support TIF files with the 3 letter TIF extension, the +4 letter TIFF extension, PNG and other formats are currently not supported. +So make sure to either convert to TIF or rename the extension depending on your +output.

+

 

+

So, lets start preparing your project directory, lets call this MyProject. So +if we use D:\ManualWork as a root directory for all our projects, the example +directory would be D:\ManualWork\MyProject.

+

Recommended is to have your original scans in origs, so the full directory +would be D:\ManualWork\MyProject\origs. "origs" can be set in the settings in +case you want to rename it, so can the other work directories, but lets continue +with the recommended namings. ScanTailor defaults to output to an "out" +directory from it's project dir.

+

 

+

 

+
+
+
+ diff --git a/PDFWorkflowManager/PDFWorkflowManager/Help/page4.html.txt b/PDFWorkflowManager/PDFWorkflowManager/Help/page4.html.txt new file mode 100644 index 0000000..494a6f2 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Help/page4.html.txt @@ -0,0 +1,89 @@ + +Getting Started + + + +
+
+ + + +
RCEU Workflow +Manager
+
+

Getting Started

+

+

Start by opening the project dir D:\ManualWork\MyProject, if you've +configured correctly and have an origs dir with one or more tif files, you +should see the first image in the Work tab.

+

 

+

This will open up the rest of the work field.

+

Clicking "Prepare Work Dir" will create a directory called "work" and the +files in "origs" will be copied into this folder. If a textfile +"run_simplex_sorting_script.txt" exists in the root of the project dir, the +checkbox "Simplex scanned" will be checked.

+

Scanning documents on a simplex scanner scans the odd pages from low to +high 1,3,5,7... and then you flip the stack around scanning the even pages +from high to low ...8,6,4,2.

+

Checking the "Simplex scanned" checkbox will copy the files from the "origs" +folder, sort the files properly so they are ordered into the proper +sequence 1,2,3,4,5,6,7,8. Make note we only copy from the origs folder, we +don't write to this folder keeping the originals as is.

+

You need to check the "Simplex scanned" checkbox before clicking on the +"Prepare Work Dir".

+

If the "Simplex scanned" is checked, a check for even files in the work +directory will also be made, the "Prepare Work Dir" turns red if the file count +isn't even. Sometimes document scanners can grab one or more pages. This isn't +foolproof if the scanner grabs even amount of pages from front and back run.

+

 

+

Clicking on the "Run ScanTailor" will copy the workdir path to the clipboard +and open ScanTailor, you can use the clipboard to paste the workpath when +creating a new project.

+

Do what you need to do in ScanTailor (using ScanTailor isn't part of this +help guide).

+

 

+

Now you can do some post work to all the output files if you want/need to do +this.

+

 

+

For RCEU products fill out the PDF properties, make sure you select either a +single language or multiple in case the manual or book is multilingual.

+

Title, Publisher and (non english) language will automatically be added to +the filename.

+

Clicking "Calc" outside the page count will fetch the amount of pages for +you.

+

Clicking "Calc" in time spent, will output the amount of minutes calculated +by the timestamp of the first and last file in the origs dir, and the amount of +time RCEU Workflow Manager has had it's project open.

+

The "Metadata file" info doesn't do anything to the output.

+

it only saves all the info to a textfile which is used for Retro Commodore's +website.

+

Well actually, the filename textbox is the only field that is being used, to +output the filename of the files generated.

+

 

+

Selecting "Normal Order" and clicking "Convert Files" will take all the files +in their natural order and convert to OCR'ed PDF pages.

+

Selecting "4,1,2,3 Order" and clicking "Convert Files" - If you've scanned +magazines or booklets where you've removed staples from the spine, the pages +scanned would be Front, Back, Side 2 and Side 3 for 1 paper, Front, Back, 3, 6, +5, 4, 2, 1 for 2 papers. You would then need to split the pages in ScanTailor. +Selecting this will make sure the

+

magazines or booklets have their pages sorted in the correctorder before OCR +into PDF files.

+

Selecting Normal or 4,1,2,3 needs to be chosen before "Convert Files".

+

 

+

A4 Banner/A5 Banner/None: This will add either an A4, A5 or none banners in +the end of the PDF file. This choice needs to be set before "Make PDF"

+

"Make PDF" will grab all PDFs and gather them into one PDF file. A textfile +with all the text from the OCR'ed PDF will also be output.

+

 

+

You're done.

+

 

+

+


+ +

+ diff --git a/PDFWorkflowManager/PDFWorkflowManager/Help/page5.html.txt b/PDFWorkflowManager/PDFWorkflowManager/Help/page5.html.txt new file mode 100644 index 0000000..3109843 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Help/page5.html.txt @@ -0,0 +1,56 @@ + +Settings + + + +
+
+ + + +
RCEU Workflow +Manager
+
+

Settings

+

+

User section:

+

In User, type in your name or handle, this is only used for the metadata +file.

+

 

+

Tools section:

+

make sure your tools are in your path environment, or browse to them using +the buttons.

+

RCEU Workflow Manager uses these tools, pointing to different tools will make +unwanted results.

+

Links have been made available for easy download of the required tools.

+

 

+

Work Directories section:

+

These are directories inside your projects directory, changing these to full +paths will give you undesired results.

+

Origs: This is where your original scans (*.tif) should be located before +starting the workflow.

+

Work: This is the directory where the originals have been copied to and +sorted if chosen, this is also the directory that should be used for +ScanTailor.

+

ScanTailor Out: this is the output directory of ScanTailor, default: out +(inside the work dir) so "work\out"

+

Temp: This is the temporary directory which RCEU Workflow Manager uses for +outputting single PDF files. This directory isn't automatically deleted (yet), +but can be manually deleted once you're satisfied with your product.

+

 

+

PDF Metadata section:

+

Writing something here will add that text to the Author field of the PDF +file.

+

 

+

Save Config

+

Will make sure your settings are remembered.

+

 

+

 

+
+
+
+ diff --git a/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.Designer.cs b/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.Designer.cs new file mode 100644 index 0000000..ebe5b13 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.Designer.cs @@ -0,0 +1,102 @@ + +namespace PDFWorkflowManager +{ + partial class LanguagesForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + // Remove control box + this.ControlBox = false; + + this.checkedListBoxLanguages = new System.Windows.Forms.CheckedListBox(); + this.txtLanguageSelection = new System.Windows.Forms.TextBox(); + this.button1 = new System.Windows.Forms.Button(); + this.btnClear = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // checkedListBoxLanguages + // + this.checkedListBoxLanguages.CheckOnClick = true; + this.checkedListBoxLanguages.FormattingEnabled = true; + this.checkedListBoxLanguages.Location = new System.Drawing.Point(12, 63); + this.checkedListBoxLanguages.Name = "checkedListBoxLanguages"; + this.checkedListBoxLanguages.Size = new System.Drawing.Size(187, 304); + this.checkedListBoxLanguages.TabIndex = 0; + this.checkedListBoxLanguages.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBoxLanguages_ItemCheck); + // + // txtLanguageSelection + // + this.txtLanguageSelection.Location = new System.Drawing.Point(12, 9); + this.txtLanguageSelection.Name = "txtLanguageSelection"; + this.txtLanguageSelection.Size = new System.Drawing.Size(187, 20); + this.txtLanguageSelection.TabIndex = 1; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(124, 35); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 2; + this.button1.Text = "Accept"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // btnClear + // + this.btnClear.Location = new System.Drawing.Point(12, 35); + this.btnClear.Name = "btnClear"; + this.btnClear.Size = new System.Drawing.Size(75, 23); + this.btnClear.TabIndex = 3; + this.btnClear.Text = "Clear"; + this.btnClear.UseVisualStyleBackColor = true; + this.btnClear.Click += new System.EventHandler(this.btnClear_Click); + // + // LanguagesForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(208, 375); + this.Controls.Add(this.btnClear); + this.Controls.Add(this.button1); + this.Controls.Add(this.txtLanguageSelection); + this.Controls.Add(this.checkedListBoxLanguages); + this.Name = "LanguagesForm"; + this.Text = "Select Languages"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.CheckedListBox checkedListBoxLanguages; + private System.Windows.Forms.TextBox txtLanguageSelection; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button btnClear; + + } +} \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.cs b/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.cs new file mode 100644 index 0000000..497f5ba --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace PDFWorkflowManager +{ + public partial class LanguagesForm : Form + { + Dictionary trainData; + public LanguagesForm(Dictionary trainDataDict, string selectedLanguages) + { + InitializeComponent(); + trainData = trainDataDict; + + // Populate list + foreach (KeyValuePair entry in trainData) + { + checkedListBoxLanguages.Items.Add(entry.Key); + } + + // check any needed languages + string[] nameArray = selectedLanguages.Split(new string[] { "; " }, StringSplitOptions.RemoveEmptyEntries); + for (int i = 0; i < nameArray.Length; i++) + { + int index = checkedListBoxLanguages.FindStringExact(nameArray[i]); + if (index != -1) + { + checkedListBoxLanguages.SetItemChecked(index, true); + } + } + + + } + + public string resultText + { + get { return txtLanguageSelection.Text; } + } + + private void checkedListBoxLanguages_ItemCheck(object sender, ItemCheckEventArgs e) + { + // Get the text of the item being checked or unchecked + string itemText = checkedListBoxLanguages.Items[e.Index].ToString(); + + // If the item is being checked, add it to the text box + if (e.NewValue == CheckState.Checked) + { + // Append the key value to the text box, followed by a semicolon and a space + txtLanguageSelection.Text += itemText + "; "; + } + // If the item is being unchecked, remove it from the text box + else + { + // Find the position of the key value in the text box + int pos = txtLanguageSelection.Text.IndexOf(itemText); + + // Remove the key value and the semicolon and space that follow it + txtLanguageSelection.Text = txtLanguageSelection.Text.Remove(pos, itemText.Length + 2); + } + } + + private void btnClear_Click(object sender, EventArgs e) + { + for (int i = 0; i < checkedListBoxLanguages.Items.Count; i++) + { + checkedListBoxLanguages.SetItemChecked(i, false); + } + } + + private void button1_Click(object sender, EventArgs e) + { + if (checkedListBoxLanguages.CheckedItems.Count > 0) + { + this.Close(); + } + else + { + MessageBox.Show("You must have atleast 1 language selected!", "Select atleast 1 language", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + } +} diff --git a/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.resx b/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/LanguagesForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/MainForm.Designer.cs b/PDFWorkflowManager/PDFWorkflowManager/MainForm.Designer.cs new file mode 100644 index 0000000..a78b271 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/MainForm.Designer.cs @@ -0,0 +1,1124 @@ + +namespace PDFWorkflowManager +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.quitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.txtFileName = new System.Windows.Forms.TextBox(); + this.lblFilename = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.txtTitle = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.txtType = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.txtPublisher = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.txtAuthor = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.txtISBN = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.txtPageCount = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.cmbResolution = new System.Windows.Forms.ComboBox(); + this.cmbLanguage = new System.Windows.Forms.ComboBox(); + this.label10 = new System.Windows.Forms.Label(); + this.txtContributor = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.txtContributorURL = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.txtPostProcessor = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.txtTimeSpent = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.txtPartnumber = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.checkPhotocopy = new System.Windows.Forms.CheckBox(); + this.checkReplace = new System.Windows.Forms.CheckBox(); + this.label16 = new System.Windows.Forms.Label(); + this.label17 = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.btnLanguages = new System.Windows.Forms.Button(); + this.checkLanguages = new System.Windows.Forms.CheckBox(); + this.checkLanguage = new System.Windows.Forms.CheckBox(); + this.txtLanguages = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.txtDate = new System.Windows.Forms.TextBox(); + this.btnCalcPageCount = new System.Windows.Forms.Button(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.trackBar1 = new System.Windows.Forms.TrackBar(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.btnCalcTimeSpent = new System.Windows.Forms.Button(); + this.btnSaveMeta = new System.Windows.Forms.Button(); + this.groupMetadata = new System.Windows.Forms.GroupBox(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.groupExport = new System.Windows.Forms.GroupBox(); + this.panelBanner = new System.Windows.Forms.Panel(); + this.btnMakePDF = new System.Windows.Forms.Button(); + this.cmbBanner = new System.Windows.Forms.ComboBox(); + this.panelSort = new System.Windows.Forms.Panel(); + this.radioSortMagazine = new System.Windows.Forms.RadioButton(); + this.btnConvertToPDF = new System.Windows.Forms.Button(); + this.radioSortNormal = new System.Windows.Forms.RadioButton(); + this.groupBox7 = new System.Windows.Forms.GroupBox(); + this.btnCopyPathWorkDir = new System.Windows.Forms.Button(); + this.btnPrepareWorkDir = new System.Windows.Forms.Button(); + this.label18 = new System.Windows.Forms.Label(); + this.checkSimplex = new System.Windows.Forms.CheckBox(); + this.btnProjectDir = new System.Windows.Forms.Button(); + this.txtProjectDir = new System.Windows.Forms.TextBox(); + this.watcherOut = new System.IO.FileSystemWatcher(); + this.groupPDF = new System.Windows.Forms.GroupBox(); + this.txtPDFAuthor = new System.Windows.Forms.TextBox(); + this.label20 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.txtPDFKeywords = new System.Windows.Forms.TextBox(); + this.menuStrip1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit(); + this.groupBox4.SuspendLayout(); + this.groupMetadata.SuspendLayout(); + this.statusStrip1.SuspendLayout(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); + this.groupExport.SuspendLayout(); + this.panelBanner.SuspendLayout(); + this.panelSort.SuspendLayout(); + this.groupBox7.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.watcherOut)).BeginInit(); + this.groupPDF.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.editToolStripMenuItem, + this.helpToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(983, 24); + this.menuStrip1.TabIndex = 0; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.quitToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "&File"; + // + // quitToolStripMenuItem + // + this.quitToolStripMenuItem.Name = "quitToolStripMenuItem"; + this.quitToolStripMenuItem.Size = new System.Drawing.Size(97, 22); + this.quitToolStripMenuItem.Text = "&Quit"; + this.quitToolStripMenuItem.Click += new System.EventHandler(this.quitToolStripMenuItem_Click); + // + // editToolStripMenuItem + // + this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.settingsToolStripMenuItem}); + this.editToolStripMenuItem.Name = "editToolStripMenuItem"; + this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); + this.editToolStripMenuItem.Text = "&Edit"; + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + this.settingsToolStripMenuItem.Text = "&Settings"; + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.aboutToolStripMenuItem}); + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "Help"; + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22); + this.aboutToolStripMenuItem.Text = "About"; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // txtFileName + // + this.txtFileName.Location = new System.Drawing.Point(128, 19); + this.txtFileName.Name = "txtFileName"; + this.txtFileName.Size = new System.Drawing.Size(205, 20); + this.txtFileName.TabIndex = 6; + // + // lblFilename + // + this.lblFilename.AutoSize = true; + this.lblFilename.Location = new System.Drawing.Point(28, 22); + this.lblFilename.Name = "lblFilename"; + this.lblFilename.Size = new System.Drawing.Size(49, 13); + this.lblFilename.TabIndex = 2; + this.lblFilename.Text = "Filename"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(28, 48); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(27, 13); + this.label1.TabIndex = 4; + this.label1.Text = "Title"; + // + // txtTitle + // + this.txtTitle.Location = new System.Drawing.Point(128, 45); + this.txtTitle.Name = "txtTitle"; + this.txtTitle.Size = new System.Drawing.Size(205, 20); + this.txtTitle.TabIndex = 7; + this.txtTitle.Leave += new System.EventHandler(this.updateFileName); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(28, 74); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(55, 13); + this.label2.TabIndex = 6; + this.label2.Text = "Language"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(28, 127); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(31, 13); + this.label3.TabIndex = 8; + this.label3.Text = "Type"; + // + // txtType + // + this.txtType.Location = new System.Drawing.Point(128, 124); + this.txtType.Name = "txtType"; + this.txtType.Size = new System.Drawing.Size(205, 20); + this.txtType.TabIndex = 9; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(28, 153); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(50, 13); + this.label4.TabIndex = 10; + this.label4.Text = "Publisher"; + // + // txtPublisher + // + this.txtPublisher.Location = new System.Drawing.Point(128, 150); + this.txtPublisher.Name = "txtPublisher"; + this.txtPublisher.Size = new System.Drawing.Size(205, 20); + this.txtPublisher.TabIndex = 10; + this.txtPublisher.TextChanged += new System.EventHandler(this.updateFileName); + this.txtPublisher.Leave += new System.EventHandler(this.updateFileName); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(28, 179); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(49, 13); + this.label5.TabIndex = 12; + this.label5.Text = "Author(s)"; + // + // txtAuthor + // + this.txtAuthor.Location = new System.Drawing.Point(128, 176); + this.txtAuthor.Name = "txtAuthor"; + this.txtAuthor.Size = new System.Drawing.Size(205, 20); + this.txtAuthor.TabIndex = 11; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(28, 205); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(32, 13); + this.label6.TabIndex = 14; + this.label6.Text = "ISBN"; + // + // txtISBN + // + this.txtISBN.Location = new System.Drawing.Point(128, 202); + this.txtISBN.Name = "txtISBN"; + this.txtISBN.Size = new System.Drawing.Size(205, 20); + this.txtISBN.TabIndex = 12; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(28, 231); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(30, 13); + this.label7.TabIndex = 16; + this.label7.Text = "Date"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(28, 257); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(62, 13); + this.label8.TabIndex = 18; + this.label8.Text = "Page count"; + // + // txtPageCount + // + this.txtPageCount.Location = new System.Drawing.Point(128, 254); + this.txtPageCount.Name = "txtPageCount"; + this.txtPageCount.Size = new System.Drawing.Size(205, 20); + this.txtPageCount.TabIndex = 14; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(28, 286); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(57, 13); + this.label9.TabIndex = 20; + this.label9.Text = "Resolution"; + // + // cmbResolution + // + this.cmbResolution.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbResolution.FormattingEnabled = true; + this.cmbResolution.Items.AddRange(new object[] { + "600", + "300", + "150", + "Pure"}); + this.cmbResolution.Location = new System.Drawing.Point(128, 283); + this.cmbResolution.Name = "cmbResolution"; + this.cmbResolution.Size = new System.Drawing.Size(205, 21); + this.cmbResolution.TabIndex = 16; + this.cmbResolution.SelectedIndexChanged += new System.EventHandler(this.updateFileName); + // + // cmbLanguage + // + this.cmbLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbLanguage.FormattingEnabled = true; + this.cmbLanguage.Location = new System.Drawing.Point(128, 71); + this.cmbLanguage.Name = "cmbLanguage"; + this.cmbLanguage.Size = new System.Drawing.Size(205, 21); + this.cmbLanguage.TabIndex = 8; + this.cmbLanguage.SelectedIndexChanged += new System.EventHandler(this.updateFileName); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(28, 22); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(58, 13); + this.label10.TabIndex = 24; + this.label10.Text = "Contributor"; + // + // txtContributor + // + this.txtContributor.Location = new System.Drawing.Point(128, 19); + this.txtContributor.Name = "txtContributor"; + this.txtContributor.Size = new System.Drawing.Size(205, 20); + this.txtContributor.TabIndex = 21; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(28, 48); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(83, 13); + this.label11.TabIndex = 26; + this.label11.Text = "Contributor URL"; + // + // txtContributorURL + // + this.txtContributorURL.Location = new System.Drawing.Point(128, 45); + this.txtContributorURL.Name = "txtContributorURL"; + this.txtContributorURL.Size = new System.Drawing.Size(205, 20); + this.txtContributorURL.TabIndex = 22; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(28, 22); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(101, 13); + this.label12.TabIndex = 28; + this.label12.Text = "PostProcessor (you)"; + // + // txtPostProcessor + // + this.txtPostProcessor.Location = new System.Drawing.Point(128, 19); + this.txtPostProcessor.Name = "txtPostProcessor"; + this.txtPostProcessor.Size = new System.Drawing.Size(205, 20); + this.txtPostProcessor.TabIndex = 23; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(28, 48); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(97, 13); + this.label13.TabIndex = 30; + this.label13.Text = "Time Spent (in min)"; + // + // txtTimeSpent + // + this.txtTimeSpent.Location = new System.Drawing.Point(128, 45); + this.txtTimeSpent.Name = "txtTimeSpent"; + this.txtTimeSpent.Size = new System.Drawing.Size(205, 20); + this.txtTimeSpent.TabIndex = 24; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(28, 313); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(77, 13); + this.label14.TabIndex = 32; + this.label14.Text = "C= Partnumber"; + // + // txtPartnumber + // + this.txtPartnumber.Location = new System.Drawing.Point(128, 310); + this.txtPartnumber.Name = "txtPartnumber"; + this.txtPartnumber.Size = new System.Drawing.Size(205, 20); + this.txtPartnumber.TabIndex = 17; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(28, 20); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(58, 13); + this.label15.TabIndex = 33; + this.label15.Text = "Photocopy"; + // + // checkPhotocopy + // + this.checkPhotocopy.AutoSize = true; + this.checkPhotocopy.Location = new System.Drawing.Point(128, 19); + this.checkPhotocopy.Name = "checkPhotocopy"; + this.checkPhotocopy.Size = new System.Drawing.Size(15, 14); + this.checkPhotocopy.TabIndex = 18; + this.checkPhotocopy.UseVisualStyleBackColor = true; + // + // checkReplace + // + this.checkReplace.AutoSize = true; + this.checkReplace.Location = new System.Drawing.Point(128, 43); + this.checkReplace.Name = "checkReplace"; + this.checkReplace.Size = new System.Drawing.Size(15, 14); + this.checkReplace.TabIndex = 19; + this.checkReplace.UseVisualStyleBackColor = true; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(28, 43); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(47, 13); + this.label16.TabIndex = 35; + this.label16.Text = "Replace"; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(28, 66); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(39, 13); + this.label17.TabIndex = 37; + this.label17.Text = "Quality"; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.btnLanguages); + this.groupBox1.Controls.Add(this.checkLanguages); + this.groupBox1.Controls.Add(this.checkLanguage); + this.groupBox1.Controls.Add(this.txtLanguages); + this.groupBox1.Controls.Add(this.label19); + this.groupBox1.Controls.Add(this.txtDate); + this.groupBox1.Controls.Add(this.btnCalcPageCount); + this.groupBox1.Controls.Add(this.cmbLanguage); + this.groupBox1.Controls.Add(this.txtFileName); + this.groupBox1.Controls.Add(this.lblFilename); + this.groupBox1.Controls.Add(this.txtPartnumber); + this.groupBox1.Controls.Add(this.label14); + this.groupBox1.Controls.Add(this.txtTitle); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.txtType); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.txtPublisher); + this.groupBox1.Controls.Add(this.label4); + this.groupBox1.Controls.Add(this.txtAuthor); + this.groupBox1.Controls.Add(this.label5); + this.groupBox1.Controls.Add(this.txtISBN); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.txtPageCount); + this.groupBox1.Controls.Add(this.label8); + this.groupBox1.Controls.Add(this.label9); + this.groupBox1.Controls.Add(this.cmbResolution); + this.groupBox1.Location = new System.Drawing.Point(6, 19); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(422, 341); + this.groupBox1.TabIndex = 40; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "PDF Properties"; + // + // btnLanguages + // + this.btnLanguages.Location = new System.Drawing.Point(356, 95); + this.btnLanguages.Name = "btnLanguages"; + this.btnLanguages.Size = new System.Drawing.Size(63, 23); + this.btnLanguages.TabIndex = 37; + this.btnLanguages.Text = "Langs"; + this.btnLanguages.UseVisualStyleBackColor = true; + this.btnLanguages.Click += new System.EventHandler(this.btnLanguages_Click); + // + // checkLanguages + // + this.checkLanguages.AutoSize = true; + this.checkLanguages.Location = new System.Drawing.Point(335, 100); + this.checkLanguages.Name = "checkLanguages"; + this.checkLanguages.Size = new System.Drawing.Size(15, 14); + this.checkLanguages.TabIndex = 36; + this.checkLanguages.UseVisualStyleBackColor = true; + this.checkLanguages.Click += new System.EventHandler(this.checkLanguages_Clicked); + // + // checkLanguage + // + this.checkLanguage.AutoSize = true; + this.checkLanguage.Checked = true; + this.checkLanguage.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkLanguage.Location = new System.Drawing.Point(335, 74); + this.checkLanguage.Name = "checkLanguage"; + this.checkLanguage.Size = new System.Drawing.Size(15, 14); + this.checkLanguage.TabIndex = 35; + this.checkLanguage.UseVisualStyleBackColor = true; + this.checkLanguage.Click += new System.EventHandler(this.checkLanguage_Clicked); + // + // txtLanguages + // + this.txtLanguages.Enabled = false; + this.txtLanguages.Location = new System.Drawing.Point(128, 98); + this.txtLanguages.Name = "txtLanguages"; + this.txtLanguages.ReadOnly = true; + this.txtLanguages.Size = new System.Drawing.Size(205, 20); + this.txtLanguages.TabIndex = 34; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(28, 101); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(60, 13); + this.label19.TabIndex = 33; + this.label19.Text = "Languages"; + // + // txtDate + // + this.txtDate.Location = new System.Drawing.Point(128, 228); + this.txtDate.Name = "txtDate"; + this.txtDate.Size = new System.Drawing.Size(205, 20); + this.txtDate.TabIndex = 13; + // + // btnCalcPageCount + // + this.btnCalcPageCount.Enabled = false; + this.btnCalcPageCount.Location = new System.Drawing.Point(338, 252); + this.btnCalcPageCount.Name = "btnCalcPageCount"; + this.btnCalcPageCount.Size = new System.Drawing.Size(81, 23); + this.btnCalcPageCount.TabIndex = 15; + this.btnCalcPageCount.Text = "Calc"; + this.btnCalcPageCount.UseVisualStyleBackColor = true; + this.btnCalcPageCount.Click += new System.EventHandler(this.btnCalcPageCount_Click); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.txtContributor); + this.groupBox2.Controls.Add(this.label10); + this.groupBox2.Controls.Add(this.txtContributorURL); + this.groupBox2.Controls.Add(this.label11); + this.groupBox2.Location = new System.Drawing.Point(6, 485); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(422, 81); + this.groupBox2.TabIndex = 42; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Contributor info"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.trackBar1); + this.groupBox3.Controls.Add(this.checkPhotocopy); + this.groupBox3.Controls.Add(this.label15); + this.groupBox3.Controls.Add(this.label16); + this.groupBox3.Controls.Add(this.checkReplace); + this.groupBox3.Controls.Add(this.label17); + this.groupBox3.Location = new System.Drawing.Point(6, 366); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(422, 113); + this.groupBox3.TabIndex = 41; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "PDF Quality"; + // + // trackBar1 + // + this.trackBar1.Location = new System.Drawing.Point(128, 62); + this.trackBar1.Maximum = 5; + this.trackBar1.Name = "trackBar1"; + this.trackBar1.Size = new System.Drawing.Size(205, 45); + this.trackBar1.TabIndex = 52; + this.trackBar1.Value = 4; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.btnCalcTimeSpent); + this.groupBox4.Controls.Add(this.txtPostProcessor); + this.groupBox4.Controls.Add(this.label12); + this.groupBox4.Controls.Add(this.txtTimeSpent); + this.groupBox4.Controls.Add(this.label13); + this.groupBox4.Location = new System.Drawing.Point(6, 572); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(422, 74); + this.groupBox4.TabIndex = 43; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "Postprocessor"; + // + // btnCalcTimeSpent + // + this.btnCalcTimeSpent.Location = new System.Drawing.Point(339, 43); + this.btnCalcTimeSpent.Name = "btnCalcTimeSpent"; + this.btnCalcTimeSpent.Size = new System.Drawing.Size(81, 23); + this.btnCalcTimeSpent.TabIndex = 25; + this.btnCalcTimeSpent.Text = "Calc"; + this.btnCalcTimeSpent.UseVisualStyleBackColor = true; + this.btnCalcTimeSpent.Click += new System.EventHandler(this.btnCalcTimeSpent_Click); + // + // btnSaveMeta + // + this.btnSaveMeta.Enabled = false; + this.btnSaveMeta.Location = new System.Drawing.Point(344, 652); + this.btnSaveMeta.Name = "btnSaveMeta"; + this.btnSaveMeta.Size = new System.Drawing.Size(81, 23); + this.btnSaveMeta.TabIndex = 44; + this.btnSaveMeta.Text = "Save"; + this.btnSaveMeta.UseVisualStyleBackColor = true; + this.btnSaveMeta.Click += new System.EventHandler(this.btnSaveMeta_Click); + // + // groupMetadata + // + this.groupMetadata.Controls.Add(this.groupBox1); + this.groupMetadata.Controls.Add(this.btnSaveMeta); + this.groupMetadata.Controls.Add(this.groupBox2); + this.groupMetadata.Controls.Add(this.groupBox4); + this.groupMetadata.Controls.Add(this.groupBox3); + this.groupMetadata.Enabled = false; + this.groupMetadata.Location = new System.Drawing.Point(12, 118); + this.groupMetadata.Name = "groupMetadata"; + this.groupMetadata.Size = new System.Drawing.Size(435, 684); + this.groupMetadata.TabIndex = 45; + this.groupMetadata.TabStop = false; + this.groupMetadata.Text = "Metadata file"; + // + // statusStrip1 + // + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripProgressBar1, + this.toolStripStatusLabel1}); + this.statusStrip1.Location = new System.Drawing.Point(0, 1018); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(983, 22); + this.statusStrip1.TabIndex = 51; + this.statusStrip1.Text = "statusStrip1"; + // + // toolStripProgressBar1 + // + this.toolStripProgressBar1.Name = "toolStripProgressBar1"; + this.toolStripProgressBar1.Size = new System.Drawing.Size(100, 16); + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(39, 17); + this.toolStripStatusLabel1.Text = "Ready"; + // + // tabControl1 + // + this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Location = new System.Drawing.Point(453, 27); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(530, 966); + this.tabControl1.TabIndex = 53; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.pictureBox1); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(522, 940); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Work"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // pictureBox1 + // + this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.pictureBox1.Location = new System.Drawing.Point(-4, 0); + this.pictureBox1.MinimumSize = new System.Drawing.Size(463, 708); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(526, 940); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 53; + this.pictureBox1.TabStop = false; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.pictureBox2); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(522, 940); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Out"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // pictureBox2 + // + this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.pictureBox2.Location = new System.Drawing.Point(-2, 0); + this.pictureBox2.MinimumSize = new System.Drawing.Size(463, 708); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.Size = new System.Drawing.Size(526, 791); + this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox2.TabIndex = 54; + this.pictureBox2.TabStop = false; + // + // groupExport + // + this.groupExport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.groupExport.Controls.Add(this.panelBanner); + this.groupExport.Controls.Add(this.panelSort); + this.groupExport.Enabled = false; + this.groupExport.Location = new System.Drawing.Point(12, 933); + this.groupExport.Name = "groupExport"; + this.groupExport.Size = new System.Drawing.Size(435, 82); + this.groupExport.TabIndex = 54; + this.groupExport.TabStop = false; + this.groupExport.Text = "Exporting"; + // + // panelBanner + // + this.panelBanner.Controls.Add(this.btnMakePDF); + this.panelBanner.Controls.Add(this.cmbBanner); + this.panelBanner.Location = new System.Drawing.Point(81, 51); + this.panelBanner.Name = "panelBanner"; + this.panelBanner.Size = new System.Drawing.Size(348, 25); + this.panelBanner.TabIndex = 49; + // + // btnMakePDF + // + this.btnMakePDF.Enabled = false; + this.btnMakePDF.Location = new System.Drawing.Point(263, 0); + this.btnMakePDF.Name = "btnMakePDF"; + this.btnMakePDF.Size = new System.Drawing.Size(81, 23); + this.btnMakePDF.TabIndex = 52; + this.btnMakePDF.Text = "Make PDF"; + this.btnMakePDF.UseVisualStyleBackColor = true; + this.btnMakePDF.Click += new System.EventHandler(this.btnMakePDF_Click); + // + // cmbBanner + // + this.cmbBanner.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbBanner.FormattingEnabled = true; + this.cmbBanner.Items.AddRange(new object[] { + "A4", + "A5", + "None"}); + this.cmbBanner.Location = new System.Drawing.Point(52, 2); + this.cmbBanner.Name = "cmbBanner"; + this.cmbBanner.Size = new System.Drawing.Size(205, 21); + this.cmbBanner.TabIndex = 56; + // + // panelSort + // + this.panelSort.Controls.Add(this.radioSortMagazine); + this.panelSort.Controls.Add(this.btnConvertToPDF); + this.panelSort.Controls.Add(this.radioSortNormal); + this.panelSort.Enabled = false; + this.panelSort.Location = new System.Drawing.Point(81, 19); + this.panelSort.Name = "panelSort"; + this.panelSort.Size = new System.Drawing.Size(348, 26); + this.panelSort.TabIndex = 55; + // + // radioSortMagazine + // + this.radioSortMagazine.AutoSize = true; + this.radioSortMagazine.Location = new System.Drawing.Point(141, 3); + this.radioSortMagazine.Name = "radioSortMagazine"; + this.radioSortMagazine.Size = new System.Drawing.Size(87, 17); + this.radioSortMagazine.TabIndex = 47; + this.radioSortMagazine.Text = "4,1,2,3 Order"; + this.radioSortMagazine.UseVisualStyleBackColor = true; + this.radioSortMagazine.CheckedChanged += new System.EventHandler(this.radioSortMagazine_CheckedChanged); + // + // btnConvertToPDF + // + this.btnConvertToPDF.Enabled = false; + this.btnConvertToPDF.Location = new System.Drawing.Point(263, 0); + this.btnConvertToPDF.Name = "btnConvertToPDF"; + this.btnConvertToPDF.Size = new System.Drawing.Size(82, 23); + this.btnConvertToPDF.TabIndex = 48; + this.btnConvertToPDF.Text = "Convert files"; + this.btnConvertToPDF.UseVisualStyleBackColor = true; + this.btnConvertToPDF.Click += new System.EventHandler(this.btnConvertToPDF_Click); + // + // radioSortNormal + // + this.radioSortNormal.AutoSize = true; + this.radioSortNormal.Checked = true; + this.radioSortNormal.Location = new System.Drawing.Point(32, 3); + this.radioSortNormal.Name = "radioSortNormal"; + this.radioSortNormal.Size = new System.Drawing.Size(87, 17); + this.radioSortNormal.TabIndex = 46; + this.radioSortNormal.TabStop = true; + this.radioSortNormal.Text = "Normal Order"; + this.radioSortNormal.UseVisualStyleBackColor = true; + this.radioSortNormal.CheckedChanged += new System.EventHandler(this.radioSortNormal_CheckedChanged); + // + // groupBox7 + // + this.groupBox7.Controls.Add(this.btnCopyPathWorkDir); + this.groupBox7.Controls.Add(this.btnPrepareWorkDir); + this.groupBox7.Controls.Add(this.label18); + this.groupBox7.Controls.Add(this.checkSimplex); + this.groupBox7.Controls.Add(this.btnProjectDir); + this.groupBox7.Controls.Add(this.txtProjectDir); + this.groupBox7.Location = new System.Drawing.Point(12, 28); + this.groupBox7.Name = "groupBox7"; + this.groupBox7.Size = new System.Drawing.Size(435, 84); + this.groupBox7.TabIndex = 55; + this.groupBox7.TabStop = false; + this.groupBox7.Text = "Prepare Project"; + // + // btnCopyPathWorkDir + // + this.btnCopyPathWorkDir.Enabled = false; + this.btnCopyPathWorkDir.Location = new System.Drawing.Point(34, 48); + this.btnCopyPathWorkDir.Name = "btnCopyPathWorkDir"; + this.btnCopyPathWorkDir.Size = new System.Drawing.Size(112, 23); + this.btnCopyPathWorkDir.TabIndex = 52; + this.btnCopyPathWorkDir.Text = "Run ScanTailor"; + this.btnCopyPathWorkDir.UseVisualStyleBackColor = true; + this.btnCopyPathWorkDir.Click += new System.EventHandler(this.btnCopyPathWorkDir_Click); + // + // btnPrepareWorkDir + // + this.btnPrepareWorkDir.BackColor = System.Drawing.SystemColors.Control; + this.btnPrepareWorkDir.Enabled = false; + this.btnPrepareWorkDir.Location = new System.Drawing.Point(320, 48); + this.btnPrepareWorkDir.Name = "btnPrepareWorkDir"; + this.btnPrepareWorkDir.Size = new System.Drawing.Size(108, 23); + this.btnPrepareWorkDir.TabIndex = 54; + this.btnPrepareWorkDir.Text = "Prepare Work Dir"; + this.btnPrepareWorkDir.UseVisualStyleBackColor = true; + this.btnPrepareWorkDir.Click += new System.EventHandler(this.btnPrepareWorkDir_Click); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(206, 53); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(87, 13); + this.label18.TabIndex = 55; + this.label18.Text = "Simplex scanned"; + // + // checkSimplex + // + this.checkSimplex.AutoSize = true; + this.checkSimplex.Enabled = false; + this.checkSimplex.Location = new System.Drawing.Point(299, 53); + this.checkSimplex.Name = "checkSimplex"; + this.checkSimplex.Size = new System.Drawing.Size(15, 14); + this.checkSimplex.TabIndex = 53; + this.checkSimplex.UseVisualStyleBackColor = true; + // + // btnProjectDir + // + this.btnProjectDir.Location = new System.Drawing.Point(320, 19); + this.btnProjectDir.Name = "btnProjectDir"; + this.btnProjectDir.Size = new System.Drawing.Size(108, 23); + this.btnProjectDir.TabIndex = 51; + this.btnProjectDir.Text = "Open Project Dir"; + this.btnProjectDir.UseVisualStyleBackColor = true; + this.btnProjectDir.Click += new System.EventHandler(this.btnProjectDir_Click); + // + // txtProjectDir + // + this.txtProjectDir.Location = new System.Drawing.Point(34, 21); + this.txtProjectDir.Name = "txtProjectDir"; + this.txtProjectDir.Size = new System.Drawing.Size(280, 20); + this.txtProjectDir.TabIndex = 50; + // + // watcherOut + // + this.watcherOut.EnableRaisingEvents = true; + this.watcherOut.Filter = "*.tif"; + this.watcherOut.NotifyFilter = System.IO.NotifyFilters.FileName; + this.watcherOut.SynchronizingObject = this; + this.watcherOut.Changed += new System.IO.FileSystemEventHandler(this.watcherOut_Changed); + this.watcherOut.Created += new System.IO.FileSystemEventHandler(this.watcherOut_Created); + // + // groupPDF + // + this.groupPDF.Controls.Add(this.txtPDFAuthor); + this.groupPDF.Controls.Add(this.label20); + this.groupPDF.Controls.Add(this.label21); + this.groupPDF.Controls.Add(this.txtPDFKeywords); + this.groupPDF.Enabled = false; + this.groupPDF.Location = new System.Drawing.Point(12, 808); + this.groupPDF.Name = "groupPDF"; + this.groupPDF.Size = new System.Drawing.Size(435, 68); + this.groupPDF.TabIndex = 45; + this.groupPDF.TabStop = false; + this.groupPDF.Text = "PDF Metadata"; + // + // txtPDFAuthor + // + this.txtPDFAuthor.Location = new System.Drawing.Point(134, 13); + this.txtPDFAuthor.Name = "txtPDFAuthor"; + this.txtPDFAuthor.Size = new System.Drawing.Size(205, 20); + this.txtPDFAuthor.TabIndex = 31; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(34, 16); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(38, 13); + this.label20.TabIndex = 33; + this.label20.Text = "Author"; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(34, 42); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(53, 13); + this.label21.TabIndex = 34; + this.label21.Text = "Keywords"; + // + // txtPDFKeywords + // + this.txtPDFKeywords.Location = new System.Drawing.Point(134, 39); + this.txtPDFKeywords.Name = "txtPDFKeywords"; + this.txtPDFKeywords.Size = new System.Drawing.Size(205, 20); + this.txtPDFKeywords.TabIndex = 32; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(983, 1040); + this.Controls.Add(this.groupPDF); + this.Controls.Add(this.groupBox7); + this.Controls.Add(this.groupExport); + this.Controls.Add(this.tabControl1); + this.Controls.Add(this.statusStrip1); + this.Controls.Add(this.groupMetadata); + this.Controls.Add(this.menuStrip1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MainMenuStrip = this.menuStrip1; + this.MinimumSize = new System.Drawing.Size(999, 930); + this.Name = "MainForm"; + this.Text = "PDF Workflow Manager"; + this.TextChanged += new System.EventHandler(this.updateFileName); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit(); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.groupMetadata.ResumeLayout(false); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); + this.groupExport.ResumeLayout(false); + this.panelBanner.ResumeLayout(false); + this.panelSort.ResumeLayout(false); + this.panelSort.PerformLayout(); + this.groupBox7.ResumeLayout(false); + this.groupBox7.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.watcherOut)).EndInit(); + this.groupPDF.ResumeLayout(false); + this.groupPDF.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem quitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + private System.Windows.Forms.TextBox txtFileName; + private System.Windows.Forms.Label lblFilename; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtTitle; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtType; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtPublisher; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtAuthor; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtISBN; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.TextBox txtPageCount; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.ComboBox cmbResolution; + private System.Windows.Forms.ComboBox cmbLanguage; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.TextBox txtContributor; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.TextBox txtContributorURL; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.TextBox txtPostProcessor; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.TextBox txtTimeSpent; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.TextBox txtPartnumber; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.CheckBox checkPhotocopy; + private System.Windows.Forms.CheckBox checkReplace; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.Button btnCalcPageCount; + private System.Windows.Forms.Button btnSaveMeta; + private System.Windows.Forms.GroupBox groupMetadata; + private System.Windows.Forms.Button btnCalcTimeSpent; + private System.Windows.Forms.TextBox txtDate; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar1; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.TrackBar trackBar1; + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.PictureBox pictureBox2; + private System.Windows.Forms.GroupBox groupExport; + private System.Windows.Forms.Panel panelSort; + private System.Windows.Forms.RadioButton radioSortMagazine; + private System.Windows.Forms.Button btnConvertToPDF; + private System.Windows.Forms.RadioButton radioSortNormal; + private System.Windows.Forms.Button btnMakePDF; + private System.Windows.Forms.GroupBox groupBox7; + private System.Windows.Forms.Button btnCopyPathWorkDir; + private System.Windows.Forms.Button btnPrepareWorkDir; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.CheckBox checkSimplex; + private System.Windows.Forms.Button btnProjectDir; + private System.Windows.Forms.TextBox txtProjectDir; + private System.Windows.Forms.TextBox txtLanguages; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.CheckBox checkLanguages; + private System.Windows.Forms.CheckBox checkLanguage; + private System.Windows.Forms.Button btnLanguages; + private System.IO.FileSystemWatcher watcherOut; + private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ComboBox cmbBanner; + private System.Windows.Forms.Panel panelBanner; + private System.Windows.Forms.GroupBox groupPDF; + private System.Windows.Forms.TextBox txtPDFAuthor; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.TextBox txtPDFKeywords; + } +} + diff --git a/PDFWorkflowManager/PDFWorkflowManager/MainForm.cs b/PDFWorkflowManager/PDFWorkflowManager/MainForm.cs new file mode 100644 index 0000000..6e873e4 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/MainForm.cs @@ -0,0 +1,1069 @@ +using ImageMagick; +using Microsoft.WindowsAPICodePack.Dialogs; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace PDFWorkflowManager +{ + public partial class MainForm : Form + { + // Language Dictionary + #region Language Dictionary + Dictionary languageCodes = new Dictionary + { + {"Afrikaans","af"}, + {"Amharic","am"}, + {"Arabic","ar"}, + {"Assamese","as"}, + {"Azerbaijani","az"}, + {"Belarusian","be"}, + {"Bengali","bn"}, + {"Bokmal","nb"}, + {"Bulgarian","bg"}, + {"Catalan","ca"}, + {"Chinese(Simplified)","zh-CN"}, + {"Chinese(Traditional)","zh-TW"}, + {"Croatian","hr"}, + {"Czech","cs"}, + {"Danish","da"}, + {"Dutch","nl"}, + {"English","en"}, + {"Estonian","et"}, + {"Finnish","fi"}, + {"French","fr"}, + {"German","de"}, + {"Greek","el"}, + {"Gujarati","gu"}, + {"Hebrew","he"}, + {"Hindi","hi"}, + {"Hungarian","hu"}, + {"Icelandic","is"}, + {"Indonesian","id"}, + {"Italian","it"}, + {"Japanese","ja"}, + {"Kannada","kn"}, + {"Korean","ko"}, + {"Latvian","lv"}, + {"Lithuanian","lt"}, + {"Malayalam","ml"}, + {"Marathi","mr"}, + {"Nepali","ne"}, + {"Norwegian","no"}, + {"Oriya","or"}, + {"Polish","pl"}, + {"Portuguese","pt"}, + {"Punjabi","pa"}, + {"Romanian","ro"}, + {"Russian","ru"}, + {"Slovak","sk"}, + {"Slovenian","sl"}, + {"Spanish","es"}, + {"Swahili","sw"}, + {"Swedish","sv"}, + {"Tamil","ta"}, + {"Telugu","te"}, + {"Thai","th"}, + {"Tibetan","bo"}, + {"Turkish","tr"}, + {"Ukrainian","uk"}, + {"Urdu","ur"}, + {"Vietnamese","vi"} + }; + + Dictionary trainLanguage = new Dictionary + { + {"Afrikaans","afr"}, + {"Amharic","amh"}, + {"Arabic","ara"}, + {"Assamese","asm"}, + {"Azerbaijani","aze"}, + {"Belarusian","bel"}, + {"Bengali","ben"}, + {"Bokmal","nb"}, + {"Bulgarian","bul"}, + {"Catalan","ca"}, + {"Chinese(Simplified)","chi_sim"}, + {"Chinese(Traditional)","chi_tra"}, + {"Croatian","chr"}, + {"Czech","ces"}, + {"Danish","dan"}, + {"Dutch","nld"}, + {"English","eng"}, + {"Estonian","est"}, + {"Finnish","fin"}, + {"French","fra"}, + {"German","deu"}, + {"Greek","ell"}, + {"Gujarati","guj"}, + {"Hebrew","heb"}, + {"Hindi","hin"}, + {"Hungarian","hun"}, + {"Icelandic","isl"}, + {"Indonesian","ind"}, + {"Italian","ita"}, + {"Japanese","jpn"}, + {"Kannada","kan"}, + {"Korean","kor"}, + {"Latvian","lav"}, + {"Lithuanian","lit"}, + {"Malayalam","mal"}, + {"Marathi","mar"}, + {"Nepali","nep"}, + {"Norwegian","nor"}, + {"Oriya","ori"}, + {"Polish","pol"}, + {"Portuguese","por"}, + {"Punjabi","pan"}, + {"Romanian","ron"}, + {"Russian","rus"}, + {"Slovak","slk"}, + {"Slovenian","slv"}, + {"Spanish","spa"}, + {"Swahili","swa"}, + {"Swedish","swe"}, + {"Tamil","tam"}, + {"Telugu","tel"}, + {"Thai","tha"}, + {"Tibetan","bod"}, + {"Turkish","tur"}, + {"Ukrainian","ukr"}, + {"Urdu","urd"}, + {"Vietnamese","vie"} + }; + + #endregion + + // Path where banner pages are located + private string strExeFilePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); + + string bannerPage = ""; + bool sortNormal = true; + + private string workDir = Properties.Settings.Default.WorkDir; + private string workOutDir = Properties.Settings.Default.WorkOutDir; + private string origsDir = Properties.Settings.Default.OrigsDir; + private string tempDir = Properties.Settings.Default.TempDir; + private string strPostProcessor = Properties.Settings.Default.PostProcessor; + + public MainForm() + { + InitializeComponent(); + txtPostProcessor.Text = strPostProcessor; + cmbBanner.SelectedIndex = Properties.Settings.Default.Banner; + txtPDFAuthor.Text = Properties.Settings.Default.PDFMetaAuthor; + radioSortNormal.Checked = true; + // cmbLanguage Populate + #region cmbLanguage + + foreach (KeyValuePair train in trainLanguage) + { + cmbLanguage.Items.Add(new { Text = train.Key, Value = train.Value }); + } + + //cmbLanguage.Items.Add(new { Text = "Afrikaans", Value = "afr" }); + //cmbLanguage.Items.Add(new { Text = "Amharic", Value = "amh" }); + //cmbLanguage.Items.Add(new { Text = "Arabic", Value = "ara" }); + //cmbLanguage.Items.Add(new { Text = "Assamese", Value = "asm" }); + //cmbLanguage.Items.Add(new { Text = "Azerbaijani", Value = "aze" }); + //cmbLanguage.Items.Add(new { Text = "Belarusian", Value = "bel" }); + //cmbLanguage.Items.Add(new { Text = "Bengali", Value = "ben" }); + //cmbLanguage.Items.Add(new { Text = "Bokmal", Value = "nob" }); + //cmbLanguage.Items.Add(new { Text = "Bulgarian", Value = "bul" }); + //cmbLanguage.Items.Add(new { Text = "Catalan", Value = "cat" }); + //cmbLanguage.Items.Add(new { Text = "Chinese (Simplified)", Value = "chi_sim" }); + //cmbLanguage.Items.Add(new { Text = "Chinese (Traditional)", Value = "chi_tra" }); + //cmbLanguage.Items.Add(new { Text = "Croatian", Value = "hrv" }); + //cmbLanguage.Items.Add(new { Text = "Czech", Value = "ces" }); + //cmbLanguage.Items.Add(new { Text = "Danish", Value = "dan" }); + //cmbLanguage.Items.Add(new { Text = "Dutch", Value = "nld" }); + //cmbLanguage.Items.Add(new { Text = "English", Value = "eng" }); + //cmbLanguage.Items.Add(new { Text = "Estonian", Value = "est" }); + //cmbLanguage.Items.Add(new { Text = "Finnish", Value = "fin" }); + //cmbLanguage.Items.Add(new { Text = "French", Value = "fra" }); + //cmbLanguage.Items.Add(new { Text = "German", Value = "deu" }); + //cmbLanguage.Items.Add(new { Text = "Greek", Value = "ell" }); + //cmbLanguage.Items.Add(new { Text = "Gujarati", Value = "guj" }); + //cmbLanguage.Items.Add(new { Text = "Hebrew", Value = "heb" }); + //cmbLanguage.Items.Add(new { Text = "Hindi", Value = "hin" }); + //cmbLanguage.Items.Add(new { Text = "Hungarian", Value = "hun" }); + //cmbLanguage.Items.Add(new { Text = "Icelandic", Value = "isl" }); + //cmbLanguage.Items.Add(new { Text = "Indonesian", Value = "ind" }); + //cmbLanguage.Items.Add(new { Text = "Italian", Value = "ita" }); + //cmbLanguage.Items.Add(new { Text = "Japanese", Value = "jpn" }); + //cmbLanguage.Items.Add(new { Text = "Kannada", Value = "kan" }); + //cmbLanguage.Items.Add(new { Text = "Korean", Value = "kor" }); + //cmbLanguage.Items.Add(new { Text = "Latvian", Value = "lav" }); + //cmbLanguage.Items.Add(new { Text = "Lithuanian", Value = "lit" }); + //cmbLanguage.Items.Add(new { Text = "Malayalam", Value = "mal" }); + //cmbLanguage.Items.Add(new { Text = "Marathi", Value = "mar" }); + //cmbLanguage.Items.Add(new { Text = "Nepali", Value = "nep" }); + //cmbLanguage.Items.Add(new { Text = "Norwegian", Value = "nor" }); + //cmbLanguage.Items.Add(new { Text = "Oriya", Value = "ori" }); + //cmbLanguage.Items.Add(new { Text = "Polish", Value = "pol" }); + //cmbLanguage.Items.Add(new { Text = "Portuguese", Value = "por" }); + //cmbLanguage.Items.Add(new { Text = "Punjabi", Value = "pan" }); + //cmbLanguage.Items.Add(new { Text = "Romanian", Value = "ron" }); + //cmbLanguage.Items.Add(new { Text = "Russian", Value = "rus" }); + //cmbLanguage.Items.Add(new { Text = "Slovak", Value = "slk" }); + //cmbLanguage.Items.Add(new { Text = "Slovenian", Value = "slv" }); + //cmbLanguage.Items.Add(new { Text = "Spanish", Value = "spa" }); + //cmbLanguage.Items.Add(new { Text = "Swahili", Value = "swa" }); + //cmbLanguage.Items.Add(new { Text = "Swedish", Value = "swe" }); + //cmbLanguage.Items.Add(new { Text = "Tamil", Value = "tam" }); + //cmbLanguage.Items.Add(new { Text = "Telugu", Value = "tel" }); + //cmbLanguage.Items.Add(new { Text = "Thai", Value = "tha" }); + //cmbLanguage.Items.Add(new { Text = "Tibetan", Value = "tib" }); + //cmbLanguage.Items.Add(new { Text = "Turkish", Value = "tur" }); + //cmbLanguage.Items.Add(new { Text = "Ukrainian", Value = "ukr" }); + //cmbLanguage.Items.Add(new { Text = "Urdu", Value = "urd" }); + //cmbLanguage.Items.Add(new { Text = "Vietnamese", Value = "vie" }); + + cmbLanguage.DisplayMember = "Text"; + cmbLanguage.ValueMember = "Value"; + cmbLanguage.SelectedIndex = cmbLanguage.FindStringExact("English"); + #endregion + + btnMakePDF.Enabled = true; + //public string txtPostProcessor.text = ""; + } + + + private void btnProjectDir_Click(object sender, EventArgs e) + { + CommonOpenFileDialog dialog = new CommonOpenFileDialog(); + dialog.RestoreDirectory = true; + dialog.IsFolderPicker = true; + if (dialog.ShowDialog() == CommonFileDialogResult.Ok) + { + txtProjectDir.Text = dialog.FileName; + + // Clear up pictures + try + { + if (pictureBox1.Image != null) + { + pictureBox1.Image.Dispose(); + pictureBox1.Image = null; + } + if (pictureBox2.Image != null) + { + pictureBox2.Image.Dispose(); + pictureBox2.Image = null; + } + } + catch + { } + + } + txtProjectDir.ReadOnly = true; + checkSimplex.Enabled = true; + + if (!Directory.Exists(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.OrigsDir))) + { + MessageBox.Show("Origs dir not found.", "Origs dir not found.", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + else if (Directory.GetFiles(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.OrigsDir), "*.tif").Length == 0 && Directory.GetFiles(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.OrigsDir), "*.tiff").Length == 0) + { + MessageBox.Show("Origs files not found.", "Error no files found.", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + + } + + if (Directory.Exists(Path.Combine(txtProjectDir.Text, origsDir)) && !Directory.Exists(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.WorkDir))) + { + try + { + string[] strOrigFiles = Directory.GetFiles(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.OrigsDir), "*.tif*"); + if (File.Exists(strOrigFiles[0])) + { + byte[] imageBytes = File.ReadAllBytes(strOrigFiles[0]); + + using (MemoryStream memoryStream = new MemoryStream(imageBytes)) + { + using (Bitmap bitmap = new Bitmap(memoryStream)) + { + pictureBox1.Image = new Bitmap(bitmap); + } + } + } + } + catch + { + + } + } + else if (Directory.Exists(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.WorkDir))) + { + btnCopyPathWorkDir.Enabled = true; + btnConvertToPDF.Enabled = true; + + try + { + string[] strWorkFiles = Directory.GetFiles(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.WorkDir), "*.tif"); + byte[] imageBytes = File.ReadAllBytes(strWorkFiles[0]); + + using (MemoryStream memoryStream = new MemoryStream(imageBytes)) + { + using (Bitmap bitmap = new Bitmap(memoryStream)) + { + pictureBox1.Image = new Bitmap(bitmap); + } + } + } + catch + { + + } + + if (Directory.Exists(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.WorkOutDir))) + { + try + { + string[] strOutFiles = Directory.GetFiles(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.WorkOutDir), "*.tif"); + byte[] imageBytes = File.ReadAllBytes(strOutFiles[0]); + + using (MemoryStream memoryStream = new MemoryStream(imageBytes)) + { + using (Bitmap bitmap = new Bitmap(memoryStream)) + { + pictureBox2.Image = new Bitmap(bitmap); + } + } + } + catch + { + + } + } + } + + if (File.Exists(txtProjectDir.Text + @"\run_simplex_sorting_script.txt")) + { + checkSimplex.Checked = true; + } + else + { + checkSimplex.Checked = false; + } + + // Try and get resolution, and set banner pages + string[] strFiles = Directory.GetFiles(Path.Combine(txtProjectDir.Text, Properties.Settings.Default.OrigsDir), "*.tif"); + int sourceFileCount = strFiles.Length; + + if (sourceFileCount > 0) + { + var image = new MagickImage(strFiles[0]); + image.Read(strFiles[0]); + + try + { + // Set resolution + if (image.Density.X == 600 && image.Density.Y == 600) + { + cmbResolution.SelectedIndex = cmbResolution.FindStringExact("600"); + } + else if (image.Density.X == 300 && image.Density.Y == 300) + { + cmbResolution.SelectedIndex = cmbResolution.FindStringExact("300"); + } + + // Set Banner + if (Properties.Settings.Default.Banner != 2) + { + if ((image.Width > 4000 || image.Height > 5500) && (cmbResolution.SelectedItem.ToString() == "600")) + { + cmbBanner.SelectedIndex = 0; + } + else // if ((image.Width > 1860 || image.Height > 2631) && (cmbResolution.SelectedItem.ToString() == "300")) + { + cmbBanner.SelectedIndex = 1; + } + } + } + catch + { + } + } + + + btnCalcPageCount.Enabled = true; + btnPrepareWorkDir.Enabled = true; + panelBanner.Enabled = true; + panelSort.Enabled = true; + groupMetadata.Enabled = true; + groupExport.Enabled = true; + groupPDF.Enabled = true; + + workDir = Path.Combine(txtProjectDir.Text, Properties.Settings.Default.WorkDir); + workOutDir = Path.Combine(txtProjectDir.Text, Properties.Settings.Default.WorkOutDir); + origsDir = Path.Combine(txtProjectDir.Text, Properties.Settings.Default.OrigsDir); + tempDir = Path.Combine(txtProjectDir.Text, Properties.Settings.Default.TempDir); + try + { + watcherOut.Path = workOutDir; + watcherOut.EnableRaisingEvents = true; + } + catch { } + } + + private void btnPrepareWorkDir_Click(object sender, EventArgs e) + { + watcherOut.EnableRaisingEvents = false; + string[] strFiles = Directory.GetFiles(origsDir, "*.tif"); + int sourceFileCount = strFiles.Length; + + int odd = 1; + int even = sourceFileCount; + Directory.CreateDirectory(workDir); + toolStripProgressBar1.Maximum = sourceFileCount; + string fileName = ""; + + string fileExtension = Path.GetExtension(strFiles[0]); + + if (checkSimplex.Checked == true) + { + for (int i = 0; i < sourceFileCount; i++) + { + if (odd < sourceFileCount) + { + fileName = odd.ToString().PadLeft(4, '0'); + + odd += 2; + } + else if (even > 0) + { + fileName = even.ToString().PadLeft(4, '0'); + even -= 2; + } + File.Copy(strFiles[i], Path.Combine(workDir, fileName + fileExtension), true); + } + } + else + { + foreach (string newPath in strFiles) + { + File.Copy(newPath, newPath.Replace(origsDir, workDir), true); + } + } + + int destinationFileCount = Directory.GetFiles(workDir, "*.tif").Length; + toolStripProgressBar1.Value = destinationFileCount; + + if (sourceFileCount > destinationFileCount) + { + toolStripStatusLabel1.Text = "ERROR: " + destinationFileCount + " out of " + sourceFileCount + " files were copied"; + } + toolStripStatusLabel1.Text = destinationFileCount + " copied. Work dir is ready."; + btnCopyPathWorkDir.Enabled = true; + btnConvertToPDF.Enabled = true; + + try + { + string[] strWorkFiles = Directory.GetFiles(workDir, "*.tif"); + byte[] imageBytes = File.ReadAllBytes(strWorkFiles[0]); + + using (MemoryStream memoryStream = new MemoryStream(imageBytes)) + { + using (Bitmap bitmap = new Bitmap(memoryStream)) + { + pictureBox1.Image = new Bitmap(bitmap); + } + } + } + catch + { + + } + + try + { + Directory.CreateDirectory(workOutDir); + } + catch + { + } + } + + private void btnCopyPathWorkDir_Click(object sender, EventArgs e) + { + Clipboard.SetText(workDir); + toolStripStatusLabel1.Text = "Path copied to clipboard."; + + ProcessStartInfo startInfo = new ProcessStartInfo(); + startInfo.UseShellExecute = false; + startInfo.RedirectStandardOutput = true; + startInfo.CreateNoWindow = true; + + startInfo.FileName = Properties.Settings.Default.ScanTailor; + var process = Process.Start(startInfo); + //using (var process = Process.Start(startInfo)) + //{ + // process.WaitForExit(); + //} + } + + private void checkSimplex_CheckedChanged(object sender, EventArgs e) + { + int sourceFileCount = Directory.GetFiles(origsDir, "*.tif").Length; + if (sourceFileCount % 2 > 0 && checkSimplex.Checked == true) + { + btnPrepareWorkDir.BackColor = Color.Red; + toolStripStatusLabel1.Text = "Odd amount of files, check your scans."; + } + else + { + btnPrepareWorkDir.BackColor = Color.Transparent; + toolStripStatusLabel1.Text = ""; + } + } + + private void quitToolStripMenuItem_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private async void btnConvertToPDF_Click(object sender, EventArgs e) + { + try + { + string[] strFiles = Directory.GetFiles(workOutDir, "*.tif"); + int sourceFileCount = strFiles.Length; + string outputDir = Path.Combine(tempDir, "output"); + //string inputDir = txtProjectDir.Text + @"\work\out\"; + Directory.CreateDirectory(outputDir); + string sourceDir = workOutDir; + + var selectedLanguage = "eng"; + if (checkLanguage.Checked == true) + { + var language = (dynamic)cmbLanguage.SelectedItem; + selectedLanguage = language.Value; + } + else + { + string[] langArray = txtLanguages.Text.Split(new string[] { "; " }, StringSplitOptions.RemoveEmptyEntries); + selectedLanguage = String.Join("+", + trainLanguage + .Where(kv => langArray + .Contains(kv.Key)) + .Select(kv => kv.Value) + ); + } + + if (sortNormal == false) + { + string tempSortDir = Path.Combine(tempDir, "sort"); ; + Directory.CreateDirectory(tempSortDir); + int downCount = sourceFileCount; + int upCount = 1; + + for (int i = 0; i < sourceFileCount;) + { + File.Copy(strFiles[i], Path.Combine(tempSortDir, downCount.ToString().PadLeft(4, '0') + ".tif"), true); + i++; + downCount--; + File.Copy(strFiles[i], Path.Combine(tempSortDir, upCount.ToString().PadLeft(4, '0') + ".tif"), true); + i++; + upCount++; + File.Copy(strFiles[i], Path.Combine(tempSortDir, upCount.ToString().PadLeft(4, '0') + ".tif"), true); + i++; + upCount++; + File.Copy(strFiles[i], Path.Combine(tempSortDir, downCount.ToString().PadLeft(4, '0') + ".tif"), true); + i++; + downCount--; + } + strFiles = Directory.GetFiles(tempSortDir, "*.tif"); + Thread.Sleep(1000); + sourceDir = tempSortDir; + } + + ProcessStartInfo startInfo = new ProcessStartInfo(); + startInfo.UseShellExecute = false; + startInfo.RedirectStandardOutput = true; + startInfo.CreateNoWindow = true; + + // TODO make this configurable + startInfo.FileName = Properties.Settings.Default.TesserAct; + string outputFile = ""; + toolStripProgressBar1.Maximum = sourceFileCount; + toolStripProgressBar1.Value = 0; + toolStripStatusLabel1.Text = "Converting files to pdf."; + + await Task.Run(() => + { + Parallel.ForEach(strFiles, inputFile => + { + outputFile = Path.GetFileNameWithoutExtension(inputFile); + startInfo.Arguments = "\"" + inputFile + "\"" + " " + "\"" + Path.Combine(outputDir, outputFile) + "\"" + " -l " + selectedLanguage + " pdf txt"; + using (var process = Process.Start(startInfo)) + { + process.WaitForExit(); + } + if (toolStripProgressBar1.Control.InvokeRequired) + { + toolStripProgressBar1.Control.Invoke((MethodInvoker)delegate + { + toolStripProgressBar1.Value = toolStripProgressBar1.Value + 1; + }); + } + else + { + toolStripProgressBar1.Value = toolStripProgressBar1.Value + 1; + } + }); + }); + + Thread.Sleep(1000); + string[] inFiles = Directory.GetFiles(sourceDir, "*.tif"); + string[] outFiles = Directory.GetFiles(outputDir, "*.pdf"); + txtPageCount.Text = inFiles.Length.ToString(); + btnMakePDF.Enabled = true; + + // Parallel doesn't always return full result, we pick up the missing and process them again single threaded + if (Directory.GetFiles(sourceDir, "*.tif").Length != outFiles.Length) + { + string[] arrayInFiles = new string[inFiles.Length]; + string[] arrayOutFiles = new string[outFiles.Length]; + + for (int i = 0; i < inFiles.Length; i++) + { + arrayInFiles[i] = Path.GetFileNameWithoutExtension(inFiles[i]); + } + + for (int i = 0; i < outFiles.Length; i++) + { + arrayOutFiles[i] = Path.GetFileNameWithoutExtension(outFiles[i]); + } + + string[] difference = arrayInFiles.Except(arrayOutFiles).ToArray(); + + foreach (string item in difference) + { + startInfo.Arguments = "\"" + Path.Combine(sourceDir, item + ".tif") + "\"" + " " + "\"" + Path.Combine(outputDir, item) + "\"" + " -l " + selectedLanguage + " pdf txt"; + using (var process = Process.Start(startInfo)) + { + process.WaitForExit(); + } + } + + if (Directory.GetFiles(sourceDir, "*.tif").Length != Directory.GetFiles(outputDir, "*.pdf").Length) + { + MessageBox.Show("Not all files were converted to PDF"); + } + } + + btnMakePDF.Enabled = true; + toolStripStatusLabel1.Text = "Converting files to pdf. Done!"; + } + catch + { + MessageBox.Show("No supported files in Work\\out directory!", "No supported files found!", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + + private void btnCalcPageCount_Click(object sender, EventArgs e) + { + try + { + string[] outFiles = Directory.GetFiles(workOutDir, "*.tif"); + txtPageCount.Text = outFiles.Length.ToString(); + } + catch + { + } + } + + private void btnMakePDF_Click(object sender, EventArgs e) + { + try + { + toolStripProgressBar1.Maximum = 1; + toolStripStatusLabel1.Text = "Creating final pdf."; + toolStripProgressBar1.Value = 0; + string outputDir = Path.Combine(tempDir, "output"); + string tempFile = Path.Combine(tempDir, "_" + ".pdf"); + + // PDF 1.5 -> 1.7 + Metadata (gswin64c) + if (!Directory.Exists(tempDir)) + { + Directory.CreateDirectory(tempDir); + } + + if (cmbBanner.SelectedItem.ToString() == "A4") + { + bannerPage = "banner_a4.pdf"; + } + else if (cmbBanner.SelectedItem.ToString() == "A5") + { + bannerPage = "banner_a5.pdf"; + } + else + { + bannerPage = ""; + } + + // Gather PDF's to one single, add banner page (pdf toolkit server) + ProcessStartInfo startInfo = new ProcessStartInfo(); + startInfo.UseShellExecute = false; + startInfo.RedirectStandardOutput = true; + startInfo.CreateNoWindow = true; + + // TODO make this configurable + startInfo.FileName = Properties.Settings.Default.PDFtk; + startInfo.Arguments = "\"" + Path.Combine(outputDir, "*.pdf") + "\" " + bannerPage + " cat output " + "\"" + tempFile + "\""; + using (var process = Process.Start(startInfo)) + { + process.WaitForExit(); + } + + // Create Thumbnail + string[] outFiles; + if (sortNormal) + { + outFiles = Directory.GetFiles(workOutDir, "*.tif"); + } + else + { + outFiles = Directory.GetFiles(Path.Combine(tempDir, "sort"), "*.tif"); + } + createThumbNail(outFiles[0]); + + textToOcrFile(outputDir); + generatePDFMetadata(); + + updatePDFMetaData(tempFile); + + + + toolStripStatusLabel1.Text = "Creating final pdf. Done."; + toolStripProgressBar1.Value = 1; + + File.Delete(tempFile); + + string md5string = GetMD5(Path.Combine(txtProjectDir.Text, txtFileName.Text + ".pdf")) + " *" + txtFileName.Text + ".pdf"; + string sha1string = GetSHA1(Path.Combine(txtProjectDir.Text, txtFileName.Text + ".pdf")) + " *" + txtFileName.Text + ".pdf"; + + File.WriteAllText(Path.Combine(txtProjectDir.Text, txtFileName.Text + ".pdf.md5"), md5string); + File.WriteAllText(Path.Combine(txtProjectDir.Text, txtFileName.Text + ".pdf.sha1"), sha1string); + + + + } + catch + { + MessageBox.Show("No pdf files converted!, convert your files to PDF", "No supported files found!", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + File.Delete(Path.Combine(tempDir, "pdfmetadata.txt")); + } + + private void updatePDFMetaData(string tempFile) + { + ProcessStartInfo updatePDF = new ProcessStartInfo(); + updatePDF.UseShellExecute = false; + updatePDF.RedirectStandardOutput = true; + updatePDF.CreateNoWindow = true; + updatePDF.FileName = Properties.Settings.Default.GhostScript; + updatePDF.Arguments = "-dBATCH -dNOPAUSE -dAutoRotatePages=/None -sDEVICE=pdfwrite -sOutputFile=\"" + Path.Combine(txtProjectDir.Text, txtFileName.Text + ".pdf") + "\" \"" + tempFile + "\" \"" + Path.Combine(tempDir, "pdfmetadata.txt") + "\""; + //updatePDF.Arguments = "-dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=\"" + Path.Combine(txtProjectDir.Text, txtFileName.Text + ".pdf") + "\" \"" + tempFile + "\" -c\" " + generatePDFMetadata() + "\""; + using (var process = Process.Start(updatePDF)) + { + process.WaitForExit(120000); + } + } + + private void generatePDFMetadata() + { + string dateTimeNow = DateTime.Now.ToString("yyyyMMddHHmmss"); + + string pdfMetaData = $"[ /Title ({txtTitle.Text})\r\n"; + pdfMetaData += $" /Author ("+ txtPDFAuthor.Text + ")\r\n"; + pdfMetaData += $" /Subject ({txtType.Text})\r\n"; + pdfMetaData += $" /Keywords ({txtPDFKeywords.Text})\r\n"; + pdfMetaData += $" /ModDate (D:{dateTimeNow})\r\n"; + pdfMetaData += $" /CreationDate (D:{dateTimeNow})\r\n"; + pdfMetaData += " /Creator (PDF Workflow Manager)\r\n"; + pdfMetaData += " /Producer (PDF Workflow Manager from retro-commodore.eu)\r\n"; + pdfMetaData += " /DOCINFO pdfmark\r\n"; + + File.WriteAllText(Path.Combine(tempDir, "pdfmetadata.txt"), pdfMetaData); + //return pdfMetaData; + } + + private void settingsToolStripMenuItem_Click(object sender, EventArgs e) + { + SettingsForm sf = new SettingsForm(); + sf.ShowDialog(); + } + + private void btnCalcTimeSpent_Click(object sender, EventArgs e) + { + string[] origFiles = Directory.GetFiles(origsDir, "*.tif"); + int count = origFiles.Length; + var startOrig = new FileInfo(origFiles[0]); + var endOrig = new FileInfo(origFiles[count-1]); + string startTimeFile = startOrig.LastWriteTime.ToString(); + string endTimeFile = endOrig.LastWriteTime.ToString(); + + double scanDuration = DateTime.Parse(endTimeFile).Subtract(DateTime.Parse(startTimeFile)).TotalMinutes; + + var startDir = new FileInfo(origsDir); + string startTimeDir = startDir.CreationTime.ToString(); + + string dateTimeNow = DateTime.Now.ToString(); + double processDuration = DateTime.Parse(dateTimeNow).Subtract(DateTime.Parse(startTimeDir)).TotalMinutes; + + double totalTime = Math.Ceiling(scanDuration + processDuration); + + if (totalTime > 480) + { + txtTimeSpent.Text = "Get time manually"; + } + else + { + txtTimeSpent.Text = totalTime.ToString(); + } + } + + private void btnSaveMeta_Click(object sender, EventArgs e) + { + string selectedLanguage = "eng"; + if (checkLanguage.Checked == true) + { + selectedLanguage = cmbLanguage.Text; + } + else + { + selectedLanguage = txtLanguages.Text; + } + + string textFileContents; + textFileContents = "url: " + txtFileName.Text + ".pdf\r\n"; + textFileContents += "text: " + txtFileName.Text + ".ocr.txt\r\n"; + textFileContents += "title: " + txtTitle.Text + "\r\n"; + textFileContents += "language: " + selectedLanguage + "\r\n"; + textFileContents += "type: " + txtType.Text + "\r\n"; + textFileContents += "company: " + txtPublisher.Text + "\r\n"; + textFileContents += "author: " + txtAuthor.Text + "\r\n"; + textFileContents += "isbn: " + txtISBN.Text + "\r\n"; + textFileContents += "date: " + txtDate.Text + "\r\n"; + textFileContents += "pagecount: " + txtPageCount.Text + "\r\n"; + textFileContents += "resolution: " + cmbResolution.SelectedItem + "\r\n"; + textFileContents += "photocopy: " + checkPhotocopy.Checked + "\r\n"; + textFileContents += "replace: " + checkReplace.Checked + "\r\n"; + textFileContents += "partnumber: " + txtPartnumber.Text + "\r\n"; + textFileContents += "quality: " + trackBar1.Value + "\r\n"; + textFileContents += "contributor: " + txtContributor.Text + "\r\n"; + textFileContents += "scener: " + txtContributorURL.Text + "\r\n"; + textFileContents += "postprocessor: " + txtPostProcessor.Text + "\r\n"; + textFileContents += "timespent: " + txtTimeSpent.Text + "\r\n"; + //textFileContents += " : " + .Text + "\r\n"; + + File.WriteAllText(txtProjectDir.Text + @"\" + txtFileName.Text + ".txt", textFileContents); + } + + private void updateFileName(object sender, EventArgs e) + { + string fileName = ""; + string company = txtPublisher.Text.Replace(" ", ""); + string title = txtTitle.Text.Replace(" ", "_"); + btnSaveMeta.Enabled = true; + + if (company.Length > 0) + { + fileName += company + "_"; + } + + fileName += title; + var selectedItem = (dynamic)cmbLanguage.SelectedItem; + var selectedValue = selectedItem.Value; + + if (selectedValue != "eng") + { + fileName += "_(" + languageCodes[cmbLanguage.Text] + ")" + $"[{cmbResolution.SelectedItem}dpi]"; + } + else + { + fileName += $"_[{cmbResolution.SelectedItem}dpi][ocr]"; + } + + txtFileName.Text = fileName; + } + + // Grab all the exported textfiles and combine them to one + private void textToOcrFile(string strOutputDir) + { + string[] txtFiles = Directory.GetFiles(strOutputDir, "*.txt"); + string strOcrText = ""; + //if (Directory.GetFiles(workOutDir, "*.tif").Length == txtFiles.Length) + //{ + foreach (string ocrFile in txtFiles) + { + strOcrText += File.ReadAllText(ocrFile) + "\r\n\r\n\r\n"; + } + //} + File.WriteAllText(Path.Combine(txtProjectDir.Text, txtFileName.Text + ".ocr.txt"), strOcrText); + } + + private void createThumbNail(string fileName) + { + using (var image = new MagickImage(fileName)) + { + var size = new MagickGeometry(240, 340); + size.IgnoreAspectRatio = false; + image.Resize(size); + image.Write(Path.Combine(txtProjectDir.Text, txtFileName.Text + ".jpg")); + } + } + + private void radioBannerA4_CheckedChanged(object sender, EventArgs e) + { + bannerPage = " \"" + Path.Combine(strExeFilePath, "banner_a4.pdf") + "\" "; + } + + private void radioBannerA5_CheckedChanged(object sender, EventArgs e) + { + bannerPage = " \"" + Path.Combine(strExeFilePath, "banner_a5.pdf") + "\" "; + } + + private void radioBannerNone_CheckedChanged(object sender, EventArgs e) + { + bannerPage = ""; + } + + private void radioSortNormal_CheckedChanged(object sender, EventArgs e) + { + sortNormal = true; + string[] strFiles = Directory.GetFiles(workOutDir, "*.tif"); + + if (File.Exists(strFiles[0])) + { + pictureBox2.Image = new Bitmap(strFiles[0]); + } + } + + private void radioSortMagazine_CheckedChanged(object sender, EventArgs e) + { + sortNormal = false; + + string[] strFiles = Directory.GetFiles(workOutDir, "*.tif"); + + if (File.Exists(strFiles[1])) + { + pictureBox2.Image = new Bitmap(strFiles[1]); + } + } + + private static string GetMD5(string file) + { + using (var md5 = MD5.Create()) + { + using (var stream = File.OpenRead(file)) + { + var hash = md5.ComputeHash(stream); + return BitConverter.ToString(hash).Replace("-", "").ToLower(); + } + } + } + private static string GetSHA1(string file) + { + using (var sha1 = SHA1.Create()) + { + using (var stream = File.OpenRead(file)) + { + var hash = sha1.ComputeHash(stream); + return BitConverter.ToString(hash).Replace("-", "").ToLower(); + } + } + } + + private void checkLanguages_Clicked(object sender, EventArgs e) + { + cmbLanguage.Enabled = false; + checkLanguage.Checked = false; + checkLanguages.Checked = true; + } + + private void checkLanguage_Clicked(object sender, EventArgs e) + { + cmbLanguage.Enabled = true; + checkLanguages.Checked = false; + checkLanguage.Checked = true; + } + + private void btnLanguages_Click(object sender, EventArgs e) + { + cmbLanguage.Enabled = false; + checkLanguage.Checked = false; + checkLanguages.Checked = true; + LanguagesForm form = new LanguagesForm(trainLanguage, txtLanguages.Text); + form.ShowDialog(); + txtLanguages.Text = form.resultText; + } + + private void watcherOut_Created(object sender, FileSystemEventArgs e) + { + try + { + string[] strOutFiles = Directory.GetFiles(workOutDir, "*.tif"); + byte[] imageBytes = File.ReadAllBytes(strOutFiles[0]); + + using (MemoryStream memoryStream = new MemoryStream(imageBytes)) + { + using (Bitmap bitmap = new Bitmap(memoryStream)) + { + pictureBox2.Image = new Bitmap(bitmap); + } + } + } + catch + { + + } + watcherOut.EnableRaisingEvents = false; + } + + private void watcherOut_Changed(object sender, FileSystemEventArgs e) + { + try + { + string[] strOutFiles = Directory.GetFiles(workOutDir, "*.tif"); + byte[] imageBytes = File.ReadAllBytes(strOutFiles[0]); + + using (MemoryStream memoryStream = new MemoryStream(imageBytes)) + { + using (Bitmap bitmap = new Bitmap(memoryStream)) + { + pictureBox2.Image = new Bitmap(bitmap); + } + } + } + catch + { + + } + watcherOut.EnableRaisingEvents = false; + } + + private void aboutToolStripMenuItem_Click(object sender, EventArgs e) + { + MessageBox.Show("PDF Workflow Manager v0.9 \r\n\r\nCopyright (c) 2023 https://retro-commodore.eu", "Version", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + private void button1_Click(object sender, EventArgs e) + { + //GalleryForm sf = new GalleryForm(workOutDir); + //sf.ShowDialog(); + } + } +} diff --git a/PDFWorkflowManager/PDFWorkflowManager/MainForm.resx b/PDFWorkflowManager/PDFWorkflowManager/MainForm.resx new file mode 100644 index 0000000..8d4513a --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/MainForm.resx @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 132, 17 + + + True + + + 248, 17 + + + 25 + + + + + AAABAAEAIB8AAAEAIAAkEAAAFgAAACgAAAAgAAAAPgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AVyIAJlUiAHJVIgCvVSIA2VUi + APBVIgD+VSIA61UiANdVIgCvViIAcVEjABb///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AViEAPlUiAMJVIgD/VSIA/1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VCMASf///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AUyYAIlUiALNVIgD/VSIA/1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9UIwBJ////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFQhAD1VIgDpVSIA/1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1QjAEn///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBVIwBgVSIA+1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VCMASf// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AViEAPlUi + APlVIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1Ui + AP9UIwBJ////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFUj + ACRVIgDtVSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgD/VSIA/1QjAEn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8AVSIAtlUiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAO9WIgCnViMAblUh + AFRWIQBWViIAd1UiALxVIgD+VCMASf///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AFYjAEFVIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAPZVIQB7VSsADP// + /wD///8A////AP///wD///8A////AFciACZVIgAe////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8AVSIAxVUiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgDkVyQAMv// + /wD///8A////AP///wD///8A////AP///wD///8A////AAAA/0UAAP93AAD/dwAA/3cAAP93AAD/dwAA + /3cAAP93AAD/dwAA/3cAAP93AAD/XVUkACpVIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA8lch + AC////8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAD/kwAA//8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAA/+oAAP8rViIAd1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgBy////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAP+TAAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP/vAAD/Mv///wBVIgCyVSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgD/VSIA6VUrAAb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAA + /5MAAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/8QAA/zb///8A////AFUiANxVIgD/VSIA/1Ui + AP9VIgD/VSIA/1UiAP9WIwCb////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8AAAD/kwAA//8AAP//AAD//wAA//8AAP//AAD//wAA//UAAP8+////AP///wD///8AVSIA9FUi + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UhAGz///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wAAAP+KAAD/7gAA/+4AAP/uAAD/7gAA/+4AAP/pAAD/Qv///wD///8A////AP// + /wBVIgD8VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VCMAWP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AFUiAPRVIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9WIQBr////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8AVSMAk1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/FQh + AFX///8A////AP///wD///8AVSIA3FUiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1YjAJv///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBVIwCTVSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgD/VSIA+VUiAEv///8A////AP///wBVIgCyVSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA6VUr + AAb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFUjAJNVIgD/VSIA/1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA9lYjAEH///8A////AFYiAHdVIgD/VSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgD/ViIAcf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AVSMAk1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA9VYhAD7///8AVSQAKlUiAP9VIgD/VSIA/1Ui + AP9VIgD/VSIA/1UiAP9VIgDyVyEAL////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wBVIwCTVSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA8VciADX///8AVSIAxVUi + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIwDlVSMAM////wD///8A////AP///wD///8A////AP// + /wD///8A////AFYjADtVIwBmVSMAZlUjAGZVIwBmVSMAZlUjAGZVIwBmVSMAZlUjAGZVIwBmViIAU/// + /wBWIwBBVSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD3VSEAe1UrAAz///8A////AP// + /wD///8A////AP///wBVIQAnUiEAH////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wBVIgC2VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA71Yi + AKdWIwBuVCMAWFYhAFZWIgB3VSIAvFUiAP5UIwBJ////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AFUjACRVIgDtVSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1QjAEn///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AFYhAD5VIgD5VSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VCMASf///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFUjAGBVIgD7VSIA/1Ui + AP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9UIwBJ////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFQh + AD1VIgDqVSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1Qj + AEn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AFckACNVIgC1VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgD/VCMASf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wBUJABAVSIAw1UiAP9VIgD/VSIA/1UiAP9VIgD/VSIA/1Ui + AP9VIgD/VSIA/1UiAP9UIwBJ////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AUyAAKFYhAHRVIwCxVSIA21Ui + APFVIgD/VSIA61UiANhVIQCwVSIAclEjABb///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP/AB///AAf//AAH//gAB//wAAf/4AAH/8AAB//AAAf/gAfn/4Af8AAAP/AAAH/wAQB/ + 8AMA//AHAP/wDwD///8A//APAP/wBwB/8AMAf/ABAD/wAIAf8ACAB+f/wAAH/8AAB//gAAf/8AAH//gA + B//8AAf//wAH///AB/8= + + + \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/PDF Workflow Manager.csproj b/PDFWorkflowManager/PDFWorkflowManager/PDF Workflow Manager.csproj new file mode 100644 index 0000000..d351233 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/PDF Workflow Manager.csproj @@ -0,0 +1,184 @@ + + + + + + Debug + AnyCPU + {1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6} + WinExe + PDFWorkflowManager + PDF Workflow Manager + v4.7.2 + 512 + true + true + + + false + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + 7.3 + prompt + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + 7.3 + prompt + true + + + + ..\packages\Magick.NET-Q8-AnyCPU.12.3.0\lib\netstandard20\Magick.NET-Q8-AnyCPU.dll + + + ..\packages\Magick.NET.Core.12.3.0\lib\netstandard20\Magick.NET.Core.dll + + + ..\packages\Magick.NET.SystemDrawing.6.1.4\lib\net462\Magick.NET.SystemDrawing.dll + + + ..\packages\WindowsAPICodePack-Core.1.1.2\lib\Microsoft.WindowsAPICodePack.dll + + + ..\packages\WindowsAPICodePack-Shell.1.1.1\lib\Microsoft.WindowsAPICodePack.Shell.dll + + + + + + + + + + + + + + + + + + Form + + + LanguagesForm.cs + + + Form + + + MainForm.cs + + + + + Form + + + SettingsForm.cs + + + LanguagesForm.cs + + + MainForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsForm.cs + + + Always + + + Always + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + False + Microsoft .NET Framework 4.7.2 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/PDF Workflow Manager.csproj.user b/PDFWorkflowManager/PDFWorkflowManager/PDF Workflow Manager.csproj.user new file mode 100644 index 0000000..51f6223 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/PDF Workflow Manager.csproj.user @@ -0,0 +1,13 @@ + + + + publish\ + + + + + + en-US + false + + \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/Program.cs b/PDFWorkflowManager/PDFWorkflowManager/Program.cs new file mode 100644 index 0000000..7620176 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Program.cs @@ -0,0 +1,19 @@ +using System; +using System.Windows.Forms; + +namespace PDFWorkflowManager +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/PDFWorkflowManager/PDFWorkflowManager/Properties/AssemblyInfo.cs b/PDFWorkflowManager/PDFWorkflowManager/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..6f45c77 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("PDF Workflow Manager")] +[assembly: AssemblyDescription("An Application to assist in making a better workflow when creating PDF manuals/books etc.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Retro-Commodore")] +[assembly: AssemblyProduct("PDFWorkflowManager")] +[assembly: AssemblyCopyright("Copyright © 2023 Retro Commodore EU")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1957f2ad-acb5-4938-b2ba-3d2c365bbaf6")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/PDFWorkflowManager/PDFWorkflowManager/Properties/Resources.Designer.cs b/PDFWorkflowManager/PDFWorkflowManager/Properties/Resources.Designer.cs new file mode 100644 index 0000000..5ff57cb --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PDFWorkflowManager.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PDFWorkflowManager.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/PDFWorkflowManager/PDFWorkflowManager/Properties/Resources.resx b/PDFWorkflowManager/PDFWorkflowManager/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/Properties/Settings.Designer.cs b/PDFWorkflowManager/PDFWorkflowManager/Properties/Settings.Designer.cs new file mode 100644 index 0000000..b6965b8 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Properties/Settings.Designer.cs @@ -0,0 +1,158 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PDFWorkflowManager.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files\\ScanTailor Advanced\\scantailor.exe")] + public string ScanTailor { + get { + return ((string)(this["ScanTailor"])); + } + set { + this["ScanTailor"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute(".\\origs")] + public string OrigsDir { + get { + return ((string)(this["OrigsDir"])); + } + set { + this["OrigsDir"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute(".\\work")] + public string WorkDir { + get { + return ((string)(this["WorkDir"])); + } + set { + this["WorkDir"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute(".\\work\\out")] + public string WorkOutDir { + get { + return ((string)(this["WorkOutDir"])); + } + set { + this["WorkOutDir"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute(".\\temp")] + public string TempDir { + get { + return ((string)(this["TempDir"])); + } + set { + this["TempDir"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("gswin64c.exe")] + public string GhostScript { + get { + return ((string)(this["GhostScript"])); + } + set { + this["GhostScript"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("pdftk.exe")] + public string PDFtk { + get { + return ((string)(this["PDFtk"])); + } + set { + this["PDFtk"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("tesseract.exe")] + public string TesserAct { + get { + return ((string)(this["TesserAct"])); + } + set { + this["TesserAct"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Tomse")] + public string PostProcessor { + get { + return ((string)(this["PostProcessor"])); + } + set { + this["PostProcessor"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Processed by Tomse @ http://retro-commodore.eu")] + public string PDFMetaAuthor { + get { + return ((string)(this["PDFMetaAuthor"])); + } + set { + this["PDFMetaAuthor"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("1")] + public int Banner { + get { + return ((int)(this["Banner"])); + } + set { + this["Banner"] = value; + } + } + } +} diff --git a/PDFWorkflowManager/PDFWorkflowManager/Properties/Settings.settings b/PDFWorkflowManager/PDFWorkflowManager/Properties/Settings.settings new file mode 100644 index 0000000..135c9af --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/Properties/Settings.settings @@ -0,0 +1,39 @@ + + + + + + C:\Program Files\ScanTailor Advanced\scantailor.exe + + + .\origs + + + .\work + + + .\work\out + + + .\temp + + + gswin64c.exe + + + pdftk.exe + + + tesseract.exe + + + Tomse + + + Processed by Tomse @ http://retro-commodore.eu + + + 1 + + + \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.Designer.cs b/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.Designer.cs new file mode 100644 index 0000000..e8f11c7 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.Designer.cs @@ -0,0 +1,475 @@ + +namespace PDFWorkflowManager +{ + partial class SettingsForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.txtTempDir = new System.Windows.Forms.TextBox(); + this.btnScantailor = new System.Windows.Forms.Button(); + this.btnGhostScript = new System.Windows.Forms.Button(); + this.btnPdfTk = new System.Windows.Forms.Button(); + this.txtOrigsDir = new System.Windows.Forms.TextBox(); + this.txtScanTailor = new System.Windows.Forms.TextBox(); + this.txtGhostScript = new System.Windows.Forms.TextBox(); + this.txtPdfTk = new System.Windows.Forms.TextBox(); + this.txtTesserAct = new System.Windows.Forms.TextBox(); + this.btnTesserAct = new System.Windows.Forms.Button(); + this.txtPostProcessor = new System.Windows.Forms.TextBox(); + this.btnSaveConfig = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel3 = new System.Windows.Forms.LinkLabel(); + this.linkLabel5 = new System.Windows.Forms.LinkLabel(); + this.txtWorkDir = new System.Windows.Forms.TextBox(); + this.txtWorkOutDir = new System.Windows.Forms.TextBox(); + this.statusStrip = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.statusLabel = new System.Windows.Forms.ToolStripStatusLabel(); + this.txtPDFMetaAuthor = new System.Windows.Forms.TextBox(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.label6 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.label2 = new System.Windows.Forms.Label(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.label7 = new System.Windows.Forms.Label(); + this.cmbBanner = new System.Windows.Forms.ComboBox(); + this.statusStrip.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.SuspendLayout(); + // + // txtTempDir + // + this.txtTempDir.Location = new System.Drawing.Point(6, 99); + this.txtTempDir.Name = "txtTempDir"; + this.txtTempDir.Size = new System.Drawing.Size(208, 20); + this.txtTempDir.TabIndex = 0; + // + // btnScantailor + // + this.btnScantailor.Location = new System.Drawing.Point(220, 17); + this.btnScantailor.Name = "btnScantailor"; + this.btnScantailor.Size = new System.Drawing.Size(84, 23); + this.btnScantailor.TabIndex = 3; + this.btnScantailor.Text = "ScanTailor"; + this.btnScantailor.UseVisualStyleBackColor = true; + this.btnScantailor.Click += new System.EventHandler(this.btnScantailor_Click); + // + // btnGhostScript + // + this.btnGhostScript.Location = new System.Drawing.Point(220, 43); + this.btnGhostScript.Name = "btnGhostScript"; + this.btnGhostScript.Size = new System.Drawing.Size(84, 23); + this.btnGhostScript.TabIndex = 4; + this.btnGhostScript.Text = "Ghostscript"; + this.btnGhostScript.UseVisualStyleBackColor = true; + this.btnGhostScript.Click += new System.EventHandler(this.btnGhostScript_Click); + // + // btnPdfTk + // + this.btnPdfTk.Location = new System.Drawing.Point(220, 69); + this.btnPdfTk.Name = "btnPdfTk"; + this.btnPdfTk.Size = new System.Drawing.Size(84, 23); + this.btnPdfTk.TabIndex = 5; + this.btnPdfTk.Text = "PDF Tool Kit"; + this.btnPdfTk.UseVisualStyleBackColor = true; + this.btnPdfTk.Click += new System.EventHandler(this.btnPdfTk_Click); + // + // txtOrigsDir + // + this.txtOrigsDir.Location = new System.Drawing.Point(6, 21); + this.txtOrigsDir.Name = "txtOrigsDir"; + this.txtOrigsDir.Size = new System.Drawing.Size(208, 20); + this.txtOrigsDir.TabIndex = 6; + // + // txtScanTailor + // + this.txtScanTailor.Location = new System.Drawing.Point(6, 19); + this.txtScanTailor.Name = "txtScanTailor"; + this.txtScanTailor.Size = new System.Drawing.Size(208, 20); + this.txtScanTailor.TabIndex = 7; + // + // txtGhostScript + // + this.txtGhostScript.Location = new System.Drawing.Point(6, 45); + this.txtGhostScript.Name = "txtGhostScript"; + this.txtGhostScript.Size = new System.Drawing.Size(208, 20); + this.txtGhostScript.TabIndex = 8; + // + // txtPdfTk + // + this.txtPdfTk.Location = new System.Drawing.Point(6, 71); + this.txtPdfTk.Name = "txtPdfTk"; + this.txtPdfTk.Size = new System.Drawing.Size(208, 20); + this.txtPdfTk.TabIndex = 9; + // + // txtTesserAct + // + this.txtTesserAct.Location = new System.Drawing.Point(6, 97); + this.txtTesserAct.Name = "txtTesserAct"; + this.txtTesserAct.Size = new System.Drawing.Size(208, 20); + this.txtTesserAct.TabIndex = 13; + // + // btnTesserAct + // + this.btnTesserAct.Location = new System.Drawing.Point(220, 95); + this.btnTesserAct.Name = "btnTesserAct"; + this.btnTesserAct.Size = new System.Drawing.Size(84, 23); + this.btnTesserAct.TabIndex = 12; + this.btnTesserAct.Text = "TesserAct"; + this.btnTesserAct.UseVisualStyleBackColor = true; + this.btnTesserAct.Click += new System.EventHandler(this.btnTesserAct_Click); + // + // txtPostProcessor + // + this.txtPostProcessor.Location = new System.Drawing.Point(6, 19); + this.txtPostProcessor.Name = "txtPostProcessor"; + this.txtPostProcessor.Size = new System.Drawing.Size(208, 20); + this.txtPostProcessor.TabIndex = 15; + // + // btnSaveConfig + // + this.btnSaveConfig.Location = new System.Drawing.Point(469, 364); + this.btnSaveConfig.Name = "btnSaveConfig"; + this.btnSaveConfig.Size = new System.Drawing.Size(134, 79); + this.btnSaveConfig.TabIndex = 14; + this.btnSaveConfig.Text = "Save Config"; + this.btnSaveConfig.UseVisualStyleBackColor = true; + this.btnSaveConfig.Click += new System.EventHandler(this.btnSaveConfig_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(220, 22); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(157, 13); + this.label1.TabIndex = 16; + this.label1.Text = "Post processor nick/name (you)"; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.Location = new System.Drawing.Point(402, 88); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(270, 13); + this.linkLabel1.TabIndex = 17; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "https://github.com/4lex4/scantailor-advanced/releases"; + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.Location = new System.Drawing.Point(402, 114); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Size = new System.Drawing.Size(219, 13); + this.linkLabel2.TabIndex = 18; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = "https://ghostscript.com/releases/gsdnld.html"; + // + // linkLabel3 + // + this.linkLabel3.AutoSize = true; + this.linkLabel3.Location = new System.Drawing.Point(402, 140); + this.linkLabel3.Name = "linkLabel3"; + this.linkLabel3.Size = new System.Drawing.Size(220, 13); + this.linkLabel3.TabIndex = 19; + this.linkLabel3.TabStop = true; + this.linkLabel3.Text = "https://www.pdflabs.com/tools/pdftk-server/"; + // + // linkLabel5 + // + this.linkLabel5.AutoSize = true; + this.linkLabel5.Location = new System.Drawing.Point(402, 166); + this.linkLabel5.Name = "linkLabel5"; + this.linkLabel5.Size = new System.Drawing.Size(238, 13); + this.linkLabel5.TabIndex = 21; + this.linkLabel5.TabStop = true; + this.linkLabel5.Tag = ""; + this.linkLabel5.Text = "https://github.com/UB-Mannheim/tesseract/wiki"; + // + // txtWorkDir + // + this.txtWorkDir.Location = new System.Drawing.Point(6, 47); + this.txtWorkDir.Name = "txtWorkDir"; + this.txtWorkDir.Size = new System.Drawing.Size(208, 20); + this.txtWorkDir.TabIndex = 22; + // + // txtWorkOutDir + // + this.txtWorkOutDir.Location = new System.Drawing.Point(6, 73); + this.txtWorkOutDir.Name = "txtWorkOutDir"; + this.txtWorkOutDir.Size = new System.Drawing.Size(208, 20); + this.txtWorkOutDir.TabIndex = 24; + // + // statusStrip + // + this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabel1, + this.statusLabel}); + this.statusStrip.Location = new System.Drawing.Point(0, 454); + this.statusStrip.Name = "statusStrip"; + this.statusStrip.Size = new System.Drawing.Size(698, 22); + this.statusStrip.TabIndex = 26; + this.statusStrip.Text = "statusStrip1"; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(42, 17); + this.toolStripStatusLabel1.Text = "Status:"; + // + // statusLabel + // + this.statusLabel.Name = "statusLabel"; + this.statusLabel.Size = new System.Drawing.Size(0, 17); + // + // txtPDFMetaAuthor + // + this.txtPDFMetaAuthor.Location = new System.Drawing.Point(6, 19); + this.txtPDFMetaAuthor.Name = "txtPDFMetaAuthor"; + this.txtPDFMetaAuthor.Size = new System.Drawing.Size(208, 20); + this.txtPDFMetaAuthor.TabIndex = 30; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label5); + this.groupBox1.Controls.Add(this.label4); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.txtTempDir); + this.groupBox1.Controls.Add(this.txtOrigsDir); + this.groupBox1.Controls.Add(this.txtWorkDir); + this.groupBox1.Controls.Add(this.txtWorkOutDir); + this.groupBox1.Location = new System.Drawing.Point(12, 201); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(384, 129); + this.groupBox1.TabIndex = 35; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Work Directories"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(217, 102); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(77, 13); + this.label6.TabIndex = 34; + this.label6.Text = "Temp directory"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(220, 76); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(121, 13); + this.label5.TabIndex = 33; + this.label5.Text = "ScanTailor Out directory"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(220, 50); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(76, 13); + this.label4.TabIndex = 32; + this.label4.Text = "Work directory"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(220, 24); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(74, 13); + this.label3.TabIndex = 31; + this.label3.Text = "Origs directory"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.btnTesserAct); + this.groupBox2.Controls.Add(this.btnScantailor); + this.groupBox2.Controls.Add(this.btnGhostScript); + this.groupBox2.Controls.Add(this.btnPdfTk); + this.groupBox2.Controls.Add(this.txtScanTailor); + this.groupBox2.Controls.Add(this.txtGhostScript); + this.groupBox2.Controls.Add(this.txtPdfTk); + this.groupBox2.Controls.Add(this.txtTesserAct); + this.groupBox2.Location = new System.Drawing.Point(12, 66); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(384, 129); + this.groupBox2.TabIndex = 36; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Tools"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.label1); + this.groupBox3.Controls.Add(this.txtPostProcessor); + this.groupBox3.Location = new System.Drawing.Point(12, 12); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(384, 48); + this.groupBox3.TabIndex = 37; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "User"; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.label2); + this.groupBox4.Controls.Add(this.txtPDFMetaAuthor); + this.groupBox4.Location = new System.Drawing.Point(12, 336); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(384, 49); + this.groupBox4.TabIndex = 38; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "PDF Metadata"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(217, 22); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(38, 13); + this.label2.TabIndex = 17; + this.label2.Text = "Author"; + // + // groupBox5 + // + this.groupBox5.Controls.Add(this.label7); + this.groupBox5.Controls.Add(this.cmbBanner); + this.groupBox5.Location = new System.Drawing.Point(12, 392); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Size = new System.Drawing.Size(384, 51); + this.groupBox5.TabIndex = 39; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "Output"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(217, 23); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(41, 13); + this.label7.TabIndex = 31; + this.label7.Text = "Banner"; + // + // cmbBanner + // + this.cmbBanner.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cmbBanner.FormattingEnabled = true; + this.cmbBanner.Items.AddRange(new object[] { + "A4", + "A5", + "None"}); + this.cmbBanner.Location = new System.Drawing.Point(6, 20); + this.cmbBanner.Name = "cmbBanner"; + this.cmbBanner.Size = new System.Drawing.Size(208, 21); + this.cmbBanner.TabIndex = 0; + // + // SettingsForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(698, 476); + this.Controls.Add(this.groupBox5); + this.Controls.Add(this.groupBox4); + this.Controls.Add(this.groupBox3); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.statusStrip); + this.Controls.Add(this.linkLabel5); + this.Controls.Add(this.linkLabel3); + this.Controls.Add(this.linkLabel2); + this.Controls.Add(this.linkLabel1); + this.Controls.Add(this.btnSaveConfig); + this.Name = "SettingsForm"; + this.Tag = ""; + this.Text = "Settings"; + this.statusStrip.ResumeLayout(false); + this.statusStrip.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.groupBox5.ResumeLayout(false); + this.groupBox5.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox txtTempDir; + private System.Windows.Forms.Button btnScantailor; + private System.Windows.Forms.Button btnGhostScript; + private System.Windows.Forms.Button btnPdfTk; + private System.Windows.Forms.TextBox txtOrigsDir; + private System.Windows.Forms.TextBox txtScanTailor; + private System.Windows.Forms.TextBox txtGhostScript; + private System.Windows.Forms.TextBox txtPdfTk; + private System.Windows.Forms.TextBox txtTesserAct; + private System.Windows.Forms.Button btnTesserAct; + private System.Windows.Forms.TextBox txtPostProcessor; + private System.Windows.Forms.Button btnSaveConfig; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.LinkLabel linkLabel3; + private System.Windows.Forms.LinkLabel linkLabel5; + private System.Windows.Forms.TextBox txtWorkDir; + private System.Windows.Forms.TextBox txtWorkOutDir; + private System.Windows.Forms.StatusStrip statusStrip; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.ToolStripStatusLabel statusLabel; + private System.Windows.Forms.TextBox txtPDFMetaAuthor; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.ComboBox cmbBanner; + } +} \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.cs b/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.cs new file mode 100644 index 0000000..c9e2d89 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.cs @@ -0,0 +1,152 @@ +using Microsoft.WindowsAPICodePack.Dialogs; +using System; +using System.Windows.Forms; + +namespace PDFWorkflowManager +{ + public partial class SettingsForm : Form + { + + + public SettingsForm() + { + InitializeComponent(); + txtScanTailor.Text = Properties.Settings.Default.ScanTailor; + txtWorkDir.Text = Properties.Settings.Default.WorkDir; + txtOrigsDir.Text = Properties.Settings.Default.OrigsDir; + txtWorkOutDir.Text = Properties.Settings.Default.WorkOutDir; + txtTempDir.Text = Properties.Settings.Default.TempDir; + txtGhostScript.Text = Properties.Settings.Default.GhostScript; + txtPdfTk.Text = Properties.Settings.Default.PDFtk; + txtTesserAct.Text = Properties.Settings.Default.TesserAct; + txtPostProcessor.Text = Properties.Settings.Default.PostProcessor; + txtPDFMetaAuthor.Text = Properties.Settings.Default.PDFMetaAuthor; + cmbBanner.SelectedIndex = Properties.Settings.Default.Banner; + } + + private void btnScantailor_Click(object sender, EventArgs e) + { + OpenFileDialog fileDialog = new OpenFileDialog(); + + fileDialog.Title = "Browse for ScanTailor"; + fileDialog.Filter = "ScanTailor|scantailor.exe"; + fileDialog.FilterIndex = 1; + + if (fileDialog.ShowDialog() == DialogResult.OK) + { + txtScanTailor.Text = fileDialog.FileName; + Properties.Settings.Default.ScanTailor = txtScanTailor.Text; + } + } + + private void btnTempDir_Click(object sender, EventArgs e) + { + CommonOpenFileDialog dialog = new CommonOpenFileDialog(); + dialog.RestoreDirectory = true; + dialog.IsFolderPicker = true; + if (dialog.ShowDialog() == CommonFileDialogResult.Ok) + { + txtTempDir.Text = dialog.FileName; + Properties.Settings.Default.TempDir = txtTempDir.Text; + } + } + + private void btnGhostScript_Click(object sender, EventArgs e) + { + OpenFileDialog fileDialog = new OpenFileDialog(); + + fileDialog.Title = "Browse for Ghostscript"; + fileDialog.Filter = "Ghostscript|gswin64c.exe"; + fileDialog.FilterIndex = 1; + + if (fileDialog.ShowDialog() == DialogResult.OK) + { + txtGhostScript.Text = fileDialog.FileName; + Properties.Settings.Default.GhostScript = txtGhostScript.Text; + } + } + + private void btnPdfTk_Click(object sender, EventArgs e) + { + OpenFileDialog fileDialog = new OpenFileDialog(); + + fileDialog.Title = "Browse for PDF Toolkit Server"; + fileDialog.Filter = "PDFTK|pdftk.exe"; + fileDialog.FilterIndex = 1; + + if (fileDialog.ShowDialog() == DialogResult.OK) + { + txtPdfTk.Text = fileDialog.FileName; + Properties.Settings.Default.PDFtk = txtPdfTk.Text; + } + } + + private void btnTesserAct_Click(object sender, EventArgs e) + { + OpenFileDialog fileDialog = new OpenFileDialog(); + + fileDialog.Title = "Browse for Tesseract"; + fileDialog.Filter = "TesserAct|tesseract.exe"; + fileDialog.FilterIndex = 1; + + if (fileDialog.ShowDialog() == DialogResult.OK) + { + txtTesserAct.Text = fileDialog.FileName; + Properties.Settings.Default.TesserAct = txtTesserAct.Text; + } + } + + private void btnOrigsDir_Click(object sender, EventArgs e) + { + CommonOpenFileDialog dialog = new CommonOpenFileDialog(); + dialog.RestoreDirectory = true; + dialog.IsFolderPicker = true; + if (dialog.ShowDialog() == CommonFileDialogResult.Ok) + { + txtOrigsDir.Text = dialog.FileName; + Properties.Settings.Default.OrigsDir = txtOrigsDir.Text; + } + } + + private void btnWorkDir_Click(object sender, EventArgs e) + { + CommonOpenFileDialog dialog = new CommonOpenFileDialog(); + dialog.RestoreDirectory = true; + dialog.IsFolderPicker = true; + if (dialog.ShowDialog() == CommonFileDialogResult.Ok) + { + txtWorkDir.Text = dialog.FileName; + Properties.Settings.Default.WorkDir = txtWorkDir.Text; + } + } + + private void btnWorkOutDir_Click(object sender, EventArgs e) + { + CommonOpenFileDialog dialog = new CommonOpenFileDialog(); + dialog.RestoreDirectory = true; + dialog.IsFolderPicker = true; + if (dialog.ShowDialog() == CommonFileDialogResult.Ok) + { + txtWorkOutDir.Text = dialog.FileName; + Properties.Settings.Default.WorkOutDir = txtWorkOutDir.Text; + } + } + + private void btnSaveConfig_Click(object sender, EventArgs e) + { + Properties.Settings.Default.ScanTailor = txtScanTailor.Text; + Properties.Settings.Default.WorkDir = txtWorkDir.Text; + Properties.Settings.Default.OrigsDir = txtOrigsDir.Text; + Properties.Settings.Default.WorkOutDir = txtWorkOutDir.Text; + Properties.Settings.Default.TempDir = txtTempDir.Text; + Properties.Settings.Default.GhostScript = txtGhostScript.Text; + Properties.Settings.Default.PDFtk = txtPdfTk.Text; + Properties.Settings.Default.TesserAct = txtTesserAct.Text; + Properties.Settings.Default.PostProcessor = txtPostProcessor.Text; + Properties.Settings.Default.PDFMetaAuthor = txtPDFMetaAuthor.Text; + Properties.Settings.Default.Banner = cmbBanner.SelectedIndex; + Properties.Settings.Default.Save(); + statusLabel.Text = "Saved."; + } + } +} diff --git a/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.resx b/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.resx new file mode 100644 index 0000000..422cca5 --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/SettingsForm.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/PDFWorkflowManager/PDFWorkflowManager/banner_a4.pdf b/PDFWorkflowManager/PDFWorkflowManager/banner_a4.pdf new file mode 100644 index 0000000..f0e861d Binary files /dev/null and b/PDFWorkflowManager/PDFWorkflowManager/banner_a4.pdf differ diff --git a/PDFWorkflowManager/PDFWorkflowManager/banner_a5.pdf b/PDFWorkflowManager/PDFWorkflowManager/banner_a5.pdf new file mode 100644 index 0000000..5ae3240 Binary files /dev/null and b/PDFWorkflowManager/PDFWorkflowManager/banner_a5.pdf differ diff --git a/PDFWorkflowManager/PDFWorkflowManager/packages.config b/PDFWorkflowManager/PDFWorkflowManager/packages.config new file mode 100644 index 0000000..1dc031e --- /dev/null +++ b/PDFWorkflowManager/PDFWorkflowManager/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/PDFWorkflowManager/RCEUMakeManualHelp.chm b/PDFWorkflowManager/RCEUMakeManualHelp.chm new file mode 100644 index 0000000..7f0b772 Binary files /dev/null and b/PDFWorkflowManager/RCEUMakeManualHelp.chm differ diff --git a/PDFWorkflowManager/RCEUMakeManualHelp.chm.bak b/PDFWorkflowManager/RCEUMakeManualHelp.chm.bak new file mode 100644 index 0000000..14e70fb Binary files /dev/null and b/PDFWorkflowManager/RCEUMakeManualHelp.chm.bak differ diff --git a/PDFWorkflowManager/Setup/Setup.vdproj b/PDFWorkflowManager/Setup/Setup.vdproj new file mode 100644 index 0000000..aa990cc --- /dev/null +++ b/PDFWorkflowManager/Setup/Setup.vdproj @@ -0,0 +1,1219 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:Setup" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_3472EF2C777A4708AABACAC73E7690C0" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_5328C97D3C1B713FC7761ABD2F52AC71" + "OwnerKey" = "8:_C3CD737D2114414D1C963372A8E54C3B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6D24E18D7446AED5945ECB456B697EDB" + "OwnerKey" = "8:_8578EF077D4242899B4A4FD7A981783D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_79658802D5784C529A6A3ECE54F77D2F" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_8578EF077D4242899B4A4FD7A981783D" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_858E667F898475DFC9572791CDEAE117" + "OwnerKey" = "8:_8578EF077D4242899B4A4FD7A981783D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_92B5C6726158E3F69ED264F0E9D5F2B7" + "OwnerKey" = "8:_8578EF077D4242899B4A4FD7A981783D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9F1B9310B109D0DBECFEC805311CEA3F" + "OwnerKey" = "8:_FE7909460459457684AE94C947F9B9D7" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9F1B9310B109D0DBECFEC805311CEA3F" + "OwnerKey" = "8:_8578EF077D4242899B4A4FD7A981783D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_C3CD737D2114414D1C963372A8E54C3B" + "OwnerKey" = "8:_8578EF077D4242899B4A4FD7A981783D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_C3CD737D2114414D1C963372A8E54C3B" + "OwnerKey" = "8:_9F1B9310B109D0DBECFEC805311CEA3F" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_C3CD737D2114414D1C963372A8E54C3B" + "OwnerKey" = "8:_FE7909460459457684AE94C947F9B9D7" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D1E22E2C3BCABC9CF4F5D5C66B35EEB7" + "OwnerKey" = "8:_DBB1B01F4141435745179C459A9CB5AF" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D1E22E2C3BCABC9CF4F5D5C66B35EEB7" + "OwnerKey" = "8:_C3CD737D2114414D1C963372A8E54C3B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DBB1B01F4141435745179C459A9CB5AF" + "OwnerKey" = "8:_C3CD737D2114414D1C963372A8E54C3B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_E7D1B68B5A782B08D6A1396D1B16047E" + "OwnerKey" = "8:_C3CD737D2114414D1C963372A8E54C3B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_FE7909460459457684AE94C947F9B9D7" + "OwnerKey" = "8:_8578EF077D4242899B4A4FD7A981783D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_E7D1B68B5A782B08D6A1396D1B16047E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_8578EF077D4242899B4A4FD7A981783D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_92B5C6726158E3F69ED264F0E9D5F2B7" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_6D24E18D7446AED5945ECB456B697EDB" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_858E667F898475DFC9572791CDEAE117" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_C3CD737D2114414D1C963372A8E54C3B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_5328C97D3C1B713FC7761ABD2F52AC71" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_DBB1B01F4141435745179C459A9CB5AF" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_D1E22E2C3BCABC9CF4F5D5C66B35EEB7" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\Setup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\Setup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_674D3FC764BA49E3933B0B55AFC04951" + { + "Name" = "8:.NET Framework" + "Message" = "8:[VSDNETMSG]" + "FrameworkVersion" = "8:.NETFramework,Version=v4.7.2" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=863262" + } + } + } + "File" + { + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3472EF2C777A4708AABACAC73E7690C0" + { + "SourcePath" = "8:..\\MakeManual\\banner_a4.pdf" + "TargetName" = "8:banner_a4.pdf" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5328C97D3C1B713FC7761ABD2F52AC71" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:TRUE" + "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_5328C97D3C1B713FC7761ABD2F52AC71" + { + "Name" = "8:System.Net.Http.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Net.Http.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6D24E18D7446AED5945ECB456B697EDB" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Microsoft.WindowsAPICodePack, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_6D24E18D7446AED5945ECB456B697EDB" + { + "Name" = "8:Microsoft.WindowsAPICodePack.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Microsoft.WindowsAPICodePack.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_79658802D5784C529A6A3ECE54F77D2F" + { + "SourcePath" = "8:..\\MakeManual\\banner_a5.pdf" + "TargetName" = "8:banner_a5.pdf" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_858E667F898475DFC9572791CDEAE117" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" + "ScatterAssemblies" + { + "_858E667F898475DFC9572791CDEAE117" + { + "Name" = "8:System.Net.Http.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Net.Http.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_92B5C6726158E3F69ED264F0E9D5F2B7" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_92B5C6726158E3F69ED264F0E9D5F2B7" + { + "Name" = "8:Microsoft.WindowsAPICodePack.Shell.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Microsoft.WindowsAPICodePack.Shell.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9F1B9310B109D0DBECFEC805311CEA3F" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Magick.NET.Core, Version=12.3.0.0, Culture=neutral, PublicKeyToken=2004825badfa91ec, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_9F1B9310B109D0DBECFEC805311CEA3F" + { + "Name" = "8:Magick.NET.Core.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Magick.NET.Core.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C3CD737D2114414D1C963372A8E54C3B" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" + "ScatterAssemblies" + { + "_C3CD737D2114414D1C963372A8E54C3B" + { + "Name" = "8:netstandard.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:netstandard.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D1E22E2C3BCABC9CF4F5D5C66B35EEB7" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:TRUE" + "AssemblyAsmDisplayName" = "8:System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_D1E22E2C3BCABC9CF4F5D5C66B35EEB7" + { + "Name" = "8:System.IO.Compression.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.IO.Compression.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DBB1B01F4141435745179C459A9CB5AF" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:TRUE" + "AssemblyAsmDisplayName" = "8:System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_DBB1B01F4141435745179C459A9CB5AF" + { + "Name" = "8:System.IO.Compression.FileSystem.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.IO.Compression.FileSystem.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E7D1B68B5A782B08D6A1396D1B16047E" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:TRUE" + "AssemblyAsmDisplayName" = "8:System.Diagnostics.Tracing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_E7D1B68B5A782B08D6A1396D1B16047E" + { + "Name" = "8:System.Diagnostics.Tracing.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Diagnostics.Tracing.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FE7909460459457684AE94C947F9B9D7" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Magick.NET-Q8-AnyCPU, Version=12.3.0.0, Culture=neutral, PublicKeyToken=2004825badfa91ec, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_FE7909460459457684AE94C947F9B9D7" + { + "Name" = "8:Magick.NET-Q8-AnyCPU.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Magick.NET-Q8-AnyCPU.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_20D6A5CD661F4F428185A27CCD9ED444" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_57C38B4AD77E4684A6778961737DF789" + { + "DefaultLocation" = "8:[ProgramFiles64Folder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_7BBE8679C4554AD69A5839CDDEA22097" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:Setup" + "ProductCode" = "8:{4A4EB923-83D7-4CFE-99EA-3967C37DEE55}" + "PackageCode" = "8:{52E887EC-4AD8-4495-A6C5-3340A67B2CC3}" + "UpgradeCode" = "8:{E8BFFB6D-3BA8-4AD3-B0EE-C2D0347636B7}" + "AspNetVersion" = "8:4.0.30319.0" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:FALSE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:1.0.0" + "Manufacturer" = "8:Default Company Name" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:Setup" + "Subject" = "8:" + "ARPCONTACT" = "8:Retro Commodore" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:Tool to assist in creating PDF files for RCEU" + "ARPURLINFOABOUT" = "8:https://retro-commodore.eu" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:1" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_311E776A06BB4ED98509207AE8D2CCCD" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_917B8E1519DB4688843635CA8D9A7DE6" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A16EE994F83C4AC1912E7A14EDA8E32E" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_742B3F07E90D4045A866A8E8862066C4" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_C745BC127BA643E8BEB334956F57D7F5" + { + "Name" = "8:RCEU Make Manual" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_8578EF077D4242899B4A4FD7A981783D" + "Folder" = "8:_7BBE8679C4554AD69A5839CDDEA22097" + "WorkingFolder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Icon" = "8:" + "Feature" = "8:" + } + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_FA138F932CA54925A57C38226A401A25" + { + "Name" = "8:RCEU Make Manual" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_8578EF077D4242899B4A4FD7A981783D" + "Folder" = "8:_20D6A5CD661F4F428185A27CCD9ED444" + "WorkingFolder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Icon" = "8:" + "Feature" = "8:" + } + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0D71048CC25B45AD968F4AEE336209EA" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_70AD1534ED984D2EB9C57BEEA1F59988" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_106216E66E2A4095902B58B02DEA0FE5" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F8A6F0D186364B4099669816EACD4BCD" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_2F6D7FB45E584E9ABFF7061F31CA0062" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_43418E4B5FD345F9BB8E749DB51A5E86" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_790EAF401CA1444385911E618CAF2C5B" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_993DD2C8911D47D0824EA82DC2F1BF8B" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6EE5BCD9A08F408D846C0791251BF388" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_ED00EFB52C424C1489ED320840C8B44C" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1480CFFC7165488D87105098B1E7B163" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2866402559CC495C83F08C5F1AEEC993" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D13C4AC40D4543DFA5E844C2C94F1C5F" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_ED9ADA85E4A040DA8F5ACC94C2391371" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1EB241CF34064AF784D0CFCADB324F71" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_30FE76B168D548658C29D8ADE0EDC0C0" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AC0908BC1094450B8E719ADE4262AAA4" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_F1899AA5F91A47ABAD33F201431D7CA3" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_8578EF077D4242899B4A4FD7A981783D" + { + "SourcePath" = "8:..\\MakeManual\\obj\\Debug\\MakeManual.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_57C38B4AD77E4684A6778961737DF789" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/.signature.p7s b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/.signature.p7s new file mode 100644 index 0000000..0924437 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/.signature.p7s differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Magick.NET-Q8-AnyCPU.12.3.0.nupkg b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Magick.NET-Q8-AnyCPU.12.3.0.nupkg new file mode 100644 index 0000000..aeda8c4 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Magick.NET-Q8-AnyCPU.12.3.0.nupkg differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Magick.NET.icon.png b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Magick.NET.icon.png new file mode 100644 index 0000000..092a7db Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Magick.NET.icon.png differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.linux-musl.txt b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.linux-musl.txt new file mode 100644 index 0000000..38a442f --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.linux-musl.txt @@ -0,0 +1,6660 @@ +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ Magick.NET ] copyright: + +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +Licensed under the Apache License, Version 2.0. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ Magick.Native ] copyright: + +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.Native. +Licensed under the Apache License, Version 2.0. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ ImageMagick 7.1.0-61 (2023-02-05) ] copyright: + +Before we get to the text of the license, lets just review what the license says in simple terms: + +It allows you to: + + * freely download and use ImageMagick software, in whole or in part, for personal, company internal, or commercial purposes; + * use ImageMagick software in packages or distributions that you create; + * link against a library under a different license; + * link code under a different license against a library under this license; + * merge code into a work under a different license; + * extend patent grants to any code using code under this license; + * and extend patent protection. + +It forbids you to: + + * redistribute any piece of ImageMagick-originated software without proper attribution; + * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that ImageMagick Studio LLC endorses your distribution; + * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that you created the ImageMagick software in question. + +It requires you to: + + * include a copy of the license in any redistribution you may make that includes ImageMagick software; + * provide clear attribution to ImageMagick Studio LLC for any distributions that include ImageMagick software. + +It does not require you to: + + * include the source of the ImageMagick software itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it; + * submit changes that you make to the software back to the ImageMagick Studio LLC (though such feedback is encouraged). + +A few other clarifications include: + + * ImageMagick is freely available without charge; + * you may include ImageMagick on a DVD as long as you comply with the terms of the license; + * you can give modified code away for free or sell it under the terms of the ImageMagick license or distribute the result under a different license, but you need to acknowledge the use of the ImageMagick software; + * the license is compatible with the GPL V3. + * when exporting the ImageMagick software, review its export classification. + +Terms and Conditions for Use, Reproduction, and Distribution + +The legally binding and authoritative terms and conditions for use, reproduction, and distribution of ImageMagick follow: + +Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available. + +1. Definitions. + +License shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +Licensor shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +Legal Entity shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, control means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +You (or Your) shall mean an individual or Legal Entity exercising permissions granted by this License. + +Source form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +Object form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +Work shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +Derivative Works shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +Contribution shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as Not a Contribution. + +Contributor shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + + * You must give any other recipients of the Work or Derivative Works a copy of this License; and + * You must cause any modified files to carry prominent notices stating that You changed the files; and + * You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + * If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +How to Apply the License to your Work + +To apply the ImageMagick License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information (don't include the brackets). The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the ImageMagick License (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy + of the License at + + https://imagemagick.org/script/license.php + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ aom 3.1.3 (2021-10-05) ] copyright: + +Copyright (c) 2016, Alliance for Open Media. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ brotli 1.0.9 (2020-08-27) ] copyright: + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ bzlib 1.0.8 (2019-07-13) ] copyright: + + +-------------------------------------------------------------------------- + +This program, "bzip2", the associated library "libbzip2", and all +documentation, are copyright (C) 1996-2019 Julian R Seward. All +rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Julian Seward, jseward@acm.org +bzip2/libbzip2 version 1.0.8 of 13 July 2019 + +-------------------------------------------------------------------------- + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ cairo 1.16.0 (2018-10-19) ] copyright: + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ croco 0.6.13 (2019-04-06) ] copyright: + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ de265 1.0.8 (2020-11-02) ] copyright: + +* The library `libde265` is distributed under the terms of the GNU Lesser General Public License. +* The sample applications are distributed under the terms of the MIT license. + +License texts below and in the `COPYING` files of the corresponding subfolders. + +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +---------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +---------------------------------------------------------------------- + + MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ exr 3.1.3 (2021-10-28) ] copyright: + +Copyright (c) 2006-2019 OpenEXR a Series of LF Projects, LLC. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. +- Neither the name of the copyright holder nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ ffi 3.4.2 (2021-06-29) ] copyright: + +libffi - Copyright (c) 1996-2021 Anthony Green, Red Hat, Inc and others. +See source files for details. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +``Software''), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ fontconfig 2.12.6 (2017-09-21) ] copyright: + +fontconfig/COPYING + +Copyright © 2000,2001,2002,2003,2004,2006,2007 Keith Packard +Copyright © 2005 Patrick Lam +Copyright © 2009 Roozbeh Pournader +Copyright © 2008,2009 Red Hat, Inc. +Copyright © 2008 Danilo Šegan +Copyright © 2012 Google, Inc. + + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of the author(s) not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. The authors make no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ freetype 2.12.1 (2022-05-01) ] copyright: + + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org + + +--- end of FTL.TXT --- + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ fribidi 1.0.10 (2020-07-05) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ glib 2.64.3 (2020-05-20) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ harfbuzz 5.1.0 (2022-07-31) ] copyright: + +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 Google, Inc. +Copyright © 2018,2019,2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2009 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021 Behdad Esfahbod +Copyright © 2005 David Turner +Copyright © 2004,2007,2008,2009,2010 Red Hat, Inc. +Copyright © 1998-2004 David Turner and Werner Lemberg + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ heif 1.14.2 (2023-01-06) ] copyright: + +* The library `libheif` is distributed under the terms of the GNU Lesser General Public License. +* The sample applications are distributed under the terms of the MIT License. + +License texts below and in the `COPYING` files of the corresponding subfolders. + +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +---------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +---------------------------------------------------------------------- + + MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ highway 1.0.1 (2022-08-24) ] copyright: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ jpeg-turbo 2.1.1 (2021-08-10) ] copyright: + +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) + +- The Modified (3-clause) BSD License, which is listed below + + This license covers the TurboJPEG API library and associated programs, as + well as the build system. + +- The [zlib License](https://opensource.org/licenses/Zlib) + + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License (see below.) + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License + + +The Modified (3-clause) BSD License +=================================== + +Copyright (C)2009-2021 D. R. Commander. All Rights Reserved.
+Copyright (C)2015 Viktor Szathmáry. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Why Three Licenses? +=================== + +The zlib License could have been used instead of the Modified (3-clause) BSD +License, and since the IJG License effectively subsumes the distribution +conditions of the zlib License, this would have effectively placed +libjpeg-turbo binary distributions under the IJG License. However, the IJG +License specifically refers to the Independent JPEG Group and does not extend +attribution and endorsement protections to other entities. Thus, it was +desirable to choose a license that granted us the same protections for new code +that were granted to the IJG for code derived from their software. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ jpeg-xl 0.8.0 (2023-01-19) ] copyright: + +Copyright (c) the JPEG XL Project Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lcms 2.13,1 (2022-02-03) ] copyright: + +Little CMS +Copyright (c) 1998-2020 Marti Maria Saguer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lqr 0.4.2 (2012-12-04) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lzma 5.2.5 (2020-03-17) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ openjpeg 2.5.0 (2022-05-13) ] copyright: + +/* + * The copyright in this software is being made available under the 2-clauses + * BSD License, included below. This software may be subject to other third + * party and contributor rights, including patent rights, and no such rights + * are granted under this license. + * + * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2014, Professor Benoit Macq + * Copyright (c) 2003-2014, Antonin Descampe + * Copyright (c) 2003-2009, Francois-Olivier Devaux + * Copyright (c) 2005, Herve Drolon, FreeImage Team + * Copyright (c) 2002-2003, Yannick Verschueren + * Copyright (c) 2001-2003, David Janssens + * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France + * Copyright (c) 2012, CS Systemes d'Information, France + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ pango 1.45.3 (2020-06-22) ] copyright: + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307 USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ pixman 0.40.0 (2020-04-19) ] copyright: + +The following is the MIT license, agreed upon by most contributors. +Copyright holders of new code should use this license statement where +possible. They may also add themselves to the list below. + +/* + * Copyright 1987, 1988, 1989, 1998 The Open Group + * Copyright 1987, 1988, 1989 Digital Equipment Corporation + * Copyright 1999, 2004, 2008 Keith Packard + * Copyright 2000 SuSE, Inc. + * Copyright 2000 Keith Packard, member of The XFree86 Project, Inc. + * Copyright 2004, 2005, 2007, 2008, 2009, 2010 Red Hat, Inc. + * Copyright 2004 Nicholas Miell + * Copyright 2005 Lars Knoll & Zack Rusin, Trolltech + * Copyright 2005 Trolltech AS + * Copyright 2007 Luca Barbato + * Copyright 2008 Aaron Plattner, NVIDIA Corporation + * Copyright 2008 Rodrigo Kumpera + * Copyright 2008 André Tupinambá + * Copyright 2008 Mozilla Corporation + * Copyright 2008 Frederic Plourde + * Copyright 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright 2009, 2010 Nokia Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ png 1.6.38 (2022-09-14) ] copyright: + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE +========================================= + +PNG Reference Library License version 2 +--------------------------------------- + + * Copyright (c) 1995-2022 The PNG Reference Library Authors. + * Copyright (c) 2018-2022 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ raqm 0.9.0 (2022-01-30) ] copyright: + +The MIT License (MIT) + +Copyright © 2015 Information Technology Authority (ITA) +Copyright © 2016-2022 Khaled Hosny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ raw 0.21.1 (2023-01-05) ] copyright: + + ** LibRaw: Raw images processing library ** + +Copyright (C) 2008-2021 LibRaw LLC (http://www.libraw.org, info@libraw.org) + +LibRaw is free software; you can redistribute it and/or modify +it under the terms of the one of two licenses as you choose: + +1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1 + (See file LICENSE.LGPL provided in LibRaw distribution archive for details). + +2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + (See file LICENSE.CDDL provided in LibRaw distribution archive for details). + +LibRaw uses code from dcraw.c -- Dave Coffin's raw photo decoder, +dcraw.c is copyright 1997-2018 by Dave Coffin, dcoffin a cybercom o net. +LibRaw do not use RESTRICTED code from dcraw.c + +LibRaw uses DCB demosaic and FBDD denoise licensed under BSD-like 3-clause license +DCB and FBDD are Copyright (C) 2010, Jacek Gozdz (cuniek@kft.umcs.lublin.pl) + +LibRaw uses X3F library to unpack Foveon Files, licensed BSD-style license +Copyright (c) 2010, Roland Karlsson (roland@proxel.se) +All rights reserved. + +LibRaw uses pieces of code from Adobe DNG SDK 1.4, +Copyright (c) 2005 Adobe Systems Incorporated, licensed under MIT license + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ rsvg 2.40.20 (2017-12-15) ] copyright: + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ tiff 4.3.0 (2020-04-20) ] copyright: + +Copyright (c) 1988-1997 Sam Leffler +Copyright (c) 1991-1997 Silicon Graphics, Inc. + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that (i) the above copyright notices and this permission notice appear in +all copies of the software and related documentation, and (ii) the names of +Sam Leffler and Silicon Graphics may not be used in any advertising or +publicity relating to the software without the specific, prior written +permission of Sam Leffler and Silicon Graphics. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ webp 1.3.0 (2023-01-13) ] copyright: + +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ xml 2.9.10 (2019-10-30) ] copyright: + +Except where otherwise noted in the source code (e.g. the files hash.c, +list.c and the trio files, which are covered by a similar licence but +with different Copyright notices) all the files are: + + Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is fur- +nished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- +NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ zip 1.7.3 (2020-07-15) ] copyright: + +Copyright (C) 1999-2020 Dieter Baron and Thomas Klausner + +The authors can be contacted at + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. The names of the authors may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ zlib 1.2.12 (2022-03-27) ] copyright: + + (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. + +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.linux.txt b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.linux.txt new file mode 100644 index 0000000..c779df8 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.linux.txt @@ -0,0 +1,6660 @@ +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ Magick.NET ] copyright: + +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +Licensed under the Apache License, Version 2.0. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ Magick.Native ] copyright: + +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.Native. +Licensed under the Apache License, Version 2.0. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ ImageMagick 7.1.0-61 (2023-02-05) ] copyright: + +Before we get to the text of the license, lets just review what the license says in simple terms: + +It allows you to: + + * freely download and use ImageMagick software, in whole or in part, for personal, company internal, or commercial purposes; + * use ImageMagick software in packages or distributions that you create; + * link against a library under a different license; + * link code under a different license against a library under this license; + * merge code into a work under a different license; + * extend patent grants to any code using code under this license; + * and extend patent protection. + +It forbids you to: + + * redistribute any piece of ImageMagick-originated software without proper attribution; + * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that ImageMagick Studio LLC endorses your distribution; + * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that you created the ImageMagick software in question. + +It requires you to: + + * include a copy of the license in any redistribution you may make that includes ImageMagick software; + * provide clear attribution to ImageMagick Studio LLC for any distributions that include ImageMagick software. + +It does not require you to: + + * include the source of the ImageMagick software itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it; + * submit changes that you make to the software back to the ImageMagick Studio LLC (though such feedback is encouraged). + +A few other clarifications include: + + * ImageMagick is freely available without charge; + * you may include ImageMagick on a DVD as long as you comply with the terms of the license; + * you can give modified code away for free or sell it under the terms of the ImageMagick license or distribute the result under a different license, but you need to acknowledge the use of the ImageMagick software; + * the license is compatible with the GPL V3. + * when exporting the ImageMagick software, review its export classification. + +Terms and Conditions for Use, Reproduction, and Distribution + +The legally binding and authoritative terms and conditions for use, reproduction, and distribution of ImageMagick follow: + +Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available. + +1. Definitions. + +License shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +Licensor shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +Legal Entity shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, control means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +You (or Your) shall mean an individual or Legal Entity exercising permissions granted by this License. + +Source form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +Object form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +Work shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +Derivative Works shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +Contribution shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as Not a Contribution. + +Contributor shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + + * You must give any other recipients of the Work or Derivative Works a copy of this License; and + * You must cause any modified files to carry prominent notices stating that You changed the files; and + * You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + * If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +How to Apply the License to your Work + +To apply the ImageMagick License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information (don't include the brackets). The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the ImageMagick License (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy + of the License at + + https://imagemagick.org/script/license.php + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ aom 3.1.3 (2021-10-05) ] copyright: + +Copyright (c) 2016, Alliance for Open Media. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ brotli 1.0.9 (2020-08-27) ] copyright: + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ bzlib 1.0.8 (2019-07-13) ] copyright: + + +-------------------------------------------------------------------------- + +This program, "bzip2", the associated library "libbzip2", and all +documentation, are copyright (C) 1996-2019 Julian R Seward. All +rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Julian Seward, jseward@acm.org +bzip2/libbzip2 version 1.0.8 of 13 July 2019 + +-------------------------------------------------------------------------- + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ cairo 1.16.0 (2018-10-19) ] copyright: + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ croco 0.6.13 (2019-04-06) ] copyright: + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ de265 1.0.8 (2020-11-02) ] copyright: + +* The library `libde265` is distributed under the terms of the GNU Lesser General Public License. +* The sample applications are distributed under the terms of the MIT license. + +License texts below and in the `COPYING` files of the corresponding subfolders. + +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +---------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +---------------------------------------------------------------------- + + MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ exr 3.1.3 (2021-10-28) ] copyright: + +Copyright (c) 2006-2019 OpenEXR a Series of LF Projects, LLC. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. +- Neither the name of the copyright holder nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ ffi 3.4.2 (2021-06-29) ] copyright: + +libffi - Copyright (c) 1996-2021 Anthony Green, Red Hat, Inc and others. +See source files for details. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +``Software''), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ fontconfig 2.12.6 (2017-09-21) ] copyright: + +fontconfig/COPYING + +Copyright © 2000,2001,2002,2003,2004,2006,2007 Keith Packard +Copyright © 2005 Patrick Lam +Copyright © 2009 Roozbeh Pournader +Copyright © 2008,2009 Red Hat, Inc. +Copyright © 2008 Danilo Šegan +Copyright © 2012 Google, Inc. + + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of the author(s) not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. The authors make no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ freetype 2.12.1 (2022-05-01) ] copyright: + + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org + + +--- end of FTL.TXT --- + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ fribidi 1.0.10 (2020-07-05) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ glib 2.64.3 (2020-05-20) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ harfbuzz 5.1.0 (2022-07-31) ] copyright: + +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 Google, Inc. +Copyright © 2018,2019,2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2009 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021 Behdad Esfahbod +Copyright © 2005 David Turner +Copyright © 2004,2007,2008,2009,2010 Red Hat, Inc. +Copyright © 1998-2004 David Turner and Werner Lemberg + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ heif 1.14.2 (2023-01-06) ] copyright: + +* The library `libheif` is distributed under the terms of the GNU Lesser General Public License. +* The sample applications are distributed under the terms of the MIT License. + +License texts below and in the `COPYING` files of the corresponding subfolders. + +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +---------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +---------------------------------------------------------------------- + + MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ highway 1.0.1 (2022-08-24) ] copyright: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ jpeg-turbo 2.1.1 (2021-08-10) ] copyright: + +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) + +- The Modified (3-clause) BSD License, which is listed below + + This license covers the TurboJPEG API library and associated programs, as + well as the build system. + +- The [zlib License](https://opensource.org/licenses/Zlib) + + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License (see below.) + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License + + +The Modified (3-clause) BSD License +=================================== + +Copyright (C)2009-2021 D. R. Commander. All Rights Reserved.
+Copyright (C)2015 Viktor Szathmáry. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Why Three Licenses? +=================== + +The zlib License could have been used instead of the Modified (3-clause) BSD +License, and since the IJG License effectively subsumes the distribution +conditions of the zlib License, this would have effectively placed +libjpeg-turbo binary distributions under the IJG License. However, the IJG +License specifically refers to the Independent JPEG Group and does not extend +attribution and endorsement protections to other entities. Thus, it was +desirable to choose a license that granted us the same protections for new code +that were granted to the IJG for code derived from their software. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ jpeg-xl 0.8.0 (2023-01-19) ] copyright: + +Copyright (c) the JPEG XL Project Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lcms 2.13,1 (2022-02-03) ] copyright: + +Little CMS +Copyright (c) 1998-2020 Marti Maria Saguer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lqr 0.4.2 (2012-12-04) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lzma 5.2.5 (2020-03-17) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ openjpeg 2.5.0 (2022-05-13) ] copyright: + +/* + * The copyright in this software is being made available under the 2-clauses + * BSD License, included below. This software may be subject to other third + * party and contributor rights, including patent rights, and no such rights + * are granted under this license. + * + * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2014, Professor Benoit Macq + * Copyright (c) 2003-2014, Antonin Descampe + * Copyright (c) 2003-2009, Francois-Olivier Devaux + * Copyright (c) 2005, Herve Drolon, FreeImage Team + * Copyright (c) 2002-2003, Yannick Verschueren + * Copyright (c) 2001-2003, David Janssens + * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France + * Copyright (c) 2012, CS Systemes d'Information, France + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ pango 1.45.3 (2020-06-22) ] copyright: + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307 USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ pixman 0.40.0 (2020-04-19) ] copyright: + +The following is the MIT license, agreed upon by most contributors. +Copyright holders of new code should use this license statement where +possible. They may also add themselves to the list below. + +/* + * Copyright 1987, 1988, 1989, 1998 The Open Group + * Copyright 1987, 1988, 1989 Digital Equipment Corporation + * Copyright 1999, 2004, 2008 Keith Packard + * Copyright 2000 SuSE, Inc. + * Copyright 2000 Keith Packard, member of The XFree86 Project, Inc. + * Copyright 2004, 2005, 2007, 2008, 2009, 2010 Red Hat, Inc. + * Copyright 2004 Nicholas Miell + * Copyright 2005 Lars Knoll & Zack Rusin, Trolltech + * Copyright 2005 Trolltech AS + * Copyright 2007 Luca Barbato + * Copyright 2008 Aaron Plattner, NVIDIA Corporation + * Copyright 2008 Rodrigo Kumpera + * Copyright 2008 André Tupinambá + * Copyright 2008 Mozilla Corporation + * Copyright 2008 Frederic Plourde + * Copyright 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright 2009, 2010 Nokia Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ png 1.6.38 (2022-09-14) ] copyright: + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE +========================================= + +PNG Reference Library License version 2 +--------------------------------------- + + * Copyright (c) 1995-2022 The PNG Reference Library Authors. + * Copyright (c) 2018-2022 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ raqm 0.9.0 (2022-01-30) ] copyright: + +The MIT License (MIT) + +Copyright © 2015 Information Technology Authority (ITA) +Copyright © 2016-2022 Khaled Hosny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ raw 0.21.1 (2023-01-05) ] copyright: + + ** LibRaw: Raw images processing library ** + +Copyright (C) 2008-2021 LibRaw LLC (http://www.libraw.org, info@libraw.org) + +LibRaw is free software; you can redistribute it and/or modify +it under the terms of the one of two licenses as you choose: + +1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1 + (See file LICENSE.LGPL provided in LibRaw distribution archive for details). + +2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + (See file LICENSE.CDDL provided in LibRaw distribution archive for details). + +LibRaw uses code from dcraw.c -- Dave Coffin's raw photo decoder, +dcraw.c is copyright 1997-2018 by Dave Coffin, dcoffin a cybercom o net. +LibRaw do not use RESTRICTED code from dcraw.c + +LibRaw uses DCB demosaic and FBDD denoise licensed under BSD-like 3-clause license +DCB and FBDD are Copyright (C) 2010, Jacek Gozdz (cuniek@kft.umcs.lublin.pl) + +LibRaw uses X3F library to unpack Foveon Files, licensed BSD-style license +Copyright (c) 2010, Roland Karlsson (roland@proxel.se) +All rights reserved. + +LibRaw uses pieces of code from Adobe DNG SDK 1.4, +Copyright (c) 2005 Adobe Systems Incorporated, licensed under MIT license + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ rsvg 2.40.20 (2017-12-15) ] copyright: + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ tiff 4.3.0 (2020-04-20) ] copyright: + +Copyright (c) 1988-1997 Sam Leffler +Copyright (c) 1991-1997 Silicon Graphics, Inc. + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that (i) the above copyright notices and this permission notice appear in +all copies of the software and related documentation, and (ii) the names of +Sam Leffler and Silicon Graphics may not be used in any advertising or +publicity relating to the software without the specific, prior written +permission of Sam Leffler and Silicon Graphics. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ webp 1.3.0 (2023-01-13) ] copyright: + +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ xml 2.9.10 (2019-10-30) ] copyright: + +Except where otherwise noted in the source code (e.g. the files hash.c, +list.c and the trio files, which are covered by a similar licence but +with different Copyright notices) all the files are: + + Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is fur- +nished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- +NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ zip 1.7.3 (2020-07-15) ] copyright: + +Copyright (C) 1999-2020 Dieter Baron and Thomas Klausner + +The authors can be contacted at + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. The names of the authors may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ zlib 1.2.12 (2022-03-27) ] copyright: + + (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. + +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.osx.txt b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.osx.txt new file mode 100644 index 0000000..7604c82 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.osx.txt @@ -0,0 +1,5809 @@ +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ Magick.NET ] copyright: + +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +Licensed under the Apache License, Version 2.0. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ Magick.Native ] copyright: + +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.Native. +Licensed under the Apache License, Version 2.0. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ ImageMagick 7.1.0-61 (2023-02-05) ] copyright: + +Before we get to the text of the license, lets just review what the license says in simple terms: + +It allows you to: + + * freely download and use ImageMagick software, in whole or in part, for personal, company internal, or commercial purposes; + * use ImageMagick software in packages or distributions that you create; + * link against a library under a different license; + * link code under a different license against a library under this license; + * merge code into a work under a different license; + * extend patent grants to any code using code under this license; + * and extend patent protection. + +It forbids you to: + + * redistribute any piece of ImageMagick-originated software without proper attribution; + * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that ImageMagick Studio LLC endorses your distribution; + * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that you created the ImageMagick software in question. + +It requires you to: + + * include a copy of the license in any redistribution you may make that includes ImageMagick software; + * provide clear attribution to ImageMagick Studio LLC for any distributions that include ImageMagick software. + +It does not require you to: + + * include the source of the ImageMagick software itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it; + * submit changes that you make to the software back to the ImageMagick Studio LLC (though such feedback is encouraged). + +A few other clarifications include: + + * ImageMagick is freely available without charge; + * you may include ImageMagick on a DVD as long as you comply with the terms of the license; + * you can give modified code away for free or sell it under the terms of the ImageMagick license or distribute the result under a different license, but you need to acknowledge the use of the ImageMagick software; + * the license is compatible with the GPL V3. + * when exporting the ImageMagick software, review its export classification. + +Terms and Conditions for Use, Reproduction, and Distribution + +The legally binding and authoritative terms and conditions for use, reproduction, and distribution of ImageMagick follow: + +Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available. + +1. Definitions. + +License shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +Licensor shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +Legal Entity shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, control means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +You (or Your) shall mean an individual or Legal Entity exercising permissions granted by this License. + +Source form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +Object form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +Work shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +Derivative Works shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +Contribution shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as Not a Contribution. + +Contributor shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + + * You must give any other recipients of the Work or Derivative Works a copy of this License; and + * You must cause any modified files to carry prominent notices stating that You changed the files; and + * You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + * If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +How to Apply the License to your Work + +To apply the ImageMagick License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information (don't include the brackets). The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the ImageMagick License (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy + of the License at + + https://imagemagick.org/script/license.php + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ aom 3.1.3 (2021-10-05) ] copyright: + +Copyright (c) 2016, Alliance for Open Media. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ cairo 1.16.0 (2018-10-19) ] copyright: + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ croco 0.6.13 (2019-04-06) ] copyright: + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ de265 1.0.8 (2020-11-02) ] copyright: + +* The library `libde265` is distributed under the terms of the GNU Lesser General Public License. +* The sample applications are distributed under the terms of the MIT license. + +License texts below and in the `COPYING` files of the corresponding subfolders. + +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +---------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +---------------------------------------------------------------------- + + MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ exr 3.1.3 (2021-10-28) ] copyright: + +Copyright (c) 2006-2019 OpenEXR a Series of LF Projects, LLC. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. +- Neither the name of the copyright holder nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ ffi 3.4.2 (2021-06-29) ] copyright: + +libffi - Copyright (c) 1996-2021 Anthony Green, Red Hat, Inc and others. +See source files for details. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +``Software''), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ fontconfig 2.12.6 (2017-09-21) ] copyright: + +fontconfig/COPYING + +Copyright © 2000,2001,2002,2003,2004,2006,2007 Keith Packard +Copyright © 2005 Patrick Lam +Copyright © 2009 Roozbeh Pournader +Copyright © 2008,2009 Red Hat, Inc. +Copyright © 2008 Danilo Šegan +Copyright © 2012 Google, Inc. + + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of the author(s) not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. The authors make no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ freetype 2.12.1 (2022-05-01) ] copyright: + + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org + + +--- end of FTL.TXT --- + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ fribidi 1.0.10 (2020-07-05) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ glib 2.64.3 (2020-05-20) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ harfbuzz 5.1.0 (2022-07-31) ] copyright: + +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 Google, Inc. +Copyright © 2018,2019,2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2009 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021 Behdad Esfahbod +Copyright © 2005 David Turner +Copyright © 2004,2007,2008,2009,2010 Red Hat, Inc. +Copyright © 1998-2004 David Turner and Werner Lemberg + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ heif 1.14.2 (2023-01-06) ] copyright: + +* The library `libheif` is distributed under the terms of the GNU Lesser General Public License. +* The sample applications are distributed under the terms of the MIT License. + +License texts below and in the `COPYING` files of the corresponding subfolders. + +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +---------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +---------------------------------------------------------------------- + + MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ jpeg-turbo 2.1.1 (2021-08-10) ] copyright: + +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) + +- The Modified (3-clause) BSD License, which is listed below + + This license covers the TurboJPEG API library and associated programs, as + well as the build system. + +- The [zlib License](https://opensource.org/licenses/Zlib) + + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License (see below.) + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License + + +The Modified (3-clause) BSD License +=================================== + +Copyright (C)2009-2021 D. R. Commander. All Rights Reserved.
+Copyright (C)2015 Viktor Szathmáry. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Why Three Licenses? +=================== + +The zlib License could have been used instead of the Modified (3-clause) BSD +License, and since the IJG License effectively subsumes the distribution +conditions of the zlib License, this would have effectively placed +libjpeg-turbo binary distributions under the IJG License. However, the IJG +License specifically refers to the Independent JPEG Group and does not extend +attribution and endorsement protections to other entities. Thus, it was +desirable to choose a license that granted us the same protections for new code +that were granted to the IJG for code derived from their software. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lcms 2.13,1 (2022-02-03) ] copyright: + +Little CMS +Copyright (c) 1998-2020 Marti Maria Saguer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lqr 0.4.2 (2012-12-04) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ openjpeg 2.5.0 (2022-05-13) ] copyright: + +/* + * The copyright in this software is being made available under the 2-clauses + * BSD License, included below. This software may be subject to other third + * party and contributor rights, including patent rights, and no such rights + * are granted under this license. + * + * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2014, Professor Benoit Macq + * Copyright (c) 2003-2014, Antonin Descampe + * Copyright (c) 2003-2009, Francois-Olivier Devaux + * Copyright (c) 2005, Herve Drolon, FreeImage Team + * Copyright (c) 2002-2003, Yannick Verschueren + * Copyright (c) 2001-2003, David Janssens + * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France + * Copyright (c) 2012, CS Systemes d'Information, France + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ pango 1.45.3 (2020-06-22) ] copyright: + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307 USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ pixman 0.40.0 (2020-04-19) ] copyright: + +The following is the MIT license, agreed upon by most contributors. +Copyright holders of new code should use this license statement where +possible. They may also add themselves to the list below. + +/* + * Copyright 1987, 1988, 1989, 1998 The Open Group + * Copyright 1987, 1988, 1989 Digital Equipment Corporation + * Copyright 1999, 2004, 2008 Keith Packard + * Copyright 2000 SuSE, Inc. + * Copyright 2000 Keith Packard, member of The XFree86 Project, Inc. + * Copyright 2004, 2005, 2007, 2008, 2009, 2010 Red Hat, Inc. + * Copyright 2004 Nicholas Miell + * Copyright 2005 Lars Knoll & Zack Rusin, Trolltech + * Copyright 2005 Trolltech AS + * Copyright 2007 Luca Barbato + * Copyright 2008 Aaron Plattner, NVIDIA Corporation + * Copyright 2008 Rodrigo Kumpera + * Copyright 2008 André Tupinambá + * Copyright 2008 Mozilla Corporation + * Copyright 2008 Frederic Plourde + * Copyright 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright 2009, 2010 Nokia Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ png 1.6.38 (2022-09-14) ] copyright: + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE +========================================= + +PNG Reference Library License version 2 +--------------------------------------- + + * Copyright (c) 1995-2022 The PNG Reference Library Authors. + * Copyright (c) 2018-2022 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ raqm 0.9.0 (2022-01-30) ] copyright: + +The MIT License (MIT) + +Copyright © 2015 Information Technology Authority (ITA) +Copyright © 2016-2022 Khaled Hosny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ raw 0.21.1 (2023-01-05) ] copyright: + + ** LibRaw: Raw images processing library ** + +Copyright (C) 2008-2021 LibRaw LLC (http://www.libraw.org, info@libraw.org) + +LibRaw is free software; you can redistribute it and/or modify +it under the terms of the one of two licenses as you choose: + +1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1 + (See file LICENSE.LGPL provided in LibRaw distribution archive for details). + +2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + (See file LICENSE.CDDL provided in LibRaw distribution archive for details). + +LibRaw uses code from dcraw.c -- Dave Coffin's raw photo decoder, +dcraw.c is copyright 1997-2018 by Dave Coffin, dcoffin a cybercom o net. +LibRaw do not use RESTRICTED code from dcraw.c + +LibRaw uses DCB demosaic and FBDD denoise licensed under BSD-like 3-clause license +DCB and FBDD are Copyright (C) 2010, Jacek Gozdz (cuniek@kft.umcs.lublin.pl) + +LibRaw uses X3F library to unpack Foveon Files, licensed BSD-style license +Copyright (c) 2010, Roland Karlsson (roland@proxel.se) +All rights reserved. + +LibRaw uses pieces of code from Adobe DNG SDK 1.4, +Copyright (c) 2005 Adobe Systems Incorporated, licensed under MIT license + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ rsvg 2.40.20 (2017-12-15) ] copyright: + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ tiff 4.3.0 (2020-04-20) ] copyright: + +Copyright (c) 1988-1997 Sam Leffler +Copyright (c) 1991-1997 Silicon Graphics, Inc. + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that (i) the above copyright notices and this permission notice appear in +all copies of the software and related documentation, and (ii) the names of +Sam Leffler and Silicon Graphics may not be used in any advertising or +publicity relating to the software without the specific, prior written +permission of Sam Leffler and Silicon Graphics. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ webp 1.3.0 (2023-01-13) ] copyright: + +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ xml 2.9.10 (2019-10-30) ] copyright: + +Except where otherwise noted in the source code (e.g. the files hash.c, +list.c and the trio files, which are covered by a similar licence but +with different Copyright notices) all the files are: + + Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is fur- +nished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- +NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ zlib 1.2.12 (2022-03-27) ] copyright: + + (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. + +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.win.txt b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.win.txt new file mode 100644 index 0000000..9aaba66 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/Notice.win.txt @@ -0,0 +1,6683 @@ +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ Magick.NET ] copyright: + +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +Licensed under the Apache License, Version 2.0. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ Magick.Native ] copyright: + +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.Native. +Licensed under the Apache License, Version 2.0. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ ImageMagick 7.1.0-61 (2023-02-05) ] copyright: + +Before we get to the text of the license, lets just review what the license says in simple terms: + +It allows you to: + + * freely download and use ImageMagick software, in whole or in part, for personal, company internal, or commercial purposes; + * use ImageMagick software in packages or distributions that you create; + * link against a library under a different license; + * link code under a different license against a library under this license; + * merge code into a work under a different license; + * extend patent grants to any code using code under this license; + * and extend patent protection. + +It forbids you to: + + * redistribute any piece of ImageMagick-originated software without proper attribution; + * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that ImageMagick Studio LLC endorses your distribution; + * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that you created the ImageMagick software in question. + +It requires you to: + + * include a copy of the license in any redistribution you may make that includes ImageMagick software; + * provide clear attribution to ImageMagick Studio LLC for any distributions that include ImageMagick software. + +It does not require you to: + + * include the source of the ImageMagick software itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it; + * submit changes that you make to the software back to the ImageMagick Studio LLC (though such feedback is encouraged). + +A few other clarifications include: + + * ImageMagick is freely available without charge; + * you may include ImageMagick on a DVD as long as you comply with the terms of the license; + * you can give modified code away for free or sell it under the terms of the ImageMagick license or distribute the result under a different license, but you need to acknowledge the use of the ImageMagick software; + * the license is compatible with the GPL V3. + * when exporting the ImageMagick software, review its export classification. + +Terms and Conditions for Use, Reproduction, and Distribution + +The legally binding and authoritative terms and conditions for use, reproduction, and distribution of ImageMagick follow: + +Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available. + +1. Definitions. + +License shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +Licensor shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +Legal Entity shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, control means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +You (or Your) shall mean an individual or Legal Entity exercising permissions granted by this License. + +Source form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +Object form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +Work shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +Derivative Works shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +Contribution shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as Not a Contribution. + +Contributor shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + + * You must give any other recipients of the Work or Derivative Works a copy of this License; and + * You must cause any modified files to carry prominent notices stating that You changed the files; and + * You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + * If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +How to Apply the License to your Work + +To apply the ImageMagick License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information (don't include the brackets). The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the ImageMagick License (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy + of the License at + + https://imagemagick.org/script/license.php + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ aom 3.1.3 (2021-10-05) ] copyright: + +Copyright (c) 2016, Alliance for Open Media. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ brotli 1.0.9 (2020-08-27) ] copyright: + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ bzlib 1.0.8 (2019-07-13) ] copyright: + + +-------------------------------------------------------------------------- + +This program, "bzip2", the associated library "libbzip2", and all +documentation, are copyright (C) 1996-2019 Julian R Seward. All +rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Julian Seward, jseward@acm.org +bzip2/libbzip2 version 1.0.8 of 13 July 2019 + +-------------------------------------------------------------------------- + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ cairo 1.16.0 (2018-10-19) ] copyright: + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ croco 0.6.13 (2019-04-06) ] copyright: + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ de265 1.0.8 (2020-11-02) ] copyright: + +* The library `libde265` is distributed under the terms of the GNU Lesser General Public License. +* The sample applications are distributed under the terms of the MIT license. + +License texts below and in the `COPYING` files of the corresponding subfolders. + +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +---------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +---------------------------------------------------------------------- + + MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ exr 3.1.3 (2021-10-28) ] copyright: + +Copyright (c) 2006-2019 OpenEXR a Series of LF Projects, LLC. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. +- Neither the name of the copyright holder nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ ffi 3.4.2 (2021-06-29) ] copyright: + +libffi - Copyright (c) 1996-2021 Anthony Green, Red Hat, Inc and others. +See source files for details. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +``Software''), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ freetype 2.12.1 (2022-05-01) ] copyright: + + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org + + +--- end of FTL.TXT --- + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ fribidi 1.0.10 (2020-07-05) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ glib 2.64.3 (2020-05-20) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ harfbuzz 5.1.0 (2022-07-31) ] copyright: + +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 Google, Inc. +Copyright © 2018,2019,2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2009 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021 Behdad Esfahbod +Copyright © 2005 David Turner +Copyright © 2004,2007,2008,2009,2010 Red Hat, Inc. +Copyright © 1998-2004 David Turner and Werner Lemberg + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ heif 1.14.2 (2023-01-06) ] copyright: + +* The library `libheif` is distributed under the terms of the GNU Lesser General Public License. +* The sample applications are distributed under the terms of the MIT License. + +License texts below and in the `COPYING` files of the corresponding subfolders. + +---------------------------------------------------------------------- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +---------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +---------------------------------------------------------------------- + + MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ highway 1.0.1 (2022-08-24) ] copyright: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ jasper 2.0.16 (2019-03-12) ] copyright: + +JasPer License Version 2.0 + +Copyright (c) 2001-2016 Michael David Adams +Copyright (c) 1999-2000 Image Power, Inc. +Copyright (c) 1999-2000 The University of British Columbia + +All rights reserved. + +Permission is hereby granted, free of charge, to any person (the +"User") obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, +publish, distribute, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +1. The above copyright notices and this permission notice (which +includes the disclaimer below) shall be included in all copies or +substantial portions of the Software. + +2. The name of a copyright holder shall not be used to endorse or +promote products derived from the Software without specific prior +written permission. + +THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS +LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER +THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS +"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL +INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING +FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE +PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE +THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. +EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS +BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL +PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS +GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE +ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE +IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL +SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, +AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL +SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH +THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, +PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH +RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY +EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ jpeg-turbo 2.1.1 (2021-08-10) ] copyright: + +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) + +- The Modified (3-clause) BSD License, which is listed below + + This license covers the TurboJPEG API library and associated programs, as + well as the build system. + +- The [zlib License](https://opensource.org/licenses/Zlib) + + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License (see below.) + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License + + +The Modified (3-clause) BSD License +=================================== + +Copyright (C)2009-2021 D. R. Commander. All Rights Reserved.
+Copyright (C)2015 Viktor Szathmáry. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Why Three Licenses? +=================== + +The zlib License could have been used instead of the Modified (3-clause) BSD +License, and since the IJG License effectively subsumes the distribution +conditions of the zlib License, this would have effectively placed +libjpeg-turbo binary distributions under the IJG License. However, the IJG +License specifically refers to the Independent JPEG Group and does not extend +attribution and endorsement protections to other entities. Thus, it was +desirable to choose a license that granted us the same protections for new code +that were granted to the IJG for code derived from their software. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ jpeg-xl 0.8.0 (2023-01-19) ] copyright: + +Copyright (c) the JPEG XL Project Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lcms 2.13,1 (2022-02-03) ] copyright: + +Little CMS +Copyright (c) 1998-2020 Marti Maria Saguer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lqr 0.4.2 (2012-12-04) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ lzma 5.2.5 (2020-03-17) ] copyright: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ openjpeg 2.5.0 (2022-05-13) ] copyright: + +/* + * The copyright in this software is being made available under the 2-clauses + * BSD License, included below. This software may be subject to other third + * party and contributor rights, including patent rights, and no such rights + * are granted under this license. + * + * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2014, Professor Benoit Macq + * Copyright (c) 2003-2014, Antonin Descampe + * Copyright (c) 2003-2009, Francois-Olivier Devaux + * Copyright (c) 2005, Herve Drolon, FreeImage Team + * Copyright (c) 2002-2003, Yannick Verschueren + * Copyright (c) 2001-2003, David Janssens + * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France + * Copyright (c) 2012, CS Systemes d'Information, France + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ pango 1.45.3 (2020-06-22) ] copyright: + + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307 USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ pixman 0.40.0 (2020-04-19) ] copyright: + +The following is the MIT license, agreed upon by most contributors. +Copyright holders of new code should use this license statement where +possible. They may also add themselves to the list below. + +/* + * Copyright 1987, 1988, 1989, 1998 The Open Group + * Copyright 1987, 1988, 1989 Digital Equipment Corporation + * Copyright 1999, 2004, 2008 Keith Packard + * Copyright 2000 SuSE, Inc. + * Copyright 2000 Keith Packard, member of The XFree86 Project, Inc. + * Copyright 2004, 2005, 2007, 2008, 2009, 2010 Red Hat, Inc. + * Copyright 2004 Nicholas Miell + * Copyright 2005 Lars Knoll & Zack Rusin, Trolltech + * Copyright 2005 Trolltech AS + * Copyright 2007 Luca Barbato + * Copyright 2008 Aaron Plattner, NVIDIA Corporation + * Copyright 2008 Rodrigo Kumpera + * Copyright 2008 André Tupinambá + * Copyright 2008 Mozilla Corporation + * Copyright 2008 Frederic Plourde + * Copyright 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright 2009, 2010 Nokia Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ png 1.6.38 (2022-09-14) ] copyright: + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE +========================================= + +PNG Reference Library License version 2 +--------------------------------------- + + * Copyright (c) 1995-2022 The PNG Reference Library Authors. + * Copyright (c) 2018-2022 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ raqm 0.9.0 (2022-01-30) ] copyright: + +The MIT License (MIT) + +Copyright © 2015 Information Technology Authority (ITA) +Copyright © 2016-2022 Khaled Hosny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ raw 0.21.1 (2023-01-05) ] copyright: + + ** LibRaw: Raw images processing library ** + +Copyright (C) 2008-2021 LibRaw LLC (http://www.libraw.org, info@libraw.org) + +LibRaw is free software; you can redistribute it and/or modify +it under the terms of the one of two licenses as you choose: + +1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1 + (See file LICENSE.LGPL provided in LibRaw distribution archive for details). + +2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + (See file LICENSE.CDDL provided in LibRaw distribution archive for details). + +LibRaw uses code from dcraw.c -- Dave Coffin's raw photo decoder, +dcraw.c is copyright 1997-2018 by Dave Coffin, dcoffin a cybercom o net. +LibRaw do not use RESTRICTED code from dcraw.c + +LibRaw uses DCB demosaic and FBDD denoise licensed under BSD-like 3-clause license +DCB and FBDD are Copyright (C) 2010, Jacek Gozdz (cuniek@kft.umcs.lublin.pl) + +LibRaw uses X3F library to unpack Foveon Files, licensed BSD-style license +Copyright (c) 2010, Roland Karlsson (roland@proxel.se) +All rights reserved. + +LibRaw uses pieces of code from Adobe DNG SDK 1.4, +Copyright (c) 2005 Adobe Systems Incorporated, licensed under MIT license + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ rsvg 2.40.20 (2017-12-15) ] copyright: + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ tiff 4.3.0 (2020-04-20) ] copyright: + +Copyright (c) 1988-1997 Sam Leffler +Copyright (c) 1991-1997 Silicon Graphics, Inc. + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that (i) the above copyright notices and this permission notice appear in +all copies of the software and related documentation, and (ii) the names of +Sam Leffler and Silicon Graphics may not be used in any advertising or +publicity relating to the software without the specific, prior written +permission of Sam Leffler and Silicon Graphics. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ webp 1.3.0 (2023-01-13) ] copyright: + +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ xml 2.9.10 (2019-10-30) ] copyright: + +Except where otherwise noted in the source code (e.g. the files hash.c, +list.c and the trio files, which are covered by a similar licence but +with different Copyright notices) all the files are: + + Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is fur- +nished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- +NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ zip 1.7.3 (2020-07-15) ] copyright: + +Copyright (C) 1999-2020 Dieter Baron and Thomas Klausner + +The authors can be contacted at + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. The names of the authors may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +[ zlib 1.2.12 (2022-03-27) ] copyright: + + (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. + +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/build/netstandard20/Magick.NET-Q8-AnyCPU.targets b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/build/netstandard20/Magick.NET-Q8-AnyCPU.targets new file mode 100644 index 0000000..cf37af4 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/build/netstandard20/Magick.NET-Q8-AnyCPU.targets @@ -0,0 +1,40 @@ + + + + + %(FileName)%(Extension) + PreserveNewest + + + + + + %(FileName)%(Extension) + PreserveNewest + + + + %(FileName)%(Extension) + PreserveNewest + + + + + + %(FileName)%(Extension) + PreserveNewest + + + + + + %(FileName)%(Extension) + PreserveNewest + + + + %(FileName)%(Extension) + PreserveNewest + + + diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/docs/Readme.md b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/docs/Readme.md new file mode 100644 index 0000000..572ba83 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/docs/Readme.md @@ -0,0 +1 @@ +ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick without having to install ImageMagick on your server or desktop. Visit https://github.com/dlemstra/Magick.NET/tree/main/docs before installing to help you decide the best version. diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard20/Magick.NET-Q8-AnyCPU.dll b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard20/Magick.NET-Q8-AnyCPU.dll new file mode 100644 index 0000000..c132c0e Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard20/Magick.NET-Q8-AnyCPU.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard20/Magick.NET-Q8-AnyCPU.xml b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard20/Magick.NET-Q8-AnyCPU.xml new file mode 100644 index 0000000..3a973b9 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard20/Magick.NET-Q8-AnyCPU.xml @@ -0,0 +1,16974 @@ + + + + Magick.NET-Q8-AnyCPU + + + + + Base class for colors. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Gets the actual color of this instance. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Compares the current instance with another object of the same type. + + The object to compare this color with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current instance. + + The object to compare this color with. + True when the specified object is equal to the current instance. + + + + Determines whether the specified color is equal to the current color. + + The color to compare this color with. + True when the specified color is equal to the current instance. + + + + Determines whether the specified color is fuzzy equal to the current color. + + The color to compare this color with. + The fuzz factor. + True when the specified color is fuzzy equal to the current instance. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts the value of this instance to an equivalent . + + A instance. + + + + Converts the value of this instance to a hexadecimal string. + + The . + + + + Updates the color value from an inherited class. + + + + + Class that represents a CMYK color. + + + + + Initializes a new instance of the class. + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Key (black) component value of this color. + + + + Initializes a new instance of the class. + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Key (black) component value of this color. + Alpha component value of this color. + + + + Initializes a new instance of the class. + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Key (black) component value of this color. + + + + Initializes a new instance of the class. + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Key (black) component value of this color. + Alpha component value of this color. + + + + Initializes a new instance of the class. + + The CMYK hex string or name of the color (http://www.imagemagick.org/script/color.php). + For example: #F000, #FF000000. + + + + Gets or sets the alpha component value of this color. + + + + + Gets or sets the cyan component value of this color. + + + + + Gets or sets the key (black) component value of this color. + + + + + Gets or sets the magenta component value of this color. + + + + + Gets or sets the yellow component value of this color. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Class that represents a gray color. + + + + + Initializes a new instance of the class. + + Value between 0.0 - 1.0. + + + + Gets or sets the shade of this color (value between 0.0 - 1.0). + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Updates the color value in an inherited class. + + + + + Class that represents a HSL color. + + + + + Initializes a new instance of the class. + + Hue component value of this color. + Saturation component value of this color. + Lightness component value of this color. + + + + Gets or sets the hue component value of this color. + + + + + Gets or sets the lightness component value of this color. + + + + + Gets or sets the saturation component value of this color. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Updates the color value in an inherited class. + + + + + Class that represents a HSV color. + + + + + Initializes a new instance of the class. + + Hue component value of this color. + Saturation component value of this color. + Value component value of this color. + + + + Gets or sets the hue component value of this color. + + + + + Gets or sets the saturation component value of this color. + + + + + Gets or sets the value component value of this color. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Performs a hue shift with the specified degrees. + + The degrees. + + + + Updates the color value in an inherited class. + + + + + Class that represents a monochrome color. + + + + + Gets a new instance of the class that is black. + + + + + Gets a new instance of the class that is black. + + + + + Gets or sets a value indicating whether the color is black or white. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Updates the color value in an inherited class. + + + + + Class that represents a RGB color. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Initializes a new instance of the class. + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + + + + Gets or sets the blue component value of this color. + + + + + Gets or sets the green component value of this color. + + + + + Gets or sets the red component value of this color. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Returns the complementary color for this color. + + A instance. + + + + Class that represents a YUV color. + + + + + Initializes a new instance of the class. + + Y component value of this color. + U component value of this color. + V component value of this color. + + + + Gets or sets the U component value of this color. (value beteeen -0.5 and 0.5). + + + + + Gets or sets the V component value of this color. (value beteeen -0.5 and 0.5). + + + + + Gets or sets the Y component value of this color. (value beteeen 0.0 and 1.0). + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Updates the color value in an inherited class. + + + + + Class that represents a color. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Initializes a new instance of the class. + + Red component value of this color (0-255). + Green component value of this color (0-255). + Blue component value of this color (0-255). + + + + Initializes a new instance of the class. + + Red component value of this color (0-255). + Green component value of this color (0-255). + Blue component value of this color (0-255). + Alpha component value of this color (0-255). + + + + Initializes a new instance of the class. + + Cyan component value of this color (0-255). + Magenta component value of this color (0-255). + Yellow component value of this color (0-255). + Black component value of this color (0-255). + Alpha component value of this color (0-255). + + + + Initializes a new instance of the class. + + The RGBA/CMYK hex string or name of the color (http://www.imagemagick.org/script/color.php). + For example: #F000, #FF000000, #FFFF000000000000. + + + + Gets or sets the alpha component value of this color. + + + + + Gets or sets the blue component value of this color. + + + + + Gets or sets the green component value of this color. + + + + + Gets a value indicating whether the color is a CMYK color. + + + + + Gets or sets the key (black) component value of this color. + + + + + Gets or sets the red component value of this color. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Multiplies the value of all non alpha channels in this with the specified . + + The to multiply. + The that should be used. + The multiplied with the percentage. + + + + Creates a new instance from the specified 8-bit color values (red, green, + and blue). The alpha value is implicitly 255 (fully opaque). + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + A instance. + + + + Creates a new instance from the specified 8-bit color values (red, green, + blue and alpha). + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + A instance. + + + + Compares the current instance with another object of the same type. + + The color to compare this color with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current color. + + The object to compare this color with. + True when the specified object is equal to the current color. + + + + Determines whether the specified color is equal to the current color. + + The color to compare this color with. + True when the specified color is equal to the current color. + + + + Determines whether the specified color is fuzzy equal to the current color. + + The color to compare this color with. + The fuzz factor. + True when the specified color is fuzzy equal to the current instance. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Initializes the color with the specified bytes. + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + + + + Converts the value of this instance to a array (RGBA or CMYKA). + + The array. + + + + Converts the value of this instance to a hexadecimal string that will not include the alpha channel if it is opaque. + + The . + + + + Converts the value of this instance to a string representation that will not include the alpha channel if it is opaque. + + The . + + + + Converts the value of this instance to a string representation. + + The . + + + + Class that contains the same colors as System.Drawing.Colors. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #F0F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #F0F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FAEBD7FF. + + + + + Gets a system-defined color that has an RGBA value of #FAEBD7FF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #7FFFD4FF. + + + + + Gets a system-defined color that has an RGBA value of #7FFFD4FF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5DCFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5DCFF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4C4FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4C4FF. + + + + + Gets a system-defined color that has an RGBA value of #000000FF. + + + + + Gets a system-defined color that has an RGBA value of #000000FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEBCDFF. + + + + + Gets a system-defined color that has an RGBA value of #FFEBCDFF. + + + + + Gets a system-defined color that has an RGBA value of #0000FFFF. + + + + + Gets a system-defined color that has an RGBA value of #0000FFFF. + + + + + Gets a system-defined color that has an RGBA value of #8A2BE2FF. + + + + + Gets a system-defined color that has an RGBA value of #8A2BE2FF. + + + + + Gets a system-defined color that has an RGBA value of #A52A2AFF. + + + + + Gets a system-defined color that has an RGBA value of #A52A2AFF. + + + + + Gets a system-defined color that has an RGBA value of #DEB887FF. + + + + + Gets a system-defined color that has an RGBA value of #DEB887FF. + + + + + Gets a system-defined color that has an RGBA value of #5F9EA0FF. + + + + + Gets a system-defined color that has an RGBA value of #5F9EA0FF. + + + + + Gets a system-defined color that has an RGBA value of #7FFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #7FFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #D2691EFF. + + + + + Gets a system-defined color that has an RGBA value of #D2691EFF. + + + + + Gets a system-defined color that has an RGBA value of #FF7F50FF. + + + + + Gets a system-defined color that has an RGBA value of #FF7F50FF. + + + + + Gets a system-defined color that has an RGBA value of #6495EDFF. + + + + + Gets a system-defined color that has an RGBA value of #6495EDFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF8DCFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF8DCFF. + + + + + Gets a system-defined color that has an RGBA value of #DC143CFF. + + + + + Gets a system-defined color that has an RGBA value of #DC143CFF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00008BFF. + + + + + Gets a system-defined color that has an RGBA value of #00008BFF. + + + + + Gets a system-defined color that has an RGBA value of #008B8BFF. + + + + + Gets a system-defined color that has an RGBA value of #008B8BFF. + + + + + Gets a system-defined color that has an RGBA value of #B8860BFF. + + + + + Gets a system-defined color that has an RGBA value of #B8860BFF. + + + + + Gets a system-defined color that has an RGBA value of #A9A9A9FF. + + + + + Gets a system-defined color that has an RGBA value of #A9A9A9FF. + + + + + Gets a system-defined color that has an RGBA value of #006400FF. + + + + + Gets a system-defined color that has an RGBA value of #006400FF. + + + + + Gets a system-defined color that has an RGBA value of #BDB76BFF. + + + + + Gets a system-defined color that has an RGBA value of #BDB76BFF. + + + + + Gets a system-defined color that has an RGBA value of #8B008BFF. + + + + + Gets a system-defined color that has an RGBA value of #8B008BFF. + + + + + Gets a system-defined color that has an RGBA value of #556B2FFF. + + + + + Gets a system-defined color that has an RGBA value of #556B2FFF. + + + + + Gets a system-defined color that has an RGBA value of #FF8C00FF. + + + + + Gets a system-defined color that has an RGBA value of #FF8C00FF. + + + + + Gets a system-defined color that has an RGBA value of #9932CCFF. + + + + + Gets a system-defined color that has an RGBA value of #9932CCFF. + + + + + Gets a system-defined color that has an RGBA value of #8B0000FF. + + + + + Gets a system-defined color that has an RGBA value of #8B0000FF. + + + + + Gets a system-defined color that has an RGBA value of #E9967AFF. + + + + + Gets a system-defined color that has an RGBA value of #E9967AFF. + + + + + Gets a system-defined color that has an RGBA value of #8FBC8FFF. + + + + + Gets a system-defined color that has an RGBA value of #8FBC8FFF. + + + + + Gets a system-defined color that has an RGBA value of #483D8BFF. + + + + + Gets a system-defined color that has an RGBA value of #483D8BFF. + + + + + Gets a system-defined color that has an RGBA value of #2F4F4FFF. + + + + + Gets a system-defined color that has an RGBA value of #2F4F4FFF. + + + + + Gets a system-defined color that has an RGBA value of #00CED1FF. + + + + + Gets a system-defined color that has an RGBA value of #00CED1FF. + + + + + Gets a system-defined color that has an RGBA value of #9400D3FF. + + + + + Gets a system-defined color that has an RGBA value of #9400D3FF. + + + + + Gets a system-defined color that has an RGBA value of #FF1493FF. + + + + + Gets a system-defined color that has an RGBA value of #FF1493FF. + + + + + Gets a system-defined color that has an RGBA value of #00BFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00BFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #696969FF. + + + + + Gets a system-defined color that has an RGBA value of #696969FF. + + + + + Gets a system-defined color that has an RGBA value of #1E90FFFF. + + + + + Gets a system-defined color that has an RGBA value of #1E90FFFF. + + + + + Gets a system-defined color that has an RGBA value of #B22222FF. + + + + + Gets a system-defined color that has an RGBA value of #B22222FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAF0FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAF0FF. + + + + + Gets a system-defined color that has an RGBA value of #228B22FF. + + + + + Gets a system-defined color that has an RGBA value of #228B22FF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #DCDCDCFF. + + + + + Gets a system-defined color that has an RGBA value of #DCDCDCFF. + + + + + Gets a system-defined color that has an RGBA value of #F8F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #F8F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FFD700FF. + + + + + Gets a system-defined color that has an RGBA value of #FFD700FF. + + + + + Gets a system-defined color that has an RGBA value of #DAA520FF. + + + + + Gets a system-defined color that has an RGBA value of #DAA520FF. + + + + + Gets a system-defined color that has an RGBA value of #808080FF. + + + + + Gets a system-defined color that has an RGBA value of #808080FF. + + + + + Gets a system-defined color that has an RGBA value of #008000FF. + + + + + Gets a system-defined color that has an RGBA value of #008000FF. + + + + + Gets a system-defined color that has an RGBA value of #ADFF2FFF. + + + + + Gets a system-defined color that has an RGBA value of #ADFF2FFF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #FF69B4FF. + + + + + Gets a system-defined color that has an RGBA value of #FF69B4FF. + + + + + Gets a system-defined color that has an RGBA value of #CD5C5CFF. + + + + + Gets a system-defined color that has an RGBA value of #CD5C5CFF. + + + + + Gets a system-defined color that has an RGBA value of #4B0082FF. + + + + + Gets a system-defined color that has an RGBA value of #4B0082FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #F0E68CFF. + + + + + Gets a system-defined color that has an RGBA value of #F0E68CFF. + + + + + Gets a system-defined color that has an RGBA value of #E6E6FAFF. + + + + + Gets a system-defined color that has an RGBA value of #E6E6FAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF0F5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFF0F5FF. + + + + + Gets a system-defined color that has an RGBA value of #7CFC00FF. + + + + + Gets a system-defined color that has an RGBA value of #7CFC00FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFACDFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFACDFF. + + + + + Gets a system-defined color that has an RGBA value of #ADD8E6FF. + + + + + Gets a system-defined color that has an RGBA value of #ADD8E6FF. + + + + + Gets a system-defined color that has an RGBA value of #F08080FF. + + + + + Gets a system-defined color that has an RGBA value of #F08080FF. + + + + + Gets a system-defined color that has an RGBA value of #E0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #E0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #FAFAD2FF. + + + + + Gets a system-defined color that has an RGBA value of #FAFAD2FF. + + + + + Gets a system-defined color that has an RGBA value of #90EE90FF. + + + + + Gets a system-defined color that has an RGBA value of #90EE90FF. + + + + + Gets a system-defined color that has an RGBA value of #D3D3D3FF. + + + + + Gets a system-defined color that has an RGBA value of #D3D3D3FF. + + + + + Gets a system-defined color that has an RGBA value of #FFB6C1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFB6C1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA07AFF. + + + + + Gets a system-defined color that has an RGBA value of #FFA07AFF. + + + + + Gets a system-defined color that has an RGBA value of #20B2AAFF. + + + + + Gets a system-defined color that has an RGBA value of #20B2AAFF. + + + + + Gets a system-defined color that has an RGBA value of #87CEFAFF. + + + + + Gets a system-defined color that has an RGBA value of #87CEFAFF. + + + + + Gets a system-defined color that has an RGBA value of #778899FF. + + + + + Gets a system-defined color that has an RGBA value of #778899FF. + + + + + Gets a system-defined color that has an RGBA value of #B0C4DEFF. + + + + + Gets a system-defined color that has an RGBA value of #B0C4DEFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFE0FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFE0FF. + + + + + Gets a system-defined color that has an RGBA value of #00FF00FF. + + + + + Gets a system-defined color that has an RGBA value of #00FF00FF. + + + + + Gets a system-defined color that has an RGBA value of #32CD32FF. + + + + + Gets a system-defined color that has an RGBA value of #32CD32FF. + + + + + Gets a system-defined color that has an RGBA value of #FAF0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #FAF0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #800000FF. + + + + + Gets a system-defined color that has an RGBA value of #800000FF. + + + + + Gets a system-defined color that has an RGBA value of #66CDAAFF. + + + + + Gets a system-defined color that has an RGBA value of #66CDAAFF. + + + + + Gets a system-defined color that has an RGBA value of #0000CDFF. + + + + + Gets a system-defined color that has an RGBA value of #0000CDFF. + + + + + Gets a system-defined color that has an RGBA value of #BA55D3FF. + + + + + Gets a system-defined color that has an RGBA value of #BA55D3FF. + + + + + Gets a system-defined color that has an RGBA value of #9370DBFF. + + + + + Gets a system-defined color that has an RGBA value of #9370DBFF. + + + + + Gets a system-defined color that has an RGBA value of #3CB371FF. + + + + + Gets a system-defined color that has an RGBA value of #3CB371FF. + + + + + Gets a system-defined color that has an RGBA value of #7B68EEFF. + + + + + Gets a system-defined color that has an RGBA value of #7B68EEFF. + + + + + Gets a system-defined color that has an RGBA value of #00FA9AFF. + + + + + Gets a system-defined color that has an RGBA value of #00FA9AFF. + + + + + Gets a system-defined color that has an RGBA value of #48D1CCFF. + + + + + Gets a system-defined color that has an RGBA value of #48D1CCFF. + + + + + Gets a system-defined color that has an RGBA value of #C71585FF. + + + + + Gets a system-defined color that has an RGBA value of #C71585FF. + + + + + Gets a system-defined color that has an RGBA value of #191970FF. + + + + + Gets a system-defined color that has an RGBA value of #191970FF. + + + + + Gets a system-defined color that has an RGBA value of #F5FFFAFF. + + + + + Gets a system-defined color that has an RGBA value of #F5FFFAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4E1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4E1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4B5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4B5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDEADFF. + + + + + Gets a system-defined color that has an RGBA value of #FFDEADFF. + + + + + Gets a system-defined color that has an RGBA value of #000080FF. + + + + + Gets a system-defined color that has an RGBA value of #000080FF. + + + + + Gets a system-defined color that has an RGBA value of #FDF5E6FF. + + + + + Gets a system-defined color that has an RGBA value of #FDF5E6FF. + + + + + Gets a system-defined color that has an RGBA value of #808000FF. + + + + + Gets a system-defined color that has an RGBA value of #808000FF. + + + + + Gets a system-defined color that has an RGBA value of #6B8E23FF. + + + + + Gets a system-defined color that has an RGBA value of #6B8E23FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA500FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA500FF. + + + + + Gets a system-defined color that has an RGBA value of #FF4500FF. + + + + + Gets a system-defined color that has an RGBA value of #FF4500FF. + + + + + Gets a system-defined color that has an RGBA value of #DA70D6FF. + + + + + Gets a system-defined color that has an RGBA value of #DA70D6FF. + + + + + Gets a system-defined color that has an RGBA value of #EEE8AAFF. + + + + + Gets a system-defined color that has an RGBA value of #EEE8AAFF. + + + + + Gets a system-defined color that has an RGBA value of #98FB98FF. + + + + + Gets a system-defined color that has an RGBA value of #98FB98FF. + + + + + Gets a system-defined color that has an RGBA value of #AFEEEEFF. + + + + + Gets a system-defined color that has an RGBA value of #AFEEEEFF. + + + + + Gets a system-defined color that has an RGBA value of #DB7093FF. + + + + + Gets a system-defined color that has an RGBA value of #DB7093FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEFD5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEFD5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDAB9FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDAB9FF. + + + + + Gets a system-defined color that has an RGBA value of #CD853FFF. + + + + + Gets a system-defined color that has an RGBA value of #CD853FFF. + + + + + Gets a system-defined color that has an RGBA value of #FFC0CBFF. + + + + + Gets a system-defined color that has an RGBA value of #FFC0CBFF. + + + + + Gets a system-defined color that has an RGBA value of #DDA0DDFF. + + + + + Gets a system-defined color that has an RGBA value of #DDA0DDFF. + + + + + Gets a system-defined color that has an RGBA value of #B0E0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #B0E0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #800080FF. + + + + + Gets a system-defined color that has an RGBA value of #800080FF. + + + + + Gets a system-defined color that has an RGBA value of #663399FF. + + + + + Gets a system-defined color that has an RGBA value of #663399FF. + + + + + Gets a system-defined color that has an RGBA value of #FF0000FF. + + + + + Gets a system-defined color that has an RGBA value of #FF0000FF. + + + + + Gets a system-defined color that has an RGBA value of #BC8F8FFF. + + + + + Gets a system-defined color that has an RGBA value of #BC8F8FFF. + + + + + Gets a system-defined color that has an RGBA value of #4169E1FF. + + + + + Gets a system-defined color that has an RGBA value of #4169E1FF. + + + + + Gets a system-defined color that has an RGBA value of #8B4513FF. + + + + + Gets a system-defined color that has an RGBA value of #8B4513FF. + + + + + Gets a system-defined color that has an RGBA value of #FA8072FF. + + + + + Gets a system-defined color that has an RGBA value of #FA8072FF. + + + + + Gets a system-defined color that has an RGBA value of #F4A460FF. + + + + + Gets a system-defined color that has an RGBA value of #F4A460FF. + + + + + Gets a system-defined color that has an RGBA value of #2E8B57FF. + + + + + Gets a system-defined color that has an RGBA value of #2E8B57FF. + + + + + Gets a system-defined color that has an RGBA value of #FFF5EEFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF5EEFF. + + + + + Gets a system-defined color that has an RGBA value of #A0522DFF. + + + + + Gets a system-defined color that has an RGBA value of #A0522DFF. + + + + + Gets a system-defined color that has an RGBA value of #C0C0C0FF. + + + + + Gets a system-defined color that has an RGBA value of #C0C0C0FF. + + + + + Gets a system-defined color that has an RGBA value of #87CEEBFF. + + + + + Gets a system-defined color that has an RGBA value of #87CEEBFF. + + + + + Gets a system-defined color that has an RGBA value of #6A5ACDFF. + + + + + Gets a system-defined color that has an RGBA value of #6A5ACDFF. + + + + + Gets a system-defined color that has an RGBA value of #708090FF. + + + + + Gets a system-defined color that has an RGBA value of #708090FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAFAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAFAFF. + + + + + Gets a system-defined color that has an RGBA value of #00FF7FFF. + + + + + Gets a system-defined color that has an RGBA value of #00FF7FFF. + + + + + Gets a system-defined color that has an RGBA value of #4682B4FF. + + + + + Gets a system-defined color that has an RGBA value of #4682B4FF. + + + + + Gets a system-defined color that has an RGBA value of #D2B48CFF. + + + + + Gets a system-defined color that has an RGBA value of #D2B48CFF. + + + + + Gets a system-defined color that has an RGBA value of #008080FF. + + + + + Gets a system-defined color that has an RGBA value of #008080FF. + + + + + Gets a system-defined color that has an RGBA value of #D8BFD8FF. + + + + + Gets a system-defined color that has an RGBA value of #D8BFD8FF. + + + + + Gets a system-defined color that has an RGBA value of #FF6347FF. + + + + + Gets a system-defined color that has an RGBA value of #FF6347FF. + + + + + Gets a system-defined color that has an RGBA value of #40E0D0FF. + + + + + Gets a system-defined color that has an RGBA value of #40E0D0FF. + + + + + Gets a system-defined color that has an RGBA value of #EE82EEFF. + + + + + Gets a system-defined color that has an RGBA value of #EE82EEFF. + + + + + Gets a system-defined color that has an RGBA value of #F5DEB3FF. + + + + + Gets a system-defined color that has an RGBA value of #F5DEB3FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5F5FF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5F5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #9ACD32FF. + + + + + Gets a system-defined color that has an RGBA value of #9ACD32FF. + + + + + Encapsulates the configuration files of ImageMagick. + + + + + Gets the default configuration. + + + + + Gets all the configuration files. + + + + + Gets the default configuration. + + + + + Gets the colors configuration. + + + + + Gets the configure configuration. + + + + + Gets the delegates configuration. + + + + + Gets the english configuration. + + + + + Gets the locale configuration. + + + + + Gets the log configuration. + + + + + Gets the policy configuration. + + + + + Gets the thresholds configuration. + + + + + Gets the type configuration. + + + + + Gets the type-ghostscript configuration. + + + + + Class that implements . + + + + + Initializes a new instance of the class. + + The name of the define. + The value of the define. + + + + Initializes a new instance of the class. + + The name of the define. + The value of the define. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + + + + Gets the format to set the define for. + + + + + Gets the name of the define. + + + + + Gets the value of the define. + + + + + Create a define with the specified name and value. + + The format of the define. + The name of the define. + The value of the define. + The type of the enumerable. + A instance. + + + + Adjusts the current affine transformation matrix with the specified affine transformation + matrix. Note that the current affine transform is adjusted rather than replaced. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The X coordinate scaling element. + The Y coordinate scaling element. + The X coordinate shearing element. + The Y coordinate shearing element. + The X coordinate of the translation element. + The Y coordinate of the translation element. + + + + Gets or sets the X coordinate scaling element. + + + + + Gets or sets the Y coordinate scaling element. + + + + + Gets or sets the X coordinate shearing element. + + + + + Gets or sets the Y coordinate shearing element. + + + + + Gets or sets the X coordinate of the translation element. + + + + + Gets or sets the Y coordinate of the translation element. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Reset to default. + + + + + Sets the origin of coordinate system. + + The X coordinate of the translation element. + The Y coordinate of the translation element. + + + + Sets the rotation to use. + + The angle of the rotation. + + + + Sets the scale to use. + + The X coordinate scaling element. + The Y coordinate scaling element. + + + + Skew to use in X axis. + + The X skewing element. + + + + Skew to use in Y axis. + + The Y skewing element. + + + + Paints on the image's alpha channel in order to set effected pixels to transparent. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The paint method to use. + + + + Gets or sets the to use. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws an arc falling within a specified bounding rectangle on the image. + + + + + Initializes a new instance of the class. + + The starting X coordinate of the bounding rectangle. + The starting Y coordinate of thebounding rectangle. + The ending X coordinate of the bounding rectangle. + The ending Y coordinate of the bounding rectangle. + The starting degrees of rotation. + The ending degrees of rotation. + + + + Gets or sets the ending degrees of rotation. + + + + + Gets or sets the ending X coordinate of the bounding rectangle. + + + + + Gets or sets the ending Y coordinate of the bounding rectangle. + + + + + Gets or sets the starting degrees of rotation. + + + + + Gets or sets the starting X coordinate of the bounding rectangle. + + + + + Gets or sets the starting Y coordinate of the bounding rectangle. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a bezier curve through a set of points on the image. + + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Gets the coordinates. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the border color to be used for drawing bordered objects. + + + + + Initializes a new instance of the class. + + The color of the border. + + + + Gets or sets the color to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a circle on the image. + + + + + Initializes a new instance of the class. + + The origin X coordinate. + The origin Y coordinate. + The perimeter X coordinate. + The perimeter Y coordinate. + + + + Gets or sets the origin X coordinate. + + + + + Gets or sets the origin X coordinate. + + + + + Gets or sets the perimeter X coordinate. + + + + + Gets or sets the perimeter X coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Associates a named clipping path with the image. Only the areas drawn on by the clipping path + will be modified as ssize_t as it remains in effect. + + + + + Initializes a new instance of the class. + + The ID of the clip path. + + + + Gets or sets the ID of the clip path. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the polygon fill rule to be used by the clipping path. + + + + + Initializes a new instance of the class. + + The rule to use when filling drawn objects. + + + + Gets or sets the rule to use when filling drawn objects. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the interpretation of clip path units. + + + + + Initializes a new instance of the class. + + The clip path units. + + + + Gets or sets the clip path units. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws color on image using the current fill color, starting at specified position, and using + specified paint method. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The paint method to use. + + + + Gets or sets the PaintMethod to use. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Encapsulation of the DrawableCompositeImage object. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The image to draw. + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The algorithm to use. + The image to draw. + + + + Initializes a new instance of the class. + + The offset from origin. + The image to draw. + + + + Initializes a new instance of the class. + + The offset from origin. + The algorithm to use. + The image to draw. + + + + Gets or sets the composition operator. + + + + + Gets or sets the height to scale the image to. + + + + + Gets or sets the width to scale the image to. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Encapsulation of the DrawableDensity object. + + + + + Initializes a new instance of the class. + + The vertical and horizontal resolution. + + + + Initializes a new instance of the class. + + The vertical and horizontal resolution. + + + + Gets or sets the vertical and horizontal resolution. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws an ellipse on the image. + + + + + Initializes a new instance of the class. + + The origin X coordinate. + The origin Y coordinate. + The X radius. + The Y radius. + The starting degrees of rotation. + The ending degrees of rotation. + + + + Gets or sets the ending degrees of rotation. + + + + + Gets or sets the origin X coordinate. + + + + + Gets or sets the origin X coordinate. + + + + + Gets or sets the X radius. + + + + + Gets or sets the Y radius. + + + + + Gets or sets the starting degrees of rotation. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the fill color to be used for drawing filled objects. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Gets or sets the color to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the alpha to use when drawing using the fill color or fill texture. + + + + + Initializes a new instance of the class. + + The opacity. + + + + Gets or sets the alpha. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the URL to use as a fill pattern for filling objects. Only local URLs("#identifier") are + supported at this time. These local URLs are normally created by defining a named fill pattern + with DrawablePushPattern/DrawablePopPattern. + + + + + Initializes a new instance of the class. + + Url specifying pattern ID (e.g. "#pattern_id"). + + + + Gets or sets the url specifying pattern ID (e.g. "#pattern_id"). + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the fill rule to use while drawing polygons. + + + + + Initializes a new instance of the class. + + The rule to use when filling drawn objects. + + + + Gets or sets the rule to use when filling drawn objects. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the font family, style, weight and stretch to use when annotating with text. + + + + + Initializes a new instance of the class. + + The font family or the full path to the font file. + + + + Initializes a new instance of the class. + + The font family or the full path to the font file. + The style of the font. + The weight of the font. + The font stretching type. + + + + Gets or sets the font family or the full path to the font file. + + + + + Gets or sets the style of the font. + + + + + Gets or sets the weight of the font. + + + + + Gets or sets the font stretching. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the font pointsize to use when annotating with text. + + + + + Initializes a new instance of the class. + + The point size. + + + + Gets or sets the point size. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Encapsulation of the DrawableGravity object. + + + + + Initializes a new instance of the class. + + The gravity. + + + + Gets or sets the gravity. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a line on the image using the current stroke color, stroke alpha, and stroke width. + + + + + Initializes a new instance of the class. + + The starting X coordinate. + The starting Y coordinate. + The ending X coordinate. + The ending Y coordinate. + + + + Gets or sets the ending X coordinate. + + + + + Gets or sets the ending Y coordinate. + + + + + Gets or sets the starting X coordinate. + + + + + Gets or sets the starting Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a set of paths. + + + + + Initializes a new instance of the class. + + The paths to use. + + + + Initializes a new instance of the class. + + The paths to use. + + + + Gets the paths to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a point using the current fill color. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a polygon using the current stroke, stroke width, and fill color or texture, using the + specified array of coordinates. + + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a polyline using the current stroke, stroke width, and fill color or texture, using the + specified array of coordinates. + + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Terminates a clip path definition. + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + destroys the current drawing wand and returns to the previously pushed drawing wand. Multiple + drawing wands may exist. It is an error to attempt to pop more drawing wands than have been + pushed, and it is proper form to pop all drawing wands which have been pushed. + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Terminates a pattern definition. + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Starts a clip path definition which is comprized of any number of drawing commands and + terminated by a DrawablePopClipPath. + + + + + Initializes a new instance of the class. + + The ID of the clip path. + + + + Gets or sets the ID of the clip path. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Clones the current drawing wand to create a new drawing wand. The original drawing wand(s) + may be returned to by invoking DrawablePopGraphicContext. The drawing wands are stored on a + drawing wand stack. For every Pop there must have already been an equivalent Push. + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + indicates that subsequent commands up to a DrawablePopPattern command comprise the definition + of a named pattern. The pattern space is assigned top left corner coordinates, a width and + height, and becomes its own drawing space. Anything which can be drawn may be used in a + pattern definition. Named patterns may be used as stroke or brush definitions. + + + + + Initializes a new instance of the class. + + The ID of the pattern. + The X coordinate. + The Y coordinate. + The width. + The height. + + + + Gets or sets the ID of the pattern. + + + + + Gets or sets the height. + + + + + Gets or sets the width. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill + settings. + + + + + Initializes a new instance of the class. + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Applies the specified rotation to the current coordinate space. + + + + + Initializes a new instance of the class. + + The angle. + + + + Gets or sets the angle. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a rounted rectangle given two coordinates, x & y corner radiuses and using the current + stroke, stroke width, and fill settings. + + + + + Initializes a new instance of the class. + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The corner width. + The corner height. + + + + Gets or sets the corner height. + + + + + Gets or sets the corner width. + + + + + Gets or sets the lower right X coordinate. + + + + + Gets or sets the lower right Y coordinate. + + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Class that can be used to chain draw actions. + + + + + Initializes a new instance of the class. + + + + + Draw on the specified image. + + The image to draw on. + The current instance. + + + + Returns an enumerator that iterates through the collection. + + An enumerator. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + Specifies if newlines should be ignored. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Creates a new instance. + + A new instance. + + + + Returns an enumerator that iterates through the collection. + + An enumerator. + + + + Applies the DrawableAffine operation to the . + + The X coordinate scaling element. + The Y coordinate scaling element. + The X coordinate shearing element. + The Y coordinate shearing element. + The X coordinate of the translation element. + The Y coordinate of the translation element. + The instance. + + + + Applies the DrawableAlpha operation to the . + + The X coordinate. + The Y coordinate. + The paint method to use. + The instance. + + + + Applies the DrawableArc operation to the . + + The starting X coordinate of the bounding rectangle. + The starting Y coordinate of thebounding rectangle. + The ending X coordinate of the bounding rectangle. + The ending Y coordinate of the bounding rectangle. + The starting degrees of rotation. + The ending degrees of rotation. + The instance. + + + + Applies the DrawableBezier operation to the . + + The coordinates. + The instance. + + + + Applies the DrawableBezier operation to the . + + The coordinates. + The instance. + + + + Applies the DrawableBorderColor operation to the . + + The color of the border. + The instance. + + + + Applies the DrawableCircle operation to the . + + The origin X coordinate. + The origin Y coordinate. + The perimeter X coordinate. + The perimeter Y coordinate. + The instance. + + + + Applies the DrawableClipPath operation to the . + + The ID of the clip path. + The instance. + + + + Applies the DrawableClipRule operation to the . + + The rule to use when filling drawn objects. + The instance. + + + + Applies the DrawableClipUnits operation to the . + + The clip path units. + The instance. + + + + Applies the DrawableColor operation to the . + + The X coordinate. + The Y coordinate. + The paint method to use. + The instance. + + + + Applies the DrawableComposite operation to the . + + The offset from origin. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The X coordinate. + The Y coordinate. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The offset from origin. + The algorithm to use. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The X coordinate. + The Y coordinate. + The algorithm to use. + The image to draw. + The instance. + + + + Applies the DrawableDensity operation to the . + + The vertical and horizontal resolution. + The instance. + + + + Applies the DrawableDensity operation to the . + + The vertical and horizontal resolution. + The instance. + + + + Applies the DrawableEllipse operation to the . + + The origin X coordinate. + The origin Y coordinate. + The X radius. + The Y radius. + The starting degrees of rotation. + The ending degrees of rotation. + The instance. + + + + Applies the DrawableFillColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableFillOpacity operation to the . + + The opacity. + The instance. + + + + Applies the DrawableFillPatternUrl operation to the . + + Url specifying pattern ID (e.g. "#pattern_id"). + The instance. + + + + Applies the DrawableFillRule operation to the . + + The rule to use when filling drawn objects. + The instance. + + + + Applies the DrawableFont operation to the . + + The font family or the full path to the font file. + The instance. + + + + Applies the DrawableFont operation to the . + + The font family or the full path to the font file. + The style of the font. + The weight of the font. + The font stretching type. + The instance. + + + + Applies the DrawableFontPointSize operation to the . + + The point size. + The instance. + + + + Applies the DrawableGravity operation to the . + + The gravity. + The instance. + + + + Applies the DrawableLine operation to the . + + The starting X coordinate. + The starting Y coordinate. + The ending X coordinate. + The ending Y coordinate. + The instance. + + + + Applies the DrawablePath operation to the . + + The paths to use. + The instance. + + + + Applies the DrawablePath operation to the . + + The paths to use. + The instance. + + + + Applies the DrawablePoint operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the DrawablePolygon operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolygon operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolyline operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolyline operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePopClipPath operation to the . + + The instance. + + + + Applies the DrawablePopGraphicContext operation to the . + + The instance. + + + + Applies the DrawablePopPattern operation to the . + + The instance. + + + + Applies the DrawablePushClipPath operation to the . + + The ID of the clip path. + The instance. + + + + Applies the DrawablePushGraphicContext operation to the . + + The instance. + + + + Applies the DrawablePushPattern operation to the . + + The ID of the pattern. + The X coordinate. + The Y coordinate. + The width. + The height. + The instance. + + + + Applies the DrawableRectangle operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The instance. + + + + Applies the DrawableRotation operation to the . + + The angle. + The instance. + + + + Applies the DrawableRoundRectangle operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The corner width. + The corner height. + The instance. + + + + Applies the DrawableScaling operation to the . + + Horizontal scale factor. + Vertical scale factor. + The instance. + + + + Applies the DrawableSkewX operation to the . + + The angle. + The instance. + + + + Applies the DrawableSkewY operation to the . + + The angle. + The instance. + + + + Applies the DrawableStrokeColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableStrokeDashArray operation to the . + + An array containing the dash information. + The instance. + + + + Applies the DrawableStrokeDashOffset operation to the . + + The dash offset. + The instance. + + + + Applies the DrawableStrokeLineCap operation to the . + + The line cap. + The instance. + + + + Applies the DrawableStrokeLineJoin operation to the . + + The line join. + The instance. + + + + Applies the DrawableStrokeMiterLimit operation to the . + + The miter limit. + The instance. + + + + Applies the DrawableStrokeOpacity operation to the . + + The opacity. + The instance. + + + + Applies the DrawableStrokePatternUrl operation to the . + + Url specifying pattern ID (e.g. "#pattern_id"). + The instance. + + + + Applies the DrawableStrokeWidth operation to the . + + The width. + The instance. + + + + Applies the DrawableText operation to the . + + The X coordinate. + The Y coordinate. + The text to draw. + The instance. + + + + Applies the DrawableTextAlignment operation to the . + + Text alignment. + The instance. + + + + Applies the DrawableTextDecoration operation to the . + + The text decoration. + The instance. + + + + Applies the DrawableTextDirection operation to the . + + Direction to use. + The instance. + + + + Applies the DrawableTextEncoding operation to the . + + Encoding to use. + The instance. + + + + Applies the DrawableTextInterlineSpacing operation to the . + + Spacing to use. + The instance. + + + + Applies the DrawableTextInterwordSpacing operation to the . + + Spacing to use. + The instance. + + + + Applies the DrawableTextKerning operation to the . + + Kerning to use. + The instance. + + + + Applies the DrawableTextUnderColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableTranslation operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the DrawableViewbox operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The instance. + + + + Applies the DrawableStrokeAntialias operation to the . + + The instance. + + + + Applies the DrawableStrokeAntialias operation to the . + + The instance. + + + + Applies the DrawableTextAntialias operation to the . + + The instance. + + + + Applies the DrawableTextAntialias operation to the . + + The instance. + + + + Adjusts the scaling factor to apply in the horizontal and vertical directions to the current + coordinate space. + + + + + Initializes a new instance of the class. + + Horizontal scale factor. + Vertical scale factor. + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Skews the current coordinate system in the horizontal direction. + + + + + Initializes a new instance of the class. + + The angle. + + + + Gets or sets the angle. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Skews the current coordinate system in the vertical direction. + + + + + Initializes a new instance of the class. + + The angle. + + + + Gets or sets the angle. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Controls whether stroked outlines are antialiased. Stroked outlines are antialiased by default. + When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color + or underlying canvas color should be used. + + + + + Gets a new instance of the class that is disabled. + + + + + Gets a new instance of the class that is enabled. + + + + + Gets or sets a value indicating whether stroke antialiasing is enabled or disabled. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the color used for stroking object outlines. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Gets or sets the color to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the pattern of dashes and gaps used to stroke paths. The stroke dash array + represents an array of numbers that specify the lengths of alternating dashes and gaps in + pixels. If an odd number of values is provided, then the list of values is repeated to yield + an even number of values. To remove an existing dash array, pass a null dasharray. A typical + stroke dash array might contain the members 5 3 2. + + + + + Initializes a new instance of the class. + + An array containing the dash information. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the offset into the dash pattern to start the dash. + + + + + Initializes a new instance of the class. + + The dash offset. + + + + Gets or sets the dash offset. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the shape to be used at the end of open subpaths when they are stroked. + + + + + Initializes a new instance of the class. + + The line cap. + + + + Gets or sets the line cap. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the shape to be used at the corners of paths (or other vector shapes) when they + are stroked. + + + + + Initializes a new instance of the class. + + The line join. + + + + Gets or sets the line join. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the miter limit. When two line segments meet at a sharp angle and miter joins have + been specified for 'DrawableStrokeLineJoin', it is possible for the miter to extend far + beyond the thickness of the line stroking the path. The 'DrawableStrokeMiterLimit' imposes a + limit on the ratio of the miter length to the 'DrawableStrokeLineWidth'. + + + + + Initializes a new instance of the class. + + The miter limit. + + + + Gets or sets the miter limit. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the alpha of stroked object outlines. + + + + + Initializes a new instance of the class. + + The opacity. + + + + Gets or sets the opacity. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the pattern used for stroking object outlines. Only local URLs("#identifier") are + supported at this time. These local URLs are normally created by defining a named stroke + pattern with DrawablePushPattern/DrawablePopPattern. + + + + + Initializes a new instance of the class. + + Url specifying pattern ID (e.g. "#pattern_id"). + + + + Gets or sets the url specifying pattern ID (e.g. "#pattern_id"). + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the width of the stroke used to draw object outlines. + + + + + Initializes a new instance of the class. + + The width. + + + + Gets or sets the width. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws text on the image. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The text to draw. + + + + Gets or sets the text to draw. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies a text alignment to be applied when annotating with text. + + + + + Initializes a new instance of the class. + + Text alignment. + + + + Gets or sets text alignment. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Controls whether text is antialiased. Text is antialiased by default. + + + + + Gets a new instance of the class that is disabled. + + + + + Gets a new instance of the class that is enabled. + + + + + Gets or sets a value indicating whether text antialiasing is enabled or disabled. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies a decoration to be applied when annotating with text. + + + + + Initializes a new instance of the class. + + The text decoration. + + + + Gets or sets the text decoration. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the direction to be used when annotating with text. + + + + + Initializes a new instance of the class. + + Direction to use. + + + + Gets or sets the direction to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Encapsulation of the DrawableTextEncoding object. + + + + + Initializes a new instance of the class. + + Encoding to use. + + + + Gets or sets the encoding of the text. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the spacing between line in text. + + + + + Initializes a new instance of the class. + + Spacing to use. + + + + Gets or sets the spacing to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the spacing between words in text. + + + + + Initializes a new instance of the class. + + Spacing to use. + + + + Gets or sets the spacing to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the spacing between characters in text. + + + + + Initializes a new instance of the class. + + Kerning to use. + + + + Gets or sets the text kerning to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the color of a background rectangle to place under text annotations. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Gets or sets the color to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Applies a translation to the current coordinate system which moves the coordinate system + origin to the specified coordinate. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the overall canvas size to be recorded with the drawing vector data. Usually this will + be specified using the same size as the canvas image. When the vector data is saved to SVG + or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer + will render the vector data on. + + + + + Initializes a new instance of the class. + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Interface for drawing on an wand. + + + + + Draws this instance with the drawing wand. + + The wand to draw on. + + + + Class that can be used to chain path actions. + + + + + Applies the PathArcAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathClose operation to the . + + The instance. + + + + Applies the PathCurveToAbs operation to the . + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToAbs operation to the . + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToRel operation to the . + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToRel operation to the . + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathLineToHorizontalAbs operation to the . + + The X coordinate. + The instance. + + + + Applies the PathLineToHorizontalRel operation to the . + + The X coordinate. + The instance. + + + + Applies the PathLineToRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToRel operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathLineToVerticalAbs operation to the . + + The Y coordinate. + The instance. + + + + Applies the PathLineToVerticalRel operation to the . + + The Y coordinate. + The instance. + + + + Applies the PathMoveToAbs operation to the . + + The coordinate to use. + The instance. + + + + Applies the PathMoveToAbs operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathMoveToRel operation to the . + + The coordinate to use. + The instance. + + + + Applies the PathMoveToRel operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathQuadraticCurveToAbs operation to the . + + Coordinate of control point. + Coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToAbs operation to the . + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToRel operation to the . + + Coordinate of control point. + Coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToRel operation to the . + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToAbs operation to the . + + Coordinate of second point. + Coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToAbs operation to the . + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToRel operation to the . + + Coordinate of second point. + Coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToRel operation to the . + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToAbs operation to the . + + Coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToAbs operation to the . + + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToRel operation to the . + + Coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToRel operation to the . + + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Initializes a new instance of the class. + + + + + Converts this instance to a instance. + + A new instance. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that iterates through the collection. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that iterates through the collection. + + + + Draws an elliptical arc from the current point to (X, Y) using absolute coordinates. The size + and orientation of the ellipse are defined by two radii(RadiusX, RadiusY) and an RotationX, + which indicates how the ellipse as a whole is rotated relative to the current coordinate + system. The center of the ellipse is calculated automagically to satisfy the constraints + imposed by the other parameters. UseLargeArc and UseSweep contribute to the automatic + calculations and help determine how the arc is drawn. If UseLargeArc is true then draw the + larger of the available arcs. If UseSweep is true, then draw the arc matching a clock-wise + rotation. + + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws an elliptical arc from the current point to (X, Y) using relative coordinates. The size + and orientation of the ellipse are defined by two radii(RadiusX, RadiusY) and an RotationX, + which indicates how the ellipse as a whole is rotated relative to the current coordinate + system. The center of the ellipse is calculated automagically to satisfy the constraints + imposed by the other parameters. UseLargeArc and UseSweep contribute to the automatic + calculations and help determine how the arc is drawn. If UseLargeArc is true then draw the + larger of the available arcs. If UseSweep is true, then draw the arc matching a clock-wise + rotation. + + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Adds a path element to the current path which closes the current subpath by drawing a straight + line from the current point to the current subpath's most recent starting point (usually, the + most recent moveto point). + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a cubic Bezier curve from the current point to (x, y) using (x1, y1) as the control point + at the beginning of the curve and (x2, y2) as the control point at the end of the curve using + absolute coordinates. At the end of the command, the new current point becomes the final (x, y) + coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + + + + Initializes a new instance of the class. + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a cubic Bezier curve from the current point to (x, y) using (x1,y1) as the control point + at the beginning of the curve and (x2, y2) as the control point at the end of the curve using + relative coordinates. At the end of the command, the new current point becomes the final (x, y) + coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + + + + Initializes a new instance of the class. + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a line path from the current point to the given coordinate using absolute coordinates. + The coordinate then becomes the new current point. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a horizontal line path from the current point to the target point using absolute + coordinates. The target point then becomes the new current point. + + + + + Initializes a new instance of the class. + + The X coordinate. + + + + Gets or sets the X coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a horizontal line path from the current point to the target point using relative + coordinates. The target point then becomes the new current point. + + + + + Initializes a new instance of the class. + + The X coordinate. + + + + Gets or sets the X coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a line path from the current point to the given coordinate using relative coordinates. + The coordinate then becomes the new current point. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a vertical line path from the current point to the target point using absolute + coordinates. The target point then becomes the new current point. + + + + + Initializes a new instance of the class. + + The Y coordinate. + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a vertical line path from the current point to the target point using relative + coordinates. The target point then becomes the new current point. + + + + + Initializes a new instance of the class. + + The Y coordinate. + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Starts a new sub-path at the given coordinate using absolute coordinates. The current point + then becomes the specified coordinate. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Initializes a new instance of the class. + + The coordinate to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Starts a new sub-path at the given coordinate using relative coordinates. The current point + then becomes the specified coordinate. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Initializes a new instance of the class. + + The coordinate to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a quadratic Bezier curve from the current point to (x, y) using (x1, y1) as the control + point using absolute coordinates. At the end of the command, the new current point becomes + the final (x, y) coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of control point. + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a quadratic Bezier curve from the current point to (x, y) using (x1, y1) as the control + point using relative coordinates. At the end of the command, the new current point becomes + the final (x, y) coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of control point. + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a cubic Bezier curve from the current point to (x,y) using absolute coordinates. The + first control point is assumed to be the reflection of the second control point on the + previous command relative to the current point. (If there is no previous command or if the + previous command was not an PathCurveToAbs, PathCurveToRel, PathSmoothCurveToAbs or + PathSmoothCurveToRel, assume the first control point is coincident with the current point.) + (x2,y2) is the second control point (i.e., the control point at the end of the curve). At + the end of the command, the new current point becomes the final (x,y) coordinate pair used + in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of second point. + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a cubic Bezier curve from the current point to (x,y) using relative coordinates. The + first control point is assumed to be the reflection of the second control point on the + previous command relative to the current point. (If there is no previous command or if the + previous command was not an PathCurveToAbs, PathCurveToRel, PathSmoothCurveToAbs or + PathSmoothCurveToRel, assume the first control point is coincident with the current point.) + (x2,y2) is the second control point (i.e., the control point at the end of the curve). At + the end of the command, the new current point becomes the final (x,y) coordinate pair used + in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of second point. + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a quadratic Bezier curve (using absolute coordinates) from the current point to (X, Y). + The control point is assumed to be the reflection of the control point on the previous + command relative to the current point. (If there is no previous command or if the previous + command was not a PathQuadraticCurveToAbs, PathQuadraticCurveToRel, + PathSmoothQuadraticCurveToAbs or PathSmoothQuadraticCurveToRel, assume the control point is + coincident with the current point.). At the end of the command, the new current point becomes + the final (X,Y) coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a quadratic Bezier curve (using relative coordinates) from the current point to (X, Y). + The control point is assumed to be the reflection of the control point on the previous + command relative to the current point. (If there is no previous command or if the previous + command was not a PathQuadraticCurveToAbs, PathQuadraticCurveToRel, + PathSmoothQuadraticCurveToAbs or PathSmoothQuadraticCurveToRel, assume the control point is + coincident with the current point.). At the end of the command, the new current point becomes + the final (X,Y) coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Extension methods for the class. + + + + + Returns a based on the specified width and height. + + The density. + The width in cm or inches. + The height in cm or inches. + A based on the specified width and height in cm or inches. + + + + Extension methods for the interface. + + + + + Returns the thumbnail in the exif profile when available. + + The exif profile. + The thumbnail in the exif profile when available. + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + The color to use. + + + + Initializes a new instance that implements . + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + A new instance. + + + + Initializes a new instance that implements . + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + A new instance. + + + + Initializes a new instance that implements . + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Black component value of this color. + Alpha component value of this colors. + A new instance. + + + + Initializes a new instance that implements . + + The RGBA/CMYK hex string or name of the color (http://www.imagemagick.org/script/color.php). + For example: #F000, #FF000000, #FFFF000000000000. + A new instance. + + + + Class that can be used to create various instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create color instances by name. + + + + + Gets the configuration files. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets the MagickNET information. + + + + + Gets a factory that can be used to create various matrix instances. + + + + + Gets the OpenCL information. + + + + + Gets the quantum information. + + + + + Gets the resource limits. + + + + + Gets a factory that can be used to create various settings. + + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The width and height. + A new instance. + + + + Initializes a new instance that implements . + + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The X offset from origin. + The Y offset from origin. + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The percentage of the width. + The percentage of the height. + A new instance. + + + + Initializes a new instance that implements . + + The X offset from origin. + The Y offset from origin. + The percentage of the width. + The percentage of the height. + A new instance. + + + + Initializes a new instance that implements . + + Geometry specifications in the form: <width>x<height> + {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers). + A new instance. + + + + Initializes a new instance using the specified page size. + + The page size. + A instance that represents the specified page size. + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The images to add to the collection. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The color to fill the image with. + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The byte array to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create various matrix instances. + + + + + Initializes a new instance that implements . + + A new instance. + The order (1 to 6). + + + + Initializes a new instance that implements . + + A new instance. + The order (1 to 6). + The values to initialize the matrix with. + + + + Initializes a new instance that implements . + + A new instance. + The order (odd number). + + + + Initializes a new instance that implements . + + A new instance. + The order (odd number). + The values to initialize the matrix with. + + + + Class that can be used to create various settings. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the file size should be ignored (bmp:ignore-filesize). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies bmp subtypes. + + + + + ARGB1555. + + + + + ARGB4444. + + + + + RGB555. + + + + + RGB565. + + + + + Class for defines that are used when a image is written. + + + + + Gets the format where the defines are for. + + + + + Gets or sets the subtype that will be used (bmp:subtype). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a the maximum font pointsize (caption:max-pointsize). + + + + + Gets or sets a the start font pointsize (caption:start-pointsize). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies a limited set of the available dds compression methods. + + + + + Do not compress the pixels. + + + + + Use Dxt1 instead of the default compression. + + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating wether mipmaps should be skipped (dds:skip-mipmaps). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets a value indicating whether cluser fit is enabled or disabled (dds:cluster-fit). + + + + + Gets or sets the compression that will be used instead of the default compression. Only a limited set of the + compression methods are available for this. (dds:compression). + + + + + Gets or sets a value indicating whether the mipmaps should be resized faster but with a lower quality (dds:fast-mipmaps). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the the number of mipmaps, zero will disable writing mipmaps (dds:mipmaps). + + + + + Gets or sets a value indicating whether the mipmaps should be created from the images in the collection (dds:mipmaps=fromlist). + + + + + Gets or sets a value indicating whether only the raw pixels should be written (dds:raw). + + + + + Gets or sets a value indicating whether weight by alpha is enabled or disabled when cluster fit is used (dds:weight-by-alpha). + + + + + Gets the defines that should be set as a define on an image. + + + + + Defines the dng interpolation quality. + + + + + Interpolation will be disabled. + + + + + Linear interpolation. + + + + + VNG interpolation. + + + + + PPG interpolation. + + + + + AHD interpolation. + + + + + DCB interpolation. + + + + + DHT interpolation. + + + + + Modified AHD interpolation (by Anton Petrusevich). + + + + + Defines the dng output colors. + + + + + Raw color (unique to each camera). + + + + + sRGB D65 (default). + + + + + Adobe RGB (1998) D65. + + + + + Wide Gamut RGB D65. + + + + + Kodak ProPhoto RGB D65. + + + + + XYZ. + + + + + Academy Color Encoding System. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets a value indicating wether auto brightness should be used (dng:no-auto-bright). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating the interpolation quality (dng:interpolation-quality). + + + + + Gets or sets the output color (dng:output-color). + + + + + Gets or sets a value indicating wether the embedded thumbnail should be read (dng:read-thumbnail). + + + + + Gets or sets a value indicating wether auto whitebalance should be used (dng:use-auto-wb). + + + + + Gets or sets a value indicating wether the whitebalance of the camera should be used (dng:use-camera-wb). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets a value indicating whether the depth image should be read (heic:depth-image). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the orientation should be preserved (heic:preserve-orientation). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies jp2 progression orders. + + + + + Layer-resolution-component-precinct order. + + + + + Resolution-layer-component-precinct order. + + + + + Resolution-precinct-component-layer order. + + + + + Precinct-component-resolution-layer order. + + + + + Component-precinct-resolution-layer order. + + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets the maximum number of quality layers to decode (jp2:quality-layers). + + + + + Gets or sets the number of highest resolution levels to be discarded (jp2:reduce-factor). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets the format where the defines are for. + + + + + Gets or sets the number of resolutions to encode (jp2:number-resolutions). + + + + + Gets or sets the progression order (jp2:progression-order). + + + + + Gets or sets the quality layer PSNR, given in dB. The order is from left to right in ascending order (jp2:quality). + + + + + Gets or sets the compression ratio values. Each value is a factor of compression, thus 20 means 20 times compressed. + The order is from left to right in descending order. A final lossless quality layer is signified by the value 1 (jp2:rate). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies the DCT method. + + + + + Fast. + + + + + Float. + + + + + Slow. + + + + + Specifies profile types. + + + + + App profile. + + + + + 8bim profile. + + + + + Exif profile. + + + + + Icc profile. + + + + + Iptc profile. + + + + + Xmp profile. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets a value indicating whether block smoothing is enabled or disabled (jpeg:block-smoothing). + + + + + Gets or sets the desired number of colors (jpeg:colors). + + + + + Gets or sets the dtc method that will be used (jpeg:dct-method). + + + + + Gets or sets a value indicating whether fancy upsampling is enabled or disabled (jpeg:fancy-upsampling). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the size the scale the image to (jpeg:size). The output image won't be exactly + the specified size. More information can be found here: http://jpegclub.org/djpeg/. + + + + + Gets or sets the profile(s) that should be skipped when the image is read (profile:skip). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies the sampling factor. + + + + + 4:4:4. + + + + + 4:2:2. + + + + + 4:1:1. + + + + + 4:4:0. + + + + + 4:2:0. + + + + + 4:1:0. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets a value indicating whether arithmetic coding is enabled or disabled (jpeg:arithmetic-coding). + + + + + Gets or sets the dtc method that will be used (jpeg:dct-method). + + + + + Gets or sets the compression quality that does not exceed the specified extent in kilobytes (jpeg:extent). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether optimize coding is enabled or disabled (jpeg:optimize-coding). + + + + + Gets or sets the file name that contains custom quantization tables (jpeg:q-table). + + + + + Gets or sets jpeg sampling factor (jpeg:sampling-factor). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets the jpeg-xl encoding effort. Valid values are in the range of 3 (falcon) to 9 (tortois) (jxl:effort). + + + + + Gets the format where the defines are for. + + + + + Gets the defines that should be set as a define on an image. + + + + + The info of a file. + + + + + Gets the page count of the file. + + + + + Creates info from a file. + + The pdf file to create the info from. + The info of a file. + + + + Creates info from a file. + + The pdf file to create the info from. + The password of the pdf file. + The info of a file. + + + + Creates info from a file. + + The pdf file to create the info from. + The info of a file. + + + + Creates info from a file. + + The pdf file to create the info from. + The password of the pdf file. + The info of a file. + + + + Class for defines that are used when a image is read. + + + + + Gets or sets the size where the image should be scaled to fit the page (pdf:fit-page). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether annotations should be hidden (pdf:hide-annotations). + + + + + Gets or sets a value indicating whether all images are forced to be interpolated at full device resolution. + + + + + Gets or sets the password that should be used to open the pdf (authenticate). + + + + + Gets or sets a value indicating whether use of the cropbox should be forced (pdf:use-trimbox). + + + + + Gets or sets a value indicating whether use of the trimbox should be forced (pdf:use-trimbox). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets the author of the pdf document (pdf:author). + + + + + Gets or sets the creation time of the pdf document (pdf:create-epoch). + + + + + Gets or sets the creator of the pdf document (pdf:creator). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the keywords of the pdf document (pdf:keywords). + + + + + Gets or sets the modification time of the pdf document (pdf:modify-epoch). + + + + + Gets or sets the producer of the pdf document (pdf:producer). + + + + + Gets or sets the subject of the pdf document (pdf:subject). + + + + + Gets or sets the title of the pdf document (pdf:title). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies profile types. + + + + + App profile. + + + + + 8bim profile. + + + + + Exif profile. + + + + + Icc profile. + + + + + Iptc profile. + + + + + Xmp profile. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets the total number of sPLT, text, and unknown chunks that can be stored + (png:chunk-cache-max). 0 means unlimited. + + + + + Gets or sets the total memory that a zTXt, sPLT, iTXt, iCCP, or unknown chunk can occupy + when decompressed (png:chuck-malloc-max). 0 means unlimited. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the PNG decoder and encoder examine any ICC profile + that is present. By default, the PNG decoder and encoder examine any ICC profile that is present, + either from an iCCP chunk in the PNG input or supplied via an option, and if the profile is + recognized to be the sRGB profile, converts it to the sRGB chunk. You can use this option + to prevent this from happening; in such cases the iCCP chunk will be read. (png:preserve-iCCP). + + + + + Gets or sets a value indicating whether the PNG decoder should ignore the CRC when reading the + image. (png:ignore-crc). + + + + + Gets or sets the profile(s) that should be skipped when the image is read (profile:skip). + + + + + Gets or sets a value indicating whether the bytes should be swapped. The PNG specification + requires that any multi-byte integers be stored in network byte order (MSB-LSB endian). + This option allows you to fix any invalid PNG files that have 16-bit samples stored + incorrectly in little-endian order (LSB-MSB). (png:swap-bytes). + + + + + Gets the defines that should be set as a define on an image. + + + + + The additional info of a image. + + + + + Gets the name of the layer. + + + + + Creates additional info from a image. + + The image to create the additonal info from. + The additional info from a image. + + + + Specifies which additional info should be written to the output file. + + + + + None. + + + + + All. + + + + + Only select the info that does not use geometry. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets a value indicating whether alpha unblending should be enabled or disabled (psd:alpha-unblend). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the opacity mask of a layer should be preserved and add it back to + the layer when the image is saved. This option should only be used when converting from a PSD file to another + PSD file (psd:preserve-opacity-mask). + + + + + Gets or sets a value indicating whether the profile should be replicate to all the layers (psd:replicate-profile). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets which additional info should be written to the output file. + + + + + Gets the format where the defines are for. + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies tiff alpha options. + + + + + Unspecified. + + + + + Associated. + + + + + Unassociated. + + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the exif profile should be ignored (tiff:exif-properties). + + + + + Gets or sets a value indicating whether the layers should be ignored (tiff:ignore-layers). + + + + + Gets or sets the tiff tags that should be ignored (tiff:ignore-tags). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets the tiff alpha (tiff:alpha). + + + + + Gets or sets the endianness of the tiff file (tiff:endian). + + + + + Gets or sets the endianness of the tiff file (tiff:fill-order). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the prediction scheme with LZW (tiff:predictor). + + + + + Gets or sets a value indicating whether the compression of the image should be preserved (tiff:preserve-compression). + + + + + Gets or sets the rows per strip (tiff:rows-per-strip). + + + + + Gets or sets the tile geometry (tiff:tile-geometry). + + + + + Gets or sets a value indicating whether photoshop layers should be written (tiff:write-layers). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a video image is read. + + + + + Initializes a new instance of the class. + + The video format. + + + + Gets the format where the defines are for. + + + + + Gets or sets the video pixel format (video:pixel-format). + + + + + Gets or sets the video read mode (video:intermediate-format). + + + + + Gets or sets the video sync (video:vsync). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies the video read modes. + + + + + Read the video with frames that have a duration (webp). + + + + + Read the video frame by frame (pam). + + + + + Specifies the video sync methods. + + + + + Chooses between and depending on muxer capabilities. This is the default method. + + + + + Frames will be duplicated and dropped to achieve exactly the requested constant frame rate. + + + + + As passthrough but destroys all timestamps, making the muxer generate fresh timestamps based on frame-rate. + + + + + Each frame is passed with its timestamp from the demuxer to the muxer. + + + + + Frames are passed through with their timestamp or dropped so as to prevent 2 frames from having the same timestamp. + + + + + Class for defines that are used when a video image is written. + + + + + Initializes a new instance of the class. + + The video format. + + + + Gets the format where the defines are for. + + + + + Gets or sets the video pixel format (video:pixel-format). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies WebP alpha compression options. + + + + + None. + + + + + Compressed. + + + + + Specifies WebP alpha filtering options. + + + + + None. + + + + + Fast. + + + + + Best. + + + + + Specifies WebP filter type options. + + + + + Simple. + + + + + Strong. + + + + + Specifies WebP image hint options. + + + + + Default preset. + + + + + Digital picture, like portrait, inner shot. + + + + + Outdoor photograph, with natural lighting. + + + + + Discrete tone image (graph, map-tile etc). + + + + + Specifies WebP preprocessing options. + + + + + None. + + + + + SegmentSmooth. + + + + + PseudoRandom. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets the encoding of the alpha plane (webp:alpha-compression). + + + + + Gets or sets the predictive filtering method for the alpha plane (webp:alpha-filtering). + + + + + Gets or sets the compression value for alpha compression between 0 and 100. Lossless compression of alpha is achieved using a value of 100, while the lower values result in a lossy compression (webp:alpha-quality). + + + + + Gets or sets a value indicating wether the algorithm should spend additional time optimizing the filtering strength to reach a well-balanced quality (webp:auto-filter). + + + + + Gets or sets a value indicating wether a similar compression to that of JPEG but with less degradation should be used. (webp:emulate-jpeg-size). + + + + + Gets or sets a value indicating wether RGB values should be preserved in transparent area. It's disabled by default to help compressibility. + + + + + Gets or sets strength of the filter sharpness, between 0 and 7 (least sharp) (webp:filter-sharpness). + + + + + Gets or sets strength of the deblocking filter, between 0 (no filtering) and 100 (maximum filtering). A value of 0 turns off any filtering. Higher values increase the strength of the filtering process applied after decoding the image. The higher the value, the smoother the image appears. Typical values are usually in the range of 20 to 50 (webp:filter-strength). + + + + + Gets or sets the filter type. (webp:filter-type). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the hint about the image type. (webp:image-hint). + + + + + Gets or sets a value indicating wether the image should be encoded without any loss (webp:lossless). + + + + + Gets or sets a value indicating wether the memory usage should be reduced (webp:low-memory). + + + + + Gets or sets the compression method to use. It controls the trade off between encoding speed and the compressed file size and quality. Possible values range from 0 to 6. Default value is 4. When higher values are utilized, the encoder spends more time inspecting additional encoding possibilities and decide on the quality gain. Lower value might result in faster processing time at the expense of larger file size and lower compression quality (webp:method). + + + + + Gets or sets the near lossless encoding, between 0 (max-loss) and 100 (off) (webp:near-lossless). + + + + + Gets or sets the partition limit. Choose 0 for no quality degradation and 100 for maximum degradation (webp:partition-limit). + + + + + Gets or sets progressive decoding: choose 0 to 3 (webp:partitions). + + + + + Gets or sets the maximum number of passes to target compression size or PSNR (webp:pass). + + + + + Gets or sets the preprocessing filter (webp:preprocessing). + + + + + Gets or sets the maximum number of segments to use, choose from 1 to 4 (webp:segment). + + + + + Gets or sets a value indicating wether the compressed picture should be exported back (webp:show-compressed). + + + + + Gets or sets he amplitude of the spatial noise shaping. Spatial noise shaping (SNS) refers to a general collection of built-in algorithms used to decide which area of the picture should use relatively less bits, and where else to better transfer these bits. The possible range goes from 0 (algorithm is off) to 100 (the maximal effect). The default value is 80 (webp:sns-strength). + + + + + Gets or sets the desired minimal distortion (webp:target-psnr). + + + + + Gets or sets the target size (in bytes) to try and reach for the compressed output. The compressor makes several passes of partial encoding in order to get as close as possible to this target. (webp:target-size). + + + + + Gets or sets a value indicating wether multi-threaded encoding should be enabled (webp:thread-level). + + + + + Gets or sets a value indicating wether sharp (and slow) RGB->YUV conversion should be used. (webp:use-sharp-yuv). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class that can be used to optimize gif files. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The gif file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the gif image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the gif image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The gif file to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The file name of the gif image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the gif image to compress. + True when the image could be compressed otherwise false. + + + + Class that can be used to optimize ico files. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The ico file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the ico image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the ico image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The ico file to optimize. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The ico file to optimize. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the ico image to compress. + True when the image could be compressed otherwise false. + + + + Class that can be used to optimize jpeg files. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Gets or sets a value indicating whether a progressive jpeg file will be created. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The jpeg file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The jpeg file to compress. + The jpeg quality. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the jpeg image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the jpeg image to compress. + The jpeg quality. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the jpeg image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The stream of the jpeg image to compress. + The jpeg quality. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The jpeg file to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The file name of the jpeg image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the jpeg image to compress. + True when the image could be compressed otherwise false. + + + + Class that can be used to optimize png files. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The png file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the png image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the png image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The png file to optimize. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The png file to optimize. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the png image to compress. + True when the image could be compressed otherwise false. + + + + Class that can be used to optimize an image. + + + + + Gets or sets a value indicating whether to skip unsupported files instead of throwing an exception. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The image file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the image to compress. + True when the image could be compressed otherwise false. + + + + Returns true when the supplied file name is supported based on the extension of the file. + + The file to check. + True when the supplied file name is supported based on the extension of the file. + True when the image could be compressed otherwise false. + + + + Returns true when the supplied formation information is supported. + + The format information to check. + True when the supplied formation information is supported. + + + + Returns true when the supplied file name is supported based on the extension of the file. + + The name of the file to check. + True when the supplied file name is supported based on the extension of the file. + + + + Returns true when the supplied stream is supported. + + The stream to check. + True when the supplied stream is supported. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The image file to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The file name of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the image to compress. + True when the image could be compressed otherwise false. + + + + Class that contains information about an image format. + + + + + Gets a value indicating whether the format can be read multithreaded. + + + + + Gets a value indicating whether the format can be written multithreaded. + + + + + Gets the description of the format. + + + + + Gets the format. + + + + + Gets a value indicating whether the format supports multiple frames. + + + + + Gets a value indicating whether the format is readable. + + + + + Gets a value indicating whether the format is writable. + + + + + Gets the mime type. + + + + + Gets the module. + + + + + Returns the format information. The extension of the supplied file is used to determine + the format. + + The file to check. + The format information. + + + + Returns the format information of the specified format. + + The image format. + The format information. + + + + Returns the format information. The header of the image in the array of bytes is used to + determine the format. + + The array of bytes to read the image header from. + The format information. + + + + Returns the format information. The extension of the supplied file name is used to + determine the format. + + The name of the file to check. + The format information. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current format. + + A string that represents the current format. + + + + Unregisters this format. + + True when the format was found and unregistered. + + + + Class that represents an ImageMagick image. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The color to fill the image with. + The width. + The height. + + + + Initializes a new instance of the class. + + The image to create a copy of. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Finalizes an instance of the class. + + + + + Event that will be raised when progress is reported by this image. + + + + + Event that will we raised when a warning is thrown by ImageMagick. + + + + + + + + Gets or sets the time in 1/100ths of a second which must expire before splaying the next image in an + animated sequence. + + + + + Gets or sets the number of iterations to loop an animation (e.g. Netscape loop extension) for. + + + + + Gets or sets the ticks per seconds for the animation delay. + + + + + Gets the names of the artifacts. + + + + + Gets the names of the attributes. + + + + + Gets or sets the background color of the image. + + + + + Gets the height of the image before transformations. + + + + + Gets the width of the image before transformations. + + + + + Gets or sets a value indicating whether black point compensation should be used. + + + + + Gets or sets the border color of the image. + + + + + Gets the smallest bounding box enclosing non-border pixels. The current fuzz value is used + when discriminating between pixels. + + + + + Gets the number of channels that the image contains. + + + + + Gets the channels of the image. + + + + + Gets or sets the chromaticity blue primary point. + + + + + Gets or sets the chromaticity green primary point. + + + + + Gets or sets the chromaticity red primary point. + + + + + Gets or sets the chromaticity white primary point. + + + + + Gets or sets the image class (DirectClass or PseudoClass) + NOTE: Setting a DirectClass image to PseudoClass will result in the loss of color information + if the number of colors in the image is greater than the maximum palette size (either 256 (Q8) + or 65536 (Q16). + + + + + Gets or sets the distance where colors are considered equal. + + + + + Gets or sets the colormap size (number of colormap entries). + + + + + Gets or sets the color space of the image. + + + + + Gets or sets the color type of the image. + + + + + Gets or sets the comment text of the image. + + + + + Gets or sets the composition operator to be used when composition is implicitly used (such as for image flattening). + + + + + Gets the compression method of the image. + + + + + Gets or sets the vertical and horizontal resolution in pixels of the image. + + + + + Gets or sets the depth (bits allocated to red/green/blue components). + + + + + Gets the preferred size of the image when encoding. + + Thrown when an error is raised by ImageMagick. + + + + Gets or sets the endianness (little like Intel or big like SPARC) for image formats which support + endian-specific options. + + + + + Gets the original file name of the image (only available if read from disk). + + + + + Gets or sets the filter to use when resizing image. + + + + + Gets or sets the format of the image. + + + + + Gets the information about the format of the image. + + + + + Gets the gamma level of the image. + + Thrown when an error is raised by ImageMagick. + + + + Gets or sets the gif disposal method. + + + + + Gets or sets a value indicating whether the image supports transparency (alpha channel). + + + + + Gets the height of the image. + + + + + Gets or sets the type of interlacing to use. + + + + + Gets or sets the pixel color interpolate method to use. + + + + + Gets a value indicating whether the instance is disposed. + + + + + Gets a value indicating whether none of the pixels in the image have an alpha value other + than OpaqueAlpha (QuantumRange). + + + + + Gets or sets the label of the image. + + + + + Gets or sets the matte color. + + + + + Gets or sets the photo orientation of the image. + + + + + Gets or sets the preferred size and location of an image canvas. + + + + + Gets the names of the profiles. + + + + + Gets or sets the JPEG/MIFF/PNG compression level (default 75). + + + + + Gets or sets the type of rendering intent. + + + + + Gets the settings for this MagickImage instance. + + + + + Gets the signature of this image. + + Thrown when an error is raised by ImageMagick. + + + + Gets the number of colors in the image. + + + + + Gets or sets the virtual pixel method. + + + + + Gets the width of the image. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Initializes a new instance of the class using the specified base64 string. + + The base64 string to load the image from. + A new instance of the class. + + + + Adaptive-blur image with the default blur factor (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Adaptive-blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + Thrown when an error is raised by ImageMagick. + + + + Adaptive-blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Resize using mesh interpolation. It works well for small resizes of less than +/- 50% + of the original image size. For larger resizing on images a full filtered and slower resize + function should be used instead. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize using mesh interpolation. It works well for small resizes of less than +/- 50% + of the original image size. For larger resizing on images a full filtered and slower resize + function should be used instead. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean (+/-)(0-QuantumRange). + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean (+/-)(0-QuantumRange). + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Add noise to image with the specified noise type. + + The type of noise that should be added to the image. + Thrown when an error is raised by ImageMagick. + + + + Add noise to the specified channel of the image with the specified noise type. + + The type of noise that should be added to the image. + The channel(s) where the noise should be added. + Thrown when an error is raised by ImageMagick. + + + + Add noise to image with the specified noise type. + + The type of noise that should be added to the image. + Attenuate the random distribution. + Thrown when an error is raised by ImageMagick. + + + + Add noise to the specified channel of the image with the specified noise type. + + The type of noise that should be added to the image. + Attenuate the random distribution. + The channel(s) where the noise should be added. + Thrown when an error is raised by ImageMagick. + + + + Affine Transform image. + + The affine matrix to use. + Thrown when an error is raised by ImageMagick. + + + + Applies the specified alpha option. + + The option to use. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, and bounding area. + + The text to use. + The bounding area. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, bounding area, and placement gravity. + + The text to use. + The bounding area. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, bounding area, and placement gravity. + + The text to use. + The bounding area. + The placement gravity. + The rotation. + Thrown when an error is raised by ImageMagick. + + + + Annotate with text (bounding area is entire image) and placement gravity. + + The text to use. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriatally. + + Thrown when an error is raised by ImageMagick. + + + + Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriatally. + + The channel(s) to set the gamma for. + Thrown when an error is raised by ImageMagick. + + + + Adjusts the levels of a particular image channel by scaling the minimum and maximum values + to the full quantum range. + + Thrown when an error is raised by ImageMagick. + + + + Adjusts the levels of a particular image channel by scaling the minimum and maximum values + to the full quantum range. + + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjusts an image so that its orientation is suitable for viewing. + + Thrown when an error is raised by ImageMagick. + + + + Automatically selects a threshold and replaces each pixel in the image with a black pixel if + the image intentsity is less than the selected threshold otherwise white. + + The threshold method. + Thrown when an error is raised by ImageMagick. + + + + Applies a non-linear, edge-preserving, and noise-reducing smoothing filter. + + The width of the neighborhood in pixels. + The height of the neighborhood in pixels. + + + + Applies a non-linear, edge-preserving, and noise-reducing smoothing filter. + + The width of the neighborhood in pixels. + The height of the neighborhood in pixels. + The sigma in the intensity space. + The sigma in the coordinate space. + + + + Forces all pixels below the threshold into black while leaving all pixels at or above + the threshold unchanged. + + The threshold to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels below the threshold into black while leaving all pixels at or above + the threshold unchanged. + + The threshold to use. + The channel(s) to make black. + Thrown when an error is raised by ImageMagick. + + + + Simulate a scene at nighttime in the moonlight. + + Thrown when an error is raised by ImageMagick. + + + + Simulate a scene at nighttime in the moonlight. + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Blur image with the default blur factor (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Blur image the specified channel of the image with the default blur factor (0x1). + + The channel(s) that should be blurred. + Thrown when an error is raised by ImageMagick. + + + + Blur image with specified blur factor. + + The radius of the Gaussian in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Blur image with specified blur factor and channel. + + The radius of the Gaussian in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be blurred. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The size of the border. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The width of the border. + The height of the border. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The size of the border. + Thrown when an error is raised by ImageMagick. + + + + Changes the brightness and/or contrast of an image. It converts the brightness and + contrast parameters into slope and intercept and calls a polynomical function to apply + to the image. + + The brightness. + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Changes the brightness and/or contrast of an image. It converts the brightness and + contrast parameters into slope and intercept and calls a polynomical function to apply + to the image. + + The brightness. + The contrast. + The channel(s) that should be changed. + Thrown when an error is raised by ImageMagick. + + + + Uses a multi-stage algorithm to detect a wide range of edges in images. + + Thrown when an error is raised by ImageMagick. + + + + Uses a multi-stage algorithm to detect a wide range of edges in images. + + The radius of the gaussian smoothing filter. + The sigma of the gaussian smoothing filter. + Percentage of edge pixels in the lower threshold. + Percentage of edge pixels in the upper threshold. + Thrown when an error is raised by ImageMagick. + + + + Charcoal effect image (looks like charcoal sketch). + + Thrown when an error is raised by ImageMagick. + + + + Charcoal effect image (looks like charcoal sketch). + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove vertical or horizontal subregion of image) using the specified geometry. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove horizontal subregion of image). + + The X offset from origin. + The width of the part to chop horizontally. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove horizontal subregion of image). + + The Y offset from origin. + The height of the part to chop vertically. + Thrown when an error is raised by ImageMagick. + + + + A variant of adaptive histogram equalization in which the contrast amplification is limited, + so as to reduce this problem of noise amplification. + + The percentage of tile divisions to use in horizontal direction. + The percentage of tile divisions to use in vertical direction. + The number of bins for histogram ("dynamic range"). + The contrast limit for localised changes in contrast. A limit less than 1 + results in standard non-contrast limited AHE. + + + + A variant of adaptive histogram equalization in which the contrast amplification is limited, + so as to reduce this problem of noise amplification. + + The number of tile divisions to use in horizontal direction. + The number of tile divisions to use in vertical direction. + The number of bins for histogram ("dynamic range"). + The contrast limit for localised changes in contrast. A limit less than 1 + results in standard non-contrast limited AHE. + + + + Set each pixel whose value is below zero to zero and any the pixel whose value is above + the quantum range to the quantum range (Quantum.Max) otherwise the pixel value + remains unchanged. + + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is below zero to zero and any the pixel whose value is above + the quantum range to the quantum range (Quantum.Max) otherwise the pixel value + remains unchanged. + + The channel(s) to clamp. + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect inside + the clipping path. + + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect inside + the clipping path. + + Name of clipping path resource. If name is preceded by #, use + clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect outside + the clipping path. + + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect outside + the clipping path. + + Name of clipping path resource. If name is preceded by #, use + clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Creates a clone of the current image. + + A clone of the current image. + + + + Creates a clone of the current image with the specified geometry. + + The area to clone. + A clone of the current image. + Thrown when an error is raised by ImageMagick. + + + + Creates a clone of the current image. + + The width of the area to clone. + The height of the area to clone. + A clone of the current image. + + + + Creates a clone of the current image. + + The X offset from origin. + The Y offset from origin. + The width of the area to clone. + The height of the area to clone. + A clone of the current image. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Pixel interpolate method. + The channel(s) to clut. + Thrown when an error is raised by ImageMagick. + + + + Sets the alpha channel to the specified color. + + The color to use. + Thrown when an error is raised by ImageMagick. + + + + Applies the color decision list from the specified ASC CDL file. + + The file to read the ASC CDL information from. + Thrown when an error is raised by ImageMagick. + + + + Colorize image with the specified color, using specified percent alpha. + + The color to use. + The alpha percentage. + Thrown when an error is raised by ImageMagick. + + + + Colorize image with the specified color, using specified percent alpha for red, green, + and blue quantums. + + The color to use. + The alpha percentage for red. + The alpha percentage for green. + The alpha percentage for blue. + Thrown when an error is raised by ImageMagick. + + + + Apply a color matrix to the image channels. + + The color matrix to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels in the color range to white otherwise black. + + The start color of the color range. + The stop color of the color range. + + + + Compare current image with another image and returns error information. + + The other image to compare with this image. + The error information. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The settings to use. + The image that will contain the difference. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The image that will contain the difference. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The image that will contain the difference. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The settings to use. + The image that will contain the difference. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Compares the current instance with another image. Only the size of the image is compared. + + The object to compare this image with. + A signed number indicating the relative values of this instance and value. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Determines the connected-components of the image. + + How many neighbors to visit, choose from 4 or 8. + The connected-components of the image. + Thrown when an error is raised by ImageMagick. + + + + Determines the connected-components of the image. + + The settings for this operation. + The connected-components of the image. + Thrown when an error is raised by ImageMagick. + + + + Contrast image (enhance intensity differences in image). + + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + The white point. + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + The white point. + The channel(s) to constrast stretch. + Thrown when an error is raised by ImageMagick. + + + + Returns the convex hull points of an image canvas. + + The convex hull points of an image canvas. + Thrown when an error is raised by ImageMagick. + + + + Convolve image. Applies a user-specified convolution to the image. + + The convolution matrix. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The geometry to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The geometry to copy. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image as defined by the geometry the destination image at + the specified offset. + + The source image to copy the pixels from. + The geometry to copy. + The X offset to start the copy from. + The Y offset to start the copy from. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image as defined by the geometry the destination image at + the specified offset. + + The source image to copy the pixels from. + The geometry to copy. + The X offset to copy the pixels to. + The Y offset to copy the pixels to. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The width of the subregion. + The height of the subregion. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The width of the subregion. + The height of the subregion. + The position where the cropping should start from. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The subregion to crop. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The subregion to crop. + The position where the cropping should start from. + Thrown when an error is raised by ImageMagick. + + + + Creates tiles of the current image in the specified dimension. + + The width of the tile. + The height of the tile. + New title of the current image. + + + + Creates tiles of the current image in the specified dimension. + + The size of the tile. + New title of the current image. + + + + Displaces an image's colormap by a given number of positions. + + Displace the colormap this amount. + Thrown when an error is raised by ImageMagick. + + + + Converts cipher pixels to plain pixels. + + The password that was used to encrypt the image. + Thrown when an error is raised by ImageMagick. + + + + Removes skew from the image. Skew is an artifact that occurs in scanned images because of + the camera being misaligned, imperfections in the scanning or surface, or simply because + the paper was not placed completely flat when scanned. The value of threshold ranges + from 0 to QuantumRange. + + The threshold. + Thrown when an error is raised by ImageMagick. + The angle that was used. + + + + Removes skew from the image. Skew is an artifact that occurs in scanned images because of + the camera being misaligned, imperfections in the scanning or surface, or simply because + the paper was not placed completely flat when scanned. The value of threshold ranges + from 0 to QuantumRange. + + The deskew settings. + Thrown when an error is raised by ImageMagick. + The angle that was used. + + + + Despeckle image (reduce speckle noise). + + Thrown when an error is raised by ImageMagick. + + + + Determines the bit depth (bits allocated to red/green/blue components). Use the Depth + property to get the current value. + + Thrown when an error is raised by ImageMagick. + The bit depth (bits allocated to red/green/blue components). + + + + Determines the bit depth (bits allocated to red/green/blue components) of the specified channel. + + The channel to get the depth for. + Thrown when an error is raised by ImageMagick. + The bit depth (bits allocated to red/green/blue components) of the specified channel. + + + + Determines the color type of the image. This method can be used to automatically make the + type GrayScale. + + Thrown when an error is raised by ImageMagick. + The color type of the image. + + + + Disposes the instance. + + + + + Distorts an image using various distortion methods, by mapping color lookups of the source + image to a new destination image of the same size as the source image. + + The distortion method to use. + An array containing the arguments for the distortion. + Thrown when an error is raised by ImageMagick. + + + + Distorts an image using various distortion methods, by mapping color lookups of the source + image to a new destination image usually of the same size as the source image, unless + 'bestfit' is set to true. + + The distortion method to use. + The settings for the distort operation. + An array containing the arguments for the distortion. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using one or more drawables. + + The drawable(s) to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using one or more drawables. + + The drawable(s) to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using a collection of drawables. + + The drawables to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Edge image (highlight edges in image). + + The radius of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Emboss image (highlight edges with 3D effect) with default value (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Emboss image (highlight edges with 3D effect). + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Converts pixels to cipher-pixels. + + The password that to encrypt the image with. + Thrown when an error is raised by ImageMagick. + + + + Applies a digital filter that improves the quality of a noisy image. + + Thrown when an error is raised by ImageMagick. + + + + Applies a histogram equalization to the image. + + Thrown when an error is raised by ImageMagick. + + + + Applies a histogram equalization to the image. + + The channel(s) to apply the operator on. + Thrown when an error is raised by ImageMagick. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The function. + The arguments for the function. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The geometry to use. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The geometry to use. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The X offset from origin. + The Y offset from origin. + The width to extend the image to. + The height to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The placement gravity. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the rectangle. + + The geometry to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The placement gravity. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Flip image (reflect each scanline in the vertical direction). + + Thrown when an error is raised by ImageMagick. + + + + Floodfill pixels matching color (within fuzz factor) of target pixel(x,y) with replacement + alpha value using method. + + The alpha to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill color across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill color across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flop image (reflect each scanline in the horizontal direction). + + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + Specifies if newlines should be ignored. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Formats the specified expression, more info here: http://www.imagemagick.org/script/escape.php. + + The expression, more info here: http://www.imagemagick.org/script/escape.php. + The result of the expression. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the default geometry (25x25+6+6). + + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified geometry. + + The geometry of the frame. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified with and height. + + The width of the frame. + The height of the frame. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified with, height, innerBevel and outerBevel. + + The width of the frame. + The height of the frame. + The inner bevel of the frame. + The outer bevel of the frame. + Thrown when an error is raised by ImageMagick. + + + + Applies a mathematical expression to the image. + + The expression to apply. + Thrown when an error is raised by ImageMagick. + + + + Applies a mathematical expression to the image. + + The expression to apply. + The channel(s) to apply the expression to. + Thrown when an error is raised by ImageMagick. + + + + Gamma correct image. + + The image gamma. + Thrown when an error is raised by ImageMagick. + + + + Gamma correct image. + + The image gamma for the channel. + The channel(s) to gamma correct. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The standard deviation of the gaussian bell curve. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The standard deviation of the gaussian bell curve. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the 8bim profile from the image. + + Thrown when an error is raised by ImageMagick. + The 8bim profile from the image. + + + + Returns the value of the artifact with the specified name. + + The name of the artifact. + The value of the artifact with the specified name. + + + + Returns the value of a named image attribute. + + The name of the attribute. + The value of a named image attribute. + Thrown when an error is raised by ImageMagick. + + + + Returns the default clipping path. Null will be returned if the image has no clipping path. + + The default clipping path. Null will be returned if the image has no clipping path. + Thrown when an error is raised by ImageMagick. + + + + Returns the clipping path with the specified name. Null will be returned if the image has no clipping path. + + Name of clipping path resource. If name is preceded by #, use clipping path numbered by name. + The clipping path with the specified name. Null will be returned if the image has no clipping path. + Thrown when an error is raised by ImageMagick. + + + + Returns the color at colormap position index. + + The position index. + The color at colormap position index. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the color profile from the image. + + The color profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the exif profile from the image. + + The exif profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Retrieve the iptc profile from the image. + + The iptc profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Returns a pixel collection that can be used to read or modify the pixels of this image. + + A pixel collection that can be used to read or modify the pixels of this image. + Thrown when an error is raised by ImageMagick. + + + + Returns a pixel collection that can be used to read or modify the pixels of this image. This instance + will not do any bounds checking and directly call ImageMagick. + + A pixel collection that can be used to read or modify the pixels of this image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve a named profile from the image. + + The name of the profile (e.g. "ICM", "IPTC", or a generic profile name). + A named profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Gets the associated read mask of the image. + + The associated read mask of the image. + Thrown when an error is raised by ImageMagick. + + + + Gets the associated write mask of the image. + + The associated write mask of the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the xmp profile from the image. + + The xmp profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Converts the colors in the image to gray. + + Thrown when an error is raised by ImageMagick. + + + + Converts the colors in the image to gray. + + The pixel intensity method to use. + Thrown when an error is raised by ImageMagick. + + + + Gets a value indicating whether a profile with the specified name already exists on the image. + + The name of the profile. + A value indicating whether a profile with the specified name already exists on the image. + + + + Apply a color lookup table (Hald CLUT) to the image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Creates a color histogram. + + A color histogram. + Thrown when an error is raised by ImageMagick. + + + + Identifies lines in the image. + + Thrown when an error is raised by ImageMagick. + + + + Identifies lines in the image. + + The width of the neighborhood. + The height of the neighborhood. + The line count threshold. + Thrown when an error is raised by ImageMagick. + + + + Implode image (special effect). + + The extent of the implosion. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array into the current image. + + The byte array to read the image data from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array into the current image. + + The byte array to read the image data from. + The offset at which to begin reading data. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Returns the sum of values (pixel values) in the image. + + The sum of values (pixel values) in the image. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The new width. + The new height. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The geometry to use. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The percentage. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The percentage of the width. + The percentage of the height. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Inverse contrast image (diminish intensity differences in image). + + Thrown when an error is raised by ImageMagick. + + + + Floodfill pixels not matching color (within fuzz factor) of target pixel(x,y) with + replacement alpha value using method. + + The alpha to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Changes any pixel that does not match the target with the color defined by fill. + + The color to replace. + The color to replace opaque color with. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + The channel(s) that should be adjusted. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that don't match the specified color to transparent. + + The color that should not be made transparent. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that don't lie in between the given two colors to + transparent. + + The low target color. + The high target color. + Thrown when an error is raised by ImageMagick. + + + + Applies k-means color reduction to an image. This is a colorspace clustering or segmentation technique. + + The kmeans settings. + Thrown when an error is raised by ImageMagick. + + + + An edge preserving noise reduction filter. + + Thrown when an error is raised by ImageMagick. + + + + An edge preserving noise reduction filter. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Discards any pixels below the black point and above the white point and levels the remaining pixels. + + The black point. + The white point. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The new width. + The new height. + Maximum seam transversal step (0 means straight seams). + Introduce a bias for non-straight seams (typically 0). + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage of the width. + The percentage of the height. + Maximum seam transversal step (0 means straight seams). + Introduce a bias for non-straight seams (typically 0). + Thrown when an error is raised by ImageMagick. + + + + Local contrast enhancement. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The strength of the blur mask. + Thrown when an error is raised by ImageMagick. + + + + Local contrast enhancement. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The strength of the blur mask. + The channel(s) that should be changed. + Thrown when an error is raised by ImageMagick. + + + + Lower image (darken the edges of an image to give a 3-D lowered effect). + + The size of the edges. + Thrown when an error is raised by ImageMagick. + + + + Magnify image by integral size. + + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from the specified colors. + + The colors to use. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from the specified colors. + + The colors to use. + Quantize settings. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Quantize settings. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Delineate arbitrarily shaped clusters in the image. + + The width and height of the pixels neighborhood. + + + + Delineate arbitrarily shaped clusters in the image. + + The width and height of the pixels neighborhood. + The color distance. + + + + Delineate arbitrarily shaped clusters in the image. + + The width of the pixels neighborhood. + The height of the pixels neighborhood. + + + + Delineate arbitrarily shaped clusters in the image. + + The width of the pixels neighborhood. + The height of the pixels neighborhood. + The color distance. + + + + Filter image by replacing each pixel component with the median color in a circular neighborhood. + + Thrown when an error is raised by ImageMagick. + + + + Filter image by replacing each pixel component with the median color in a circular neighborhood. + + The radius of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Reduce image by integral size. + + Thrown when an error is raised by ImageMagick. + + + + Returns the points that form the minimum bounding box around the image foreground objects with + the "Rotating Calipers" algorithm. he method also returns these properties: minimum-bounding-box:area, + minimum-bounding-box:width, minimum-bounding-box:height, and minimum-bounding-box:angle. + + The points that form the minimum bounding box around the image foreground objects. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent brightness of an image. + + The brightness percentage. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent saturation and brightness of an image. + + The brightness percentage. + The saturation percentage. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent hue, saturation, and brightness of an image. + + The brightness percentage. + The saturation percentage. + The hue percentage. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology settings. + + The morphology settings. + Thrown when an error is raised by ImageMagick. + + + + Returns the normalized moments of one or more image channels. + + The normalized moments of one or more image channels. + Thrown when an error is raised by ImageMagick. + + + + Motion blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The angle the object appears to be comming from (zero degrees is from the right). + Thrown when an error is raised by ImageMagick. + + + + Negate colors in image. + + Thrown when an error is raised by ImageMagick. + + + + Negate colors in image for the specified channel. + + The channel(s) that should be negated. + Thrown when an error is raised by ImageMagick. + + + + Negate the grayscale colors in image. + + Thrown when an error is raised by ImageMagick. + + + + Negate the grayscale colors in image for the specified channel. + + The channel(s) that should be negated. + Thrown when an error is raised by ImageMagick. + + + + Normalize image (increase contrast by normalizing the pixel values to span the full range + of color values). + + Thrown when an error is raised by ImageMagick. + + + + Oilpaint image (image looks like oil painting). + + + + + Oilpaint image (image looks like oil painting). + + The radius of the circular neighborhood. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Changes any pixel that matches target with the color defined by fill. + + The color to replace. + The color to replace opaque color with. + Thrown when an error is raised by ImageMagick. + + + + Perform a ordered dither based on a number of pre-defined dithering threshold maps, but over + multiple intensity levels. + + A string containing the name of the threshold dither map to use, + followed by zero or more numbers representing the number of color levels tho dither between. + Thrown when an error is raised by ImageMagick. + + + + Perform a ordered dither based on a number of pre-defined dithering threshold maps, but over + multiple intensity levels. + + A string containing the name of the threshold dither map to use, + followed by zero or more numbers representing the number of color levels tho dither between. + The channel(s) to dither. + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is less than epsilon to epsilon or -epsilon (whichever is closer) + otherwise the pixel value remains unchanged. + + The epsilon threshold. + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is less than epsilon to epsilon or -epsilon (whichever is closer) + otherwise the pixel value remains unchanged. + + The epsilon threshold. + The channel(s) to perceptible. + Thrown when an error is raised by ImageMagick. + + + + Returns the perceptual hash of this image. + + The perceptual hash of this image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the information from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Simulates a polaroid picture. + + The caption to put on the image. + The angle of image. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + The channel(s) to posterize. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Dither method to use. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Dither method to use. + The channel(s) to posterize. + Thrown when an error is raised by ImageMagick. + + + + Sets an internal option to preserve the color type. + + Thrown when an error is raised by ImageMagick. + + + + Quantize image (reduce number of colors). + + Quantize settings. + The error information. + Thrown when an error is raised by ImageMagick. + + + + Raise image (lighten the edges of an image to give a 3-D raised effect). + + The size of the edges. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Applies soft and hard thresholding. + + Defines the minimum black threshold value. + Defines the minimum white threshold value. + Defines the maximum white threshold value. + Defines the maximum black threshold value. + Thrown when an error is raised by ImageMagick. + + + + Applies soft and hard thresholding. + + Defines the minimum black threshold value. + Defines the minimum white threshold value. + Defines the maximum white threshold value. + Defines the maximum black threshold value. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The color to fill the image with. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The byte array to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Reduce noise in image using a noise peak elimination filter. + + Thrown when an error is raised by ImageMagick. + + + + Reduce noise in image using a noise peak elimination filter. + + The order to use. + Thrown when an error is raised by ImageMagick. + + + + Associates a mask with the image as defined by the specified region. + + The mask region. + + + + Removes the artifact with the specified name. + + The name of the artifact. + + + + Removes the attribute with the specified name. + + The name of the attribute. + + + + Removes the region mask of the image. + + + + + Remove a profile from the image. + + The profile to remove. + Thrown when an error is raised by ImageMagick. + + + + Remove a named profile from the image. + + The name of the profile (e.g. "ICM", "IPTC", or a generic profile name). + Thrown when an error is raised by ImageMagick. + + + + Removes the associated read mask of the image. + + Thrown when an error is raised by ImageMagick. + + + + Removes the associated write mask of the image. + + Thrown when an error is raised by ImageMagick. + + + + Resets the page property of this image. + + Thrown when an error is raised by ImageMagick. + + + + Resize image in terms of its pixel size. + + The new X resolution. + The new Y resolution. + Thrown when an error is raised by ImageMagick. + + + + Resize image in terms of its pixel size. + + The density to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified geometry. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Roll image (rolls image vertically and horizontally). + + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Rotate image clockwise by specified number of degrees. + + Specify a negative number for to rotate counter-clockwise. + The number of degrees to rotate (positive to rotate clockwise, negative to rotate counter-clockwise). + Thrown when an error is raised by ImageMagick. + + + + Rotational blur image. + + The angle to use. + Thrown when an error is raised by ImageMagick. + + + + Rotational blur image. + + The angle to use. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm to the specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm to the specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm to the specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm to the specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Segment (coalesce similar image components) by analyzing the histograms of the color + components and identifying units that are homogeneous with the fuzzy c-means technique. + Also uses QuantizeColorSpace and Verbose image attributes. + + Thrown when an error is raised by ImageMagick. + + + + Segment (coalesce similar image components) by analyzing the histograms of the color + components and identifying units that are homogeneous with the fuzzy c-means technique. + Also uses QuantizeColorSpace and Verbose image attributes. + + Quantize colorspace. + This represents the minimum number of pixels contained in + a hexahedra before it can be considered valid (expressed as a percentage). + The smoothing threshold eliminates noise in the second + derivative of the histogram. As the value is increased, you can expect a smoother second + derivative. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Separates the channels from the image and returns it as grayscale images. + + The channels from the image as grayscale images. + Thrown when an error is raised by ImageMagick. + + + + Separates the specified channels from the image and returns it as grayscale images. + + The channel(s) to separates. + The channels from the image as grayscale images. + Thrown when an error is raised by ImageMagick. + + + + Applies a special effect to the image, similar to the effect achieved in a photo darkroom + by sepia toning. + + Thrown when an error is raised by ImageMagick. + + + + Applies a special effect to the image, similar to the effect achieved in a photo darkroom + by sepia toning. + + The tone threshold. + Thrown when an error is raised by ImageMagick. + + + + Inserts the artifact with the specified name and value into the artifact tree of the image. + + The name of the artifact. + The value of the artifact. + Thrown when an error is raised by ImageMagick. + + + + Inserts the artifact with the specified name and value into the artifact tree of the image. + + The name of the artifact. + The value of the artifact. + Thrown when an error is raised by ImageMagick. + + + + Lessen (or intensify) when adding noise to an image. + + The attenuate value. + + + + Sets a named image attribute. + + The name of the attribute. + The value of the attribute. + Thrown when an error is raised by ImageMagick. + + + + Sets a named image attribute. + + The name of the attribute. + The value of the attribute. + Thrown when an error is raised by ImageMagick. + + + + Set the bit depth (bits allocated to red/green/blue components). + + The depth. + Thrown when an error is raised by ImageMagick. + + + + Set the bit depth (bits allocated to red/green/blue components) of the specified channel. + + The depth. + The channel to set the depth for. + Thrown when an error is raised by ImageMagick. + + + + Sets the default clipping path. + + The clipping path. + Thrown when an error is raised by ImageMagick. + + + + Sets the clipping path with the specified name. + + The clipping path. + Name of clipping path resource. If name is preceded by #, use clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Sets the compression of the image. This method should only be used when the encoder uses the compression of the image. For + most usecases Setting.Compression should be used instead. + + The compression method. + + + + Set color at colormap position index. + + The position index. + The color. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + The color transformation mode. + Thrown when an error is raised by ImageMagick. + + + + Sets the associated read mask of the image. The mask must be the same dimensions as the image and + only contain the colors black and white. + + The image that contains the read mask. + Thrown when an error is raised by ImageMagick. + + + + Sets the associated write mask of the image. The mask must be the same dimensions as the image and + only contains the colors black and white. + + The image that contains the write mask. + Thrown when an error is raised by ImageMagick.z + + + + Shade image using distant light source. + + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + The azimuth of the light source direction. + The elevation of the light source direction. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + The azimuth of the light source direction. + The elevation of the light source direction. + The channel(s) that should be shaded. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + The azimuth of the light source direction. + The elevation of the light source direction. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + The azimuth of the light source direction. + The elevation of the light source direction. + The channel(s) that should be shaded. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + The color of the shadow. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + the shadow x-offset. + the shadow y-offset. + The standard deviation of the Gaussian, in pixels. + Transparency percentage. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + the shadow x-offset. + the shadow y-offset. + The standard deviation of the Gaussian, in pixels. + Transparency percentage. + The color of the shadow. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + + + + Shave pixels from image edges. + + The size of to shave of the image. + Thrown when an error is raised by ImageMagick. + + + + Shave pixels from image edges. + + The number of pixels to shave left and right. + The number of pixels to shave top and bottom. + Thrown when an error is raised by ImageMagick. + + + + Shear image (create parallelogram by sliding image by X or Y axis). + + Specifies the number of x degrees to shear the image. + Specifies the number of y degrees to shear the image. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + The channel(s) that should be adjusted. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The channel(s) to use. + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The channel(s) to use. + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Simulates a pencil sketch. + + Thrown when an error is raised by ImageMagick. + + + + Simulates a pencil sketch. We convolve the image with a Gaussian operator of the given + radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. + Use a radius of 0 and sketch selects a suitable radius for you. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Apply the effect along this angle. + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Sort pixels within each scanline in ascending order of intensity. + + Thrown when an error is raised by ImageMagick. + + + + Splice the background color into the image. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image. + + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image by specified amount. + + Choose a random pixel in a neighborhood of this extent. + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image by specified amount. + + Pixel interpolate method. + Choose a random pixel in a neighborhood of this extent. + Thrown when an error is raised by ImageMagick. + + + + Makes each pixel the min / max / median / mode / etc. of the neighborhood of the specified width + and height. + + The statistic type. + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Returns the image statistics. + + The image statistics. + Thrown when an error is raised by ImageMagick. + + + + Returns the image statistics. + + The image statistics. + The channel(s) that should be used. + Thrown when an error is raised by ImageMagick. + + + + Add a digital watermark to the image (based on second image). + + The image to use as a watermark. + Thrown when an error is raised by ImageMagick. + + + + Create an image which appears in stereo when viewed with red-blue glasses (Red image on + left, blue on right). + + The image to use as the right part of the resulting image. + Thrown when an error is raised by ImageMagick. + + + + Strips an image of all profiles and comments. + + Thrown when an error is raised by ImageMagick. + + + + Swirl image (image pixels are rotated by degrees). + + The number of degrees. + Thrown when an error is raised by ImageMagick. + + + + Swirl image (image pixels are rotated by degrees). + + Pixel interpolate method. + The number of degrees. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The metric to use. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The metric to use. + Minimum distortion for (sub)image match. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Channel a texture on image background. + + The image to use as a texture on the image background. + Thrown when an error is raised by ImageMagick. + + + + Threshold image. + + The threshold percentage. + Thrown when an error is raised by ImageMagick. + + + + Threshold image. + + The threshold percentage. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Compose an image repeated across and down the image. + + The image to composite with this image. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image repeated across and down the image. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Applies a color vector to each pixel in the image. The length of the vector is 0 for black + and white and at its maximum for the midtones. The vector weighting function is + f(x)=(1-(4.0*((x-0.5)*(x-0.5)))). + + An opacity value used for tinting. + A color value used for tinting. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a base64 . + + A base64 . + + + + Converts this instance to a base64 . + + The format to use. + A base64 . + + + + Converts this instance to a base64 . + + The defines to set. + A base64 . + + + + Converts this instance to a array. + + A array. + + + + Converts this instance to a array. + + The defines to set. + A array. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + The format to use. + A array. + Thrown when an error is raised by ImageMagick. + + + + Returns a string that represents the current image. + + A string that represents the current image. + + + + Transforms the image from the colorspace of the source profile to the target profile. This + requires the image to have a color profile. Nothing will happen if the image has no color profile. + + The target color profile. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. This + requires the image to have a color profile. Nothing will happen if the image has no color profile. + + The target color profile. + The color transformation mode. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. The + source profile will only be used if the image does not contain a color profile. Nothing + will happen if the source profile has a different colorspace then that of the image. + + The source color profile. + The target color profile. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. The + source profile will only be used if the image does not contain a color profile. Nothing + will happen if the source profile has a different colorspace then that of the image. + + The source color profile. + The target color profile. + The color transformation mode. + True when the colorspace was transformed otherwise false. + + + + Add alpha channel to image, setting pixels matching color to transparent. + + The color to make transparent. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that lie in between the given two colors to + transparent. + + The low target color. + The high target color. + Thrown when an error is raised by ImageMagick. + + + + Creates a horizontal mirror image by reflecting the pixels around the central y-axis while + rotating them by 90 degrees. + + Thrown when an error is raised by ImageMagick. + + + + Creates a vertical mirror image by reflecting the pixels around the central x-axis while + rotating them by 270 degrees. + + Thrown when an error is raised by ImageMagick. + + + + Trim edges that are the background color from the image. The property can be used to the + coordinates of the area that will be extracted. + + Thrown when an error is raised by ImageMagick. + + + + Trim the specified edges that are the background color from the image. + + The edges that need to be trimmed. + Thrown when an error is raised by ImageMagick. + + + + Trim edges that are the background color from the image. The property can be used to the + coordinates of the area that will be extracted. + + The percentage of background pixels permitted in the outer rows and columns. + Thrown when an error is raised by ImageMagick. + + + + Returns the unique colors of an image. + + The unique colors of an image. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The percentage of the difference between the original and the blur image + that is added back into the original. + The threshold in pixels needed to apply the diffence amount. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The percentage of the difference between the original and the blur image + that is added back into the original. + The threshold in pixels needed to apply the diffence amount. + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Softens the edges of the image in vignette style. + + Thrown when an error is raised by ImageMagick. + + + + Softens the edges of the image in vignette style. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The x ellipse offset. + the y ellipse offset. + Thrown when an error is raised by ImageMagick. + + + + Map image pixels to a sine wave. + + Thrown when an error is raised by ImageMagick. + + + + Map image pixels to a sine wave. + + Pixel interpolate method. + The amplitude. + The length of the wave. + Thrown when an error is raised by ImageMagick. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + Attenuate the smoothing threshold. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + Attenuate the smoothing threshold. + + + + Apply a white balancing to an image according to a grayworld assumption in the LAB colorspace. + + + + + Apply a white balancing to an image according to a grayworld assumption in the LAB colorspace. + + The vibrance. + + + + Forces all pixels above the threshold into white while leaving all pixels at or below + the threshold unchanged. + + The threshold to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels above the threshold into white while leaving all pixels at or below + the threshold unchanged. + + The threshold to use. + The channel(s) to make black. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Represents the collection of images. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The images to add to the collection. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Finalizes an instance of the class. + + + + + Event that will we raised when a warning is thrown by ImageMagick. + + + + + Gets the number of images in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Gets or sets the image at the specified index. + + The index of the image to get. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that iterates through the collection. + + + + Adds an image to the collection. + + The image to add. + + + + Adds an image with the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified byte array to the collection. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified byte array to the collection. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Adds the specified images to this collection. + + The images to add to the collection. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified stream to the collection. + + The stream to read the images from. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified stream to the collection. + + The stream to read the images from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Creates a single image, by appending all the images in the collection horizontally (+append). + + A single image, by appending all the images in the collection horizontally (+append). + Thrown when an error is raised by ImageMagick. + + + + Creates a single image, by appending all the images in the collection vertically (-append). + + A single image, by appending all the images in the collection vertically (-append). + Thrown when an error is raised by ImageMagick. + + + + Merge a sequence of images. This is useful for GIF animation sequences that have page + offsets and disposal methods. + + Thrown when an error is raised by ImageMagick. + + + + Removes all images from the collection. + + + + + Creates a clone of the current image collection. + + A clone of the current image collection. + + + + Combines the images into a single image. The typical ordering would be + image 1 => Red, 2 => Green, 3 => Blue, etc. + + The images combined into a single image. + Thrown when an error is raised by ImageMagick. + + + + Combines the images into a single image. The grayscale value of the pixels of each image + in the sequence is assigned in order to the specified channels of the combined image. + The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc. + + The image colorspace. + The images combined into a single image. + Thrown when an error is raised by ImageMagick. + + + + Perform complex mathematics on an image sequence. + + The complex settings. + Thrown when an error is raised by ImageMagick. + + + + Determines whether the collection contains the specified image. + + The image to check. + True when the collection contains the specified image. + + + + Copies the images to an , starting at a particular index. + + The one-dimensional that is the destination. + The zero-based index in 'destination' at which copying begins. + + + + Break down an image sequence into constituent parts. This is useful for creating GIF or + MNG animation sequences. + + Thrown when an error is raised by ImageMagick. + + + + Disposes the instance. + + + + + Evaluate image pixels into a single image. All the images in the collection must be the + same size in pixels. + + The operator. + The resulting image of the evaluation. + Thrown when an error is raised by ImageMagick. + + + + Use the virtual canvas size of first image. Images which fall outside this canvas is clipped. + This can be used to 'fill out' a given virtual canvas. + + The resulting image of the flatten operation. + Thrown when an error is raised by ImageMagick. + + + + Flatten this collection into a single image. + This is useful for combining Photoshop layers into a single image. + + The background color of the output image. + The resulting image of the flatten operation. + + + + Returns an enumerator that iterates through the images. + + An enumerator that iterates through the images. + + + + Determines the index of the specified image. + + The image to check. + The index of the specified image. + + + + Inserts an image into the collection. + + The index to insert the image. + The image to insert. + + + + Inserts an image with the specified file name into the collection. + + The index to insert the image. + The fully qualified name of the image file, or the relative image file name. + + + + Remap image colors with closest color from reference image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Quantize settings. + Thrown when an error is raised by ImageMagick. + + + + Merge all layers onto a canvas just large enough to hold all the actual images. The virtual + canvas of the first image is preserved but otherwise ignored. + + The resulting image of the merge operation. + Thrown when an error is raised by ImageMagick. + + + + Create a composite image by combining the images with the specified settings. + + The settings to use. + The resulting image of the montage operation. + Thrown when an error is raised by ImageMagick. + + + + The Morph method requires a minimum of two images. The first image is transformed into + the second by a number of intervening images as specified by frames. + + The number of in-between images to generate. + Thrown when an error is raised by ImageMagick. + + + + Start with the virtual canvas of the first image, enlarging left and right edges to contain + all images. Images with negative offsets will be clipped. + + The resulting image of the mosaic operation. + Thrown when an error is raised by ImageMagick. + + + + Compares each image the GIF disposed forms of the previous image in the sequence. From + this it attempts to select the smallest cropped image to replace each frame, while + preserving the results of the GIF animation. + + Thrown when an error is raised by ImageMagick. + + + + OptimizePlus is exactly as Optimize, but may also add or even remove extra frames in the + animation, if it improves the total number of pixels in the resulting GIF animation. + + Thrown when an error is raised by ImageMagick. + + + + Compares each image the GIF disposed forms of the previous image in the sequence. Any + pixel that does not change the displayed result is replaced with transparency. + + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The file to read the frames from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The file to read the frames from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Returns a new image where each pixel is the sum of the pixels in the image sequence after applying its + corresponding terms (coefficient and degree pairs). + + The list of polynomial coefficients and degree pairs and a constant. + A new image where each pixel is the sum of the pixels in the image sequence after applying its + corresponding terms (coefficient and degree pairs). + + + + Quantize images (reduce number of colors). + + The resulting image of the quantize operation. + Thrown when an error is raised by ImageMagick. + + + + Quantize images (reduce number of colors). + + Quantize settings. + The resulting image of the quantize operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Removes the first occurrence of the specified image from the collection. + + The image to remove. + True when the image was found and removed. + + + + Removes the image at the specified index from the collection. + + The index of the image to remove. + + + + Resets the page property of every image in the collection. + + Thrown when an error is raised by ImageMagick. + + + + Reverses the order of the images in the collection. + + + + + Smush images from list into single image in horizontal direction. + + Minimum distance in pixels between images. + The resulting image of the smush operation. + Thrown when an error is raised by ImageMagick. + + + + Smush images from list into single image in vertical direction. + + Minimum distance in pixels between images. + The resulting image of the smush operation. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + A array. + + + + Converts this instance to a array. + + The defines to set. + A array. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + A array. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a base64 . + + A base64 . + + + + Converts this instance to a base64 string. + + The format to use. + A base64 . + + + + Determine the overall bounds of all the image layers just as in , + then adjust the the canvas and offsets to be relative to those bounds, + without overlaying the images. + + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Class that contains basic information about an image. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Gets the color space of the image. + + + + + Gets the compression method of the image. + + + + + Gets the density of the image. + + + + + Gets the original file name of the image (only available if read from disk). + + + + + Gets the format of the image. + + + + + Gets the height of the image. + + + + + Gets the type of interlacing. + + + + + Gets the JPEG/MIFF/PNG compression level. + + + + + Gets the width of the image. + + + + + Read basic information about an image with multiple frames/pages. + + The byte array to read the information from. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The file to read the frames from. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The stream to read the image data from. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The fully qualified name of the image file, or the relative image file name. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to initialize Magick.NET. + + + + + Event that will be raised when something is logged by ImageMagick. + + + + + Event that will be raised when something is logged by ImageMagick. + + + + + Gets the ImageMagick delegate libraries. + + + + + Gets the ImageMagick features. + + + + + Gets the information about the supported formats. + + + + + Gets the font families that are known by ImageMagick. + + + + + Gets the font names that are known by ImageMagick. + + + + + Gets the version of ImageMagick. + + + + + Gets the version of Magick.NET. + + + + + Gets the ImageMagick delegate libraries. + + + + + Gets the ImageMagick features. + + + + + Gets the information about the supported formats. + + + + + Gets the font families that are known by ImageMagick. + + + + + Gets the font names that are known by ImageMagick. + + + + + Gets the version of ImageMagick. + + + + + Gets the version of Magick.NET. + + + + + Gets the environment variable with the specified name. + + The name of the environment variable. + The environment variable with the specified name. + + + + Initializes ImageMagick. + + + + + Initializes ImageMagick with the xml files that are located in the specified path. + + The path that contains the ImageMagick xml files. + + + + Initializes ImageMagick with the specified configuration files and returns the path to the + temporary directory where the xml files were saved. + + The configuration files ot initialize ImageMagick with. + The path of the folder that was created and contains the configuration files. + + + + Initializes ImageMagick with the specified configuration files in the specified the path. + + The configuration files ot initialize ImageMagick with. + The directory to save the configuration files in. + + + + Resets the pseudo-random number generator secret key. + + + + + Set the path to the default font file. + + The file to use at the default font file. + + + + Set the path to the default font file. + + The file name to use at the default font file. + + + + Set the environment variable with the specified name to the specified value. + + The name of the environment variable. + The value of the environment variable. + + + + Sets the directory that contains the FontConfig configuration files. + + The path of the FontConfig directory. + + + + Sets the directory that contains the Ghostscript file gsdll32.dll / gsdll64.dll. + This method is only supported on Windows. + + The path of the Ghostscript directory. + + + + Sets the directory that contains the Ghostscript font files. + This method is only supported on Windows. + + The path of the Ghostscript font directory. + + + + Set the events that will be written to the log. The log will be written to the Log event + and the debug window in VisualStudio. To change the log settings you must use a custom + log.xml file. + + The events that will be logged. + + + + Sets the directory that contains the Native library. This currently only works on Windows. + + The path of the directory that contains the native library. + + + + Sets the directory that will be used when ImageMagick does not have enough memory for the + pixel cache. + + The path where temp files will be written. + + + + Sets the pseudo-random number generator secret key. + + The secret key. + + + + Gets the environment variable with the specified name. + + The name of the environment variable. + The environment variable with the specified name. + + + + Initializes ImageMagick. + + + + + Initializes ImageMagick with the xml files that are located in the specified path. + + The path that contains the ImageMagick xml files. + + + + Initializes ImageMagick with the specified configuration files and returns the path to the + temporary directory where the xml files were saved. + + The configuration files ot initialize ImageMagick with. + The path of the folder that was created and contains the configuration files. + + + + Initializes ImageMagick with the specified configuration files in the specified the path. + + The configuration files ot initialize ImageMagick with. + The directory to save the configuration files in. + + + + Resets the pseudo-random number generator secret key. + + + + + Set the path to the default font file. + + The file to use at the default font file. + + + + Set the path to the default font file. + + The file name to use at the default font file. + + + + Set the environment variable with the specified name to the specified value. + + The name of the environment variable. + The value of the environment variable. + + + + Sets the directory that contains the FontConfig configuration files. + + The path of the FontConfig directory. + + + + Sets the directory that contains the Ghostscript file gsdll32.dll / gsdll64.dll. + This method is only supported on Windows. + + The path of the Ghostscript directory. + + + + Sets the directory that contains the Ghostscript font files. + This method is only supported on Windows. + + The path of the Ghostscript font directory. + + + + Set the events that will be written to the log. The log will be written to the Log event + and the debug window in VisualStudio. To change the log settings you must use a custom + log.xml file. + + The events that will be logged. + + + + Sets the directory that contains the Native library. This currently only works on Windows. + + The path of the directory that contains the native library. + + + + Sets the directory that will be used when ImageMagick does not have enough memory for the + pixel cache. + + The path where temp files will be written. + + + + Sets the pseudo-random number generator secret key. + + The secret key. + + + + Encapsulates a convolution kernel. + + + + + Initializes a new instance of the class. + + The order (odd number). + + + + Initializes a new instance of the class. + + The order (odd number). + The values to initialize the matrix with. + + + + Encapsulates a matrix of doubles. + + + + + Initializes a new instance of the class. + + The order. + The values to initialize the matrix with. + + + + Gets the order of the matrix. + + + + + Get or set the value at the specified x/y position. + + The x position. + The y position. + + + + Gets the value at the specified x/y position. + + The x position. + The y position. + The value at the specified x/y position. + + + + Set the column at the specified x position. + + The x position. + The values. + + + + Set the row at the specified y position. + + The y position. + The values. + + + + Set the value at the specified x/y position. + + The x position. + The y position. + The value. + + + + Returns a string that represents the current DoubleMatrix. + + The double array. + + + + Encapsulates a color matrix in the order of 1 to 6 (1x1 through 6x6). + + + + + Initializes a new instance of the class. + + The order (1 to 6). + + + + Initializes a new instance of the class. + + The order (1 to 6). + The values to initialize the matrix with. + + + + Interface for a native instance. + + + + + Gets a pointer to the native instance. + + + + + Class that can be used to initialize OpenCL. + + + + + Gets or sets a value indicating whether OpenCL is enabled. + + + + + Gets all the OpenCL devices. + + A iteration. + + + + Gets or sets a value indicating whether OpenCL is enabled. + + + + + Gets all the OpenCL devices. + + A iteration. + + + + Sets the directory that will be used by ImageMagick to store OpenCL cache files. + + The path of the OpenCL cache directory. + + + + Sets the directory that will be used by ImageMagick to store OpenCL cache files. + + The path of the OpenCL cache directory. + + + + Represents an OpenCL device. + + + + + Gets the benchmark score of the device. + + + + + Gets the type of the device. + + + + + Gets or sets a value indicating whether the device is enabled or disabled. + + + + + Gets all the kernel profile records for this devices. + + A . + + + + Gets the name of the device. + + + + + Gets or sets a value indicating whether kernel profiling is enabled. + This can be used to get information about the OpenCL performance. + + + + + Gets the OpenCL version supported by the device. + + + + + Represents a kernel profile record for an OpenCL device. + + + + + Gets the average duration of all executions in microseconds. + + + + + Gets the number of times that this kernel was executed. + + + + + Gets the maximum duration of a single execution in microseconds. + + + + + Gets the minimum duration of a single execution in microseconds. + + + + + Gets the name of the device. + + + + + Gets the total duration of all executions in microseconds. + + + + + Class that can be used to acquire information about the Quantum. + + + + + Gets the quantum depth. + + + + + Gets the maximum value of the quantum. + + + + + Gets the quantum depth. + + + + + Gets the maximum value of the quantum. + + + + + Class that can be used to set the limits to the resources that are being used. + + + + + Gets or sets the maximum width * height of an image that can reside in the pixel cache memory. + Images that exceed the area limit are cached to disk. + + + + + Gets or sets the pixel cache limit in bytes. Requests for memory above this limit will fail. + + + + + Gets or sets the maximum height of an image. + + + + + Gets or sets the maximum number of images in an image list. + + + + + Gets or sets the max memory request in bytes. ImageMagick maintains a separate memory pool for large + resource requests. If the limit is exceeded, the allocation is instead memory-mapped on disk. + + + + + Gets or sets the pixel cache limit in bytes. Once this memory limit is exceeded, all subsequent pixels cache + operations are to/from disk. + + + + + Gets or sets the number of threads used in multithreaded operations. + + + + + Gets or sets the time specified in milliseconds to periodically yield the CPU for. + + + + + Gets or sets the maximum width of an image. + + + + + Gets or sets the maximum width * height of an image that can reside in the pixel cache memory. + Images that exceed the area limit are cached to disk. + + + + + Gets or sets the pixel cache limit in bytes. Requests for memory above this limit will fail. + + + + + Gets or sets the maximum height of an image. + + + + + Gets or sets the maximum number of images in an image list. + + + + + Gets or sets the max memory request in bytes. ImageMagick maintains a separate memory pool for large + resource requests. If the limit is exceeded, the allocation is instead memory-mapped on disk. + + + + + Gets or sets the pixel cache limit in bytes. Once this memory limit is exceeded, all subsequent pixels cache + operations are to/from disk. + + + + + Gets or sets the number of threads used in multithreaded operations. + + + + + Gets or sets the time specified in milliseconds to periodically yield the CPU for. + + + + + Gets or sets the maximum width of an image. + + + + + Set the maximum percentage of memory that can be used for image data. This also changes + the limit to four times the number of bytes. + + The percentage to use. + + + + Set the maximum percentage of memory that can be used for image data. This also changes + the limit to four times the number of bytes. + + The percentage to use. + + + + Class that contains various settings. + + + + + Gets or sets the affine to use when annotating with text or drawing. + + + + + Gets or sets a value indicating whether anti-aliasing should be enabled (default true). + + + + + Gets or sets the background color. + + + + + Gets or sets the border color. + + + + + Gets or sets the color space. + + + + + Gets or sets the color type of the image. + + + + + Gets or sets the compression method to use. + + + + + Gets or sets a value indicating whether printing of debug messages from ImageMagick is enabled when a debugger is attached. + + + + + Gets or sets the vertical and horizontal resolution in pixels. + + + + + Gets or sets the depth (bits allocated to red/green/blue components). + + + + + Gets or sets the endianness (little like Intel or big like SPARC) for image formats which support + endian-specific options. + + + + + Gets or sets the fill color. + + + + + Gets or sets the fill pattern. + + + + + Gets or sets the rule to use when filling drawn objects. + + + + + Gets or sets the text rendering font. + + + + + Gets or sets the text font family. + + + + + Gets or sets the font point size. + + + + + Gets or sets the font style. + + + + + Gets or sets the font weight. + + + + + Gets or sets the the format of the image. + + + + + Gets or sets the preferred size and location of an image canvas. + + + + + Gets or sets a value indicating whether stroke anti-aliasing is enabled or disabled. + + + + + Gets or sets the color to use when drawing object outlines. + + + + + Gets or sets the pattern of dashes and gaps used to stroke paths. This represents a + zero-terminated array of numbers that specify the lengths of alternating dashes and gaps + in pixels. If a zero value is not found it will be added. If an odd number of values is + provided, then the list of values is repeated to yield an even number of values. + + + + + Gets or sets the distance into the dash pattern to start the dash (default 0) while + drawing using a dash pattern,. + + + + + Gets or sets the shape to be used at the end of open subpaths when they are stroked. + + + + + Gets or sets the shape to be used at the corners of paths (or other vector shapes) when they + are stroked. + + + + + Gets or sets the miter limit. When two line segments meet at a sharp angle and miter joins have + been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness + of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter + length to the 'lineWidth'. The default value is 4. + + + + + Gets or sets the pattern image to use while stroking object outlines. + + + + + Gets or sets the stroke width for drawing lines, circles, ellipses, etc. + + + + + Gets or sets a value indicating whether Postscript and TrueType fonts should be anti-aliased (default true). + + + + + Gets or sets text direction (right-to-left or left-to-right). + + + + + Gets or sets the text annotation encoding (e.g. "UTF-16"). + + + + + Gets or sets the text annotation gravity. + + + + + Gets or sets the text inter-line spacing. + + + + + Gets or sets the text inter-word spacing. + + + + + Gets or sets the text inter-character kerning. + + + + + Gets or sets the text undercolor box. + + + + + Gets or sets a value indicating whether verbose output os turned on or off. + + + + + Gets or sets the specified area to extract from the image. + + + + + Gets or sets the number of scenes. + + + + + Gets or sets a value indicating whether a monochrome reader should be used. + + + + + Gets or sets the size of the image. + + + + + Gets or sets the active scene. + + + + + Gets or sets scenes of the image. + + + + + Returns the value of a format-specific option. + + The format to get the option for. + The name of the option. + The value of a format-specific option. + + + + Returns the value of a format-specific option. + + The name of the option. + The value of a format-specific option. + + + + Removes the define with the specified name. + + The format to set the define for. + The name of the define. + + + + Removes the define with the specified name. + + The name of the define. + + + + Sets a format-specific option. + + The format to set the define for. + The name of the define. + The value of the define. + + + + Sets a format-specific option. + + The format to set the define for. + The name of the define. + The value of the define. + + + + Sets a format-specific option. + + The format to set the option for. + The name of the option. + The value of the option. + + + + Sets a format-specific option. + + The name of the option. + The value of the option. + + + + Sets format-specific options with the specified defines. + + The defines to set. + + + + Copies the settings from the specified . + + The settings to copy the data from. + + + + Gets an image option. + + The key of the option. + The value of the option. + + + + Sets an image option. + + The key of the option. + The value of the option. + + + + Class that contains setting for the montage operation. + + + + + Gets or sets the color of the background that thumbnails are composed on. + + + + + Gets or sets the frame border color. + + + + + Gets or sets the pixels between thumbnail and surrounding frame. + + + + + Gets or sets the fill color. + + + + + Gets or sets the label font. + + + + + Gets or sets the font point size. + + + + + Gets or sets the frame geometry (width & height frame thickness). + + + + + Gets or sets the thumbnail width & height plus border width & height. + + + + + Gets or sets the thumbnail position (e.g. SouthWestGravity). + + + + + Gets or sets the thumbnail label (applied to image prior to montage). + + + + + Gets or sets a value indicating whether drop-shadows on thumbnails are enabled or disabled. + + + + + Gets or sets the outline color. + + + + + Gets or sets the background texture image. + + + + + Gets or sets the frame geometry (width & height frame thickness). + + + + + Gets or sets the montage title. + + + + + Gets or sets the transparent color. + + + + + Class that contains setting for quantize operations. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the maximum number of colors to quantize to. + + + + + Gets or sets the colorspace to quantize in. + + + + + Gets or sets the dither method to use. + + + + + Gets or sets a value indicating whether errors should be measured. + + + + + Gets or sets the quantization tree-depth. + + + + + The normalized moments of one image channels. + + + + + Gets the centroid. + + + + + Gets the channel of this moment. + + + + + Gets the ellipse axis. + + + + + Gets the ellipse angle. + + + + + Gets the ellipse eccentricity. + + + + + Gets the ellipse intensity. + + + + + Returns the Hu invariants. + + The index to use. + The Hu invariants. + + + + Contains the he perceptual hash of one image channel. + + + + + Initializes a new instance of the class. + + The channel. + SRGB hu perceptual hash. + Hclp hu perceptual hash. + A string representation of this hash. + + + + Gets the channel. + + + + + SRGB hu perceptual hash. + + The index to use. + The SRGB hu perceptual hash. + + + + Hclp hu perceptual hash. + + The index to use. + The Hclp hu perceptual hash. + + + + Returns the sum squared difference between this hash and the other hash. + + The to get the distance of. + The sum squared difference between this hash and the other hash. + + + + Returns a string representation of this hash. + + A string representation of this hash. + + + + Encapsulation of the ImageMagick ImageChannelStatistics object. + + + + + Gets the channel. + + + + + Gets the depth of the channel. + + + + + Gets the entropy. + + + + + Gets the kurtosis. + + + + + Gets the maximum value observed. + + + + + Gets the average (mean) value observed. + + + + + Gets the minimum value observed. + + + + + Gets the skewness. + + + + + Gets the standard deviation, sqrt(variance). + + + + + Gets the sum. + + + + + Gets the sum cubed. + + + + + Gets the sum fourth power. + + + + + Gets the sum squared. + + + + + Gets the variance. + + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The channel statistics to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + The normalized moments of one or more image channels. + + + + + Gets the moments for the all the channels. + + The moments for the all the channels. + + + + Gets the moments for the specified channel. + + The channel to get the moments for. + The moments for the specified channel. + + + + Contains the he perceptual hash of one or more image channels. + + + + + Initializes a new instance of the class. + + The hash. + + + + Returns the perceptual hash for the specified channel. + + The channel to get the has for. + The perceptual hash for the specified channel. + + + + Returns the sum squared difference between this hash and the other hash. + + The to get the distance of. + The sum squared difference between this hash and the other hash. + + + + Returns a string representation of this hash. + + A . + + + + Encapsulation of the ImageMagick ImageStatistics object. + + + + + Gets the channels. + + + + + Returns the statistics for the all the channels. + + The statistics for the all the channels. + + + + Returns the statistics for the specified channel. + + The channel to get the statistics for. + The statistics for the specified channel. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + Truw when the specified object is equal to the current . + + + + Determines whether the specified image statistics is equal to the current . + + The image statistics to compare this with. + True when the specified image statistics is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Encapsulation of the ImageMagick connected component object. + + + + + Gets the pixel count of the area. + + + + + Gets the centroid of the area. + + + + + Gets the color of the area. + + + + + Gets the height of the area. + + + + + Gets the id of the area. + + + + + Gets the width of the area. + + + + + Gets the X offset from origin. + + + + + Gets the Y offset from origin. + + + + + Returns the geometry of the area of this connected component. + + The geometry of the area of this connected component. + + + + Returns the geometry of the area of this connected component. + + The number of pixels to extent the image with. + The geometry of the area of this connected component. + + + + Encapsulation of the ImageMagick geometry object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the specified width and height. + + The width and height. + + + + Initializes a new instance of the class using the specified width and height. + + The width. + The height. + + + + Initializes a new instance of the class using the specified offsets, width and height. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + + + + Initializes a new instance of the class using the specified width and height. + + The percentage of the width. + The percentage of the height. + + + + Initializes a new instance of the class using the specified offsets, width and height. + + The X offset from origin. + The Y offset from origin. + The percentage of the width. + The percentage of the height. + + + + Initializes a new instance of the class using the specified geometry. + + Geometry specifications in the form: <width>x<height> + {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers). + + + + Gets a value indicating whether the value is an aspect ratio. + + + + + Gets or sets a value indicating whether the image is resized based on the smallest fitting dimension (^). + + + + + Gets or sets a value indicating whether the image is resized if image is greater than size (>). + + + + + Gets or sets the height of the geometry. + + + + + Gets or sets a value indicating whether the image is resized without preserving aspect ratio (!). + + + + + Gets or sets a value indicating whether the width and height are expressed as percentages. + + + + + Gets or sets a value indicating whether the image is resized if the image is less than size (<). + + + + + Gets or sets a value indicating whether the image is resized using a pixel area count limit (@). + + + + + Gets or sets the width of the geometry. + + + + + Gets or sets the X offset from origin. + + + + + Gets or sets the Y offset from origin. + + + + + Converts the specified string to an instance of this type. + + Geometry specifications in the form: <width>x<height> + {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers). + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Initializes a new instance using the specified page size. + + The page size. + A instance that represents the specified page size. + + + + Compares the current instance with another object of the same type. + + The object to compare this geometry with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Initializes the geometry using the sepcified value. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + + + + Returns a string that represents the current . + + A string that represents the current . + + + + PrimaryInfo information. + + + + + Initializes a new instance of the class. + + The x value. + The y value. + The z value. + + + + Gets the X value. + + + + + Gets the Y value. + + + + + Gets the Z value. + + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Used to obtain font metrics for text string given current font, pointsize, and density settings. + + + + + Gets the ascent, the distance in pixels from the text baseline to the highest/upper grid coordinate + used to place an outline point. + + + + + Gets the descent, the distance in pixels from the baseline to the lowest grid coordinate used to + place an outline point. Always a negative value. + + + + + Gets the maximum horizontal advance in pixels. + + + + + Gets the text height in pixels. + + + + + Gets the text width in pixels. + + + + + Gets the underline position. + + + + + Gets the underline thickness. + + + + + Class that can be used to access an individual pixel of an image. + + + + + Initializes a new instance of the class. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The value of the pixel. + + + + Initializes a new instance of the class. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The number of channels. + + + + Gets the number of channels that the pixel contains. + + + + + Gets the X coordinate of the pixel. + + + + + Gets the Y coordinate of the pixel. + + + + + Returns the value of the specified channel. + + The channel to get the value for. + + + + Determines whether the specified object is equal to the current pixel. + + The object to compare pixel color with. + True when the specified object is equal to the current pixel. + + + + Determines whether the specified color is equal to the current pixel. + + The color to compare this pixel with. + True when the specified color is equal to the current pixel. + + + + Determines whether the specified pixel is equal to the current pixel. + + The pixel to compare this pixel with. + True when the specified pixel is equal to the current pixel. + + + + Returns the value of the specified channel. + + The channel to get the value of. + The value of the specified channel. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Set the value of the specified channel. + + The channel to set the value of. + The value. + + + + Sets the values of this pixel. + + The values. + + + + Returns the value of this pixel as an array. + + A array. + + + + Converts the pixel to a color. Assumes the pixel is RGBA. + + A instance. + + + + Class that contains setting for the compare operations. + + + + + Gets or sets the error metric to use. + + + + + Gets or sets the color that emphasize pixel differences. + + + + + Gets or sets the color that de-emphasize pixel differences. + + + + + Gets or sets the color of pixels that are inside the read mask. + + + + + Class that contains setting for the complex operation. + + + + + Gets or sets the complex operator. + + + + + Gets or sets the signal to noise ratio. + + + + + Class that contains setting for the connected components operation. + + + + + Gets or sets the threshold that merges any object not within the min and max angle threshold. + + + + + Gets or sets the threshold that eliminate small objects by merging them with their larger neighbors. + + + + + Gets or sets the threshold that merges any object not within the min and max circularity threshold. + + + + + Gets or sets how many neighbors to visit, choose from 4 or 8. + + + + + Gets or sets the threshold that merges any object not within the min and max diameter threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max eccentricity threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max ellipse major threshold. + + + + + Gets or sets a value indicating whether the object color in the labeled image will be replaced with the mean-color from the source image. + + + + + Gets or sets the threshold that merges any object not within the min and max ellipse minor threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max perimeter threshold. + + + + + Class that contains setting for the deskew operation. + + + + + Gets or sets a value indicating whether the image should be auto cropped after deskewing. + + + + + Gets or sets the threshold. + + + + + Class that contains setting for the distort operation. + + + + + Gets or sets a value indicating whether distort attempt to 'bestfit' the size of the resulting image. + + + + + Gets or sets a value to scale the size of the output canvas by this amount to provide a method of + Zooming, and for super-sampling the results. + + + + + Gets or sets the viewport that directly set the output image canvas area and offest to use for the + resulting image, rather than use the original images canvas, or a calculated 'bestfit' canvas. + + + + + Class that contains setting for the kmeans operation. + + + + + Gets or sets the seed clusters from color list (e.g. red;green;blue). + + + + + Gets or sets the number of colors to use as seeds. + + + + + Gets or sets the maximum number of iterations while converging. + + + + + Gets or sets the maximum tolerance. + + + + + Class that contains setting for when an image is being read. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified defines. + + The read defines to set. + + + + Gets or sets the defines that should be set before the image is read. + + + + + Gets or sets the specified area to extract from the image. + + + + + Gets or sets the index of the image to read from a multi layer/frame image. + + + + + Gets or sets the number of images to read from a multi layer/frame image. + + + + + Gets or sets the height. + + + + + Gets or sets a value indicating whether the exif profile should be used to update some of the + properties of the image (e.g. , ). + + + + + Gets or sets a value indicating whether the tiff profile should be used to update some of the + properties of the image (e.g. , ). + + + + + Gets or sets a value indicating whether the monochrome reader shoul be used. This is + supported by: PCL, PDF, PS and XPS. + + + + + Gets or sets the width. + + + + + Class that contains setting for the morphology operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the channels to apply the kernel to. + + + + + Gets or sets the bias to use when the method is Convolve. + + + + + Gets or sets the scale to use when the method is Convolve. + + + + + Gets or sets the number of iterations. + + + + + Gets or sets built-in kernel. + + + + + Gets or sets kernel arguments. + + + + + Gets or sets the morphology method. + + + + + Gets or sets user suplied kernel. + + + + + Class that contains setting for when pixels are imported. + + + + + Initializes a new instance of the class. + + The width. + The height. + The pixel storage type. + The mapping of the pixels. + + + + Initializes a new instance of the class. + + The width. + The height. + The pixel storage type. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + Initializes a new instance of the class. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + The pixel storage type. + The mapping of the pixels. + + + + Initializes a new instance of the class. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + The pixel storage type. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + Gets the height of the pixel area. + + + + + Gets the width of the pixel area. + + + + + Gets the X offset from origin. + + + + + Gets the Y offset from origin. + + + + + Gets or sets the mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + + Gets the pixel storage type. + + + + + Class that contains setting for when pixels are read. + + + + + Initializes a new instance of the class. + + The width. + The height. + The pixel storage type. + The mapping of the pixels. + + + + Initializes a new instance of the class. + + The width. + The height. + The pixel storage type. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + Gets or sets the mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + + Gets or sets the pixel storage type. + + + + + Gets the settings to use when reading the image. + + + + + Encapsulates the error information. + + + + + Gets the mean error per pixel computed when an image is color reduced. + + + + + Gets the normalized maximum error per pixel computed when an image is color reduced. + + + + + Gets the normalized mean error per pixel computed when an image is color reduced. + + + + + Result for a sub image search operation. + + + + + Gets the offset for the best match. + + + + + Gets the a similarity image such that an exact match location is completely white and if none of + the pixels match, black, otherwise some gray level in-between. + + + + + Gets the similarity metric. + + + + + Disposes the instance. + + + + + Represents an argument for the SparseColor method. + + + + + Initializes a new instance of the class. + + The X position. + The Y position. + The color. + + + + Gets or sets the X position. + + + + + Gets or sets the Y position. + + + + + Gets or sets the color. + + + + diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard21/Magick.NET-Q8-AnyCPU.dll b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard21/Magick.NET-Q8-AnyCPU.dll new file mode 100644 index 0000000..78bd7ff Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard21/Magick.NET-Q8-AnyCPU.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard21/Magick.NET-Q8-AnyCPU.xml b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard21/Magick.NET-Q8-AnyCPU.xml new file mode 100644 index 0000000..e20873d --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/lib/netstandard21/Magick.NET-Q8-AnyCPU.xml @@ -0,0 +1,17455 @@ + + + + Magick.NET-Q8-AnyCPU + + + + + Base class for colors. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Gets the actual color of this instance. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Compares the current instance with another object of the same type. + + The object to compare this color with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current instance. + + The object to compare this color with. + True when the specified object is equal to the current instance. + + + + Determines whether the specified color is equal to the current color. + + The color to compare this color with. + True when the specified color is equal to the current instance. + + + + Determines whether the specified color is fuzzy equal to the current color. + + The color to compare this color with. + The fuzz factor. + True when the specified color is fuzzy equal to the current instance. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts the value of this instance to an equivalent . + + A instance. + + + + Converts the value of this instance to a hexadecimal string. + + The . + + + + Updates the color value from an inherited class. + + + + + Class that represents a CMYK color. + + + + + Initializes a new instance of the class. + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Key (black) component value of this color. + + + + Initializes a new instance of the class. + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Key (black) component value of this color. + Alpha component value of this color. + + + + Initializes a new instance of the class. + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Key (black) component value of this color. + + + + Initializes a new instance of the class. + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Key (black) component value of this color. + Alpha component value of this color. + + + + Initializes a new instance of the class. + + The CMYK hex string or name of the color (http://www.imagemagick.org/script/color.php). + For example: #F000, #FF000000. + + + + Gets or sets the alpha component value of this color. + + + + + Gets or sets the cyan component value of this color. + + + + + Gets or sets the key (black) component value of this color. + + + + + Gets or sets the magenta component value of this color. + + + + + Gets or sets the yellow component value of this color. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Class that represents a gray color. + + + + + Initializes a new instance of the class. + + Value between 0.0 - 1.0. + + + + Gets or sets the shade of this color (value between 0.0 - 1.0). + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Updates the color value in an inherited class. + + + + + Class that represents a HSL color. + + + + + Initializes a new instance of the class. + + Hue component value of this color. + Saturation component value of this color. + Lightness component value of this color. + + + + Gets or sets the hue component value of this color. + + + + + Gets or sets the lightness component value of this color. + + + + + Gets or sets the saturation component value of this color. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Updates the color value in an inherited class. + + + + + Class that represents a HSV color. + + + + + Initializes a new instance of the class. + + Hue component value of this color. + Saturation component value of this color. + Value component value of this color. + + + + Gets or sets the hue component value of this color. + + + + + Gets or sets the saturation component value of this color. + + + + + Gets or sets the value component value of this color. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Performs a hue shift with the specified degrees. + + The degrees. + + + + Updates the color value in an inherited class. + + + + + Class that represents a monochrome color. + + + + + Gets a new instance of the class that is black. + + + + + Gets a new instance of the class that is black. + + + + + Gets or sets a value indicating whether the color is black or white. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Updates the color value in an inherited class. + + + + + Class that represents a RGB color. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Initializes a new instance of the class. + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + + + + Gets or sets the blue component value of this color. + + + + + Gets or sets the green component value of this color. + + + + + Gets or sets the red component value of this color. + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Returns the complementary color for this color. + + A instance. + + + + Class that represents a YUV color. + + + + + Initializes a new instance of the class. + + Y component value of this color. + U component value of this color. + V component value of this color. + + + + Gets or sets the U component value of this color. (value beteeen -0.5 and 0.5). + + + + + Gets or sets the V component value of this color. (value beteeen -0.5 and 0.5). + + + + + Gets or sets the Y component value of this color. (value beteeen 0.0 and 1.0). + + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Converts the specified to an instance of this type. + + The color to use. + A instance. + + + + Updates the color value in an inherited class. + + + + + Class that represents a color. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Initializes a new instance of the class. + + Red component value of this color (0-255). + Green component value of this color (0-255). + Blue component value of this color (0-255). + + + + Initializes a new instance of the class. + + Red component value of this color (0-255). + Green component value of this color (0-255). + Blue component value of this color (0-255). + Alpha component value of this color (0-255). + + + + Initializes a new instance of the class. + + Cyan component value of this color (0-255). + Magenta component value of this color (0-255). + Yellow component value of this color (0-255). + Black component value of this color (0-255). + Alpha component value of this color (0-255). + + + + Initializes a new instance of the class. + + The RGBA/CMYK hex string or name of the color (http://www.imagemagick.org/script/color.php). + For example: #F000, #FF000000, #FFFF000000000000. + + + + Gets or sets the alpha component value of this color. + + + + + Gets or sets the blue component value of this color. + + + + + Gets or sets the green component value of this color. + + + + + Gets a value indicating whether the color is a CMYK color. + + + + + Gets or sets the key (black) component value of this color. + + + + + Gets or sets the red component value of this color. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Multiplies the value of all non alpha channels in this with the specified . + + The to multiply. + The that should be used. + The multiplied with the percentage. + + + + Creates a new instance from the specified 8-bit color values (red, green, + and blue). The alpha value is implicitly 255 (fully opaque). + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + A instance. + + + + Creates a new instance from the specified 8-bit color values (red, green, + blue and alpha). + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + A instance. + + + + Compares the current instance with another object of the same type. + + The color to compare this color with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current color. + + The object to compare this color with. + True when the specified object is equal to the current color. + + + + Determines whether the specified color is equal to the current color. + + The color to compare this color with. + True when the specified color is equal to the current color. + + + + Determines whether the specified color is fuzzy equal to the current color. + + The color to compare this color with. + The fuzz factor. + True when the specified color is fuzzy equal to the current instance. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Initializes the color with the specified bytes. + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + + + + Converts the value of this instance to a array (RGBA or CMYKA). + + The array. + + + + Converts the value of this instance to a hexadecimal string that will not include the alpha channel if it is opaque. + + The . + + + + Converts the value of this instance to a string representation that will not include the alpha channel if it is opaque. + + The . + + + + Converts the value of this instance to a string representation. + + The . + + + + Class that contains the same colors as System.Drawing.Colors. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #F0F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #F0F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FAEBD7FF. + + + + + Gets a system-defined color that has an RGBA value of #FAEBD7FF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #7FFFD4FF. + + + + + Gets a system-defined color that has an RGBA value of #7FFFD4FF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5DCFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5DCFF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4C4FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4C4FF. + + + + + Gets a system-defined color that has an RGBA value of #000000FF. + + + + + Gets a system-defined color that has an RGBA value of #000000FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEBCDFF. + + + + + Gets a system-defined color that has an RGBA value of #FFEBCDFF. + + + + + Gets a system-defined color that has an RGBA value of #0000FFFF. + + + + + Gets a system-defined color that has an RGBA value of #0000FFFF. + + + + + Gets a system-defined color that has an RGBA value of #8A2BE2FF. + + + + + Gets a system-defined color that has an RGBA value of #8A2BE2FF. + + + + + Gets a system-defined color that has an RGBA value of #A52A2AFF. + + + + + Gets a system-defined color that has an RGBA value of #A52A2AFF. + + + + + Gets a system-defined color that has an RGBA value of #DEB887FF. + + + + + Gets a system-defined color that has an RGBA value of #DEB887FF. + + + + + Gets a system-defined color that has an RGBA value of #5F9EA0FF. + + + + + Gets a system-defined color that has an RGBA value of #5F9EA0FF. + + + + + Gets a system-defined color that has an RGBA value of #7FFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #7FFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #D2691EFF. + + + + + Gets a system-defined color that has an RGBA value of #D2691EFF. + + + + + Gets a system-defined color that has an RGBA value of #FF7F50FF. + + + + + Gets a system-defined color that has an RGBA value of #FF7F50FF. + + + + + Gets a system-defined color that has an RGBA value of #6495EDFF. + + + + + Gets a system-defined color that has an RGBA value of #6495EDFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF8DCFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF8DCFF. + + + + + Gets a system-defined color that has an RGBA value of #DC143CFF. + + + + + Gets a system-defined color that has an RGBA value of #DC143CFF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00008BFF. + + + + + Gets a system-defined color that has an RGBA value of #00008BFF. + + + + + Gets a system-defined color that has an RGBA value of #008B8BFF. + + + + + Gets a system-defined color that has an RGBA value of #008B8BFF. + + + + + Gets a system-defined color that has an RGBA value of #B8860BFF. + + + + + Gets a system-defined color that has an RGBA value of #B8860BFF. + + + + + Gets a system-defined color that has an RGBA value of #A9A9A9FF. + + + + + Gets a system-defined color that has an RGBA value of #A9A9A9FF. + + + + + Gets a system-defined color that has an RGBA value of #006400FF. + + + + + Gets a system-defined color that has an RGBA value of #006400FF. + + + + + Gets a system-defined color that has an RGBA value of #BDB76BFF. + + + + + Gets a system-defined color that has an RGBA value of #BDB76BFF. + + + + + Gets a system-defined color that has an RGBA value of #8B008BFF. + + + + + Gets a system-defined color that has an RGBA value of #8B008BFF. + + + + + Gets a system-defined color that has an RGBA value of #556B2FFF. + + + + + Gets a system-defined color that has an RGBA value of #556B2FFF. + + + + + Gets a system-defined color that has an RGBA value of #FF8C00FF. + + + + + Gets a system-defined color that has an RGBA value of #FF8C00FF. + + + + + Gets a system-defined color that has an RGBA value of #9932CCFF. + + + + + Gets a system-defined color that has an RGBA value of #9932CCFF. + + + + + Gets a system-defined color that has an RGBA value of #8B0000FF. + + + + + Gets a system-defined color that has an RGBA value of #8B0000FF. + + + + + Gets a system-defined color that has an RGBA value of #E9967AFF. + + + + + Gets a system-defined color that has an RGBA value of #E9967AFF. + + + + + Gets a system-defined color that has an RGBA value of #8FBC8FFF. + + + + + Gets a system-defined color that has an RGBA value of #8FBC8FFF. + + + + + Gets a system-defined color that has an RGBA value of #483D8BFF. + + + + + Gets a system-defined color that has an RGBA value of #483D8BFF. + + + + + Gets a system-defined color that has an RGBA value of #2F4F4FFF. + + + + + Gets a system-defined color that has an RGBA value of #2F4F4FFF. + + + + + Gets a system-defined color that has an RGBA value of #00CED1FF. + + + + + Gets a system-defined color that has an RGBA value of #00CED1FF. + + + + + Gets a system-defined color that has an RGBA value of #9400D3FF. + + + + + Gets a system-defined color that has an RGBA value of #9400D3FF. + + + + + Gets a system-defined color that has an RGBA value of #FF1493FF. + + + + + Gets a system-defined color that has an RGBA value of #FF1493FF. + + + + + Gets a system-defined color that has an RGBA value of #00BFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00BFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #696969FF. + + + + + Gets a system-defined color that has an RGBA value of #696969FF. + + + + + Gets a system-defined color that has an RGBA value of #1E90FFFF. + + + + + Gets a system-defined color that has an RGBA value of #1E90FFFF. + + + + + Gets a system-defined color that has an RGBA value of #B22222FF. + + + + + Gets a system-defined color that has an RGBA value of #B22222FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAF0FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAF0FF. + + + + + Gets a system-defined color that has an RGBA value of #228B22FF. + + + + + Gets a system-defined color that has an RGBA value of #228B22FF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #DCDCDCFF. + + + + + Gets a system-defined color that has an RGBA value of #DCDCDCFF. + + + + + Gets a system-defined color that has an RGBA value of #F8F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #F8F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FFD700FF. + + + + + Gets a system-defined color that has an RGBA value of #FFD700FF. + + + + + Gets a system-defined color that has an RGBA value of #DAA520FF. + + + + + Gets a system-defined color that has an RGBA value of #DAA520FF. + + + + + Gets a system-defined color that has an RGBA value of #808080FF. + + + + + Gets a system-defined color that has an RGBA value of #808080FF. + + + + + Gets a system-defined color that has an RGBA value of #008000FF. + + + + + Gets a system-defined color that has an RGBA value of #008000FF. + + + + + Gets a system-defined color that has an RGBA value of #ADFF2FFF. + + + + + Gets a system-defined color that has an RGBA value of #ADFF2FFF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #FF69B4FF. + + + + + Gets a system-defined color that has an RGBA value of #FF69B4FF. + + + + + Gets a system-defined color that has an RGBA value of #CD5C5CFF. + + + + + Gets a system-defined color that has an RGBA value of #CD5C5CFF. + + + + + Gets a system-defined color that has an RGBA value of #4B0082FF. + + + + + Gets a system-defined color that has an RGBA value of #4B0082FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #F0E68CFF. + + + + + Gets a system-defined color that has an RGBA value of #F0E68CFF. + + + + + Gets a system-defined color that has an RGBA value of #E6E6FAFF. + + + + + Gets a system-defined color that has an RGBA value of #E6E6FAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF0F5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFF0F5FF. + + + + + Gets a system-defined color that has an RGBA value of #7CFC00FF. + + + + + Gets a system-defined color that has an RGBA value of #7CFC00FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFACDFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFACDFF. + + + + + Gets a system-defined color that has an RGBA value of #ADD8E6FF. + + + + + Gets a system-defined color that has an RGBA value of #ADD8E6FF. + + + + + Gets a system-defined color that has an RGBA value of #F08080FF. + + + + + Gets a system-defined color that has an RGBA value of #F08080FF. + + + + + Gets a system-defined color that has an RGBA value of #E0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #E0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #FAFAD2FF. + + + + + Gets a system-defined color that has an RGBA value of #FAFAD2FF. + + + + + Gets a system-defined color that has an RGBA value of #90EE90FF. + + + + + Gets a system-defined color that has an RGBA value of #90EE90FF. + + + + + Gets a system-defined color that has an RGBA value of #D3D3D3FF. + + + + + Gets a system-defined color that has an RGBA value of #D3D3D3FF. + + + + + Gets a system-defined color that has an RGBA value of #FFB6C1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFB6C1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA07AFF. + + + + + Gets a system-defined color that has an RGBA value of #FFA07AFF. + + + + + Gets a system-defined color that has an RGBA value of #20B2AAFF. + + + + + Gets a system-defined color that has an RGBA value of #20B2AAFF. + + + + + Gets a system-defined color that has an RGBA value of #87CEFAFF. + + + + + Gets a system-defined color that has an RGBA value of #87CEFAFF. + + + + + Gets a system-defined color that has an RGBA value of #778899FF. + + + + + Gets a system-defined color that has an RGBA value of #778899FF. + + + + + Gets a system-defined color that has an RGBA value of #B0C4DEFF. + + + + + Gets a system-defined color that has an RGBA value of #B0C4DEFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFE0FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFE0FF. + + + + + Gets a system-defined color that has an RGBA value of #00FF00FF. + + + + + Gets a system-defined color that has an RGBA value of #00FF00FF. + + + + + Gets a system-defined color that has an RGBA value of #32CD32FF. + + + + + Gets a system-defined color that has an RGBA value of #32CD32FF. + + + + + Gets a system-defined color that has an RGBA value of #FAF0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #FAF0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #800000FF. + + + + + Gets a system-defined color that has an RGBA value of #800000FF. + + + + + Gets a system-defined color that has an RGBA value of #66CDAAFF. + + + + + Gets a system-defined color that has an RGBA value of #66CDAAFF. + + + + + Gets a system-defined color that has an RGBA value of #0000CDFF. + + + + + Gets a system-defined color that has an RGBA value of #0000CDFF. + + + + + Gets a system-defined color that has an RGBA value of #BA55D3FF. + + + + + Gets a system-defined color that has an RGBA value of #BA55D3FF. + + + + + Gets a system-defined color that has an RGBA value of #9370DBFF. + + + + + Gets a system-defined color that has an RGBA value of #9370DBFF. + + + + + Gets a system-defined color that has an RGBA value of #3CB371FF. + + + + + Gets a system-defined color that has an RGBA value of #3CB371FF. + + + + + Gets a system-defined color that has an RGBA value of #7B68EEFF. + + + + + Gets a system-defined color that has an RGBA value of #7B68EEFF. + + + + + Gets a system-defined color that has an RGBA value of #00FA9AFF. + + + + + Gets a system-defined color that has an RGBA value of #00FA9AFF. + + + + + Gets a system-defined color that has an RGBA value of #48D1CCFF. + + + + + Gets a system-defined color that has an RGBA value of #48D1CCFF. + + + + + Gets a system-defined color that has an RGBA value of #C71585FF. + + + + + Gets a system-defined color that has an RGBA value of #C71585FF. + + + + + Gets a system-defined color that has an RGBA value of #191970FF. + + + + + Gets a system-defined color that has an RGBA value of #191970FF. + + + + + Gets a system-defined color that has an RGBA value of #F5FFFAFF. + + + + + Gets a system-defined color that has an RGBA value of #F5FFFAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4E1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4E1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4B5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4B5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDEADFF. + + + + + Gets a system-defined color that has an RGBA value of #FFDEADFF. + + + + + Gets a system-defined color that has an RGBA value of #000080FF. + + + + + Gets a system-defined color that has an RGBA value of #000080FF. + + + + + Gets a system-defined color that has an RGBA value of #FDF5E6FF. + + + + + Gets a system-defined color that has an RGBA value of #FDF5E6FF. + + + + + Gets a system-defined color that has an RGBA value of #808000FF. + + + + + Gets a system-defined color that has an RGBA value of #808000FF. + + + + + Gets a system-defined color that has an RGBA value of #6B8E23FF. + + + + + Gets a system-defined color that has an RGBA value of #6B8E23FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA500FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA500FF. + + + + + Gets a system-defined color that has an RGBA value of #FF4500FF. + + + + + Gets a system-defined color that has an RGBA value of #FF4500FF. + + + + + Gets a system-defined color that has an RGBA value of #DA70D6FF. + + + + + Gets a system-defined color that has an RGBA value of #DA70D6FF. + + + + + Gets a system-defined color that has an RGBA value of #EEE8AAFF. + + + + + Gets a system-defined color that has an RGBA value of #EEE8AAFF. + + + + + Gets a system-defined color that has an RGBA value of #98FB98FF. + + + + + Gets a system-defined color that has an RGBA value of #98FB98FF. + + + + + Gets a system-defined color that has an RGBA value of #AFEEEEFF. + + + + + Gets a system-defined color that has an RGBA value of #AFEEEEFF. + + + + + Gets a system-defined color that has an RGBA value of #DB7093FF. + + + + + Gets a system-defined color that has an RGBA value of #DB7093FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEFD5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEFD5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDAB9FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDAB9FF. + + + + + Gets a system-defined color that has an RGBA value of #CD853FFF. + + + + + Gets a system-defined color that has an RGBA value of #CD853FFF. + + + + + Gets a system-defined color that has an RGBA value of #FFC0CBFF. + + + + + Gets a system-defined color that has an RGBA value of #FFC0CBFF. + + + + + Gets a system-defined color that has an RGBA value of #DDA0DDFF. + + + + + Gets a system-defined color that has an RGBA value of #DDA0DDFF. + + + + + Gets a system-defined color that has an RGBA value of #B0E0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #B0E0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #800080FF. + + + + + Gets a system-defined color that has an RGBA value of #800080FF. + + + + + Gets a system-defined color that has an RGBA value of #663399FF. + + + + + Gets a system-defined color that has an RGBA value of #663399FF. + + + + + Gets a system-defined color that has an RGBA value of #FF0000FF. + + + + + Gets a system-defined color that has an RGBA value of #FF0000FF. + + + + + Gets a system-defined color that has an RGBA value of #BC8F8FFF. + + + + + Gets a system-defined color that has an RGBA value of #BC8F8FFF. + + + + + Gets a system-defined color that has an RGBA value of #4169E1FF. + + + + + Gets a system-defined color that has an RGBA value of #4169E1FF. + + + + + Gets a system-defined color that has an RGBA value of #8B4513FF. + + + + + Gets a system-defined color that has an RGBA value of #8B4513FF. + + + + + Gets a system-defined color that has an RGBA value of #FA8072FF. + + + + + Gets a system-defined color that has an RGBA value of #FA8072FF. + + + + + Gets a system-defined color that has an RGBA value of #F4A460FF. + + + + + Gets a system-defined color that has an RGBA value of #F4A460FF. + + + + + Gets a system-defined color that has an RGBA value of #2E8B57FF. + + + + + Gets a system-defined color that has an RGBA value of #2E8B57FF. + + + + + Gets a system-defined color that has an RGBA value of #FFF5EEFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF5EEFF. + + + + + Gets a system-defined color that has an RGBA value of #A0522DFF. + + + + + Gets a system-defined color that has an RGBA value of #A0522DFF. + + + + + Gets a system-defined color that has an RGBA value of #C0C0C0FF. + + + + + Gets a system-defined color that has an RGBA value of #C0C0C0FF. + + + + + Gets a system-defined color that has an RGBA value of #87CEEBFF. + + + + + Gets a system-defined color that has an RGBA value of #87CEEBFF. + + + + + Gets a system-defined color that has an RGBA value of #6A5ACDFF. + + + + + Gets a system-defined color that has an RGBA value of #6A5ACDFF. + + + + + Gets a system-defined color that has an RGBA value of #708090FF. + + + + + Gets a system-defined color that has an RGBA value of #708090FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAFAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAFAFF. + + + + + Gets a system-defined color that has an RGBA value of #00FF7FFF. + + + + + Gets a system-defined color that has an RGBA value of #00FF7FFF. + + + + + Gets a system-defined color that has an RGBA value of #4682B4FF. + + + + + Gets a system-defined color that has an RGBA value of #4682B4FF. + + + + + Gets a system-defined color that has an RGBA value of #D2B48CFF. + + + + + Gets a system-defined color that has an RGBA value of #D2B48CFF. + + + + + Gets a system-defined color that has an RGBA value of #008080FF. + + + + + Gets a system-defined color that has an RGBA value of #008080FF. + + + + + Gets a system-defined color that has an RGBA value of #D8BFD8FF. + + + + + Gets a system-defined color that has an RGBA value of #D8BFD8FF. + + + + + Gets a system-defined color that has an RGBA value of #FF6347FF. + + + + + Gets a system-defined color that has an RGBA value of #FF6347FF. + + + + + Gets a system-defined color that has an RGBA value of #40E0D0FF. + + + + + Gets a system-defined color that has an RGBA value of #40E0D0FF. + + + + + Gets a system-defined color that has an RGBA value of #EE82EEFF. + + + + + Gets a system-defined color that has an RGBA value of #EE82EEFF. + + + + + Gets a system-defined color that has an RGBA value of #F5DEB3FF. + + + + + Gets a system-defined color that has an RGBA value of #F5DEB3FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5F5FF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5F5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #9ACD32FF. + + + + + Gets a system-defined color that has an RGBA value of #9ACD32FF. + + + + + Encapsulates the configuration files of ImageMagick. + + + + + Gets the default configuration. + + + + + Gets all the configuration files. + + + + + Gets the default configuration. + + + + + Gets the colors configuration. + + + + + Gets the configure configuration. + + + + + Gets the delegates configuration. + + + + + Gets the english configuration. + + + + + Gets the locale configuration. + + + + + Gets the log configuration. + + + + + Gets the policy configuration. + + + + + Gets the thresholds configuration. + + + + + Gets the type configuration. + + + + + Gets the type-ghostscript configuration. + + + + + Class that implements . + + + + + Initializes a new instance of the class. + + The name of the define. + The value of the define. + + + + Initializes a new instance of the class. + + The name of the define. + The value of the define. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + A instance. + + + + Initializes a new instance of the class. + + The format of the define. + The name of the define. + The value of the define. + + + + Gets the format to set the define for. + + + + + Gets the name of the define. + + + + + Gets the value of the define. + + + + + Create a define with the specified name and value. + + The format of the define. + The name of the define. + The value of the define. + The type of the enumerable. + A instance. + + + + Adjusts the current affine transformation matrix with the specified affine transformation + matrix. Note that the current affine transform is adjusted rather than replaced. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The X coordinate scaling element. + The Y coordinate scaling element. + The X coordinate shearing element. + The Y coordinate shearing element. + The X coordinate of the translation element. + The Y coordinate of the translation element. + + + + Gets or sets the X coordinate scaling element. + + + + + Gets or sets the Y coordinate scaling element. + + + + + Gets or sets the X coordinate shearing element. + + + + + Gets or sets the Y coordinate shearing element. + + + + + Gets or sets the X coordinate of the translation element. + + + + + Gets or sets the Y coordinate of the translation element. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Reset to default. + + + + + Sets the origin of coordinate system. + + The X coordinate of the translation element. + The Y coordinate of the translation element. + + + + Sets the rotation to use. + + The angle of the rotation. + + + + Sets the scale to use. + + The X coordinate scaling element. + The Y coordinate scaling element. + + + + Skew to use in X axis. + + The X skewing element. + + + + Skew to use in Y axis. + + The Y skewing element. + + + + Paints on the image's alpha channel in order to set effected pixels to transparent. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The paint method to use. + + + + Gets or sets the to use. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws an arc falling within a specified bounding rectangle on the image. + + + + + Initializes a new instance of the class. + + The starting X coordinate of the bounding rectangle. + The starting Y coordinate of thebounding rectangle. + The ending X coordinate of the bounding rectangle. + The ending Y coordinate of the bounding rectangle. + The starting degrees of rotation. + The ending degrees of rotation. + + + + Gets or sets the ending degrees of rotation. + + + + + Gets or sets the ending X coordinate of the bounding rectangle. + + + + + Gets or sets the ending Y coordinate of the bounding rectangle. + + + + + Gets or sets the starting degrees of rotation. + + + + + Gets or sets the starting X coordinate of the bounding rectangle. + + + + + Gets or sets the starting Y coordinate of the bounding rectangle. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a bezier curve through a set of points on the image. + + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Gets the coordinates. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the border color to be used for drawing bordered objects. + + + + + Initializes a new instance of the class. + + The color of the border. + + + + Gets or sets the color to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a circle on the image. + + + + + Initializes a new instance of the class. + + The origin X coordinate. + The origin Y coordinate. + The perimeter X coordinate. + The perimeter Y coordinate. + + + + Gets or sets the origin X coordinate. + + + + + Gets or sets the origin X coordinate. + + + + + Gets or sets the perimeter X coordinate. + + + + + Gets or sets the perimeter X coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Associates a named clipping path with the image. Only the areas drawn on by the clipping path + will be modified as ssize_t as it remains in effect. + + + + + Initializes a new instance of the class. + + The ID of the clip path. + + + + Gets or sets the ID of the clip path. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the polygon fill rule to be used by the clipping path. + + + + + Initializes a new instance of the class. + + The rule to use when filling drawn objects. + + + + Gets or sets the rule to use when filling drawn objects. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the interpretation of clip path units. + + + + + Initializes a new instance of the class. + + The clip path units. + + + + Gets or sets the clip path units. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws color on image using the current fill color, starting at specified position, and using + specified paint method. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The paint method to use. + + + + Gets or sets the PaintMethod to use. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Encapsulation of the DrawableCompositeImage object. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The image to draw. + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The algorithm to use. + The image to draw. + + + + Initializes a new instance of the class. + + The offset from origin. + The image to draw. + + + + Initializes a new instance of the class. + + The offset from origin. + The algorithm to use. + The image to draw. + + + + Gets or sets the composition operator. + + + + + Gets or sets the height to scale the image to. + + + + + Gets or sets the width to scale the image to. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Encapsulation of the DrawableDensity object. + + + + + Initializes a new instance of the class. + + The vertical and horizontal resolution. + + + + Initializes a new instance of the class. + + The vertical and horizontal resolution. + + + + Gets or sets the vertical and horizontal resolution. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws an ellipse on the image. + + + + + Initializes a new instance of the class. + + The origin X coordinate. + The origin Y coordinate. + The X radius. + The Y radius. + The starting degrees of rotation. + The ending degrees of rotation. + + + + Gets or sets the ending degrees of rotation. + + + + + Gets or sets the origin X coordinate. + + + + + Gets or sets the origin X coordinate. + + + + + Gets or sets the X radius. + + + + + Gets or sets the Y radius. + + + + + Gets or sets the starting degrees of rotation. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the fill color to be used for drawing filled objects. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Gets or sets the color to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the alpha to use when drawing using the fill color or fill texture. + + + + + Initializes a new instance of the class. + + The opacity. + + + + Gets or sets the alpha. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the URL to use as a fill pattern for filling objects. Only local URLs("#identifier") are + supported at this time. These local URLs are normally created by defining a named fill pattern + with DrawablePushPattern/DrawablePopPattern. + + + + + Initializes a new instance of the class. + + Url specifying pattern ID (e.g. "#pattern_id"). + + + + Gets or sets the url specifying pattern ID (e.g. "#pattern_id"). + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the fill rule to use while drawing polygons. + + + + + Initializes a new instance of the class. + + The rule to use when filling drawn objects. + + + + Gets or sets the rule to use when filling drawn objects. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the font family, style, weight and stretch to use when annotating with text. + + + + + Initializes a new instance of the class. + + The font family or the full path to the font file. + + + + Initializes a new instance of the class. + + The font family or the full path to the font file. + The style of the font. + The weight of the font. + The font stretching type. + + + + Gets or sets the font family or the full path to the font file. + + + + + Gets or sets the style of the font. + + + + + Gets or sets the weight of the font. + + + + + Gets or sets the font stretching. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the font pointsize to use when annotating with text. + + + + + Initializes a new instance of the class. + + The point size. + + + + Gets or sets the point size. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Encapsulation of the DrawableGravity object. + + + + + Initializes a new instance of the class. + + The gravity. + + + + Gets or sets the gravity. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a line on the image using the current stroke color, stroke alpha, and stroke width. + + + + + Initializes a new instance of the class. + + The starting X coordinate. + The starting Y coordinate. + The ending X coordinate. + The ending Y coordinate. + + + + Gets or sets the ending X coordinate. + + + + + Gets or sets the ending Y coordinate. + + + + + Gets or sets the starting X coordinate. + + + + + Gets or sets the starting Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a set of paths. + + + + + Initializes a new instance of the class. + + The paths to use. + + + + Initializes a new instance of the class. + + The paths to use. + + + + Gets the paths to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a point using the current fill color. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a polygon using the current stroke, stroke width, and fill color or texture, using the + specified array of coordinates. + + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a polyline using the current stroke, stroke width, and fill color or texture, using the + specified array of coordinates. + + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Terminates a clip path definition. + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + destroys the current drawing wand and returns to the previously pushed drawing wand. Multiple + drawing wands may exist. It is an error to attempt to pop more drawing wands than have been + pushed, and it is proper form to pop all drawing wands which have been pushed. + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Terminates a pattern definition. + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Starts a clip path definition which is comprized of any number of drawing commands and + terminated by a DrawablePopClipPath. + + + + + Initializes a new instance of the class. + + The ID of the clip path. + + + + Gets or sets the ID of the clip path. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Clones the current drawing wand to create a new drawing wand. The original drawing wand(s) + may be returned to by invoking DrawablePopGraphicContext. The drawing wands are stored on a + drawing wand stack. For every Pop there must have already been an equivalent Push. + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + indicates that subsequent commands up to a DrawablePopPattern command comprise the definition + of a named pattern. The pattern space is assigned top left corner coordinates, a width and + height, and becomes its own drawing space. Anything which can be drawn may be used in a + pattern definition. Named patterns may be used as stroke or brush definitions. + + + + + Initializes a new instance of the class. + + The ID of the pattern. + The X coordinate. + The Y coordinate. + The width. + The height. + + + + Gets or sets the ID of the pattern. + + + + + Gets or sets the height. + + + + + Gets or sets the width. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill + settings. + + + + + Initializes a new instance of the class. + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Applies the specified rotation to the current coordinate space. + + + + + Initializes a new instance of the class. + + The angle. + + + + Gets or sets the angle. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a rounted rectangle given two coordinates, x & y corner radiuses and using the current + stroke, stroke width, and fill settings. + + + + + Initializes a new instance of the class. + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The corner width. + The corner height. + + + + Gets or sets the corner height. + + + + + Gets or sets the corner width. + + + + + Gets or sets the lower right X coordinate. + + + + + Gets or sets the lower right Y coordinate. + + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Class that can be used to chain draw actions. + + + + + Initializes a new instance of the class. + + + + + Draw on the specified image. + + The image to draw on. + The current instance. + + + + Returns an enumerator that iterates through the collection. + + An enumerator. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + Specifies if newlines should be ignored. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Creates a new instance. + + A new instance. + + + + Returns an enumerator that iterates through the collection. + + An enumerator. + + + + Applies the DrawableAffine operation to the . + + The X coordinate scaling element. + The Y coordinate scaling element. + The X coordinate shearing element. + The Y coordinate shearing element. + The X coordinate of the translation element. + The Y coordinate of the translation element. + The instance. + + + + Applies the DrawableAlpha operation to the . + + The X coordinate. + The Y coordinate. + The paint method to use. + The instance. + + + + Applies the DrawableArc operation to the . + + The starting X coordinate of the bounding rectangle. + The starting Y coordinate of thebounding rectangle. + The ending X coordinate of the bounding rectangle. + The ending Y coordinate of the bounding rectangle. + The starting degrees of rotation. + The ending degrees of rotation. + The instance. + + + + Applies the DrawableBezier operation to the . + + The coordinates. + The instance. + + + + Applies the DrawableBezier operation to the . + + The coordinates. + The instance. + + + + Applies the DrawableBorderColor operation to the . + + The color of the border. + The instance. + + + + Applies the DrawableCircle operation to the . + + The origin X coordinate. + The origin Y coordinate. + The perimeter X coordinate. + The perimeter Y coordinate. + The instance. + + + + Applies the DrawableClipPath operation to the . + + The ID of the clip path. + The instance. + + + + Applies the DrawableClipRule operation to the . + + The rule to use when filling drawn objects. + The instance. + + + + Applies the DrawableClipUnits operation to the . + + The clip path units. + The instance. + + + + Applies the DrawableColor operation to the . + + The X coordinate. + The Y coordinate. + The paint method to use. + The instance. + + + + Applies the DrawableComposite operation to the . + + The offset from origin. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The X coordinate. + The Y coordinate. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The offset from origin. + The algorithm to use. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The X coordinate. + The Y coordinate. + The algorithm to use. + The image to draw. + The instance. + + + + Applies the DrawableDensity operation to the . + + The vertical and horizontal resolution. + The instance. + + + + Applies the DrawableDensity operation to the . + + The vertical and horizontal resolution. + The instance. + + + + Applies the DrawableEllipse operation to the . + + The origin X coordinate. + The origin Y coordinate. + The X radius. + The Y radius. + The starting degrees of rotation. + The ending degrees of rotation. + The instance. + + + + Applies the DrawableFillColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableFillOpacity operation to the . + + The opacity. + The instance. + + + + Applies the DrawableFillPatternUrl operation to the . + + Url specifying pattern ID (e.g. "#pattern_id"). + The instance. + + + + Applies the DrawableFillRule operation to the . + + The rule to use when filling drawn objects. + The instance. + + + + Applies the DrawableFont operation to the . + + The font family or the full path to the font file. + The instance. + + + + Applies the DrawableFont operation to the . + + The font family or the full path to the font file. + The style of the font. + The weight of the font. + The font stretching type. + The instance. + + + + Applies the DrawableFontPointSize operation to the . + + The point size. + The instance. + + + + Applies the DrawableGravity operation to the . + + The gravity. + The instance. + + + + Applies the DrawableLine operation to the . + + The starting X coordinate. + The starting Y coordinate. + The ending X coordinate. + The ending Y coordinate. + The instance. + + + + Applies the DrawablePath operation to the . + + The paths to use. + The instance. + + + + Applies the DrawablePath operation to the . + + The paths to use. + The instance. + + + + Applies the DrawablePoint operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the DrawablePolygon operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolygon operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolyline operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolyline operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePopClipPath operation to the . + + The instance. + + + + Applies the DrawablePopGraphicContext operation to the . + + The instance. + + + + Applies the DrawablePopPattern operation to the . + + The instance. + + + + Applies the DrawablePushClipPath operation to the . + + The ID of the clip path. + The instance. + + + + Applies the DrawablePushGraphicContext operation to the . + + The instance. + + + + Applies the DrawablePushPattern operation to the . + + The ID of the pattern. + The X coordinate. + The Y coordinate. + The width. + The height. + The instance. + + + + Applies the DrawableRectangle operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The instance. + + + + Applies the DrawableRotation operation to the . + + The angle. + The instance. + + + + Applies the DrawableRoundRectangle operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The corner width. + The corner height. + The instance. + + + + Applies the DrawableScaling operation to the . + + Horizontal scale factor. + Vertical scale factor. + The instance. + + + + Applies the DrawableSkewX operation to the . + + The angle. + The instance. + + + + Applies the DrawableSkewY operation to the . + + The angle. + The instance. + + + + Applies the DrawableStrokeColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableStrokeDashArray operation to the . + + An array containing the dash information. + The instance. + + + + Applies the DrawableStrokeDashOffset operation to the . + + The dash offset. + The instance. + + + + Applies the DrawableStrokeLineCap operation to the . + + The line cap. + The instance. + + + + Applies the DrawableStrokeLineJoin operation to the . + + The line join. + The instance. + + + + Applies the DrawableStrokeMiterLimit operation to the . + + The miter limit. + The instance. + + + + Applies the DrawableStrokeOpacity operation to the . + + The opacity. + The instance. + + + + Applies the DrawableStrokePatternUrl operation to the . + + Url specifying pattern ID (e.g. "#pattern_id"). + The instance. + + + + Applies the DrawableStrokeWidth operation to the . + + The width. + The instance. + + + + Applies the DrawableText operation to the . + + The X coordinate. + The Y coordinate. + The text to draw. + The instance. + + + + Applies the DrawableTextAlignment operation to the . + + Text alignment. + The instance. + + + + Applies the DrawableTextDecoration operation to the . + + The text decoration. + The instance. + + + + Applies the DrawableTextDirection operation to the . + + Direction to use. + The instance. + + + + Applies the DrawableTextEncoding operation to the . + + Encoding to use. + The instance. + + + + Applies the DrawableTextInterlineSpacing operation to the . + + Spacing to use. + The instance. + + + + Applies the DrawableTextInterwordSpacing operation to the . + + Spacing to use. + The instance. + + + + Applies the DrawableTextKerning operation to the . + + Kerning to use. + The instance. + + + + Applies the DrawableTextUnderColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableTranslation operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the DrawableViewbox operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The instance. + + + + Applies the DrawableStrokeAntialias operation to the . + + The instance. + + + + Applies the DrawableStrokeAntialias operation to the . + + The instance. + + + + Applies the DrawableTextAntialias operation to the . + + The instance. + + + + Applies the DrawableTextAntialias operation to the . + + The instance. + + + + Adjusts the scaling factor to apply in the horizontal and vertical directions to the current + coordinate space. + + + + + Initializes a new instance of the class. + + Horizontal scale factor. + Vertical scale factor. + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Skews the current coordinate system in the horizontal direction. + + + + + Initializes a new instance of the class. + + The angle. + + + + Gets or sets the angle. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Skews the current coordinate system in the vertical direction. + + + + + Initializes a new instance of the class. + + The angle. + + + + Gets or sets the angle. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Controls whether stroked outlines are antialiased. Stroked outlines are antialiased by default. + When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color + or underlying canvas color should be used. + + + + + Gets a new instance of the class that is disabled. + + + + + Gets a new instance of the class that is enabled. + + + + + Gets or sets a value indicating whether stroke antialiasing is enabled or disabled. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the color used for stroking object outlines. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Gets or sets the color to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the pattern of dashes and gaps used to stroke paths. The stroke dash array + represents an array of numbers that specify the lengths of alternating dashes and gaps in + pixels. If an odd number of values is provided, then the list of values is repeated to yield + an even number of values. To remove an existing dash array, pass a null dasharray. A typical + stroke dash array might contain the members 5 3 2. + + + + + Initializes a new instance of the class. + + An array containing the dash information. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the offset into the dash pattern to start the dash. + + + + + Initializes a new instance of the class. + + The dash offset. + + + + Gets or sets the dash offset. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the shape to be used at the end of open subpaths when they are stroked. + + + + + Initializes a new instance of the class. + + The line cap. + + + + Gets or sets the line cap. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the shape to be used at the corners of paths (or other vector shapes) when they + are stroked. + + + + + Initializes a new instance of the class. + + The line join. + + + + Gets or sets the line join. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the miter limit. When two line segments meet at a sharp angle and miter joins have + been specified for 'DrawableStrokeLineJoin', it is possible for the miter to extend far + beyond the thickness of the line stroking the path. The 'DrawableStrokeMiterLimit' imposes a + limit on the ratio of the miter length to the 'DrawableStrokeLineWidth'. + + + + + Initializes a new instance of the class. + + The miter limit. + + + + Gets or sets the miter limit. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the alpha of stroked object outlines. + + + + + Initializes a new instance of the class. + + The opacity. + + + + Gets or sets the opacity. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the pattern used for stroking object outlines. Only local URLs("#identifier") are + supported at this time. These local URLs are normally created by defining a named stroke + pattern with DrawablePushPattern/DrawablePopPattern. + + + + + Initializes a new instance of the class. + + Url specifying pattern ID (e.g. "#pattern_id"). + + + + Gets or sets the url specifying pattern ID (e.g. "#pattern_id"). + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the width of the stroke used to draw object outlines. + + + + + Initializes a new instance of the class. + + The width. + + + + Gets or sets the width. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws text on the image. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + The text to draw. + + + + Gets or sets the text to draw. + + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies a text alignment to be applied when annotating with text. + + + + + Initializes a new instance of the class. + + Text alignment. + + + + Gets or sets text alignment. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Controls whether text is antialiased. Text is antialiased by default. + + + + + Gets a new instance of the class that is disabled. + + + + + Gets a new instance of the class that is enabled. + + + + + Gets or sets a value indicating whether text antialiasing is enabled or disabled. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies a decoration to be applied when annotating with text. + + + + + Initializes a new instance of the class. + + The text decoration. + + + + Gets or sets the text decoration. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the direction to be used when annotating with text. + + + + + Initializes a new instance of the class. + + Direction to use. + + + + Gets or sets the direction to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Encapsulation of the DrawableTextEncoding object. + + + + + Initializes a new instance of the class. + + Encoding to use. + + + + Gets or sets the encoding of the text. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the spacing between line in text. + + + + + Initializes a new instance of the class. + + Spacing to use. + + + + Gets or sets the spacing to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the spacing between words in text. + + + + + Initializes a new instance of the class. + + Spacing to use. + + + + Gets or sets the spacing to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the spacing between characters in text. + + + + + Initializes a new instance of the class. + + Kerning to use. + + + + Gets or sets the text kerning to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Specifies the color of a background rectangle to place under text annotations. + + + + + Initializes a new instance of the class. + + The color to use. + + + + Gets or sets the color to use. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Applies a translation to the current coordinate system which moves the coordinate system + origin to the specified coordinate. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Gets or sets the X coordinate. + + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Sets the overall canvas size to be recorded with the drawing vector data. Usually this will + be specified using the same size as the canvas image. When the vector data is saved to SVG + or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer + will render the vector data on. + + + + + Initializes a new instance of the class. + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Gets or sets the upper left X coordinate. + + + + + Gets or sets the upper left Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Interface for drawing on an wand. + + + + + Draws this instance with the drawing wand. + + The wand to draw on. + + + + Class that can be used to chain path actions. + + + + + Applies the PathArcAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathClose operation to the . + + The instance. + + + + Applies the PathCurveToAbs operation to the . + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToAbs operation to the . + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToRel operation to the . + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToRel operation to the . + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathLineToHorizontalAbs operation to the . + + The X coordinate. + The instance. + + + + Applies the PathLineToHorizontalRel operation to the . + + The X coordinate. + The instance. + + + + Applies the PathLineToRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToRel operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathLineToVerticalAbs operation to the . + + The Y coordinate. + The instance. + + + + Applies the PathLineToVerticalRel operation to the . + + The Y coordinate. + The instance. + + + + Applies the PathMoveToAbs operation to the . + + The coordinate to use. + The instance. + + + + Applies the PathMoveToAbs operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathMoveToRel operation to the . + + The coordinate to use. + The instance. + + + + Applies the PathMoveToRel operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathQuadraticCurveToAbs operation to the . + + Coordinate of control point. + Coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToAbs operation to the . + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToRel operation to the . + + Coordinate of control point. + Coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToRel operation to the . + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToAbs operation to the . + + Coordinate of second point. + Coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToAbs operation to the . + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToRel operation to the . + + Coordinate of second point. + Coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToRel operation to the . + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToAbs operation to the . + + Coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToAbs operation to the . + + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToRel operation to the . + + Coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToRel operation to the . + + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Initializes a new instance of the class. + + + + + Converts this instance to a instance. + + A new instance. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that iterates through the collection. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that iterates through the collection. + + + + Draws an elliptical arc from the current point to (X, Y) using absolute coordinates. The size + and orientation of the ellipse are defined by two radii(RadiusX, RadiusY) and an RotationX, + which indicates how the ellipse as a whole is rotated relative to the current coordinate + system. The center of the ellipse is calculated automagically to satisfy the constraints + imposed by the other parameters. UseLargeArc and UseSweep contribute to the automatic + calculations and help determine how the arc is drawn. If UseLargeArc is true then draw the + larger of the available arcs. If UseSweep is true, then draw the arc matching a clock-wise + rotation. + + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws an elliptical arc from the current point to (X, Y) using relative coordinates. The size + and orientation of the ellipse are defined by two radii(RadiusX, RadiusY) and an RotationX, + which indicates how the ellipse as a whole is rotated relative to the current coordinate + system. The center of the ellipse is calculated automagically to satisfy the constraints + imposed by the other parameters. UseLargeArc and UseSweep contribute to the automatic + calculations and help determine how the arc is drawn. If UseLargeArc is true then draw the + larger of the available arcs. If UseSweep is true, then draw the arc matching a clock-wise + rotation. + + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Adds a path element to the current path which closes the current subpath by drawing a straight + line from the current point to the current subpath's most recent starting point (usually, the + most recent moveto point). + + + + + Initializes a new instance of the class. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a cubic Bezier curve from the current point to (x, y) using (x1, y1) as the control point + at the beginning of the curve and (x2, y2) as the control point at the end of the curve using + absolute coordinates. At the end of the command, the new current point becomes the final (x, y) + coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + + + + Initializes a new instance of the class. + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a cubic Bezier curve from the current point to (x, y) using (x1,y1) as the control point + at the beginning of the curve and (x2, y2) as the control point at the end of the curve using + relative coordinates. At the end of the command, the new current point becomes the final (x, y) + coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + + + + Initializes a new instance of the class. + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a line path from the current point to the given coordinate using absolute coordinates. + The coordinate then becomes the new current point. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a horizontal line path from the current point to the target point using absolute + coordinates. The target point then becomes the new current point. + + + + + Initializes a new instance of the class. + + The X coordinate. + + + + Gets or sets the X coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a horizontal line path from the current point to the target point using relative + coordinates. The target point then becomes the new current point. + + + + + Initializes a new instance of the class. + + The X coordinate. + + + + Gets or sets the X coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a line path from the current point to the given coordinate using relative coordinates. + The coordinate then becomes the new current point. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Initializes a new instance of the class. + + The coordinates to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a vertical line path from the current point to the target point using absolute + coordinates. The target point then becomes the new current point. + + + + + Initializes a new instance of the class. + + The Y coordinate. + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a vertical line path from the current point to the target point using relative + coordinates. The target point then becomes the new current point. + + + + + Initializes a new instance of the class. + + The Y coordinate. + + + + Gets or sets the Y coordinate. + + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Starts a new sub-path at the given coordinate using absolute coordinates. The current point + then becomes the specified coordinate. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Initializes a new instance of the class. + + The coordinate to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Starts a new sub-path at the given coordinate using relative coordinates. The current point + then becomes the specified coordinate. + + + + + Initializes a new instance of the class. + + The X coordinate. + The Y coordinate. + + + + Initializes a new instance of the class. + + The coordinate to use. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a quadratic Bezier curve from the current point to (x, y) using (x1, y1) as the control + point using absolute coordinates. At the end of the command, the new current point becomes + the final (x, y) coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of control point. + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a quadratic Bezier curve from the current point to (x, y) using (x1, y1) as the control + point using relative coordinates. At the end of the command, the new current point becomes + the final (x, y) coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of control point. + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a cubic Bezier curve from the current point to (x,y) using absolute coordinates. The + first control point is assumed to be the reflection of the second control point on the + previous command relative to the current point. (If there is no previous command or if the + previous command was not an PathCurveToAbs, PathCurveToRel, PathSmoothCurveToAbs or + PathSmoothCurveToRel, assume the first control point is coincident with the current point.) + (x2,y2) is the second control point (i.e., the control point at the end of the curve). At + the end of the command, the new current point becomes the final (x,y) coordinate pair used + in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of second point. + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a cubic Bezier curve from the current point to (x,y) using relative coordinates. The + first control point is assumed to be the reflection of the second control point on the + previous command relative to the current point. (If there is no previous command or if the + previous command was not an PathCurveToAbs, PathCurveToRel, PathSmoothCurveToAbs or + PathSmoothCurveToRel, assume the first control point is coincident with the current point.) + (x2,y2) is the second control point (i.e., the control point at the end of the curve). At + the end of the command, the new current point becomes the final (x,y) coordinate pair used + in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of second point. + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a quadratic Bezier curve (using absolute coordinates) from the current point to (X, Y). + The control point is assumed to be the reflection of the control point on the previous + command relative to the current point. (If there is no previous command or if the previous + command was not a PathQuadraticCurveToAbs, PathQuadraticCurveToRel, + PathSmoothQuadraticCurveToAbs or PathSmoothQuadraticCurveToRel, assume the control point is + coincident with the current point.). At the end of the command, the new current point becomes + the final (X,Y) coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Draws a quadratic Bezier curve (using relative coordinates) from the current point to (X, Y). + The control point is assumed to be the reflection of the control point on the previous + command relative to the current point. (If there is no previous command or if the previous + command was not a PathQuadraticCurveToAbs, PathQuadraticCurveToRel, + PathSmoothQuadraticCurveToAbs or PathSmoothQuadraticCurveToRel, assume the control point is + coincident with the current point.). At the end of the command, the new current point becomes + the final (X,Y) coordinate pair used in the polybezier. + + + + + Initializes a new instance of the class. + + X coordinate of final point. + Y coordinate of final point. + + + + Initializes a new instance of the class. + + Coordinate of final point. + + + + Draws this instance with the drawing wand. + + The want to draw on. + + + + Extension methods for the class. + + + + + Returns a based on the specified width and height. + + The density. + The width in cm or inches. + The height in cm or inches. + A based on the specified width and height in cm or inches. + + + + Extension methods for the interface. + + + + + Returns the thumbnail in the exif profile when available. + + The exif profile. + The thumbnail in the exif profile when available. + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + The color to use. + + + + Initializes a new instance that implements . + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + A new instance. + + + + Initializes a new instance that implements . + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + A new instance. + + + + Initializes a new instance that implements . + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Black component value of this color. + Alpha component value of this colors. + A new instance. + + + + Initializes a new instance that implements . + + The RGBA/CMYK hex string or name of the color (http://www.imagemagick.org/script/color.php). + For example: #F000, #FF000000, #FFFF000000000000. + A new instance. + + + + Class that can be used to create various instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create color instances by name. + + + + + Gets the configuration files. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets the MagickNET information. + + + + + Gets a factory that can be used to create various matrix instances. + + + + + Gets the OpenCL information. + + + + + Gets the quantum information. + + + + + Gets the resource limits. + + + + + Gets a factory that can be used to create various settings. + + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The width and height. + A new instance. + + + + Initializes a new instance that implements . + + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The X offset from origin. + The Y offset from origin. + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The percentage of the width. + The percentage of the height. + A new instance. + + + + Initializes a new instance that implements . + + The X offset from origin. + The Y offset from origin. + The percentage of the width. + The percentage of the height. + A new instance. + + + + Initializes a new instance that implements . + + Geometry specifications in the form: <width>x<height> + {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers). + A new instance. + + + + Initializes a new instance using the specified page size. + + The page size. + A instance that represents the specified page size. + + + + Class that can be used to create instances. + + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The images to add to the collection. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create instances. + + + + + + Initializes a new instance that implements . + + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The color to fill the image with. + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create instances. + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The byte array to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create various matrix instances. + + + + + Initializes a new instance that implements . + + A new instance. + The order (1 to 6). + + + + Initializes a new instance that implements . + + A new instance. + The order (1 to 6). + The values to initialize the matrix with. + + + + Initializes a new instance that implements . + + A new instance. + The order (odd number). + + + + Initializes a new instance that implements . + + A new instance. + The order (odd number). + The values to initialize the matrix with. + + + + Class that can be used to create various settings. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the file size should be ignored (bmp:ignore-filesize). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies bmp subtypes. + + + + + ARGB1555. + + + + + ARGB4444. + + + + + RGB555. + + + + + RGB565. + + + + + Class for defines that are used when a image is written. + + + + + Gets the format where the defines are for. + + + + + Gets or sets the subtype that will be used (bmp:subtype). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a the maximum font pointsize (caption:max-pointsize). + + + + + Gets or sets a the start font pointsize (caption:start-pointsize). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies a limited set of the available dds compression methods. + + + + + Do not compress the pixels. + + + + + Use Dxt1 instead of the default compression. + + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating wether mipmaps should be skipped (dds:skip-mipmaps). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets a value indicating whether cluser fit is enabled or disabled (dds:cluster-fit). + + + + + Gets or sets the compression that will be used instead of the default compression. Only a limited set of the + compression methods are available for this. (dds:compression). + + + + + Gets or sets a value indicating whether the mipmaps should be resized faster but with a lower quality (dds:fast-mipmaps). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the the number of mipmaps, zero will disable writing mipmaps (dds:mipmaps). + + + + + Gets or sets a value indicating whether the mipmaps should be created from the images in the collection (dds:mipmaps=fromlist). + + + + + Gets or sets a value indicating whether only the raw pixels should be written (dds:raw). + + + + + Gets or sets a value indicating whether weight by alpha is enabled or disabled when cluster fit is used (dds:weight-by-alpha). + + + + + Gets the defines that should be set as a define on an image. + + + + + Defines the dng interpolation quality. + + + + + Interpolation will be disabled. + + + + + Linear interpolation. + + + + + VNG interpolation. + + + + + PPG interpolation. + + + + + AHD interpolation. + + + + + DCB interpolation. + + + + + DHT interpolation. + + + + + Modified AHD interpolation (by Anton Petrusevich). + + + + + Defines the dng output colors. + + + + + Raw color (unique to each camera). + + + + + sRGB D65 (default). + + + + + Adobe RGB (1998) D65. + + + + + Wide Gamut RGB D65. + + + + + Kodak ProPhoto RGB D65. + + + + + XYZ. + + + + + Academy Color Encoding System. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets a value indicating wether auto brightness should be used (dng:no-auto-bright). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating the interpolation quality (dng:interpolation-quality). + + + + + Gets or sets the output color (dng:output-color). + + + + + Gets or sets a value indicating wether the embedded thumbnail should be read (dng:read-thumbnail). + + + + + Gets or sets a value indicating wether auto whitebalance should be used (dng:use-auto-wb). + + + + + Gets or sets a value indicating wether the whitebalance of the camera should be used (dng:use-camera-wb). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets a value indicating whether the depth image should be read (heic:depth-image). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the orientation should be preserved (heic:preserve-orientation). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies jp2 progression orders. + + + + + Layer-resolution-component-precinct order. + + + + + Resolution-layer-component-precinct order. + + + + + Resolution-precinct-component-layer order. + + + + + Precinct-component-resolution-layer order. + + + + + Component-precinct-resolution-layer order. + + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets the maximum number of quality layers to decode (jp2:quality-layers). + + + + + Gets or sets the number of highest resolution levels to be discarded (jp2:reduce-factor). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets the format where the defines are for. + + + + + Gets or sets the number of resolutions to encode (jp2:number-resolutions). + + + + + Gets or sets the progression order (jp2:progression-order). + + + + + Gets or sets the quality layer PSNR, given in dB. The order is from left to right in ascending order (jp2:quality). + + + + + Gets or sets the compression ratio values. Each value is a factor of compression, thus 20 means 20 times compressed. + The order is from left to right in descending order. A final lossless quality layer is signified by the value 1 (jp2:rate). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies the DCT method. + + + + + Fast. + + + + + Float. + + + + + Slow. + + + + + Specifies profile types. + + + + + App profile. + + + + + 8bim profile. + + + + + Exif profile. + + + + + Icc profile. + + + + + Iptc profile. + + + + + Xmp profile. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets a value indicating whether block smoothing is enabled or disabled (jpeg:block-smoothing). + + + + + Gets or sets the desired number of colors (jpeg:colors). + + + + + Gets or sets the dtc method that will be used (jpeg:dct-method). + + + + + Gets or sets a value indicating whether fancy upsampling is enabled or disabled (jpeg:fancy-upsampling). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the size the scale the image to (jpeg:size). The output image won't be exactly + the specified size. More information can be found here: http://jpegclub.org/djpeg/. + + + + + Gets or sets the profile(s) that should be skipped when the image is read (profile:skip). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies the sampling factor. + + + + + 4:4:4. + + + + + 4:2:2. + + + + + 4:1:1. + + + + + 4:4:0. + + + + + 4:2:0. + + + + + 4:1:0. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets a value indicating whether arithmetic coding is enabled or disabled (jpeg:arithmetic-coding). + + + + + Gets or sets the dtc method that will be used (jpeg:dct-method). + + + + + Gets or sets the compression quality that does not exceed the specified extent in kilobytes (jpeg:extent). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether optimize coding is enabled or disabled (jpeg:optimize-coding). + + + + + Gets or sets the file name that contains custom quantization tables (jpeg:q-table). + + + + + Gets or sets jpeg sampling factor (jpeg:sampling-factor). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets the jpeg-xl encoding effort. Valid values are in the range of 3 (falcon) to 9 (tortois) (jxl:effort). + + + + + Gets the format where the defines are for. + + + + + Gets the defines that should be set as a define on an image. + + + + + The info of a file. + + + + + Gets the page count of the file. + + + + + Creates info from a file. + + The pdf file to create the info from. + The info of a file. + + + + Creates info from a file. + + The pdf file to create the info from. + The password of the pdf file. + The info of a file. + + + + Creates info from a file. + + The pdf file to create the info from. + The info of a file. + + + + Creates info from a file. + + The pdf file to create the info from. + The password of the pdf file. + The info of a file. + + + + Class for defines that are used when a image is read. + + + + + Gets or sets the size where the image should be scaled to fit the page (pdf:fit-page). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether annotations should be hidden (pdf:hide-annotations). + + + + + Gets or sets a value indicating whether all images are forced to be interpolated at full device resolution. + + + + + Gets or sets the password that should be used to open the pdf (authenticate). + + + + + Gets or sets a value indicating whether use of the cropbox should be forced (pdf:use-trimbox). + + + + + Gets or sets a value indicating whether use of the trimbox should be forced (pdf:use-trimbox). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets the author of the pdf document (pdf:author). + + + + + Gets or sets the creation time of the pdf document (pdf:create-epoch). + + + + + Gets or sets the creator of the pdf document (pdf:creator). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the keywords of the pdf document (pdf:keywords). + + + + + Gets or sets the modification time of the pdf document (pdf:modify-epoch). + + + + + Gets or sets the producer of the pdf document (pdf:producer). + + + + + Gets or sets the subject of the pdf document (pdf:subject). + + + + + Gets or sets the title of the pdf document (pdf:title). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies profile types. + + + + + App profile. + + + + + 8bim profile. + + + + + Exif profile. + + + + + Icc profile. + + + + + Iptc profile. + + + + + Xmp profile. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets the total number of sPLT, text, and unknown chunks that can be stored + (png:chunk-cache-max). 0 means unlimited. + + + + + Gets or sets the total memory that a zTXt, sPLT, iTXt, iCCP, or unknown chunk can occupy + when decompressed (png:chuck-malloc-max). 0 means unlimited. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the PNG decoder and encoder examine any ICC profile + that is present. By default, the PNG decoder and encoder examine any ICC profile that is present, + either from an iCCP chunk in the PNG input or supplied via an option, and if the profile is + recognized to be the sRGB profile, converts it to the sRGB chunk. You can use this option + to prevent this from happening; in such cases the iCCP chunk will be read. (png:preserve-iCCP). + + + + + Gets or sets a value indicating whether the PNG decoder should ignore the CRC when reading the + image. (png:ignore-crc). + + + + + Gets or sets the profile(s) that should be skipped when the image is read (profile:skip). + + + + + Gets or sets a value indicating whether the bytes should be swapped. The PNG specification + requires that any multi-byte integers be stored in network byte order (MSB-LSB endian). + This option allows you to fix any invalid PNG files that have 16-bit samples stored + incorrectly in little-endian order (LSB-MSB). (png:swap-bytes). + + + + + Gets the defines that should be set as a define on an image. + + + + + The additional info of a image. + + + + + Gets the name of the layer. + + + + + Creates additional info from a image. + + The image to create the additonal info from. + The additional info from a image. + + + + Specifies which additional info should be written to the output file. + + + + + None. + + + + + All. + + + + + Only select the info that does not use geometry. + + + + + Class for defines that are used when a image is read. + + + + + Gets or sets a value indicating whether alpha unblending should be enabled or disabled (psd:alpha-unblend). + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the opacity mask of a layer should be preserved and add it back to + the layer when the image is saved. This option should only be used when converting from a PSD file to another + PSD file (psd:preserve-opacity-mask). + + + + + Gets or sets a value indicating whether the profile should be replicate to all the layers (psd:replicate-profile). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets which additional info should be written to the output file. + + + + + Gets the format where the defines are for. + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies tiff alpha options. + + + + + Unspecified. + + + + + Associated. + + + + + Unassociated. + + + + + Class for defines that are used when a image is read. + + + + + Gets the format where the defines are for. + + + + + Gets or sets a value indicating whether the exif profile should be ignored (tiff:exif-properties). + + + + + Gets or sets a value indicating whether the layers should be ignored (tiff:ignore-layers). + + + + + Gets or sets the tiff tags that should be ignored (tiff:ignore-tags). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets the tiff alpha (tiff:alpha). + + + + + Gets or sets the endianness of the tiff file (tiff:endian). + + + + + Gets or sets the endianness of the tiff file (tiff:fill-order). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the prediction scheme with LZW (tiff:predictor). + + + + + Gets or sets a value indicating whether the compression of the image should be preserved (tiff:preserve-compression). + + + + + Gets or sets the rows per strip (tiff:rows-per-strip). + + + + + Gets or sets the tile geometry (tiff:tile-geometry). + + + + + Gets or sets a value indicating whether photoshop layers should be written (tiff:write-layers). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class for defines that are used when a video image is read. + + + + + Initializes a new instance of the class. + + The video format. + + + + Gets the format where the defines are for. + + + + + Gets or sets the video pixel format (video:pixel-format). + + + + + Gets or sets the video read mode (video:intermediate-format). + + + + + Gets or sets the video sync (video:vsync). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies the video read modes. + + + + + Read the video with frames that have a duration (webp). + + + + + Read the video frame by frame (pam). + + + + + Specifies the video sync methods. + + + + + Chooses between and depending on muxer capabilities. This is the default method. + + + + + Frames will be duplicated and dropped to achieve exactly the requested constant frame rate. + + + + + As passthrough but destroys all timestamps, making the muxer generate fresh timestamps based on frame-rate. + + + + + Each frame is passed with its timestamp from the demuxer to the muxer. + + + + + Frames are passed through with their timestamp or dropped so as to prevent 2 frames from having the same timestamp. + + + + + Class for defines that are used when a video image is written. + + + + + Initializes a new instance of the class. + + The video format. + + + + Gets the format where the defines are for. + + + + + Gets or sets the video pixel format (video:pixel-format). + + + + + Gets the defines that should be set as a define on an image. + + + + + Specifies WebP alpha compression options. + + + + + None. + + + + + Compressed. + + + + + Specifies WebP alpha filtering options. + + + + + None. + + + + + Fast. + + + + + Best. + + + + + Specifies WebP filter type options. + + + + + Simple. + + + + + Strong. + + + + + Specifies WebP image hint options. + + + + + Default preset. + + + + + Digital picture, like portrait, inner shot. + + + + + Outdoor photograph, with natural lighting. + + + + + Discrete tone image (graph, map-tile etc). + + + + + Specifies WebP preprocessing options. + + + + + None. + + + + + SegmentSmooth. + + + + + PseudoRandom. + + + + + Class for defines that are used when a image is written. + + + + + Gets or sets the encoding of the alpha plane (webp:alpha-compression). + + + + + Gets or sets the predictive filtering method for the alpha plane (webp:alpha-filtering). + + + + + Gets or sets the compression value for alpha compression between 0 and 100. Lossless compression of alpha is achieved using a value of 100, while the lower values result in a lossy compression (webp:alpha-quality). + + + + + Gets or sets a value indicating wether the algorithm should spend additional time optimizing the filtering strength to reach a well-balanced quality (webp:auto-filter). + + + + + Gets or sets a value indicating wether a similar compression to that of JPEG but with less degradation should be used. (webp:emulate-jpeg-size). + + + + + Gets or sets a value indicating wether RGB values should be preserved in transparent area. It's disabled by default to help compressibility. + + + + + Gets or sets strength of the filter sharpness, between 0 and 7 (least sharp) (webp:filter-sharpness). + + + + + Gets or sets strength of the deblocking filter, between 0 (no filtering) and 100 (maximum filtering). A value of 0 turns off any filtering. Higher values increase the strength of the filtering process applied after decoding the image. The higher the value, the smoother the image appears. Typical values are usually in the range of 20 to 50 (webp:filter-strength). + + + + + Gets or sets the filter type. (webp:filter-type). + + + + + Gets the format where the defines are for. + + + + + Gets or sets the hint about the image type. (webp:image-hint). + + + + + Gets or sets a value indicating wether the image should be encoded without any loss (webp:lossless). + + + + + Gets or sets a value indicating wether the memory usage should be reduced (webp:low-memory). + + + + + Gets or sets the compression method to use. It controls the trade off between encoding speed and the compressed file size and quality. Possible values range from 0 to 6. Default value is 4. When higher values are utilized, the encoder spends more time inspecting additional encoding possibilities and decide on the quality gain. Lower value might result in faster processing time at the expense of larger file size and lower compression quality (webp:method). + + + + + Gets or sets the near lossless encoding, between 0 (max-loss) and 100 (off) (webp:near-lossless). + + + + + Gets or sets the partition limit. Choose 0 for no quality degradation and 100 for maximum degradation (webp:partition-limit). + + + + + Gets or sets progressive decoding: choose 0 to 3 (webp:partitions). + + + + + Gets or sets the maximum number of passes to target compression size or PSNR (webp:pass). + + + + + Gets or sets the preprocessing filter (webp:preprocessing). + + + + + Gets or sets the maximum number of segments to use, choose from 1 to 4 (webp:segment). + + + + + Gets or sets a value indicating wether the compressed picture should be exported back (webp:show-compressed). + + + + + Gets or sets he amplitude of the spatial noise shaping. Spatial noise shaping (SNS) refers to a general collection of built-in algorithms used to decide which area of the picture should use relatively less bits, and where else to better transfer these bits. The possible range goes from 0 (algorithm is off) to 100 (the maximal effect). The default value is 80 (webp:sns-strength). + + + + + Gets or sets the desired minimal distortion (webp:target-psnr). + + + + + Gets or sets the target size (in bytes) to try and reach for the compressed output. The compressor makes several passes of partial encoding in order to get as close as possible to this target. (webp:target-size). + + + + + Gets or sets a value indicating wether multi-threaded encoding should be enabled (webp:thread-level). + + + + + Gets or sets a value indicating wether sharp (and slow) RGB->YUV conversion should be used. (webp:use-sharp-yuv). + + + + + Gets the defines that should be set as a define on an image. + + + + + Class that can be used to optimize gif files. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The gif file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the gif image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the gif image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The gif file to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The file name of the gif image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the gif image to compress. + True when the image could be compressed otherwise false. + + + + Class that can be used to optimize ico files. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The ico file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the ico image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the ico image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The ico file to optimize. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The ico file to optimize. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the ico image to compress. + True when the image could be compressed otherwise false. + + + + Class that can be used to optimize jpeg files. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Gets or sets a value indicating whether a progressive jpeg file will be created. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The jpeg file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The jpeg file to compress. + The jpeg quality. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the jpeg image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the jpeg image to compress. + The jpeg quality. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the jpeg image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The stream of the jpeg image to compress. + The jpeg quality. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The jpeg file to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The file name of the jpeg image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the jpeg image to compress. + True when the image could be compressed otherwise false. + + + + Class that can be used to optimize png files. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The png file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the png image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the png image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The png file to optimize. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The png file to optimize. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the png image to compress. + True when the image could be compressed otherwise false. + + + + Class that can be used to optimize an image. + + + + + Gets or sets a value indicating whether to skip unsupported files instead of throwing an exception. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The image file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the image to compress. + True when the image could be compressed otherwise false. + + + + Returns true when the supplied file name is supported based on the extension of the file. + + The file to check. + True when the supplied file name is supported based on the extension of the file. + True when the image could be compressed otherwise false. + + + + Returns true when the supplied formation information is supported. + + The format information to check. + True when the supplied formation information is supported. + + + + Returns true when the supplied file name is supported based on the extension of the file. + + The name of the file to check. + True when the supplied file name is supported based on the extension of the file. + + + + Returns true when the supplied stream is supported. + + The stream to check. + True when the supplied stream is supported. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The image file to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The file name of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the image to compress. + True when the image could be compressed otherwise false. + + + + Class that contains information about an image format. + + + + + + Gets a value indicating whether the format can be read multithreaded. + + + + + Gets a value indicating whether the format can be written multithreaded. + + + + + Gets the description of the format. + + + + + Gets the format. + + + + + Gets a value indicating whether the format supports multiple frames. + + + + + Gets a value indicating whether the format is readable. + + + + + Gets a value indicating whether the format is writable. + + + + + Gets the mime type. + + + + + Gets the module. + + + + + Returns the format information. The extension of the supplied file is used to determine + the format. + + The file to check. + The format information. + + + + Returns the format information of the specified format. + + The image format. + The format information. + + + + Returns the format information. The header of the image in the array of bytes is used to + determine the format. + + The array of bytes to read the image header from. + The format information. + + + + Returns the format information. The extension of the supplied file name is used to + determine the format. + + The name of the file to check. + The format information. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current format. + + A string that represents the current format. + + + + Unregisters this format. + + True when the format was found and unregistered. + + + + Returns the format information. The header of the image in the span of bytes is used to + determine the format. + + The span of bytes to read the image header from. + The format information. + + + + Returns the format information. The header of the image in the sequence of bytes is used to + determine the format. + + The sequence of bytes to read the image header from. + The format information. + + + + Class that represents an ImageMagick image. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The color to fill the image with. + The width. + The height. + + + + Initializes a new instance of the class. + + The image to create a copy of. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Finalizes an instance of the class. + + + + + Event that will be raised when progress is reported by this image. + + + + + Event that will we raised when a warning is thrown by ImageMagick. + + + + + + + + Gets or sets the time in 1/100ths of a second which must expire before splaying the next image in an + animated sequence. + + + + + Gets or sets the number of iterations to loop an animation (e.g. Netscape loop extension) for. + + + + + Gets or sets the ticks per seconds for the animation delay. + + + + + Gets the names of the artifacts. + + + + + Gets the names of the attributes. + + + + + Gets or sets the background color of the image. + + + + + Gets the height of the image before transformations. + + + + + Gets the width of the image before transformations. + + + + + Gets or sets a value indicating whether black point compensation should be used. + + + + + Gets or sets the border color of the image. + + + + + Gets the smallest bounding box enclosing non-border pixels. The current fuzz value is used + when discriminating between pixels. + + + + + Gets the number of channels that the image contains. + + + + + Gets the channels of the image. + + + + + Gets or sets the chromaticity blue primary point. + + + + + Gets or sets the chromaticity green primary point. + + + + + Gets or sets the chromaticity red primary point. + + + + + Gets or sets the chromaticity white primary point. + + + + + Gets or sets the image class (DirectClass or PseudoClass) + NOTE: Setting a DirectClass image to PseudoClass will result in the loss of color information + if the number of colors in the image is greater than the maximum palette size (either 256 (Q8) + or 65536 (Q16). + + + + + Gets or sets the distance where colors are considered equal. + + + + + Gets or sets the colormap size (number of colormap entries). + + + + + Gets or sets the color space of the image. + + + + + Gets or sets the color type of the image. + + + + + Gets or sets the comment text of the image. + + + + + Gets or sets the composition operator to be used when composition is implicitly used (such as for image flattening). + + + + + Gets the compression method of the image. + + + + + Gets or sets the vertical and horizontal resolution in pixels of the image. + + + + + Gets or sets the depth (bits allocated to red/green/blue components). + + + + + Gets the preferred size of the image when encoding. + + Thrown when an error is raised by ImageMagick. + + + + Gets or sets the endianness (little like Intel or big like SPARC) for image formats which support + endian-specific options. + + + + + Gets the original file name of the image (only available if read from disk). + + + + + Gets or sets the filter to use when resizing image. + + + + + Gets or sets the format of the image. + + + + + Gets the information about the format of the image. + + + + + Gets the gamma level of the image. + + Thrown when an error is raised by ImageMagick. + + + + Gets or sets the gif disposal method. + + + + + Gets or sets a value indicating whether the image supports transparency (alpha channel). + + + + + Gets the height of the image. + + + + + Gets or sets the type of interlacing to use. + + + + + Gets or sets the pixel color interpolate method to use. + + + + + Gets a value indicating whether the instance is disposed. + + + + + Gets a value indicating whether none of the pixels in the image have an alpha value other + than OpaqueAlpha (QuantumRange). + + + + + Gets or sets the label of the image. + + + + + Gets or sets the matte color. + + + + + Gets or sets the photo orientation of the image. + + + + + Gets or sets the preferred size and location of an image canvas. + + + + + Gets the names of the profiles. + + + + + Gets or sets the JPEG/MIFF/PNG compression level (default 75). + + + + + Gets or sets the type of rendering intent. + + + + + Gets the settings for this MagickImage instance. + + + + + Gets the signature of this image. + + Thrown when an error is raised by ImageMagick. + + + + Gets the number of colors in the image. + + + + + Gets or sets the virtual pixel method. + + + + + Gets the width of the image. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Initializes a new instance of the class using the specified base64 string. + + The base64 string to load the image from. + A new instance of the class. + + + + Adaptive-blur image with the default blur factor (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Adaptive-blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + Thrown when an error is raised by ImageMagick. + + + + Adaptive-blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Resize using mesh interpolation. It works well for small resizes of less than +/- 50% + of the original image size. For larger resizing on images a full filtered and slower resize + function should be used instead. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize using mesh interpolation. It works well for small resizes of less than +/- 50% + of the original image size. For larger resizing on images a full filtered and slower resize + function should be used instead. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean (+/-)(0-QuantumRange). + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean (+/-)(0-QuantumRange). + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Add noise to image with the specified noise type. + + The type of noise that should be added to the image. + Thrown when an error is raised by ImageMagick. + + + + Add noise to the specified channel of the image with the specified noise type. + + The type of noise that should be added to the image. + The channel(s) where the noise should be added. + Thrown when an error is raised by ImageMagick. + + + + Add noise to image with the specified noise type. + + The type of noise that should be added to the image. + Attenuate the random distribution. + Thrown when an error is raised by ImageMagick. + + + + Add noise to the specified channel of the image with the specified noise type. + + The type of noise that should be added to the image. + Attenuate the random distribution. + The channel(s) where the noise should be added. + Thrown when an error is raised by ImageMagick. + + + + Affine Transform image. + + The affine matrix to use. + Thrown when an error is raised by ImageMagick. + + + + Applies the specified alpha option. + + The option to use. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, and bounding area. + + The text to use. + The bounding area. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, bounding area, and placement gravity. + + The text to use. + The bounding area. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, bounding area, and placement gravity. + + The text to use. + The bounding area. + The placement gravity. + The rotation. + Thrown when an error is raised by ImageMagick. + + + + Annotate with text (bounding area is entire image) and placement gravity. + + The text to use. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriatally. + + Thrown when an error is raised by ImageMagick. + + + + Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriatally. + + The channel(s) to set the gamma for. + Thrown when an error is raised by ImageMagick. + + + + Adjusts the levels of a particular image channel by scaling the minimum and maximum values + to the full quantum range. + + Thrown when an error is raised by ImageMagick. + + + + Adjusts the levels of a particular image channel by scaling the minimum and maximum values + to the full quantum range. + + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjusts an image so that its orientation is suitable for viewing. + + Thrown when an error is raised by ImageMagick. + + + + Automatically selects a threshold and replaces each pixel in the image with a black pixel if + the image intentsity is less than the selected threshold otherwise white. + + The threshold method. + Thrown when an error is raised by ImageMagick. + + + + Applies a non-linear, edge-preserving, and noise-reducing smoothing filter. + + The width of the neighborhood in pixels. + The height of the neighborhood in pixels. + + + + Applies a non-linear, edge-preserving, and noise-reducing smoothing filter. + + The width of the neighborhood in pixels. + The height of the neighborhood in pixels. + The sigma in the intensity space. + The sigma in the coordinate space. + + + + Forces all pixels below the threshold into black while leaving all pixels at or above + the threshold unchanged. + + The threshold to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels below the threshold into black while leaving all pixels at or above + the threshold unchanged. + + The threshold to use. + The channel(s) to make black. + Thrown when an error is raised by ImageMagick. + + + + Simulate a scene at nighttime in the moonlight. + + Thrown when an error is raised by ImageMagick. + + + + Simulate a scene at nighttime in the moonlight. + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Blur image with the default blur factor (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Blur image the specified channel of the image with the default blur factor (0x1). + + The channel(s) that should be blurred. + Thrown when an error is raised by ImageMagick. + + + + Blur image with specified blur factor. + + The radius of the Gaussian in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Blur image with specified blur factor and channel. + + The radius of the Gaussian in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be blurred. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The size of the border. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The width of the border. + The height of the border. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The size of the border. + Thrown when an error is raised by ImageMagick. + + + + Changes the brightness and/or contrast of an image. It converts the brightness and + contrast parameters into slope and intercept and calls a polynomical function to apply + to the image. + + The brightness. + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Changes the brightness and/or contrast of an image. It converts the brightness and + contrast parameters into slope and intercept and calls a polynomical function to apply + to the image. + + The brightness. + The contrast. + The channel(s) that should be changed. + Thrown when an error is raised by ImageMagick. + + + + Uses a multi-stage algorithm to detect a wide range of edges in images. + + Thrown when an error is raised by ImageMagick. + + + + Uses a multi-stage algorithm to detect a wide range of edges in images. + + The radius of the gaussian smoothing filter. + The sigma of the gaussian smoothing filter. + Percentage of edge pixels in the lower threshold. + Percentage of edge pixels in the upper threshold. + Thrown when an error is raised by ImageMagick. + + + + Charcoal effect image (looks like charcoal sketch). + + Thrown when an error is raised by ImageMagick. + + + + Charcoal effect image (looks like charcoal sketch). + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove vertical or horizontal subregion of image) using the specified geometry. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove horizontal subregion of image). + + The X offset from origin. + The width of the part to chop horizontally. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove horizontal subregion of image). + + The Y offset from origin. + The height of the part to chop vertically. + Thrown when an error is raised by ImageMagick. + + + + A variant of adaptive histogram equalization in which the contrast amplification is limited, + so as to reduce this problem of noise amplification. + + The percentage of tile divisions to use in horizontal direction. + The percentage of tile divisions to use in vertical direction. + The number of bins for histogram ("dynamic range"). + The contrast limit for localised changes in contrast. A limit less than 1 + results in standard non-contrast limited AHE. + + + + A variant of adaptive histogram equalization in which the contrast amplification is limited, + so as to reduce this problem of noise amplification. + + The number of tile divisions to use in horizontal direction. + The number of tile divisions to use in vertical direction. + The number of bins for histogram ("dynamic range"). + The contrast limit for localised changes in contrast. A limit less than 1 + results in standard non-contrast limited AHE. + + + + Set each pixel whose value is below zero to zero and any the pixel whose value is above + the quantum range to the quantum range (Quantum.Max) otherwise the pixel value + remains unchanged. + + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is below zero to zero and any the pixel whose value is above + the quantum range to the quantum range (Quantum.Max) otherwise the pixel value + remains unchanged. + + The channel(s) to clamp. + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect inside + the clipping path. + + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect inside + the clipping path. + + Name of clipping path resource. If name is preceded by #, use + clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect outside + the clipping path. + + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect outside + the clipping path. + + Name of clipping path resource. If name is preceded by #, use + clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Creates a clone of the current image. + + A clone of the current image. + + + + Creates a clone of the current image with the specified geometry. + + The area to clone. + A clone of the current image. + Thrown when an error is raised by ImageMagick. + + + + Creates a clone of the current image. + + The width of the area to clone. + The height of the area to clone. + A clone of the current image. + + + + Creates a clone of the current image. + + The X offset from origin. + The Y offset from origin. + The width of the area to clone. + The height of the area to clone. + A clone of the current image. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Pixel interpolate method. + The channel(s) to clut. + Thrown when an error is raised by ImageMagick. + + + + Sets the alpha channel to the specified color. + + The color to use. + Thrown when an error is raised by ImageMagick. + + + + Applies the color decision list from the specified ASC CDL file. + + The file to read the ASC CDL information from. + Thrown when an error is raised by ImageMagick. + + + + Colorize image with the specified color, using specified percent alpha. + + The color to use. + The alpha percentage. + Thrown when an error is raised by ImageMagick. + + + + Colorize image with the specified color, using specified percent alpha for red, green, + and blue quantums. + + The color to use. + The alpha percentage for red. + The alpha percentage for green. + The alpha percentage for blue. + Thrown when an error is raised by ImageMagick. + + + + Apply a color matrix to the image channels. + + The color matrix to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels in the color range to white otherwise black. + + The start color of the color range. + The stop color of the color range. + + + + Compare current image with another image and returns error information. + + The other image to compare with this image. + The error information. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The settings to use. + The image that will contain the difference. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The image that will contain the difference. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The image that will contain the difference. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The settings to use. + The image that will contain the difference. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Compares the current instance with another image. Only the size of the image is compared. + + The object to compare this image with. + A signed number indicating the relative values of this instance and value. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Determines the connected-components of the image. + + How many neighbors to visit, choose from 4 or 8. + The connected-components of the image. + Thrown when an error is raised by ImageMagick. + + + + Determines the connected-components of the image. + + The settings for this operation. + The connected-components of the image. + Thrown when an error is raised by ImageMagick. + + + + Contrast image (enhance intensity differences in image). + + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + The white point. + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + The white point. + The channel(s) to constrast stretch. + Thrown when an error is raised by ImageMagick. + + + + Returns the convex hull points of an image canvas. + + The convex hull points of an image canvas. + Thrown when an error is raised by ImageMagick. + + + + Convolve image. Applies a user-specified convolution to the image. + + The convolution matrix. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The geometry to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The geometry to copy. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image as defined by the geometry the destination image at + the specified offset. + + The source image to copy the pixels from. + The geometry to copy. + The X offset to start the copy from. + The Y offset to start the copy from. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image as defined by the geometry the destination image at + the specified offset. + + The source image to copy the pixels from. + The geometry to copy. + The X offset to copy the pixels to. + The Y offset to copy the pixels to. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The width of the subregion. + The height of the subregion. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The width of the subregion. + The height of the subregion. + The position where the cropping should start from. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The subregion to crop. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The subregion to crop. + The position where the cropping should start from. + Thrown when an error is raised by ImageMagick. + + + + Creates tiles of the current image in the specified dimension. + + The width of the tile. + The height of the tile. + New title of the current image. + + + + Creates tiles of the current image in the specified dimension. + + The size of the tile. + New title of the current image. + + + + Displaces an image's colormap by a given number of positions. + + Displace the colormap this amount. + Thrown when an error is raised by ImageMagick. + + + + Converts cipher pixels to plain pixels. + + The password that was used to encrypt the image. + Thrown when an error is raised by ImageMagick. + + + + Removes skew from the image. Skew is an artifact that occurs in scanned images because of + the camera being misaligned, imperfections in the scanning or surface, or simply because + the paper was not placed completely flat when scanned. The value of threshold ranges + from 0 to QuantumRange. + + The threshold. + Thrown when an error is raised by ImageMagick. + The angle that was used. + + + + Removes skew from the image. Skew is an artifact that occurs in scanned images because of + the camera being misaligned, imperfections in the scanning or surface, or simply because + the paper was not placed completely flat when scanned. The value of threshold ranges + from 0 to QuantumRange. + + The deskew settings. + Thrown when an error is raised by ImageMagick. + The angle that was used. + + + + Despeckle image (reduce speckle noise). + + Thrown when an error is raised by ImageMagick. + + + + Determines the bit depth (bits allocated to red/green/blue components). Use the Depth + property to get the current value. + + Thrown when an error is raised by ImageMagick. + The bit depth (bits allocated to red/green/blue components). + + + + Determines the bit depth (bits allocated to red/green/blue components) of the specified channel. + + The channel to get the depth for. + Thrown when an error is raised by ImageMagick. + The bit depth (bits allocated to red/green/blue components) of the specified channel. + + + + Determines the color type of the image. This method can be used to automatically make the + type GrayScale. + + Thrown when an error is raised by ImageMagick. + The color type of the image. + + + + Disposes the instance. + + + + + Distorts an image using various distortion methods, by mapping color lookups of the source + image to a new destination image of the same size as the source image. + + The distortion method to use. + An array containing the arguments for the distortion. + Thrown when an error is raised by ImageMagick. + + + + Distorts an image using various distortion methods, by mapping color lookups of the source + image to a new destination image usually of the same size as the source image, unless + 'bestfit' is set to true. + + The distortion method to use. + The settings for the distort operation. + An array containing the arguments for the distortion. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using one or more drawables. + + The drawable(s) to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using one or more drawables. + + The drawable(s) to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using a collection of drawables. + + The drawables to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Edge image (highlight edges in image). + + The radius of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Emboss image (highlight edges with 3D effect) with default value (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Emboss image (highlight edges with 3D effect). + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Converts pixels to cipher-pixels. + + The password that to encrypt the image with. + Thrown when an error is raised by ImageMagick. + + + + Applies a digital filter that improves the quality of a noisy image. + + Thrown when an error is raised by ImageMagick. + + + + Applies a histogram equalization to the image. + + Thrown when an error is raised by ImageMagick. + + + + Applies a histogram equalization to the image. + + The channel(s) to apply the operator on. + Thrown when an error is raised by ImageMagick. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The function. + The arguments for the function. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The geometry to use. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The geometry to use. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The X offset from origin. + The Y offset from origin. + The width to extend the image to. + The height to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The placement gravity. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the rectangle. + + The geometry to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The placement gravity. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Flip image (reflect each scanline in the vertical direction). + + Thrown when an error is raised by ImageMagick. + + + + Floodfill pixels matching color (within fuzz factor) of target pixel(x,y) with replacement + alpha value using method. + + The alpha to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill color across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill color across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flop image (reflect each scanline in the horizontal direction). + + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + Specifies if newlines should be ignored. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Formats the specified expression, more info here: http://www.imagemagick.org/script/escape.php. + + The expression, more info here: http://www.imagemagick.org/script/escape.php. + The result of the expression. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the default geometry (25x25+6+6). + + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified geometry. + + The geometry of the frame. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified with and height. + + The width of the frame. + The height of the frame. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified with, height, innerBevel and outerBevel. + + The width of the frame. + The height of the frame. + The inner bevel of the frame. + The outer bevel of the frame. + Thrown when an error is raised by ImageMagick. + + + + Applies a mathematical expression to the image. + + The expression to apply. + Thrown when an error is raised by ImageMagick. + + + + Applies a mathematical expression to the image. + + The expression to apply. + The channel(s) to apply the expression to. + Thrown when an error is raised by ImageMagick. + + + + Gamma correct image. + + The image gamma. + Thrown when an error is raised by ImageMagick. + + + + Gamma correct image. + + The image gamma for the channel. + The channel(s) to gamma correct. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The standard deviation of the gaussian bell curve. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The standard deviation of the gaussian bell curve. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the 8bim profile from the image. + + Thrown when an error is raised by ImageMagick. + The 8bim profile from the image. + + + + Returns the value of the artifact with the specified name. + + The name of the artifact. + The value of the artifact with the specified name. + + + + Returns the value of a named image attribute. + + The name of the attribute. + The value of a named image attribute. + Thrown when an error is raised by ImageMagick. + + + + Returns the default clipping path. Null will be returned if the image has no clipping path. + + The default clipping path. Null will be returned if the image has no clipping path. + Thrown when an error is raised by ImageMagick. + + + + Returns the clipping path with the specified name. Null will be returned if the image has no clipping path. + + Name of clipping path resource. If name is preceded by #, use clipping path numbered by name. + The clipping path with the specified name. Null will be returned if the image has no clipping path. + Thrown when an error is raised by ImageMagick. + + + + Returns the color at colormap position index. + + The position index. + The color at colormap position index. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the color profile from the image. + + The color profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the exif profile from the image. + + The exif profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Retrieve the iptc profile from the image. + + The iptc profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Returns a pixel collection that can be used to read or modify the pixels of this image. + + A pixel collection that can be used to read or modify the pixels of this image. + Thrown when an error is raised by ImageMagick. + + + + Returns a pixel collection that can be used to read or modify the pixels of this image. This instance + will not do any bounds checking and directly call ImageMagick. + + A pixel collection that can be used to read or modify the pixels of this image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve a named profile from the image. + + The name of the profile (e.g. "ICM", "IPTC", or a generic profile name). + A named profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Gets the associated read mask of the image. + + The associated read mask of the image. + Thrown when an error is raised by ImageMagick. + + + + Gets the associated write mask of the image. + + The associated write mask of the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the xmp profile from the image. + + The xmp profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Converts the colors in the image to gray. + + Thrown when an error is raised by ImageMagick. + + + + Converts the colors in the image to gray. + + The pixel intensity method to use. + Thrown when an error is raised by ImageMagick. + + + + Gets a value indicating whether a profile with the specified name already exists on the image. + + The name of the profile. + A value indicating whether a profile with the specified name already exists on the image. + + + + Apply a color lookup table (Hald CLUT) to the image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Creates a color histogram. + + A color histogram. + Thrown when an error is raised by ImageMagick. + + + + Identifies lines in the image. + + Thrown when an error is raised by ImageMagick. + + + + Identifies lines in the image. + + The width of the neighborhood. + The height of the neighborhood. + The line count threshold. + Thrown when an error is raised by ImageMagick. + + + + Implode image (special effect). + + The extent of the implosion. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array into the current image. + + The byte array to read the image data from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array into the current image. + + The byte array to read the image data from. + The offset at which to begin reading data. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Returns the sum of values (pixel values) in the image. + + The sum of values (pixel values) in the image. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The new width. + The new height. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The geometry to use. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The percentage. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The percentage of the width. + The percentage of the height. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Inverse contrast image (diminish intensity differences in image). + + Thrown when an error is raised by ImageMagick. + + + + Floodfill pixels not matching color (within fuzz factor) of target pixel(x,y) with + replacement alpha value using method. + + The alpha to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Changes any pixel that does not match the target with the color defined by fill. + + The color to replace. + The color to replace opaque color with. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + The channel(s) that should be adjusted. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that don't match the specified color to transparent. + + The color that should not be made transparent. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that don't lie in between the given two colors to + transparent. + + The low target color. + The high target color. + Thrown when an error is raised by ImageMagick. + + + + Applies k-means color reduction to an image. This is a colorspace clustering or segmentation technique. + + The kmeans settings. + Thrown when an error is raised by ImageMagick. + + + + An edge preserving noise reduction filter. + + Thrown when an error is raised by ImageMagick. + + + + An edge preserving noise reduction filter. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Discards any pixels below the black point and above the white point and levels the remaining pixels. + + The black point. + The white point. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The new width. + The new height. + Maximum seam transversal step (0 means straight seams). + Introduce a bias for non-straight seams (typically 0). + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage of the width. + The percentage of the height. + Maximum seam transversal step (0 means straight seams). + Introduce a bias for non-straight seams (typically 0). + Thrown when an error is raised by ImageMagick. + + + + Local contrast enhancement. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The strength of the blur mask. + Thrown when an error is raised by ImageMagick. + + + + Local contrast enhancement. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The strength of the blur mask. + The channel(s) that should be changed. + Thrown when an error is raised by ImageMagick. + + + + Lower image (darken the edges of an image to give a 3-D lowered effect). + + The size of the edges. + Thrown when an error is raised by ImageMagick. + + + + Magnify image by integral size. + + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from the specified colors. + + The colors to use. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from the specified colors. + + The colors to use. + Quantize settings. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Quantize settings. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Delineate arbitrarily shaped clusters in the image. + + The width and height of the pixels neighborhood. + + + + Delineate arbitrarily shaped clusters in the image. + + The width and height of the pixels neighborhood. + The color distance. + + + + Delineate arbitrarily shaped clusters in the image. + + The width of the pixels neighborhood. + The height of the pixels neighborhood. + + + + Delineate arbitrarily shaped clusters in the image. + + The width of the pixels neighborhood. + The height of the pixels neighborhood. + The color distance. + + + + Filter image by replacing each pixel component with the median color in a circular neighborhood. + + Thrown when an error is raised by ImageMagick. + + + + Filter image by replacing each pixel component with the median color in a circular neighborhood. + + The radius of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Reduce image by integral size. + + Thrown when an error is raised by ImageMagick. + + + + Returns the points that form the minimum bounding box around the image foreground objects with + the "Rotating Calipers" algorithm. he method also returns these properties: minimum-bounding-box:area, + minimum-bounding-box:width, minimum-bounding-box:height, and minimum-bounding-box:angle. + + The points that form the minimum bounding box around the image foreground objects. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent brightness of an image. + + The brightness percentage. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent saturation and brightness of an image. + + The brightness percentage. + The saturation percentage. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent hue, saturation, and brightness of an image. + + The brightness percentage. + The saturation percentage. + The hue percentage. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology settings. + + The morphology settings. + Thrown when an error is raised by ImageMagick. + + + + Returns the normalized moments of one or more image channels. + + The normalized moments of one or more image channels. + Thrown when an error is raised by ImageMagick. + + + + Motion blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The angle the object appears to be comming from (zero degrees is from the right). + Thrown when an error is raised by ImageMagick. + + + + Negate colors in image. + + Thrown when an error is raised by ImageMagick. + + + + Negate colors in image for the specified channel. + + The channel(s) that should be negated. + Thrown when an error is raised by ImageMagick. + + + + Negate the grayscale colors in image. + + Thrown when an error is raised by ImageMagick. + + + + Negate the grayscale colors in image for the specified channel. + + The channel(s) that should be negated. + Thrown when an error is raised by ImageMagick. + + + + Normalize image (increase contrast by normalizing the pixel values to span the full range + of color values). + + Thrown when an error is raised by ImageMagick. + + + + Oilpaint image (image looks like oil painting). + + + + + Oilpaint image (image looks like oil painting). + + The radius of the circular neighborhood. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Changes any pixel that matches target with the color defined by fill. + + The color to replace. + The color to replace opaque color with. + Thrown when an error is raised by ImageMagick. + + + + Perform a ordered dither based on a number of pre-defined dithering threshold maps, but over + multiple intensity levels. + + A string containing the name of the threshold dither map to use, + followed by zero or more numbers representing the number of color levels tho dither between. + Thrown when an error is raised by ImageMagick. + + + + Perform a ordered dither based on a number of pre-defined dithering threshold maps, but over + multiple intensity levels. + + A string containing the name of the threshold dither map to use, + followed by zero or more numbers representing the number of color levels tho dither between. + The channel(s) to dither. + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is less than epsilon to epsilon or -epsilon (whichever is closer) + otherwise the pixel value remains unchanged. + + The epsilon threshold. + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is less than epsilon to epsilon or -epsilon (whichever is closer) + otherwise the pixel value remains unchanged. + + The epsilon threshold. + The channel(s) to perceptible. + Thrown when an error is raised by ImageMagick. + + + + Returns the perceptual hash of this image. + + The perceptual hash of this image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the information from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Simulates a polaroid picture. + + The caption to put on the image. + The angle of image. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + The channel(s) to posterize. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Dither method to use. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Dither method to use. + The channel(s) to posterize. + Thrown when an error is raised by ImageMagick. + + + + Sets an internal option to preserve the color type. + + Thrown when an error is raised by ImageMagick. + + + + Quantize image (reduce number of colors). + + Quantize settings. + The error information. + Thrown when an error is raised by ImageMagick. + + + + Raise image (lighten the edges of an image to give a 3-D raised effect). + + The size of the edges. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Applies soft and hard thresholding. + + Defines the minimum black threshold value. + Defines the minimum white threshold value. + Defines the maximum white threshold value. + Defines the maximum black threshold value. + Thrown when an error is raised by ImageMagick. + + + + Applies soft and hard thresholding. + + Defines the minimum black threshold value. + Defines the minimum white threshold value. + Defines the maximum white threshold value. + Defines the maximum black threshold value. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The color to fill the image with. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The byte array to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Reduce noise in image using a noise peak elimination filter. + + Thrown when an error is raised by ImageMagick. + + + + Reduce noise in image using a noise peak elimination filter. + + The order to use. + Thrown when an error is raised by ImageMagick. + + + + Associates a mask with the image as defined by the specified region. + + The mask region. + + + + Removes the artifact with the specified name. + + The name of the artifact. + + + + Removes the attribute with the specified name. + + The name of the attribute. + + + + Removes the region mask of the image. + + + + + Remove a profile from the image. + + The profile to remove. + Thrown when an error is raised by ImageMagick. + + + + Remove a named profile from the image. + + The name of the profile (e.g. "ICM", "IPTC", or a generic profile name). + Thrown when an error is raised by ImageMagick. + + + + Removes the associated read mask of the image. + + Thrown when an error is raised by ImageMagick. + + + + Removes the associated write mask of the image. + + Thrown when an error is raised by ImageMagick. + + + + Resets the page property of this image. + + Thrown when an error is raised by ImageMagick. + + + + Resize image in terms of its pixel size. + + The new X resolution. + The new Y resolution. + Thrown when an error is raised by ImageMagick. + + + + Resize image in terms of its pixel size. + + The density to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified geometry. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Roll image (rolls image vertically and horizontally). + + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Rotate image clockwise by specified number of degrees. + + Specify a negative number for to rotate counter-clockwise. + The number of degrees to rotate (positive to rotate clockwise, negative to rotate counter-clockwise). + Thrown when an error is raised by ImageMagick. + + + + Rotational blur image. + + The angle to use. + Thrown when an error is raised by ImageMagick. + + + + Rotational blur image. + + The angle to use. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm to the specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm to the specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm to the specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm to the specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Segment (coalesce similar image components) by analyzing the histograms of the color + components and identifying units that are homogeneous with the fuzzy c-means technique. + Also uses QuantizeColorSpace and Verbose image attributes. + + Thrown when an error is raised by ImageMagick. + + + + Segment (coalesce similar image components) by analyzing the histograms of the color + components and identifying units that are homogeneous with the fuzzy c-means technique. + Also uses QuantizeColorSpace and Verbose image attributes. + + Quantize colorspace. + This represents the minimum number of pixels contained in + a hexahedra before it can be considered valid (expressed as a percentage). + The smoothing threshold eliminates noise in the second + derivative of the histogram. As the value is increased, you can expect a smoother second + derivative. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Separates the channels from the image and returns it as grayscale images. + + The channels from the image as grayscale images. + Thrown when an error is raised by ImageMagick. + + + + Separates the specified channels from the image and returns it as grayscale images. + + The channel(s) to separates. + The channels from the image as grayscale images. + Thrown when an error is raised by ImageMagick. + + + + Applies a special effect to the image, similar to the effect achieved in a photo darkroom + by sepia toning. + + Thrown when an error is raised by ImageMagick. + + + + Applies a special effect to the image, similar to the effect achieved in a photo darkroom + by sepia toning. + + The tone threshold. + Thrown when an error is raised by ImageMagick. + + + + Inserts the artifact with the specified name and value into the artifact tree of the image. + + The name of the artifact. + The value of the artifact. + Thrown when an error is raised by ImageMagick. + + + + Inserts the artifact with the specified name and value into the artifact tree of the image. + + The name of the artifact. + The value of the artifact. + Thrown when an error is raised by ImageMagick. + + + + Lessen (or intensify) when adding noise to an image. + + The attenuate value. + + + + Sets a named image attribute. + + The name of the attribute. + The value of the attribute. + Thrown when an error is raised by ImageMagick. + + + + Sets a named image attribute. + + The name of the attribute. + The value of the attribute. + Thrown when an error is raised by ImageMagick. + + + + Set the bit depth (bits allocated to red/green/blue components). + + The depth. + Thrown when an error is raised by ImageMagick. + + + + Set the bit depth (bits allocated to red/green/blue components) of the specified channel. + + The depth. + The channel to set the depth for. + Thrown when an error is raised by ImageMagick. + + + + Sets the default clipping path. + + The clipping path. + Thrown when an error is raised by ImageMagick. + + + + Sets the clipping path with the specified name. + + The clipping path. + Name of clipping path resource. If name is preceded by #, use clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Sets the compression of the image. This method should only be used when the encoder uses the compression of the image. For + most usecases Setting.Compression should be used instead. + + The compression method. + + + + Set color at colormap position index. + + The position index. + The color. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + The color transformation mode. + Thrown when an error is raised by ImageMagick. + + + + Sets the associated read mask of the image. The mask must be the same dimensions as the image and + only contain the colors black and white. + + The image that contains the read mask. + Thrown when an error is raised by ImageMagick. + + + + Sets the associated write mask of the image. The mask must be the same dimensions as the image and + only contains the colors black and white. + + The image that contains the write mask. + Thrown when an error is raised by ImageMagick.z + + + + Shade image using distant light source. + + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + The azimuth of the light source direction. + The elevation of the light source direction. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + The azimuth of the light source direction. + The elevation of the light source direction. + The channel(s) that should be shaded. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + The azimuth of the light source direction. + The elevation of the light source direction. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + The azimuth of the light source direction. + The elevation of the light source direction. + The channel(s) that should be shaded. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + The color of the shadow. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + the shadow x-offset. + the shadow y-offset. + The standard deviation of the Gaussian, in pixels. + Transparency percentage. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + the shadow x-offset. + the shadow y-offset. + The standard deviation of the Gaussian, in pixels. + Transparency percentage. + The color of the shadow. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + + + + Shave pixels from image edges. + + The size of to shave of the image. + Thrown when an error is raised by ImageMagick. + + + + Shave pixels from image edges. + + The number of pixels to shave left and right. + The number of pixels to shave top and bottom. + Thrown when an error is raised by ImageMagick. + + + + Shear image (create parallelogram by sliding image by X or Y axis). + + Specifies the number of x degrees to shear the image. + Specifies the number of y degrees to shear the image. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + The channel(s) that should be adjusted. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The channel(s) to use. + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The channel(s) to use. + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Simulates a pencil sketch. + + Thrown when an error is raised by ImageMagick. + + + + Simulates a pencil sketch. We convolve the image with a Gaussian operator of the given + radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. + Use a radius of 0 and sketch selects a suitable radius for you. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Apply the effect along this angle. + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Sort pixels within each scanline in ascending order of intensity. + + Thrown when an error is raised by ImageMagick. + + + + Splice the background color into the image. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image. + + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image by specified amount. + + Choose a random pixel in a neighborhood of this extent. + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image by specified amount. + + Pixel interpolate method. + Choose a random pixel in a neighborhood of this extent. + Thrown when an error is raised by ImageMagick. + + + + Makes each pixel the min / max / median / mode / etc. of the neighborhood of the specified width + and height. + + The statistic type. + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Returns the image statistics. + + The image statistics. + Thrown when an error is raised by ImageMagick. + + + + Returns the image statistics. + + The image statistics. + The channel(s) that should be used. + Thrown when an error is raised by ImageMagick. + + + + Add a digital watermark to the image (based on second image). + + The image to use as a watermark. + Thrown when an error is raised by ImageMagick. + + + + Create an image which appears in stereo when viewed with red-blue glasses (Red image on + left, blue on right). + + The image to use as the right part of the resulting image. + Thrown when an error is raised by ImageMagick. + + + + Strips an image of all profiles and comments. + + Thrown when an error is raised by ImageMagick. + + + + Swirl image (image pixels are rotated by degrees). + + The number of degrees. + Thrown when an error is raised by ImageMagick. + + + + Swirl image (image pixels are rotated by degrees). + + Pixel interpolate method. + The number of degrees. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The metric to use. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The metric to use. + Minimum distortion for (sub)image match. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Channel a texture on image background. + + The image to use as a texture on the image background. + Thrown when an error is raised by ImageMagick. + + + + Threshold image. + + The threshold percentage. + Thrown when an error is raised by ImageMagick. + + + + Threshold image. + + The threshold percentage. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Compose an image repeated across and down the image. + + The image to composite with this image. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image repeated across and down the image. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Applies a color vector to each pixel in the image. The length of the vector is 0 for black + and white and at its maximum for the midtones. The vector weighting function is + f(x)=(1-(4.0*((x-0.5)*(x-0.5)))). + + An opacity value used for tinting. + A color value used for tinting. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a base64 . + + A base64 . + + + + Converts this instance to a base64 . + + The format to use. + A base64 . + + + + Converts this instance to a base64 . + + The defines to set. + A base64 . + + + + Converts this instance to a array. + + A array. + + + + Converts this instance to a array. + + The defines to set. + A array. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + The format to use. + A array. + Thrown when an error is raised by ImageMagick. + + + + Returns a string that represents the current image. + + A string that represents the current image. + + + + Transforms the image from the colorspace of the source profile to the target profile. This + requires the image to have a color profile. Nothing will happen if the image has no color profile. + + The target color profile. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. This + requires the image to have a color profile. Nothing will happen if the image has no color profile. + + The target color profile. + The color transformation mode. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. The + source profile will only be used if the image does not contain a color profile. Nothing + will happen if the source profile has a different colorspace then that of the image. + + The source color profile. + The target color profile. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. The + source profile will only be used if the image does not contain a color profile. Nothing + will happen if the source profile has a different colorspace then that of the image. + + The source color profile. + The target color profile. + The color transformation mode. + True when the colorspace was transformed otherwise false. + + + + Add alpha channel to image, setting pixels matching color to transparent. + + The color to make transparent. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that lie in between the given two colors to + transparent. + + The low target color. + The high target color. + Thrown when an error is raised by ImageMagick. + + + + Creates a horizontal mirror image by reflecting the pixels around the central y-axis while + rotating them by 90 degrees. + + Thrown when an error is raised by ImageMagick. + + + + Creates a vertical mirror image by reflecting the pixels around the central x-axis while + rotating them by 270 degrees. + + Thrown when an error is raised by ImageMagick. + + + + Trim edges that are the background color from the image. The property can be used to the + coordinates of the area that will be extracted. + + Thrown when an error is raised by ImageMagick. + + + + Trim the specified edges that are the background color from the image. + + The edges that need to be trimmed. + Thrown when an error is raised by ImageMagick. + + + + Trim edges that are the background color from the image. The property can be used to the + coordinates of the area that will be extracted. + + The percentage of background pixels permitted in the outer rows and columns. + Thrown when an error is raised by ImageMagick. + + + + Returns the unique colors of an image. + + The unique colors of an image. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The percentage of the difference between the original and the blur image + that is added back into the original. + The threshold in pixels needed to apply the diffence amount. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The percentage of the difference between the original and the blur image + that is added back into the original. + The threshold in pixels needed to apply the diffence amount. + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Softens the edges of the image in vignette style. + + Thrown when an error is raised by ImageMagick. + + + + Softens the edges of the image in vignette style. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The x ellipse offset. + the y ellipse offset. + Thrown when an error is raised by ImageMagick. + + + + Map image pixels to a sine wave. + + Thrown when an error is raised by ImageMagick. + + + + Map image pixels to a sine wave. + + Pixel interpolate method. + The amplitude. + The length of the wave. + Thrown when an error is raised by ImageMagick. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + Attenuate the smoothing threshold. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + Attenuate the smoothing threshold. + + + + Apply a white balancing to an image according to a grayworld assumption in the LAB colorspace. + + + + + Apply a white balancing to an image according to a grayworld assumption in the LAB colorspace. + + The vibrance. + + + + Forces all pixels above the threshold into white while leaving all pixels at or below + the threshold unchanged. + + The threshold to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels above the threshold into white while leaving all pixels at or below + the threshold unchanged. + + The threshold to use. + The channel(s) to make black. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array into the current image. + + The quantum array to read the pixels from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The sequence of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The sequence of bytes to read the information from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The span of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The span of bytes to read the information from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The sequence of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The sequence of bytes to read the information from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of bytes to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The buffer writer to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The buffer writer to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The buffer writer to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Represents the collection of images. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The images to add to the collection. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Finalizes an instance of the class. + + + + + Event that will we raised when a warning is thrown by ImageMagick. + + + + + Gets the number of images in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Gets or sets the image at the specified index. + + The index of the image to get. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that iterates through the collection. + + + + Adds an image to the collection. + + The image to add. + + + + Adds an image with the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified byte array to the collection. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified byte array to the collection. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Adds the specified images to this collection. + + The images to add to the collection. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified stream to the collection. + + The stream to read the images from. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified stream to the collection. + + The stream to read the images from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Creates a single image, by appending all the images in the collection horizontally (+append). + + A single image, by appending all the images in the collection horizontally (+append). + Thrown when an error is raised by ImageMagick. + + + + Creates a single image, by appending all the images in the collection vertically (-append). + + A single image, by appending all the images in the collection vertically (-append). + Thrown when an error is raised by ImageMagick. + + + + Merge a sequence of images. This is useful for GIF animation sequences that have page + offsets and disposal methods. + + Thrown when an error is raised by ImageMagick. + + + + Removes all images from the collection. + + + + + Creates a clone of the current image collection. + + A clone of the current image collection. + + + + Combines the images into a single image. The typical ordering would be + image 1 => Red, 2 => Green, 3 => Blue, etc. + + The images combined into a single image. + Thrown when an error is raised by ImageMagick. + + + + Combines the images into a single image. The grayscale value of the pixels of each image + in the sequence is assigned in order to the specified channels of the combined image. + The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc. + + The image colorspace. + The images combined into a single image. + Thrown when an error is raised by ImageMagick. + + + + Perform complex mathematics on an image sequence. + + The complex settings. + Thrown when an error is raised by ImageMagick. + + + + Determines whether the collection contains the specified image. + + The image to check. + True when the collection contains the specified image. + + + + Copies the images to an , starting at a particular index. + + The one-dimensional that is the destination. + The zero-based index in 'destination' at which copying begins. + + + + Break down an image sequence into constituent parts. This is useful for creating GIF or + MNG animation sequences. + + Thrown when an error is raised by ImageMagick. + + + + Disposes the instance. + + + + + Evaluate image pixels into a single image. All the images in the collection must be the + same size in pixels. + + The operator. + The resulting image of the evaluation. + Thrown when an error is raised by ImageMagick. + + + + Use the virtual canvas size of first image. Images which fall outside this canvas is clipped. + This can be used to 'fill out' a given virtual canvas. + + The resulting image of the flatten operation. + Thrown when an error is raised by ImageMagick. + + + + Flatten this collection into a single image. + This is useful for combining Photoshop layers into a single image. + + The background color of the output image. + The resulting image of the flatten operation. + + + + Returns an enumerator that iterates through the images. + + An enumerator that iterates through the images. + + + + Determines the index of the specified image. + + The image to check. + The index of the specified image. + + + + Inserts an image into the collection. + + The index to insert the image. + The image to insert. + + + + Inserts an image with the specified file name into the collection. + + The index to insert the image. + The fully qualified name of the image file, or the relative image file name. + + + + Remap image colors with closest color from reference image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Quantize settings. + Thrown when an error is raised by ImageMagick. + + + + Merge all layers onto a canvas just large enough to hold all the actual images. The virtual + canvas of the first image is preserved but otherwise ignored. + + The resulting image of the merge operation. + Thrown when an error is raised by ImageMagick. + + + + Create a composite image by combining the images with the specified settings. + + The settings to use. + The resulting image of the montage operation. + Thrown when an error is raised by ImageMagick. + + + + The Morph method requires a minimum of two images. The first image is transformed into + the second by a number of intervening images as specified by frames. + + The number of in-between images to generate. + Thrown when an error is raised by ImageMagick. + + + + Start with the virtual canvas of the first image, enlarging left and right edges to contain + all images. Images with negative offsets will be clipped. + + The resulting image of the mosaic operation. + Thrown when an error is raised by ImageMagick. + + + + Compares each image the GIF disposed forms of the previous image in the sequence. From + this it attempts to select the smallest cropped image to replace each frame, while + preserving the results of the GIF animation. + + Thrown when an error is raised by ImageMagick. + + + + OptimizePlus is exactly as Optimize, but may also add or even remove extra frames in the + animation, if it improves the total number of pixels in the resulting GIF animation. + + Thrown when an error is raised by ImageMagick. + + + + Compares each image the GIF disposed forms of the previous image in the sequence. Any + pixel that does not change the displayed result is replaced with transparency. + + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The file to read the frames from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The file to read the frames from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Returns a new image where each pixel is the sum of the pixels in the image sequence after applying its + corresponding terms (coefficient and degree pairs). + + The list of polynomial coefficients and degree pairs and a constant. + A new image where each pixel is the sum of the pixels in the image sequence after applying its + corresponding terms (coefficient and degree pairs). + + + + Quantize images (reduce number of colors). + + The resulting image of the quantize operation. + Thrown when an error is raised by ImageMagick. + + + + Quantize images (reduce number of colors). + + Quantize settings. + The resulting image of the quantize operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Removes the first occurrence of the specified image from the collection. + + The image to remove. + True when the image was found and removed. + + + + Removes the image at the specified index from the collection. + + The index of the image to remove. + + + + Resets the page property of every image in the collection. + + Thrown when an error is raised by ImageMagick. + + + + Reverses the order of the images in the collection. + + + + + Smush images from list into single image in horizontal direction. + + Minimum distance in pixels between images. + The resulting image of the smush operation. + Thrown when an error is raised by ImageMagick. + + + + Smush images from list into single image in vertical direction. + + Minimum distance in pixels between images. + The resulting image of the smush operation. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + A array. + + + + Converts this instance to a array. + + The defines to set. + A array. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + A array. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a base64 . + + A base64 . + + + + Converts this instance to a base64 string. + + The format to use. + A base64 . + + + + Determine the overall bounds of all the image layers just as in , + then adjust the the canvas and offsets to be relative to those bounds, + without overlaying the images. + + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The sequence of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The sequence of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The sequence of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The span of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The sequence of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The sequence of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The span of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The span of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified buffer writter. If the output image's file format does not + allow multi-image files multiple files will be written. + + The buffer writer to write the images to. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified buffer writter. If the output image's file format does not + allow multi-image files multiple files will be written. + + The buffer writer to write the images to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified buffer writter. If the output image's file format does not + allow multi-image files multiple files will be written. + + The buffer writer to write the images to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Class that contains basic information about an image. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Gets the color space of the image. + + + + + Gets the compression method of the image. + + + + + Gets the density of the image. + + + + + Gets the original file name of the image (only available if read from disk). + + + + + Gets the format of the image. + + + + + Gets the height of the image. + + + + + Gets the type of interlacing. + + + + + Gets the JPEG/MIFF/PNG compression level. + + + + + Gets the width of the image. + + + + + Read basic information about an image with multiple frames/pages. + + The byte array to read the information from. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The file to read the frames from. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The stream to read the image data from. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The fully qualified name of the image file, or the relative image file name. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The sequence of bytes to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance of the class. + + The span of bytes to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The sequence of bytes to read the information from. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image with multiple frames/pages. + + The span of bytes to read the information from. + A iteration. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The sequence of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The span of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to initialize Magick.NET. + + + + + Event that will be raised when something is logged by ImageMagick. + + + + + Event that will be raised when something is logged by ImageMagick. + + + + + Gets the ImageMagick delegate libraries. + + + + + Gets the ImageMagick features. + + + + + Gets the information about the supported formats. + + + + + Gets the font families that are known by ImageMagick. + + + + + Gets the font names that are known by ImageMagick. + + + + + Gets the version of ImageMagick. + + + + + Gets the version of Magick.NET. + + + + + Gets the ImageMagick delegate libraries. + + + + + Gets the ImageMagick features. + + + + + Gets the information about the supported formats. + + + + + Gets the font families that are known by ImageMagick. + + + + + Gets the font names that are known by ImageMagick. + + + + + Gets the version of ImageMagick. + + + + + Gets the version of Magick.NET. + + + + + Gets the environment variable with the specified name. + + The name of the environment variable. + The environment variable with the specified name. + + + + Initializes ImageMagick. + + + + + Initializes ImageMagick with the xml files that are located in the specified path. + + The path that contains the ImageMagick xml files. + + + + Initializes ImageMagick with the specified configuration files and returns the path to the + temporary directory where the xml files were saved. + + The configuration files ot initialize ImageMagick with. + The path of the folder that was created and contains the configuration files. + + + + Initializes ImageMagick with the specified configuration files in the specified the path. + + The configuration files ot initialize ImageMagick with. + The directory to save the configuration files in. + + + + Resets the pseudo-random number generator secret key. + + + + + Set the path to the default font file. + + The file to use at the default font file. + + + + Set the path to the default font file. + + The file name to use at the default font file. + + + + Set the environment variable with the specified name to the specified value. + + The name of the environment variable. + The value of the environment variable. + + + + Sets the directory that contains the FontConfig configuration files. + + The path of the FontConfig directory. + + + + Sets the directory that contains the Ghostscript file gsdll32.dll / gsdll64.dll. + This method is only supported on Windows. + + The path of the Ghostscript directory. + + + + Sets the directory that contains the Ghostscript font files. + This method is only supported on Windows. + + The path of the Ghostscript font directory. + + + + Set the events that will be written to the log. The log will be written to the Log event + and the debug window in VisualStudio. To change the log settings you must use a custom + log.xml file. + + The events that will be logged. + + + + Sets the directory that contains the Native library. This currently only works on Windows. + + The path of the directory that contains the native library. + + + + Sets the directory that will be used when ImageMagick does not have enough memory for the + pixel cache. + + The path where temp files will be written. + + + + Sets the pseudo-random number generator secret key. + + The secret key. + + + + Gets the environment variable with the specified name. + + The name of the environment variable. + The environment variable with the specified name. + + + + Initializes ImageMagick. + + + + + Initializes ImageMagick with the xml files that are located in the specified path. + + The path that contains the ImageMagick xml files. + + + + Initializes ImageMagick with the specified configuration files and returns the path to the + temporary directory where the xml files were saved. + + The configuration files ot initialize ImageMagick with. + The path of the folder that was created and contains the configuration files. + + + + Initializes ImageMagick with the specified configuration files in the specified the path. + + The configuration files ot initialize ImageMagick with. + The directory to save the configuration files in. + + + + Resets the pseudo-random number generator secret key. + + + + + Set the path to the default font file. + + The file to use at the default font file. + + + + Set the path to the default font file. + + The file name to use at the default font file. + + + + Set the environment variable with the specified name to the specified value. + + The name of the environment variable. + The value of the environment variable. + + + + Sets the directory that contains the FontConfig configuration files. + + The path of the FontConfig directory. + + + + Sets the directory that contains the Ghostscript file gsdll32.dll / gsdll64.dll. + This method is only supported on Windows. + + The path of the Ghostscript directory. + + + + Sets the directory that contains the Ghostscript font files. + This method is only supported on Windows. + + The path of the Ghostscript font directory. + + + + Set the events that will be written to the log. The log will be written to the Log event + and the debug window in VisualStudio. To change the log settings you must use a custom + log.xml file. + + The events that will be logged. + + + + Sets the directory that contains the Native library. This currently only works on Windows. + + The path of the directory that contains the native library. + + + + Sets the directory that will be used when ImageMagick does not have enough memory for the + pixel cache. + + The path where temp files will be written. + + + + Sets the pseudo-random number generator secret key. + + The secret key. + + + + Encapsulates a convolution kernel. + + + + + Initializes a new instance of the class. + + The order (odd number). + + + + Initializes a new instance of the class. + + The order (odd number). + The values to initialize the matrix with. + + + + Encapsulates a matrix of doubles. + + + + + Initializes a new instance of the class. + + The order. + The values to initialize the matrix with. + + + + Gets the order of the matrix. + + + + + Get or set the value at the specified x/y position. + + The x position. + The y position. + + + + Gets the value at the specified x/y position. + + The x position. + The y position. + The value at the specified x/y position. + + + + Set the column at the specified x position. + + The x position. + The values. + + + + Set the row at the specified y position. + + The y position. + The values. + + + + Set the value at the specified x/y position. + + The x position. + The y position. + The value. + + + + Returns a string that represents the current DoubleMatrix. + + The double array. + + + + Encapsulates a color matrix in the order of 1 to 6 (1x1 through 6x6). + + + + + Initializes a new instance of the class. + + The order (1 to 6). + + + + Initializes a new instance of the class. + + The order (1 to 6). + The values to initialize the matrix with. + + + + Interface for a native instance. + + + + + Gets a pointer to the native instance. + + + + + Class that can be used to initialize OpenCL. + + + + + Gets or sets a value indicating whether OpenCL is enabled. + + + + + Gets all the OpenCL devices. + + A iteration. + + + + Gets or sets a value indicating whether OpenCL is enabled. + + + + + Gets all the OpenCL devices. + + A iteration. + + + + Sets the directory that will be used by ImageMagick to store OpenCL cache files. + + The path of the OpenCL cache directory. + + + + Sets the directory that will be used by ImageMagick to store OpenCL cache files. + + The path of the OpenCL cache directory. + + + + Represents an OpenCL device. + + + + + Gets the benchmark score of the device. + + + + + Gets the type of the device. + + + + + Gets or sets a value indicating whether the device is enabled or disabled. + + + + + Gets all the kernel profile records for this devices. + + A . + + + + Gets the name of the device. + + + + + Gets or sets a value indicating whether kernel profiling is enabled. + This can be used to get information about the OpenCL performance. + + + + + Gets the OpenCL version supported by the device. + + + + + Represents a kernel profile record for an OpenCL device. + + + + + Gets the average duration of all executions in microseconds. + + + + + Gets the number of times that this kernel was executed. + + + + + Gets the maximum duration of a single execution in microseconds. + + + + + Gets the minimum duration of a single execution in microseconds. + + + + + Gets the name of the device. + + + + + Gets the total duration of all executions in microseconds. + + + + + Class that can be used to acquire information about the Quantum. + + + + + Gets the quantum depth. + + + + + Gets the maximum value of the quantum. + + + + + Gets the quantum depth. + + + + + Gets the maximum value of the quantum. + + + + + Class that can be used to set the limits to the resources that are being used. + + + + + Gets or sets the maximum width * height of an image that can reside in the pixel cache memory. + Images that exceed the area limit are cached to disk. + + + + + Gets or sets the pixel cache limit in bytes. Requests for memory above this limit will fail. + + + + + Gets or sets the maximum height of an image. + + + + + Gets or sets the maximum number of images in an image list. + + + + + Gets or sets the max memory request in bytes. ImageMagick maintains a separate memory pool for large + resource requests. If the limit is exceeded, the allocation is instead memory-mapped on disk. + + + + + Gets or sets the pixel cache limit in bytes. Once this memory limit is exceeded, all subsequent pixels cache + operations are to/from disk. + + + + + Gets or sets the number of threads used in multithreaded operations. + + + + + Gets or sets the time specified in milliseconds to periodically yield the CPU for. + + + + + Gets or sets the maximum width of an image. + + + + + Gets or sets the maximum width * height of an image that can reside in the pixel cache memory. + Images that exceed the area limit are cached to disk. + + + + + Gets or sets the pixel cache limit in bytes. Requests for memory above this limit will fail. + + + + + Gets or sets the maximum height of an image. + + + + + Gets or sets the maximum number of images in an image list. + + + + + Gets or sets the max memory request in bytes. ImageMagick maintains a separate memory pool for large + resource requests. If the limit is exceeded, the allocation is instead memory-mapped on disk. + + + + + Gets or sets the pixel cache limit in bytes. Once this memory limit is exceeded, all subsequent pixels cache + operations are to/from disk. + + + + + Gets or sets the number of threads used in multithreaded operations. + + + + + Gets or sets the time specified in milliseconds to periodically yield the CPU for. + + + + + Gets or sets the maximum width of an image. + + + + + Set the maximum percentage of memory that can be used for image data. This also changes + the limit to four times the number of bytes. + + The percentage to use. + + + + Set the maximum percentage of memory that can be used for image data. This also changes + the limit to four times the number of bytes. + + The percentage to use. + + + + Class that contains various settings. + + + + + Gets or sets the affine to use when annotating with text or drawing. + + + + + Gets or sets a value indicating whether anti-aliasing should be enabled (default true). + + + + + Gets or sets the background color. + + + + + Gets or sets the border color. + + + + + Gets or sets the color space. + + + + + Gets or sets the color type of the image. + + + + + Gets or sets the compression method to use. + + + + + Gets or sets a value indicating whether printing of debug messages from ImageMagick is enabled when a debugger is attached. + + + + + Gets or sets the vertical and horizontal resolution in pixels. + + + + + Gets or sets the depth (bits allocated to red/green/blue components). + + + + + Gets or sets the endianness (little like Intel or big like SPARC) for image formats which support + endian-specific options. + + + + + Gets or sets the fill color. + + + + + Gets or sets the fill pattern. + + + + + Gets or sets the rule to use when filling drawn objects. + + + + + Gets or sets the text rendering font. + + + + + Gets or sets the text font family. + + + + + Gets or sets the font point size. + + + + + Gets or sets the font style. + + + + + Gets or sets the font weight. + + + + + Gets or sets the the format of the image. + + + + + Gets or sets the preferred size and location of an image canvas. + + + + + Gets or sets a value indicating whether stroke anti-aliasing is enabled or disabled. + + + + + Gets or sets the color to use when drawing object outlines. + + + + + Gets or sets the pattern of dashes and gaps used to stroke paths. This represents a + zero-terminated array of numbers that specify the lengths of alternating dashes and gaps + in pixels. If a zero value is not found it will be added. If an odd number of values is + provided, then the list of values is repeated to yield an even number of values. + + + + + Gets or sets the distance into the dash pattern to start the dash (default 0) while + drawing using a dash pattern,. + + + + + Gets or sets the shape to be used at the end of open subpaths when they are stroked. + + + + + Gets or sets the shape to be used at the corners of paths (or other vector shapes) when they + are stroked. + + + + + Gets or sets the miter limit. When two line segments meet at a sharp angle and miter joins have + been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness + of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter + length to the 'lineWidth'. The default value is 4. + + + + + Gets or sets the pattern image to use while stroking object outlines. + + + + + Gets or sets the stroke width for drawing lines, circles, ellipses, etc. + + + + + Gets or sets a value indicating whether Postscript and TrueType fonts should be anti-aliased (default true). + + + + + Gets or sets text direction (right-to-left or left-to-right). + + + + + Gets or sets the text annotation encoding (e.g. "UTF-16"). + + + + + Gets or sets the text annotation gravity. + + + + + Gets or sets the text inter-line spacing. + + + + + Gets or sets the text inter-word spacing. + + + + + Gets or sets the text inter-character kerning. + + + + + Gets or sets the text undercolor box. + + + + + Gets or sets a value indicating whether verbose output os turned on or off. + + + + + Gets or sets the specified area to extract from the image. + + + + + Gets or sets the number of scenes. + + + + + Gets or sets a value indicating whether a monochrome reader should be used. + + + + + Gets or sets the size of the image. + + + + + Gets or sets the active scene. + + + + + Gets or sets scenes of the image. + + + + + Returns the value of a format-specific option. + + The format to get the option for. + The name of the option. + The value of a format-specific option. + + + + Returns the value of a format-specific option. + + The name of the option. + The value of a format-specific option. + + + + Removes the define with the specified name. + + The format to set the define for. + The name of the define. + + + + Removes the define with the specified name. + + The name of the define. + + + + Sets a format-specific option. + + The format to set the define for. + The name of the define. + The value of the define. + + + + Sets a format-specific option. + + The format to set the define for. + The name of the define. + The value of the define. + + + + Sets a format-specific option. + + The format to set the option for. + The name of the option. + The value of the option. + + + + Sets a format-specific option. + + The name of the option. + The value of the option. + + + + Sets format-specific options with the specified defines. + + The defines to set. + + + + Copies the settings from the specified . + + The settings to copy the data from. + + + + Gets an image option. + + The key of the option. + The value of the option. + + + + Sets an image option. + + The key of the option. + The value of the option. + + + + Class that contains setting for the montage operation. + + + + + Gets or sets the color of the background that thumbnails are composed on. + + + + + Gets or sets the frame border color. + + + + + Gets or sets the pixels between thumbnail and surrounding frame. + + + + + Gets or sets the fill color. + + + + + Gets or sets the label font. + + + + + Gets or sets the font point size. + + + + + Gets or sets the frame geometry (width & height frame thickness). + + + + + Gets or sets the thumbnail width & height plus border width & height. + + + + + Gets or sets the thumbnail position (e.g. SouthWestGravity). + + + + + Gets or sets the thumbnail label (applied to image prior to montage). + + + + + Gets or sets a value indicating whether drop-shadows on thumbnails are enabled or disabled. + + + + + Gets or sets the outline color. + + + + + Gets or sets the background texture image. + + + + + Gets or sets the frame geometry (width & height frame thickness). + + + + + Gets or sets the montage title. + + + + + Gets or sets the transparent color. + + + + + Class that contains setting for quantize operations. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the maximum number of colors to quantize to. + + + + + Gets or sets the colorspace to quantize in. + + + + + Gets or sets the dither method to use. + + + + + Gets or sets a value indicating whether errors should be measured. + + + + + Gets or sets the quantization tree-depth. + + + + + The normalized moments of one image channels. + + + + + Gets the centroid. + + + + + Gets the channel of this moment. + + + + + Gets the ellipse axis. + + + + + Gets the ellipse angle. + + + + + Gets the ellipse eccentricity. + + + + + Gets the ellipse intensity. + + + + + Returns the Hu invariants. + + The index to use. + The Hu invariants. + + + + Contains the he perceptual hash of one image channel. + + + + + Initializes a new instance of the class. + + The channel. + SRGB hu perceptual hash. + Hclp hu perceptual hash. + A string representation of this hash. + + + + Gets the channel. + + + + + SRGB hu perceptual hash. + + The index to use. + The SRGB hu perceptual hash. + + + + Hclp hu perceptual hash. + + The index to use. + The Hclp hu perceptual hash. + + + + Returns the sum squared difference between this hash and the other hash. + + The to get the distance of. + The sum squared difference between this hash and the other hash. + + + + Returns a string representation of this hash. + + A string representation of this hash. + + + + Encapsulation of the ImageMagick ImageChannelStatistics object. + + + + + Gets the channel. + + + + + Gets the depth of the channel. + + + + + Gets the entropy. + + + + + Gets the kurtosis. + + + + + Gets the maximum value observed. + + + + + Gets the average (mean) value observed. + + + + + Gets the minimum value observed. + + + + + Gets the skewness. + + + + + Gets the standard deviation, sqrt(variance). + + + + + Gets the sum. + + + + + Gets the sum cubed. + + + + + Gets the sum fourth power. + + + + + Gets the sum squared. + + + + + Gets the variance. + + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The channel statistics to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + The normalized moments of one or more image channels. + + + + + Gets the moments for the all the channels. + + The moments for the all the channels. + + + + Gets the moments for the specified channel. + + The channel to get the moments for. + The moments for the specified channel. + + + + Contains the he perceptual hash of one or more image channels. + + + + + Initializes a new instance of the class. + + The hash. + + + + Returns the perceptual hash for the specified channel. + + The channel to get the has for. + The perceptual hash for the specified channel. + + + + Returns the sum squared difference between this hash and the other hash. + + The to get the distance of. + The sum squared difference between this hash and the other hash. + + + + Returns a string representation of this hash. + + A . + + + + Encapsulation of the ImageMagick ImageStatistics object. + + + + + Gets the channels. + + + + + Returns the statistics for the all the channels. + + The statistics for the all the channels. + + + + Returns the statistics for the specified channel. + + The channel to get the statistics for. + The statistics for the specified channel. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + Truw when the specified object is equal to the current . + + + + Determines whether the specified image statistics is equal to the current . + + The image statistics to compare this with. + True when the specified image statistics is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Encapsulation of the ImageMagick connected component object. + + + + + Gets the pixel count of the area. + + + + + Gets the centroid of the area. + + + + + Gets the color of the area. + + + + + Gets the height of the area. + + + + + Gets the id of the area. + + + + + Gets the width of the area. + + + + + Gets the X offset from origin. + + + + + Gets the Y offset from origin. + + + + + Returns the geometry of the area of this connected component. + + The geometry of the area of this connected component. + + + + Returns the geometry of the area of this connected component. + + The number of pixels to extent the image with. + The geometry of the area of this connected component. + + + + Encapsulation of the ImageMagick geometry object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the specified width and height. + + The width and height. + + + + Initializes a new instance of the class using the specified width and height. + + The width. + The height. + + + + Initializes a new instance of the class using the specified offsets, width and height. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + + + + Initializes a new instance of the class using the specified width and height. + + The percentage of the width. + The percentage of the height. + + + + Initializes a new instance of the class using the specified offsets, width and height. + + The X offset from origin. + The Y offset from origin. + The percentage of the width. + The percentage of the height. + + + + Initializes a new instance of the class using the specified geometry. + + Geometry specifications in the form: <width>x<height> + {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers). + + + + Gets a value indicating whether the value is an aspect ratio. + + + + + Gets or sets a value indicating whether the image is resized based on the smallest fitting dimension (^). + + + + + Gets or sets a value indicating whether the image is resized if image is greater than size (>). + + + + + Gets or sets the height of the geometry. + + + + + Gets or sets a value indicating whether the image is resized without preserving aspect ratio (!). + + + + + Gets or sets a value indicating whether the width and height are expressed as percentages. + + + + + Gets or sets a value indicating whether the image is resized if the image is less than size (<). + + + + + Gets or sets a value indicating whether the image is resized using a pixel area count limit (@). + + + + + Gets or sets the width of the geometry. + + + + + Gets or sets the X offset from origin. + + + + + Gets or sets the Y offset from origin. + + + + + Converts the specified string to an instance of this type. + + Geometry specifications in the form: <width>x<height> + {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers). + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Initializes a new instance using the specified page size. + + The page size. + A instance that represents the specified page size. + + + + Compares the current instance with another object of the same type. + + The object to compare this geometry with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Initializes the geometry using the sepcified value. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + + + + Returns a string that represents the current . + + A string that represents the current . + + + + PrimaryInfo information. + + + + + Initializes a new instance of the class. + + The x value. + The y value. + The z value. + + + + Gets the X value. + + + + + Gets the Y value. + + + + + Gets the Z value. + + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Used to obtain font metrics for text string given current font, pointsize, and density settings. + + + + + Gets the ascent, the distance in pixels from the text baseline to the highest/upper grid coordinate + used to place an outline point. + + + + + Gets the descent, the distance in pixels from the baseline to the lowest grid coordinate used to + place an outline point. Always a negative value. + + + + + Gets the maximum horizontal advance in pixels. + + + + + Gets the text height in pixels. + + + + + Gets the text width in pixels. + + + + + Gets the underline position. + + + + + Gets the underline thickness. + + + + + Class that can be used to access an individual pixel of an image. + + + + + Initializes a new instance of the class. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The value of the pixel. + + + + Initializes a new instance of the class. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The number of channels. + + + + Gets the number of channels that the pixel contains. + + + + + Gets the X coordinate of the pixel. + + + + + Gets the Y coordinate of the pixel. + + + + + Returns the value of the specified channel. + + The channel to get the value for. + + + + Determines whether the specified object is equal to the current pixel. + + The object to compare pixel color with. + True when the specified object is equal to the current pixel. + + + + Determines whether the specified color is equal to the current pixel. + + The color to compare this pixel with. + True when the specified color is equal to the current pixel. + + + + Determines whether the specified pixel is equal to the current pixel. + + The pixel to compare this pixel with. + True when the specified pixel is equal to the current pixel. + + + + Returns the value of the specified channel. + + The channel to get the value of. + The value of the specified channel. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Set the value of the specified channel. + + The channel to set the value of. + The value. + + + + Sets the values of this pixel. + + The values. + + + + Returns the value of this pixel as an array. + + A array. + + + + Converts the pixel to a color. Assumes the pixel is RGBA. + + A instance. + + + + Class that contains setting for the compare operations. + + + + + Gets or sets the error metric to use. + + + + + Gets or sets the color that emphasize pixel differences. + + + + + Gets or sets the color that de-emphasize pixel differences. + + + + + Gets or sets the color of pixels that are inside the read mask. + + + + + Class that contains setting for the complex operation. + + + + + Gets or sets the complex operator. + + + + + Gets or sets the signal to noise ratio. + + + + + Class that contains setting for the connected components operation. + + + + + Gets or sets the threshold that merges any object not within the min and max angle threshold. + + + + + Gets or sets the threshold that eliminate small objects by merging them with their larger neighbors. + + + + + Gets or sets the threshold that merges any object not within the min and max circularity threshold. + + + + + Gets or sets how many neighbors to visit, choose from 4 or 8. + + + + + Gets or sets the threshold that merges any object not within the min and max diameter threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max eccentricity threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max ellipse major threshold. + + + + + Gets or sets a value indicating whether the object color in the labeled image will be replaced with the mean-color from the source image. + + + + + Gets or sets the threshold that merges any object not within the min and max ellipse minor threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max perimeter threshold. + + + + + Class that contains setting for the deskew operation. + + + + + Gets or sets a value indicating whether the image should be auto cropped after deskewing. + + + + + Gets or sets the threshold. + + + + + Class that contains setting for the distort operation. + + + + + Gets or sets a value indicating whether distort attempt to 'bestfit' the size of the resulting image. + + + + + Gets or sets a value to scale the size of the output canvas by this amount to provide a method of + Zooming, and for super-sampling the results. + + + + + Gets or sets the viewport that directly set the output image canvas area and offest to use for the + resulting image, rather than use the original images canvas, or a calculated 'bestfit' canvas. + + + + + Class that contains setting for the kmeans operation. + + + + + Gets or sets the seed clusters from color list (e.g. red;green;blue). + + + + + Gets or sets the number of colors to use as seeds. + + + + + Gets or sets the maximum number of iterations while converging. + + + + + Gets or sets the maximum tolerance. + + + + + Class that contains setting for when an image is being read. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified defines. + + The read defines to set. + + + + Gets or sets the defines that should be set before the image is read. + + + + + Gets or sets the specified area to extract from the image. + + + + + Gets or sets the index of the image to read from a multi layer/frame image. + + + + + Gets or sets the number of images to read from a multi layer/frame image. + + + + + Gets or sets the height. + + + + + Gets or sets a value indicating whether the exif profile should be used to update some of the + properties of the image (e.g. , ). + + + + + Gets or sets a value indicating whether the tiff profile should be used to update some of the + properties of the image (e.g. , ). + + + + + Gets or sets a value indicating whether the monochrome reader shoul be used. This is + supported by: PCL, PDF, PS and XPS. + + + + + Gets or sets the width. + + + + + Class that contains setting for the morphology operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the channels to apply the kernel to. + + + + + Gets or sets the bias to use when the method is Convolve. + + + + + Gets or sets the scale to use when the method is Convolve. + + + + + Gets or sets the number of iterations. + + + + + Gets or sets built-in kernel. + + + + + Gets or sets kernel arguments. + + + + + Gets or sets the morphology method. + + + + + Gets or sets user suplied kernel. + + + + + Class that contains setting for when pixels are imported. + + + + + Initializes a new instance of the class. + + The width. + The height. + The pixel storage type. + The mapping of the pixels. + + + + Initializes a new instance of the class. + + The width. + The height. + The pixel storage type. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + Initializes a new instance of the class. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + The pixel storage type. + The mapping of the pixels. + + + + Initializes a new instance of the class. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + The pixel storage type. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + Gets the height of the pixel area. + + + + + Gets the width of the pixel area. + + + + + Gets the X offset from origin. + + + + + Gets the Y offset from origin. + + + + + Gets or sets the mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + + Gets the pixel storage type. + + + + + Class that contains setting for when pixels are read. + + + + + Initializes a new instance of the class. + + The width. + The height. + The pixel storage type. + The mapping of the pixels. + + + + Initializes a new instance of the class. + + The width. + The height. + The pixel storage type. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + Gets or sets the mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + + Gets or sets the pixel storage type. + + + + + Gets the settings to use when reading the image. + + + + + Encapsulates the error information. + + + + + Gets the mean error per pixel computed when an image is color reduced. + + + + + Gets the normalized maximum error per pixel computed when an image is color reduced. + + + + + Gets the normalized mean error per pixel computed when an image is color reduced. + + + + + Result for a sub image search operation. + + + + + Gets the offset for the best match. + + + + + Gets the a similarity image such that an exact match location is completely white and if none of + the pixels match, black, otherwise some gray level in-between. + + + + + Gets the similarity metric. + + + + + Disposes the instance. + + + + + Represents an argument for the SparseColor method. + + + + + Initializes a new instance of the class. + + The X position. + The Y position. + The color. + + + + Gets or sets the X position. + + + + + Gets or sets the Y position. + + + + + Gets or sets the color. + + + + diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-arm64/native/Magick.Native-Q8-arm64.dll.so b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-arm64/native/Magick.Native-Q8-arm64.dll.so new file mode 100644 index 0000000..6288063 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-arm64/native/Magick.Native-Q8-arm64.dll.so differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-musl-x64/native/Magick.Native-Q8-x64.dll.so b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-musl-x64/native/Magick.Native-Q8-x64.dll.so new file mode 100644 index 0000000..01cb1be Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-musl-x64/native/Magick.Native-Q8-x64.dll.so differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-x64/native/Magick.Native-Q8-x64.dll.so b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-x64/native/Magick.Native-Q8-x64.dll.so new file mode 100644 index 0000000..9e1f599 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/linux-x64/native/Magick.Native-Q8-x64.dll.so differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/osx-arm64/native/Magick.Native-Q8-arm64.dll.dylib b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/osx-arm64/native/Magick.Native-Q8-arm64.dll.dylib new file mode 100644 index 0000000..c1546af Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/osx-arm64/native/Magick.Native-Q8-arm64.dll.dylib differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/osx-x64/native/Magick.Native-Q8-x64.dll.dylib b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/osx-x64/native/Magick.Native-Q8-x64.dll.dylib new file mode 100644 index 0000000..50b8ef7 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/osx-x64/native/Magick.Native-Q8-x64.dll.dylib differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-arm64/native/Magick.Native-Q8-arm64.dll b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-arm64/native/Magick.Native-Q8-arm64.dll new file mode 100644 index 0000000..d97eb20 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-arm64/native/Magick.Native-Q8-arm64.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-x64/native/Magick.Native-Q8-x64.dll b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-x64/native/Magick.Native-Q8-x64.dll new file mode 100644 index 0000000..5736f95 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-x64/native/Magick.Native-Q8-x64.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-x86/native/Magick.Native-Q8-x86.dll b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-x86/native/Magick.Native-Q8-x86.dll new file mode 100644 index 0000000..23ee1b9 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET-Q8-AnyCPU.12.3.0/runtimes/win-x86/native/Magick.Native-Q8-x86.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/.signature.p7s b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/.signature.p7s new file mode 100644 index 0000000..43f34ae Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/.signature.p7s differ diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Copyright.txt b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Copyright.txt new file mode 100644 index 0000000..9af0518 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Copyright.txt @@ -0,0 +1,2 @@ +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +Licensed under the Apache License, Version 2.0. diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Magick.NET.Core.12.3.0.nupkg b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Magick.NET.Core.12.3.0.nupkg new file mode 100644 index 0000000..463bf81 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Magick.NET.Core.12.3.0.nupkg differ diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Magick.NET.icon.png b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Magick.NET.icon.png new file mode 100644 index 0000000..092a7db Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/Magick.NET.icon.png differ diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/docs/Readme.md b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/docs/Readme.md new file mode 100644 index 0000000..572ba83 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/docs/Readme.md @@ -0,0 +1 @@ +ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick without having to install ImageMagick on your server or desktop. Visit https://github.com/dlemstra/Magick.NET/tree/main/docs before installing to help you decide the best version. diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard20/Magick.NET.Core.dll b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard20/Magick.NET.Core.dll new file mode 100644 index 0000000..0d6d287 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard20/Magick.NET.Core.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard20/Magick.NET.Core.xml b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard20/Magick.NET.Core.xml new file mode 100644 index 0000000..7e81420 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard20/Magick.NET.Core.xml @@ -0,0 +1,20586 @@ + + + + Magick.NET.Core + + + + + Interface that contains the same colors as System.Drawing.Colors. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #F0F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FAEBD7FF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #7FFFD4FF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5DCFF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4C4FF. + + + + + Gets a system-defined color that has an RGBA value of #000000FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEBCDFF. + + + + + Gets a system-defined color that has an RGBA value of #0000FFFF. + + + + + Gets a system-defined color that has an RGBA value of #8A2BE2FF. + + + + + Gets a system-defined color that has an RGBA value of #A52A2AFF. + + + + + Gets a system-defined color that has an RGBA value of #DEB887FF. + + + + + Gets a system-defined color that has an RGBA value of #5F9EA0FF. + + + + + Gets a system-defined color that has an RGBA value of #7FFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #D2691EFF. + + + + + Gets a system-defined color that has an RGBA value of #FF7F50FF. + + + + + Gets a system-defined color that has an RGBA value of #6495EDFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF8DCFF. + + + + + Gets a system-defined color that has an RGBA value of #DC143CFF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00008BFF. + + + + + Gets a system-defined color that has an RGBA value of #008B8BFF. + + + + + Gets a system-defined color that has an RGBA value of #B8860BFF. + + + + + Gets a system-defined color that has an RGBA value of #A9A9A9FF. + + + + + Gets a system-defined color that has an RGBA value of #006400FF. + + + + + Gets a system-defined color that has an RGBA value of #BDB76BFF. + + + + + Gets a system-defined color that has an RGBA value of #8B008BFF. + + + + + Gets a system-defined color that has an RGBA value of #556B2FFF. + + + + + Gets a system-defined color that has an RGBA value of #FF8C00FF. + + + + + Gets a system-defined color that has an RGBA value of #9932CCFF. + + + + + Gets a system-defined color that has an RGBA value of #8B0000FF. + + + + + Gets a system-defined color that has an RGBA value of #E9967AFF. + + + + + Gets a system-defined color that has an RGBA value of #8FBC8FFF. + + + + + Gets a system-defined color that has an RGBA value of #483D8BFF. + + + + + Gets a system-defined color that has an RGBA value of #2F4F4FFF. + + + + + Gets a system-defined color that has an RGBA value of #00CED1FF. + + + + + Gets a system-defined color that has an RGBA value of #9400D3FF. + + + + + Gets a system-defined color that has an RGBA value of #FF1493FF. + + + + + Gets a system-defined color that has an RGBA value of #00BFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #696969FF. + + + + + Gets a system-defined color that has an RGBA value of #1E90FFFF. + + + + + Gets a system-defined color that has an RGBA value of #B22222FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAF0FF. + + + + + Gets a system-defined color that has an RGBA value of #228B22FF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #DCDCDCFF. + + + + + Gets a system-defined color that has an RGBA value of #F8F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FFD700FF. + + + + + Gets a system-defined color that has an RGBA value of #DAA520FF. + + + + + Gets a system-defined color that has an RGBA value of #808080FF. + + + + + Gets a system-defined color that has an RGBA value of #008000FF. + + + + + Gets a system-defined color that has an RGBA value of #ADFF2FFF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #FF69B4FF. + + + + + Gets a system-defined color that has an RGBA value of #CD5C5CFF. + + + + + Gets a system-defined color that has an RGBA value of #4B0082FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #F0E68CFF. + + + + + Gets a system-defined color that has an RGBA value of #E6E6FAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF0F5FF. + + + + + Gets a system-defined color that has an RGBA value of #7CFC00FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFACDFF. + + + + + Gets a system-defined color that has an RGBA value of #ADD8E6FF. + + + + + Gets a system-defined color that has an RGBA value of #F08080FF. + + + + + Gets a system-defined color that has an RGBA value of #E0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #FAFAD2FF. + + + + + Gets a system-defined color that has an RGBA value of #90EE90FF. + + + + + Gets a system-defined color that has an RGBA value of #D3D3D3FF. + + + + + Gets a system-defined color that has an RGBA value of #FFB6C1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA07AFF. + + + + + Gets a system-defined color that has an RGBA value of #20B2AAFF. + + + + + Gets a system-defined color that has an RGBA value of #87CEFAFF. + + + + + Gets a system-defined color that has an RGBA value of #778899FF. + + + + + Gets a system-defined color that has an RGBA value of #B0C4DEFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFE0FF. + + + + + Gets a system-defined color that has an RGBA value of #00FF00FF. + + + + + Gets a system-defined color that has an RGBA value of #32CD32FF. + + + + + Gets a system-defined color that has an RGBA value of #FAF0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #800000FF. + + + + + Gets a system-defined color that has an RGBA value of #66CDAAFF. + + + + + Gets a system-defined color that has an RGBA value of #0000CDFF. + + + + + Gets a system-defined color that has an RGBA value of #BA55D3FF. + + + + + Gets a system-defined color that has an RGBA value of #9370DBFF. + + + + + Gets a system-defined color that has an RGBA value of #3CB371FF. + + + + + Gets a system-defined color that has an RGBA value of #7B68EEFF. + + + + + Gets a system-defined color that has an RGBA value of #00FA9AFF. + + + + + Gets a system-defined color that has an RGBA value of #48D1CCFF. + + + + + Gets a system-defined color that has an RGBA value of #C71585FF. + + + + + Gets a system-defined color that has an RGBA value of #191970FF. + + + + + Gets a system-defined color that has an RGBA value of #F5FFFAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4E1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4B5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDEADFF. + + + + + Gets a system-defined color that has an RGBA value of #000080FF. + + + + + Gets a system-defined color that has an RGBA value of #FDF5E6FF. + + + + + Gets a system-defined color that has an RGBA value of #808000FF. + + + + + Gets a system-defined color that has an RGBA value of #6B8E23FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA500FF. + + + + + Gets a system-defined color that has an RGBA value of #FF4500FF. + + + + + Gets a system-defined color that has an RGBA value of #DA70D6FF. + + + + + Gets a system-defined color that has an RGBA value of #EEE8AAFF. + + + + + Gets a system-defined color that has an RGBA value of #98FB98FF. + + + + + Gets a system-defined color that has an RGBA value of #AFEEEEFF. + + + + + Gets a system-defined color that has an RGBA value of #DB7093FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEFD5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDAB9FF. + + + + + Gets a system-defined color that has an RGBA value of #CD853FFF. + + + + + Gets a system-defined color that has an RGBA value of #FFC0CBFF. + + + + + Gets a system-defined color that has an RGBA value of #DDA0DDFF. + + + + + Gets a system-defined color that has an RGBA value of #B0E0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #800080FF. + + + + + Gets a system-defined color that has an RGBA value of #663399FF. + + + + + Gets a system-defined color that has an RGBA value of #FF0000FF. + + + + + Gets a system-defined color that has an RGBA value of #BC8F8FFF. + + + + + Gets a system-defined color that has an RGBA value of #4169E1FF. + + + + + Gets a system-defined color that has an RGBA value of #8B4513FF. + + + + + Gets a system-defined color that has an RGBA value of #FA8072FF. + + + + + Gets a system-defined color that has an RGBA value of #F4A460FF. + + + + + Gets a system-defined color that has an RGBA value of #2E8B57FF. + + + + + Gets a system-defined color that has an RGBA value of #FFF5EEFF. + + + + + Gets a system-defined color that has an RGBA value of #A0522DFF. + + + + + Gets a system-defined color that has an RGBA value of #C0C0C0FF. + + + + + Gets a system-defined color that has an RGBA value of #87CEEBFF. + + + + + Gets a system-defined color that has an RGBA value of #6A5ACDFF. + + + + + Gets a system-defined color that has an RGBA value of #708090FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAFAFF. + + + + + Gets a system-defined color that has an RGBA value of #00FF7FFF. + + + + + Gets a system-defined color that has an RGBA value of #4682B4FF. + + + + + Gets a system-defined color that has an RGBA value of #D2B48CFF. + + + + + Gets a system-defined color that has an RGBA value of #008080FF. + + + + + Gets a system-defined color that has an RGBA value of #D8BFD8FF. + + + + + Gets a system-defined color that has an RGBA value of #FF6347FF. + + + + + Gets a system-defined color that has an RGBA value of #40E0D0FF. + + + + + Gets a system-defined color that has an RGBA value of #EE82EEFF. + + + + + Gets a system-defined color that has an RGBA value of #F5DEB3FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5F5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #9ACD32FF. + + + + + Interface that represents a color. + + The quantum type. + + + + Gets or sets the alpha component value of this color. + + + + + Gets or sets the blue component value of this color. + + + + + Gets or sets the green component value of this color. + + + + + Gets a value indicating whether the color is a CMYK color. + + + + + Gets or sets the key (black) component value of this color. + + + + + Gets or sets the red component value of this color. + + + + + Determines whether the specified color is fuzzy equal to the current color. + + The color to compare this color with. + The fuzz factor. + True when the specified color is fuzzy equal to the current instance. + + + + Initializes the color with the specified bytes. + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + + + + Converts the value of this instance to a array (RGBA or CMYKA). + + The array. + + + + Converts the value of this instance to a hexadecimal string that will not include the alpha channel if it is opaque. + + The . + + + + Converts the value of this instance to a string representation that will not include the alpha channel if it is opaque. + + The . + + + + Converts the value of this instance to a string representation. + + The . + + + + Interface that represents a configuration file. + + + + + Gets the file name. + + + + + Gets or sets the data of the configuration file. + + + + + Interface that represents the configuration files. + + + + + Gets all the configuration files. + + + + + Gets the default configuration. + + + + + Gets the colors configuration. + + + + + Gets the configure configuration. + + + + + Gets the delegates configuration. + + + + + Gets the english configuration. + + + + + Gets the locale configuration. + + + + + Gets the log configuration. + + + + + Gets the policy configuration. + + + + + Gets the thresholds configuration. + + + + + Gets the type configuration. + + + + + Gets the type-ghostscript configuration. + + + + + Interface for a define. + + + + + Gets the format to set the define for. + + + + + Gets the name of the define. + + + + + Gets the value of the define. + + + + + Interface for an object that specifies defines for an image. + + + + + Gets the defines that should be set as a define on an image. + + + + + Interface for defines that are used when reading an image. + + + + + Gets the format where the defines are for. + + + + + Interface for defines that are used when writing an image. + + + + + Gets the format where the defines are for. + + + + + Class that can be used to chain draw actions. + + The quantum type. + + + + Applies the DrawableAffine operation to the . + + The X coordinate scaling element. + The Y coordinate scaling element. + The X coordinate shearing element. + The Y coordinate shearing element. + The X coordinate of the translation element. + The Y coordinate of the translation element. + The instance. + + + + Applies the DrawableAlpha operation to the . + + The X coordinate. + The Y coordinate. + The paint method to use. + The instance. + + + + Applies the DrawableArc operation to the . + + The starting X coordinate of the bounding rectangle. + The starting Y coordinate of thebounding rectangle. + The ending X coordinate of the bounding rectangle. + The ending Y coordinate of the bounding rectangle. + The starting degrees of rotation. + The ending degrees of rotation. + The instance. + + + + Applies the DrawableBezier operation to the . + + The coordinates. + The instance. + + + + Applies the DrawableBezier operation to the . + + The coordinates. + The instance. + + + + Applies the DrawableBorderColor operation to the . + + The color of the border. + The instance. + + + + Applies the DrawableCircle operation to the . + + The origin X coordinate. + The origin Y coordinate. + The perimeter X coordinate. + The perimeter Y coordinate. + The instance. + + + + Applies the DrawableClipPath operation to the . + + The ID of the clip path. + The instance. + + + + Applies the DrawableClipRule operation to the . + + The rule to use when filling drawn objects. + The instance. + + + + Applies the DrawableClipUnits operation to the . + + The clip path units. + The instance. + + + + Applies the DrawableColor operation to the . + + The X coordinate. + The Y coordinate. + The paint method to use. + The instance. + + + + Applies the DrawableComposite operation to the . + + The offset from origin. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The X coordinate. + The Y coordinate. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The offset from origin. + The algorithm to use. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The X coordinate. + The Y coordinate. + The algorithm to use. + The image to draw. + The instance. + + + + Applies the DrawableDensity operation to the . + + The vertical and horizontal resolution. + The instance. + + + + Applies the DrawableDensity operation to the . + + The vertical and horizontal resolution. + The instance. + + + + Applies the DrawableEllipse operation to the . + + The origin X coordinate. + The origin Y coordinate. + The X radius. + The Y radius. + The starting degrees of rotation. + The ending degrees of rotation. + The instance. + + + + Applies the DrawableFillColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableFillOpacity operation to the . + + The opacity. + The instance. + + + + Applies the DrawableFillPatternUrl operation to the . + + Url specifying pattern ID (e.g. "#pattern_id"). + The instance. + + + + Applies the DrawableFillRule operation to the . + + The rule to use when filling drawn objects. + The instance. + + + + Applies the DrawableFont operation to the . + + The font family or the full path to the font file. + The instance. + + + + Applies the DrawableFont operation to the . + + The font family or the full path to the font file. + The style of the font. + The weight of the font. + The font stretching type. + The instance. + + + + Applies the DrawableFontPointSize operation to the . + + The point size. + The instance. + + + + Applies the DrawableGravity operation to the . + + The gravity. + The instance. + + + + Applies the DrawableLine operation to the . + + The starting X coordinate. + The starting Y coordinate. + The ending X coordinate. + The ending Y coordinate. + The instance. + + + + Applies the DrawablePath operation to the . + + The paths to use. + The instance. + + + + Applies the DrawablePath operation to the . + + The paths to use. + The instance. + + + + Applies the DrawablePoint operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the DrawablePolygon operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolygon operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolyline operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolyline operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePopClipPath operation to the . + + The instance. + + + + Applies the DrawablePopGraphicContext operation to the . + + The instance. + + + + Applies the DrawablePopPattern operation to the . + + The instance. + + + + Applies the DrawablePushClipPath operation to the . + + The ID of the clip path. + The instance. + + + + Applies the DrawablePushGraphicContext operation to the . + + The instance. + + + + Applies the DrawablePushPattern operation to the . + + The ID of the pattern. + The X coordinate. + The Y coordinate. + The width. + The height. + The instance. + + + + Applies the DrawableRectangle operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The instance. + + + + Applies the DrawableRotation operation to the . + + The angle. + The instance. + + + + Applies the DrawableRoundRectangle operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The corner width. + The corner height. + The instance. + + + + Applies the DrawableScaling operation to the . + + Horizontal scale factor. + Vertical scale factor. + The instance. + + + + Applies the DrawableSkewX operation to the . + + The angle. + The instance. + + + + Applies the DrawableSkewY operation to the . + + The angle. + The instance. + + + + Applies the DrawableStrokeColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableStrokeDashArray operation to the . + + An array containing the dash information. + The instance. + + + + Applies the DrawableStrokeDashOffset operation to the . + + The dash offset. + The instance. + + + + Applies the DrawableStrokeLineCap operation to the . + + The line cap. + The instance. + + + + Applies the DrawableStrokeLineJoin operation to the . + + The line join. + The instance. + + + + Applies the DrawableStrokeMiterLimit operation to the . + + The miter limit. + The instance. + + + + Applies the DrawableStrokeOpacity operation to the . + + The opacity. + The instance. + + + + Applies the DrawableStrokePatternUrl operation to the . + + Url specifying pattern ID (e.g. "#pattern_id"). + The instance. + + + + Applies the DrawableStrokeWidth operation to the . + + The width. + The instance. + + + + Applies the DrawableText operation to the . + + The X coordinate. + The Y coordinate. + The text to draw. + The instance. + + + + Applies the DrawableTextAlignment operation to the . + + Text alignment. + The instance. + + + + Applies the DrawableTextDecoration operation to the . + + The text decoration. + The instance. + + + + Applies the DrawableTextDirection operation to the . + + Direction to use. + The instance. + + + + Applies the DrawableTextEncoding operation to the . + + Encoding to use. + The instance. + + + + Applies the DrawableTextInterlineSpacing operation to the . + + Spacing to use. + The instance. + + + + Applies the DrawableTextInterwordSpacing operation to the . + + Spacing to use. + The instance. + + + + Applies the DrawableTextKerning operation to the . + + Kerning to use. + The instance. + + + + Applies the DrawableTextUnderColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableTranslation operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the DrawableViewbox operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The instance. + + + + Applies the DrawableStrokeAntialias operation to the . + + The instance. + + + + Applies the DrawableStrokeAntialias operation to the . + + The instance. + + + + Applies the DrawableTextAntialias operation to the . + + The instance. + + + + Applies the DrawableTextAntialias operation to the . + + The instance. + + + + Draw on the specified image. + + The image to draw on. + The current instance. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + Specifies if newlines should be ignored. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Creates a new instance. + + A new instance. + + + + Marker interface for drawables. + + + + + Adjusts the current affine transformation matrix with the specified affine transformation + matrix. Note that the current affine transform is adjusted rather than replaced. + + + + + Gets or sets the X coordinate scaling element. + + + + + Gets or sets the Y coordinate scaling element. + + + + + Gets or sets the X coordinate shearing element. + + + + + Gets or sets the Y coordinate shearing element. + + + + + Gets or sets the X coordinate of the translation element. + + + + + Gets or sets the Y coordinate of the translation element. + + + + + Reset to default. + + + + + Sets the origin of coordinate system. + + The X coordinate of the translation element. + The Y coordinate of the translation element. + + + + Sets the rotation to use. + + The angle of the rotation. + + + + Sets the scale to use. + + The X coordinate scaling element. + The Y coordinate scaling element. + + + + Skew to use in X axis. + + The X skewing element. + + + + Skew to use in Y axis. + + The Y skewing element. + + + + Draws an elliptical arc from the current point to(X, Y). The size and orientation of the + ellipse are defined by two radii(RadiusX, RadiusY) and a RotationX, which indicates how the + ellipse as a whole is rotated relative to the current coordinate system. The center of the + ellipse is calculated automagically to satisfy the constraints imposed by the other + parameters. UseLargeArc and UseSweep contribute to the automatic calculations and help + determine how the arc is drawn. If UseLargeArc is true then draw the larger of the + available arcs. If UseSweep is true, then draw the arc matching a clock-wise rotation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The X offset from origin. + The Y offset from origin. + The X radius. + The Y radius. + Indicates how the ellipse as a whole is rotated relative to the + current coordinate system. + If true then draw the larger of the available arcs. + If true then draw the arc matching a clock-wise rotation. + + + + Gets or sets the X radius. + + + + + Gets or sets the Y radius. + + + + + Gets or sets how the ellipse as a whole is rotated relative to the current coordinate system. + + + + + Gets or sets a value indicating whetherthe larger of the available arcs should be drawn. + + + + + Gets or sets a value indicating whether the arc should be drawn matching a clock-wise rotation. + + + + + Gets or sets the X offset from origin. + + + + + Gets or sets the Y offset from origin. + + + + + Class that can be used to chain path actions. + + The quantum type. + + + + Applies the PathArcAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathClose operation to the . + + The instance. + + + + Applies the PathCurveToAbs operation to the . + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToAbs operation to the . + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToRel operation to the . + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToRel operation to the . + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathLineToHorizontalAbs operation to the . + + The X coordinate. + The instance. + + + + Applies the PathLineToHorizontalRel operation to the . + + The X coordinate. + The instance. + + + + Applies the PathLineToRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToRel operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathLineToVerticalAbs operation to the . + + The Y coordinate. + The instance. + + + + Applies the PathLineToVerticalRel operation to the . + + The Y coordinate. + The instance. + + + + Applies the PathMoveToAbs operation to the . + + The coordinate to use. + The instance. + + + + Applies the PathMoveToAbs operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathMoveToRel operation to the . + + The coordinate to use. + The instance. + + + + Applies the PathMoveToRel operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathQuadraticCurveToAbs operation to the . + + Coordinate of control point. + Coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToAbs operation to the . + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToRel operation to the . + + Coordinate of control point. + Coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToRel operation to the . + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToAbs operation to the . + + Coordinate of second point. + Coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToAbs operation to the . + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToRel operation to the . + + Coordinate of second point. + Coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToRel operation to the . + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToAbs operation to the . + + Coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToAbs operation to the . + + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToRel operation to the . + + Coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToRel operation to the . + + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Converts this instance to a instance. + + A new instance. + + + + Marker interface for paths. + + + + + Specifies alpha options. + + + + + Undefined. + + + + + Activate. + + + + + Associate. + + + + + Background. + + + + + Copy. + + + + + Deactivate. + + + + + Discrete. + + + + + Disassociate. + + + + + Extract. + + + + + Off. + + + + + On. + + + + + Opaque. + + + + + Remove. + + + + + Set. + + + + + Shape. + + + + + Transparent. + + + + + Specifies the auto threshold methods. + + + + + Undefined. + + + + + Kapur. + + + + + OTSU. + + + + + Triangle. + + + + + Specifies channel types. + + + + + Undefined. + + + + + Red. + + + + + Gray. + + + + + Cyan. + + + + + Green. + + + + + Magenta. + + + + + Blue. + + + + + Yellow. + + + + + Black. + + + + + Alpha. + + + + + Opacity. + + + + + Index. + + + + + Composite. + + + + + All. + + + + + TrueAlpha. + + + + + RGB. + + + + + CMYK. + + + + + Grays. + + + + + Sync. + + + + + Default. + + + + + Specifies the image class type. + + + + + Undefined. + + + + + Direct. + + + + + Pseudo. + + + + + Specifies the clip path units. + + + + + Undefined. + + + + + UserSpace. + + + + + UserSpaceOnUse. + + + + + ObjectBoundingBox. + + + + + Specifies a kind of color space. + + + + + Undefined. + + + + + CMY. + + + + + CMYK. + + + + + Gray. + + + + + HCL. + + + + + HCLp. + + + + + HSB. + + + + + HSI. + + + + + HSL. + + + + + HSV. + + + + + HWB. + + + + + Lab. + + + + + LCH. + + + + + LCHab. + + + + + LCHuv. + + + + + Log. + + + + + LMS. + + + + + Luv. + + + + + OHTA. + + + + + Rec601YCbCr. + + + + + Rec709YCbCr. + + + + + RGB. + + + + + scRGB. + + + + + sRGB. + + + + + Transparent. + + + + + XyY. + + + + + XYZ. + + + + + YCbCr. + + + + + YCC. + + + + + YDbDr. + + + + + YIQ. + + + + + YPbPr. + + + + + YUV. + + + + + LinearGray. + + + + + Jzazbz. + + + + + Specifies color transform modes. + + + + + High resolution (). + + + + + Quantum. + + + + + Specifies the color type of the image. + + + + + Undefined. + + + + + Bilevel. + + + + + Grayscale. + + + + + GrayscaleAlpha. + + + + + Palette. + + + + + PaletteAlpha. + + + + + TrueColor. + + + + + TrueColorAlpha. + + + + + ColorSeparation. + + + + + ColorSeparationAlpha. + + + + + Optimize. + + + + + PaletteBilevelAlpha. + + + + + Specifies a kind of complex operator. + + + + + Undefined. + + + + + Add. + + + + + Conjugate. + + + + + Divide. + + + + + MagnitudePhase. + + + + + Multiply. + + + + + RealImaginary. + + + + + Subtract. + + + + + Specifies the composite operators. + + + + + Undefined. + + + + + Alpha. + + + + + Atop. + + + + + Blend. + + + + + Blur. + + + + + Bumpmap. + + + + + ChangeMask. + + + + + Clear. + + + + + ColorBurn. + + + + + ColorDodge. + + + + + Colorize. + + + + + CopyBlack. + + + + + CopyBlue. + + + + + Copy. + + + + + CopyCyan. + + + + + CopyGreen. + + + + + CopyMagenta. + + + + + CopyAlpha. + + + + + CopyRed. + + + + + CopyYellow. + + + + + Darken. + + + + + DarkenIntensity. + + + + + Difference. + + + + + Displace. + + + + + Dissolve. + + + + + Distort. + + + + + DivideDst. + + + + + DivideSrc. + + + + + DstAtop. + + + + + Dst. + + + + + DstIn. + + + + + DstOut. + + + + + DstOver. + + + + + Exclusion. + + + + + HardLight. + + + + + HardMix. + + + + + Hue. + + + + + In. + + + + + Intensity. + + + + + Lighten. + + + + + LightenIntensity. + + + + + LinearBurn. + + + + + LinearDodge. + + + + + LinearLight. + + + + + Luminize. + + + + + Mathematics. + + + + + MinusDst. + + + + + MinusSrc. + + + + + Modulate. + + + + + ModulusAdd. + + + + + ModulusSubtract. + + + + + Multiply. + + + + + No. + + + + + Out. + + + + + Over. + + + + + Overlay. + + + + + PegtopLight. + + + + + PinLight. + + + + + Plus. + + + + + Replace. + + + + + Saturate. + + + + + Screen. + + + + + SoftLight. + + + + + SrcAtop. + + + + + Src. + + + + + SrcIn. + + + + + SrcOut. + + + + + SrcOver. + + + + + Threshold. + + + + + VividLight. + + + + + Xor. + + + + + Stereo. + + + + + Freeze. + + + + + Interpolate. + + + + + Negate. + + + + + Reflect. + + + + + SoftBurn. + + + + + SoftDodge. + + + + + Stamp. + + + + + RMSE. + + + + + SaliencyBlend. + + + + + SeamlessBlend. + + + + + Specifies compression methods. + + + + + Undefined. + + + + + B44A. + + + + + B44. + + + + + BZip. + + + + + DXT1. + + + + + DXT3. + + + + + DXT5. + + + + + Fax. + + + + + Group4. + + + + + JBIG1. + + + + + JBIG2. + + + + + JPEG2000. + + + + + JPEG. + + + + + LosslessJPEG. + + + + + LZMA. + + + + + LZW. + + + + + NoCompression. + + + + + Piz. + + + + + Pxr24. + + + + + RLE. + + + + + Zip. + + + + + ZipS. + + + + + Zstd. + + + + + WebP. + + + + + DWAA. + + + + + DWAB. + + + + + BC7. + + + + + Units of image resolution. + + + + + Undefied. + + + + + Pixels per inch. + + + + + Pixels per centimeter. + + + + + Specifies distortion methods. + + + + + Undefined. + + + + + Affine. + + + + + AffineProjection. + + + + + ScaleRotateTranslate. + + + + + Perspective. + + + + + PerspectiveProjection. + + + + + BilinearForward. + + + + + BilinearReverse. + + + + + Polynomial. + + + + + Arc. + + + + + Polar. + + + + + DePolar. + + + + + Cylinder2Plane. + + + + + Plane2Cylinder. + + + + + Barrel. + + + + + BarrelInverse. + + + + + Shepards. + + + + + Resize. + + + + + Sentinel. + + + + + RigidAffine. + + + + + Specifies dither methods. + + + + + Undefined. + + + + + No. + + + + + Riemersma. + + + + + FloydSteinberg. + + + + + Specifies endian. + + + + + Undefined. + + + + + LSB. + + + + + MSB. + + + + + Specifies the error metric types. + + + + + Undefined. + + + + + Absolute. + + + + + Fuzz. + + + + + MeanAbsolute. + + + + + MeanErrorPerPixel. + + + + + MeanSquared. + + + + + NormalizedCrossCorrelation. + + + + + PeakAbsolute. + + + + + PeakSignalToNoiseRatio. + + + + + PerceptualHash. + + + + + RootMeanSquared. + + + + + StructuralSimilarity. + + + + + StructuralDissimilarity. + + + + + Specifies the evaluate functions. + + + + + Undefined. + + + + + Arcsin. + + + + + Arctan. + + + + + Polynomial. + + + + + Sinusoid. + + + + + Specifies the evaluate operator. + + + + + Undefined. + + + + + Abs. + + + + + Add. + + + + + AddModulus. + + + + + And. + + + + + Cosine. + + + + + Divide. + + + + + Exponential. + + + + + GaussianNoise. + + + + + ImpulseNoise. + + + + + LaplacianNoise. + + + + + LeftShift. + + + + + Log. + + + + + Max. + + + + + Mean. + + + + + Median. + + + + + Min. + + + + + MultiplicativeNoise. + + + + + Multiply. + + + + + Or. + + + + + PoissonNoise. + + + + + Pow. + + + + + RightShift. + + + + + RootMeanSquare. + + + + + Set. + + + + + Sine. + + + + + Subtract. + + + + + Sum. + + + + + ThresholdBlack. + + + + + Threshold. + + + + + ThresholdWhite. + + + + + UniformNoise. + + + + + Xor. + + + + + InverseLog. + + + + + Specifies fill rule. + + + + + Undefined. + + + + + EvenOdd. + + + + + Nonzero. + + + + + Specifies the filter types. + + + + + Undefined. + + + + + Point. + + + + + Box. + + + + + Triangle. + + + + + Hermite. + + + + + Hann. + + + + + Hamming. + + + + + Blackman. + + + + + Gaussian. + + + + + Quadratic. + + + + + Cubic. + + + + + Catrom. + + + + + Mitchell. + + + + + Jinc. + + + + + Sinc. + + + + + SincFast. + + + + + Kaiser. + + + + + Welch. + + + + + Parzen. + + + + + Bohman. + + + + + Bartlett. + + + + + Lagrange. + + + + + Lanczos. + + + + + LanczosSharp. + + + + + Lanczos2. + + + + + Lanczos2Sharp. + + + + + Robidoux. + + + + + RobidouxSharp. + + + + + Cosine. + + + + + Spline. + + + + + LanczosRadius. + + + + + CubicSpline. + + + + + Specifies font stretch type. + + + + + Undefined. + + + + + Normal. + + + + + UltraCondensed. + + + + + ExtraCondensed. + + + + + Condensed. + + + + + SemiCondensed. + + + + + SemiExpanded. + + + + + Expanded. + + + + + ExtraExpanded. + + + + + UltraExpanded. + + + + + Any. + + + + + Specifies the style of a font. + + + + + Undefined. + + + + + Normal. + + + + + Italic. + + + + + Oblique. + + + + + Any. + + + + + Bold. + + + + + Specifies font weight. + + + + + Undefined. + + + + + Thin (100). + + + + + Extra light (200). + + + + + Ultra light (200). + + + + + Light (300). + + + + + Normal (400). + + + + + Regular (400). + + + + + Medium (500). + + + + + Demi bold (600). + + + + + Semi bold (600). + + + + + Bold (700). + + + + + Extra bold (800). + + + + + Ultra bold (800). + + + + + Heavy (900). + + + + + Black (900). + + + + + Specifies gif disposal methods. + + + + + Undefined. + + + + + None. + + + + + Background. + + + + + Previous. + + + + + Specifies the placement gravity. + + + + + Undefined. + + + + + Forget. + + + + + Northwest. + + + + + North. + + + + + Northeast. + + + + + West. + + + + + Center. + + + + + East. + + + + + Southwest. + + + + + South. + + + + + Southeast. + + + + + Specifies the interlace types. + + + + + Undefined. + + + + + NoInterlace. + + + + + Line. + + + + + Plane. + + + + + Partition. + + + + + Gif. + + + + + Jpeg. + + + + + Png. + + + + + Specifies the built-in kernels. + + + + + Undefined. + + + + + Unity. + + + + + Gaussian. + + + + + DoG. + + + + + LoG. + + + + + Blur. + + + + + Comet. + + + + + Binomial. + + + + + Laplacian. + + + + + Sobel. + + + + + FreiChen. + + + + + Roberts. + + + + + Prewitt. + + + + + Compass. + + + + + Kirsch. + + + + + Diamond. + + + + + Square. + + + + + Rectangle. + + + + + Octagon. + + + + + Disk. + + + + + Plus. + + + + + Cross. + + + + + Ring. + + + + + Peaks. + + + + + Edges. + + + + + Corners. + + + + + Diagonals. + + + + + LineEnds. + + + + + LineJunctions. + + + + + Ridges. + + + + + ConvexHull. + + + + + ThinSE. + + + + + Skeleton. + + + + + Chebyshev. + + + + + Manhattan. + + + + + Octagonal. + + + + + Euclidean. + + + + + UserDefined. + + + + + Specifies line cap. + + + + + Undefined. + + + + + Butt. + + + + + Round. + + + + + Square. + + + + + Specifies line join. + + + + + Undefined. + + + + + Miter. + + + + + Round. + + + + + Bevel. + + + + + Specifies log events. + + + + + None. + + + + + Accelerate. + + + + + Annotate. + + + + + Blob. + + + + + Cache. + + + + + Coder. + + + + + Configure. + + + + + Deprecate. + + + + + Draw. + + + + + Exception. + + + + + Image. + + + + + Locale. + + + + + Module. + + + + + Pixel. + + + + + Policy. + + + + + Resource. + + + + + Trace. + + + + + Transform. + + + + + User. + + + + + Wand. + + + + + All log events except Trace. + + + + + All log. + + + + + Specifies the different file formats that are supported by ImageMagick. + + + + + Unknown. + + + + + Hasselblad CFV/H3D39II. + + + + + Media Container. + + + + + Media Container. + + + + + Raw alpha samples. + + + + + AAI Dune image. + + + + + Adobe Illustrator CS2. + + + + + Animated Portable Network Graphics. + + + + + PFS: 1st Publisher Clip Art. + + + + + Sony Alpha Raw Image Format. + + + + + Image sequence laid out in continuous irregular courses (Unknown). + + + + + Microsoft Audio/Visual Interleaved. + + + + + AV1 Image File Format (Heic). + + + + + AVS X image. + + + + + Raw blue samples. + + + + + Raw mosaiced samples. + + + + + Raw mosaiced and alpha samples. + + + + + Raw blue, green, and red samples. + + + + + Raw blue, green, red, and alpha samples. + + + + + Raw blue, green, red, and opacity samples. + + + + + Microsoft Windows bitmap image. + + + + + Microsoft Windows bitmap image (V2). + + + + + Microsoft Windows bitmap image (V3). + + + + + BRF ASCII Braille format. + + + + + Raw cyan samples. + + + + + Continuous Acquisition and Life-cycle Support Type 1. + + + + + Continuous Acquisition and Life-cycle Support Type 1. + + + + + Constant image uniform color. + + + + + Caption. + + + + + Cineon Image File. + + + + + Cisco IP phone image format. + + + + + Image Clip Mask. + + + + + The system clipboard. + + + + + Raw cyan, magenta, yellow, and black samples. + + + + + Raw cyan, magenta, yellow, black, and alpha samples. + + + + + Canon Digital Camera Raw Image Format. + + + + + Canon Digital Camera Raw Image Format. + + + + + Canon Digital Camera Raw Image Format. + + + + + Cube color lookup table image. + + + + + Microsoft icon. + + + + + DR Halo. + + + + + Base64-encoded inline images. + + + + + Digital Imaging and Communications in Medicine image. + + + + + Kodak Digital Camera Raw Image File. + + + + + Raw Photo Decoder (dcraw) (Dng). + + + + + ZSoft IBM PC multi-page Paintbrush. + + + + + Microsoft DirectDraw Surface. + + + + + Multi-face font package. + + + + + Microsoft Windows 3.X Packed Device-Independent Bitmap. + + + + + Digital Negative. + + + + + SMPTE 268M-2003 (DPX 2.0). + + + + + Microsoft DirectDraw Surface. + + + + + Microsoft DirectDraw Surface. + + + + + Windows Enhanced Meta File. + + + + + Encapsulated Portable Document Format. + + + + + Encapsulated PostScript Interchange format. + + + + + Encapsulated PostScript. + + + + + Level II Encapsulated PostScript. + + + + + Level III Encapsulated PostScript. + + + + + Encapsulated PostScript. + + + + + Encapsulated PostScript Interchange format. + + + + + Encapsulated PostScript with TIFF preview. + + + + + Encapsulated PostScript Level II with TIFF preview. + + + + + Encapsulated PostScript Level III with TIFF preview. + + + + + Epson RAW Format. + + + + + High Dynamic-range (HDR). + + + + + Farbfeld. + + + + + Group 3 FAX. + + + + + Farbfeld. + + + + + Uniform Resource Locator (file://). + + + + + Flexible Image Transport System. + + + + + FilmLight. + + + + + Flash Video Stream. + + + + + Plasma fractal image. + + + + + Uniform Resource Locator (ftp://). + + + + + Flexible Image Transport System. + + + + + Formatted text image. + + + + + Raw green samples. + + + + + Group 3 FAX. + + + + + Group 4 FAX. + + + + + CompuServe graphics interchange format. + + + + + CompuServe graphics interchange format. + + + + + Gradual linear passing from one shade to another. + + + + + Raw gray samples. + + + + + Raw gray and alpha samples. + + + + + Raw CCITT Group4. + + + + + Identity Hald color lookup table image. + + + + + Radiance RGBE image format. + + + + + High Efficiency Image Format. + + + + + High Efficiency Image Format. + + + + + Histogram of the image. + + + + + Slow Scan TeleVision. + + + + + Hypertext Markup Language and a client-side image map. + + + + + Hypertext Markup Language and a client-side image map. + + + + + Uniform Resource Locator (http://). + + + + + Uniform Resource Locator (https://). + + + + + Truevision Targa image. + + + + + Microsoft icon. + + + + + Microsoft icon. + + + + + Phase One Raw Image Format. + + + + + The image format and characteristics. + + + + + Base64-encoded inline images. + + + + + IPL Image Sequence. + + + + + ISO/TR 11548-1 format. + + + + + ISO/TR 11548-1 format 6dot. + + + + + JPEG-2000 Code Stream Syntax. + + + + + JPEG-2000 Code Stream Syntax. + + + + + JPEG Network Graphics. + + + + + Garmin tile format. + + + + + JPEG-2000 File Format Syntax. + + + + + JPEG-2000 Code Stream Syntax. + + + + + Joint Photographic Experts Group JFIF format. + + + + + Joint Photographic Experts Group JFIF format. + + + + + Joint Photographic Experts Group JFIF format. + + + + + JPEG-2000 File Format Syntax. + + + + + Joint Photographic Experts Group JFIF format. + + + + + JPEG-2000 File Format Syntax. + + + + + The image format and characteristics. + + + + + JPEG XL Lossless JPEG1 Recompression. + + + + + Raw black samples. + + + + + Kodak Digital Camera Raw Image Format. + + + + + Kodak Digital Camera Raw Image Format. + + + + + Image label. + + + + + Raw magenta samples. + + + + + MPEG Video Stream. + + + + + Raw MPEG-4 Video. + + + + + MAC Paint. + + + + + Colormap intensities and indices. + + + + + Image Clip Mask. + + + + + MATLAB level 5 image format. + + + + + MATTE format. + + + + + Mamiya Raw Image File. + + + + + Magick Image File Format. + + + + + Multimedia Container. + + + + + Multiple-image Network Graphics. + + + + + Raw bi-level bitmap. + + + + + MPEG Video Stream. + + + + + MPEG-4 Video Stream. + + + + + Magick Persistent Cache image format. + + + + + MPEG Video Stream. + + + + + MPEG Video Stream. + + + + + Sony (Minolta) Raw Image File. + + + + + Magick Scripting Language. + + + + + ImageMagick's own SVG internal renderer. + + + + + MTV Raytracing image format. + + + + + Magick Vector Graphics. + + + + + Nikon Digital SLR Camera Raw Image File. + + + + + Nikon Digital SLR Camera Raw Image File. + + + + + Constant image of uniform color. + + + + + Raw opacity samples. + + + + + OpenRaster format. + + + + + Olympus Digital Camera Raw Image File. + + + + + On-the-air bitmap. + + + + + Open Type font. + + + + + 16bit/pixel interleaved YUV. + + + + + Palm pixmap. + + + + + Common 2-dimensional bitmap format. + + + + + Pango Markup Language. + + + + + Predefined pattern. + + + + + Portable bitmap format (black and white). + + + + + Photo CD. + + + + + Photo CD. + + + + + Printer Control Language. + + + + + Apple Macintosh QuickDraw/PICT. + + + + + ZSoft IBM PC Paintbrush. + + + + + Palm Database ImageViewer Format. + + + + + Portable Document Format. + + + + + Portable Document Archive Format. + + + + + Pentax Electronic File. + + + + + Embrid Embroidery Format. + + + + + Postscript Type 1 font (ASCII). + + + + + Postscript Type 1 font (binary). + + + + + Portable float format. + + + + + Portable graymap format (gray scale). + + + + + Portable half float format. + + + + + JPEG 2000 uncompressed format. + + + + + Personal Icon. + + + + + Apple Macintosh QuickDraw/PICT. + + + + + Alias/Wavefront RLE image format. + + + + + Joint Photographic Experts Group JFIF format. + + + + + Plasma fractal image. + + + + + Portable Network Graphics. + + + + + PNG inheriting bit-depth and color-type from original. + + + + + opaque or binary transparent 24-bit RGB. + + + + + opaque or transparent 32-bit RGBA. + + + + + opaque or binary transparent 48-bit RGB. + + + + + opaque or transparent 64-bit RGBA. + + + + + 8-bit indexed with optional binary transparency. + + + + + Portable anymap. + + + + + Pocketmod Personal Organizer (Pdf). + + + + + Portable pixmap format (color). + + + + + PostScript. + + + + + Level II PostScript. + + + + + Level III PostScript. + + + + + Adobe Large Document Format. + + + + + Adobe Photoshop bitmap. + + + + + Pyramid encoded TIFF. + + + + + Seattle Film Works. + + + + + Quite OK image format. + + + + + Raw red samples. + + + + + Gradual radial passing from one shade to another. + + + + + Fuji CCD-RAW Graphic File. + + + + + SUN Rasterfile. + + + + + Raw. + + + + + Raw red, green, and blue samples. + + + + + Raw red, green, blue samples in 565 format. + + + + + Raw red, green, blue, and alpha samples. + + + + + Raw red, green, blue, and opacity samples. + + + + + LEGO Mindstorms EV3 Robot Graphic Format (black and white). + + + + + Alias/Wavefront image. + + + + + Utah Run length encoded image. + + + + + Raw Media Format. + + + + + Rsvg. + + + + + Panasonic Lumix Raw Image. + + + + + ZX-Spectrum SCREEN$. + + + + + Screen shot. + + + + + Scitex HandShake. + + + + + Seattle Film Works. + + + + + Irix RGB image. + + + + + Hypertext Markup Language and a client-side image map. + + + + + DEC SIXEL Graphics Format. + + + + + DEC SIXEL Graphics Format. + + + + + Sparse Color. + + + + + Sony Raw Format 2. + + + + + Sony Raw Format. + + + + + Steganographic image. + + + + + String to image and back. + + + + + SUN Rasterfile. + + + + + Scalable Vector Graphics. + + + + + Compressed Scalable Vector Graphics. + + + + + Text. + + + + + Truevision Targa image. + + + + + EXIF Profile Thumbnail. + + + + + Tagged Image File Format. + + + + + Tagged Image File Format. + + + + + Tagged Image File Format (64-bit). + + + + + Tile image with a texture. + + + + + PSX TIM. + + + + + PS2 TIM2. + + + + + TrueType font collection. + + + + + TrueType font. + + + + + Text. + + + + + Unicode Text format. + + + + + Unicode Text format 6dot. + + + + + X-Motif UIL table. + + + + + 16bit/pixel interleaved YUV. + + + + + Truevision Targa image. + + + + + VICAR rasterfile format. + + + + + Visual Image Directory. + + + + + Open Web Media. + + + + + Khoros Visualization image. + + + + + VIPS image. + + + + + Truevision Targa image. + + + + + WebP Image Format. + + + + + Wireless Bitmap (level 0) image. + + + + + Windows Meta File. + + + + + Windows Media Video. + + + + + Word Perfect Graphics. + + + + + Sigma Camera RAW Picture File. + + + + + X Windows system bitmap (black and white). + + + + + Constant image uniform color. + + + + + GIMP image. + + + + + X Windows system pixmap (color). + + + + + Microsoft XML Paper Specification. + + + + + Khoros Visualization image. + + + + + Raw yellow samples. + + + + + The image format and characteristics. + + + + + Raw Y, Cb, and Cr samples. + + + + + Raw Y, Cb, Cr, and alpha samples. + + + + + CCIR 601 4:1:1 or 4:2:2. + + + + + Specifies the morphology methods. + + + + + Undefined. + + + + + Convolve. + + + + + Correlate. + + + + + Erode. + + + + + Dilate. + + + + + ErodeIntensity. + + + + + DilateIntensity. + + + + + IterativeDistance. + + + + + Open. + + + + + Close. + + + + + OpenIntensity. + + + + + CloseIntensity. + + + + + Smooth. + + + + + EdgeIn. + + + + + EdgeOut. + + + + + Edge. + + + + + TopHat. + + + + + BottomHat. + + + + + HitAndMiss. + + + + + Thinning. + + + + + Thicken. + + + + + Distance. + + + + + Voronoi. + + + + + Specified the type of noise that should be added to the image. + + + + + Undefined. + + + + + Uniform. + + + + + Gaussian. + + + + + MultiplicativeGaussian. + + + + + Impulse. + + + + + Poisson. + + + + + Poisson. + + + + + Random. + + + + + Specifies the OpenCL device types. + + + + + Undefined. + + + + + Cpu. + + + + + Gpu. + + + + + Specified the photo orientation of the image. + + + + + Undefined. + + + + + TopLeft. + + + + + TopRight. + + + + + BottomRight. + + + + + BottomLeft. + + + + + LeftTop. + + + + + RightTop. + + + + + RightBottom. + + + + + LeftBotom. + + + + + Specifies the paint method. + + + + + Undefined. + + + + + Select the target pixel. + + + + + Select any pixel that matches the target pixel. + + + + + Select the target pixel and matching neighbors. + + + + + Select the target pixel and neighbors not matching border color. + + + + + Select all pixels. + + + + + Specifies the pixel channels. + + + + + Red. + + + + + Cyan. + + + + + Gray. + + + + + Green. + + + + + Magenta. + + + + + Blue. + + + + + Yellow. + + + + + Black. + + + + + Alpha. + + + + + Index. + + + + + Composite. + + + + + Pixel intensity methods. + + + + + Undefined. + + + + + Average. + + + + + Brightness. + + + + + Lightness. + + + + + MS. + + + + + Rec601Luma. + + + + + Rec601Luminance. + + + + + Rec709Luma. + + + + + Rec709Luminance. + + + + + RMS. + + + + + Pixel color interpolate methods. + + + + + Undefined. + + + + + Average. + + + + + Average9. + + + + + Average16. + + + + + Background. + + + + + Bilinear. + + + + + Blend. + + + + + Catrom. + + + + + Integer. + + + + + Mesh. + + + + + Nearest. + + + + + Spline. + + + + + An enumeration for pixel mapping mode. + + + + + RGB. + + + + + BGR. + + + + + RGBA. + + + + + ABGR. + + + + + CMYK. + + + + + Specifies the type of rendering intent. + + + + + Undefined. + + + + + Saturation. + + + + + Perceptual. + + + + + Absolute. + + + + + Relative. + + + + + The sparse color methods. + + + + + Undefined. + + + + + Barycentric. + + + + + Bilinear. + + + + + Polynomial. + + + + + Shepards. + + + + + Voronoi. + + + + + Inverse. + + + + + Manhattan. + + + + + Specifies the statistic types. + + + + + Undefined. + + + + + Gradient. + + + + + Maximum. + + + + + Mean. + + + + + Median. + + + + + Minimum. + + + + + Mode. + + + + + Nonpeak. + + + + + RootMeanSquare. + + + + + StandardDeviation. + + + + + Specifies the pixel storage types. + + + + + Undefined. + + + + + Char. + + + + + Double. + + + + + Float. + + + + + Int32. + + + + + Int64. + + + + + Quantum. + + + + + Short. + + + + + Specified the type of text alignment. + + + + + Undefined. + + + + + Left. + + + + + Center. + + + + + Right. + + + + + Specified the type of decoration for text. + + + + + Undefined. + + + + + NoDecoration. + + + + + Underline. + + + + + Overline. + + + + + LineThrough. + + + + + Specified the direction for text. + + + + + Undefined. + + + + + RightToLeft. + + + + + LeftToRight. + + + + + Specifies the virtual pixel methods. + + + + + Undefined. + + + + + Background. + + + + + Dither. + + + + + Edge. + + + + + Mirror. + + + + + Random. + + + + + Tile. + + + + + Transparent. + + + + + Mask. + + + + + Black. + + + + + Gray. + + + + + White. + + + + + HorizontalTile. + + + + + VerticalTile. + + + + + HorizontalTileEdge. + + + + + VerticalTileEdge. + + + + + CheckerTile. + + + + + EventArgs for Log events. + + + + + Initializes a new instance of the class. + + The type of the log message. + The log message. + + + + Gets the type of the log message. + + + + + Gets the log message. + + + + + EventArgs for Progress events. + + + + + Initializes a new instance of the class. + + The originator of this event. + The offset. + The extent. + + + + Gets the originator of this event. + + + + + Gets the progress percentage. + + + + + Gets or sets a value indicating whether the current operation will be canceled. + + + + + Arguments for the Warning event. + + + + + Initializes a new instance of the class. + + The MagickWarningException that was thrown. + + + + Gets the message of the exception. + + + + + Gets the MagickWarningException that was thrown. + + + + + Encapsulation of the ImageMagick BlobError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CacheError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CoderError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ConfigureError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CorruptImageError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick DelegateError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick DrawError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick Error exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick FileOpenError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ImageError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick MissingDelegateError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ModuleError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick OptionError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick PolicyError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick RegistryError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ResourceLimitError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick StreamError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick TypeError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick exception object. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Gets the exceptions that are related to this exception. + + + + + Sets the related exceptions of this exception. + + The related exceptions. + + + + Encapsulation of the ImageMagick BlobWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CacheWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CoderWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ConfigureWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CorruptImageWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick DelegateWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick DrawWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick FileOpenWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ImageWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick MissingDelegateWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ModuleWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick OptionWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick PolicyWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick RegistryWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ResourceLimitWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick StreamWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick TypeWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick Warning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Class that can be used to create instances. + + The quantum type. + + + + Initializes a new instance that implements . + + A new instance. + + + + Class that can be used to create instances. + + The quantum type. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + The color to use. + + + + Initializes a new instance that implements . + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + A new instance. + + + + Initializes a new instance that implements . + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + A new instance. + + + + Initializes a new instance that implements . + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Black component value of this color. + Alpha component value of this colors. + A new instance. + + + + Initializes a new instance that implements . + + The RGBA/CMYK hex string or name of the color (http://www.imagemagick.org/script/color.php). + For example: #F000, #FF000000, #FFFF000000000000. + A new instance. + + + + Class that can be used to create various instances. + + + + + Gets the configuration files. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets the MagickNET information. + + + + + Gets a factory that can be used to create various matrix instances. + + + + + Gets the OpenCL information. + + + + + Gets the resource limits. + + + + + Class that can be used to create various instances. + + The quantum type. + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create color instances by name. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets the quantum information. + + + + + Gets a factory that can be used to create various settings. + + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The width and height. + A new instance. + + + + Initializes a new instance that implements . + + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The X offset from origin. + The Y offset from origin. + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The percentage of the width. + The percentage of the height. + A new instance. + + + + Initializes a new instance that implements . + + The X offset from origin. + The Y offset from origin. + The percentage of the width. + The percentage of the height. + A new instance. + + + + Initializes a new instance that implements . + + Geometry specifications in the form: <width>x<height> + {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers). + A new instance. + + + + Initializes a new instance using the specified page size. + + The page size. + A instance that represents the specified page size. + + + + Class that can be used to create instances. + + The quantum type. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The images to add to the collection. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create instances. + + The quantum type. + + + + Initializes a new instance that implements . + + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The color to fill the image with. + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The byte array to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create various matrix instances. + + + + + Initializes a new instance that implements . + + A new instance. + The order (1 to 6). + + + + Initializes a new instance that implements . + + A new instance. + The order (1 to 6). + The values to initialize the matrix with. + + + + Initializes a new instance that implements . + + A new instance. + The order (odd number). + + + + Initializes a new instance that implements . + + A new instance. + The order (odd number). + The values to initialize the matrix with. + + + + Class that can be used to create various settings. + + The quantum type. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Interface for classes that can optimize an image. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The image file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The image file to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The file name of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the image to compress. + True when the image could be compressed otherwise false. + + + + Interface that contains information about an image format. + + + + + Gets a value indicating whether the format can be read multithreaded. + + + + + Gets a value indicating whether the format can be written multithreaded. + + + + + Gets the description of the format. + + + + + Gets the format. + + + + + Gets a value indicating whether the format supports multiple frames. + + + + + Gets a value indicating whether the format is readable. + + + + + Gets a value indicating whether the format is writable. + + + + + Gets the mime type. + + + + + Gets the module. + + + + + Returns a string that represents the current format. + + A string that represents the current format. + + + + Unregisters this format. + + True when the format was found and unregistered. + + + + Interface that represents an ImageMagick image. + + + + + Event that will be raised when progress is reported by this image. + + + + + Event that will we raised when a warning is thrown by ImageMagick. + + + + + Gets or sets the time in 1/100ths of a second which must expire before splaying the next image in an + animated sequence. + + + + + Gets or sets the number of iterations to loop an animation (e.g. Netscape loop extension) for. + + + + + Gets or sets the ticks per seconds for the animation delay. + + + + + Gets the names of the artifacts. + + + + + Gets the names of the attributes. + + + + + Gets the height of the image before transformations. + + + + + Gets the width of the image before transformations. + + + + + Gets or sets a value indicating whether black point compensation should be used. + + + + + Gets the smallest bounding box enclosing non-border pixels. The current fuzz value is used + when discriminating between pixels. + + + + + Gets the number of channels that the image contains. + + + + + Gets the channels of the image. + + + + + Gets or sets the chromaticity blue primary point. + + + + + Gets or sets the chromaticity green primary point. + + + + + Gets or sets the chromaticity red primary point. + + + + + Gets or sets the chromaticity white primary point. + + + + + Gets or sets the image class (DirectClass or PseudoClass) + NOTE: Setting a DirectClass image to PseudoClass will result in the loss of color information + if the number of colors in the image is greater than the maximum palette size (either 256 (Q8) + or 65536 (Q16). + + + + + Gets or sets the distance where colors are considered equal. + + + + + Gets or sets the colormap size (number of colormap entries). + + + + + Gets or sets the color space of the image. + + + + + Gets or sets the color type of the image. + + + + + Gets or sets the comment text of the image. + + + + + Gets or sets the composition operator to be used when composition is implicitly used (such as for image flattening). + + + + + Gets the compression method of the image. + + + + + Gets or sets the vertical and horizontal resolution in pixels of the image. + + + + + Gets or sets the depth (bits allocated to red/green/blue components). + + + + + Gets the preferred size of the image when encoding. + + Thrown when an error is raised by ImageMagick. + + + + Gets or sets the endianness (little like Intel or big like SPARC) for image formats which support + endian-specific options. + + + + + Gets the original file name of the image (only available if read from disk). + + + + + Gets or sets the filter to use when resizing image. + + + + + Gets or sets the format of the image. + + + + + Gets the information about the format of the image. + + + + + Gets the gamma level of the image. + + Thrown when an error is raised by ImageMagick. + + + + Gets or sets the gif disposal method. + + + + + Gets or sets a value indicating whether the image supports transparency (alpha channel). + + + + + Gets the height of the image. + + + + + Gets or sets the type of interlacing to use. + + + + + Gets or sets the pixel color interpolate method to use. + + + + + Gets a value indicating whether the instance is disposed. + + + + + Gets a value indicating whether none of the pixels in the image have an alpha value other + than OpaqueAlpha (QuantumRange). + + + + + Gets or sets the label of the image. + + + + + Gets or sets the photo orientation of the image. + + + + + Gets or sets the preferred size and location of an image canvas. + + + + + Gets the names of the profiles. + + + + + Gets or sets the JPEG/MIFF/PNG compression level (default 75). + + + + + Gets or sets the type of rendering intent. + + + + + Gets the signature of this image. + + Thrown when an error is raised by ImageMagick. + + + + Gets the number of colors in the image. + + + + + Gets or sets the virtual pixel method. + + + + + Gets the width of the image. + + + + + Adaptive-blur image with the default blur factor (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Adaptive-blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + Thrown when an error is raised by ImageMagick. + + + + Adaptive-blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Resize using mesh interpolation. It works well for small resizes of less than +/- 50% + of the original image size. For larger resizing on images a full filtered and slower resize + function should be used instead. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize using mesh interpolation. It works well for small resizes of less than +/- 50% + of the original image size. For larger resizing on images a full filtered and slower resize + function should be used instead. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean (+/-)(0-QuantumRange). + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean (+/-)(0-QuantumRange). + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Add noise to image with the specified noise type. + + The type of noise that should be added to the image. + Thrown when an error is raised by ImageMagick. + + + + Add noise to the specified channel of the image with the specified noise type. + + The type of noise that should be added to the image. + The channel(s) where the noise should be added. + Thrown when an error is raised by ImageMagick. + + + + Add noise to image with the specified noise type. + + The type of noise that should be added to the image. + Attenuate the random distribution. + Thrown when an error is raised by ImageMagick. + + + + Add noise to the specified channel of the image with the specified noise type. + + The type of noise that should be added to the image. + Attenuate the random distribution. + The channel(s) where the noise should be added. + Thrown when an error is raised by ImageMagick. + + + + Affine Transform image. + + The affine matrix to use. + Thrown when an error is raised by ImageMagick. + + + + Applies the specified alpha option. + + The option to use. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, and bounding area. + + The text to use. + The bounding area. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, bounding area, and placement gravity. + + The text to use. + The bounding area. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, bounding area, and placement gravity. + + The text to use. + The bounding area. + The placement gravity. + The rotation. + Thrown when an error is raised by ImageMagick. + + + + Annotate with text (bounding area is entire image) and placement gravity. + + The text to use. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriatally. + + Thrown when an error is raised by ImageMagick. + + + + Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriatally. + + The channel(s) to set the gamma for. + Thrown when an error is raised by ImageMagick. + + + + Adjusts the levels of a particular image channel by scaling the minimum and maximum values + to the full quantum range. + + Thrown when an error is raised by ImageMagick. + + + + Adjusts the levels of a particular image channel by scaling the minimum and maximum values + to the full quantum range. + + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjusts an image so that its orientation is suitable for viewing. + + Thrown when an error is raised by ImageMagick. + + + + Automatically selects a threshold and replaces each pixel in the image with a black pixel if + the image intentsity is less than the selected threshold otherwise white. + + The threshold method. + Thrown when an error is raised by ImageMagick. + + + + Applies a non-linear, edge-preserving, and noise-reducing smoothing filter. + + The width of the neighborhood in pixels. + The height of the neighborhood in pixels.\ + + + + Applies a non-linear, edge-preserving, and noise-reducing smoothing filter. + + The width of the neighborhood in pixels. + The height of the neighborhood in pixels. + The sigma in the intensity space. + The sigma in the coordinate space. + + + + Forces all pixels below the threshold into black while leaving all pixels at or above + the threshold unchanged. + + The threshold to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels below the threshold into black while leaving all pixels at or above + the threshold unchanged. + + The threshold to use. + The channel(s) to make black. + Thrown when an error is raised by ImageMagick. + + + + Simulate a scene at nighttime in the moonlight. + + Thrown when an error is raised by ImageMagick. + + + + Simulate a scene at nighttime in the moonlight. + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Blur image with the default blur factor (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Blur image the specified channel of the image with the default blur factor (0x1). + + The channel(s) that should be blurred. + Thrown when an error is raised by ImageMagick. + + + + Blur image with specified blur factor. + + The radius of the Gaussian in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Blur image with specified blur factor and channel. + + The radius of the Gaussian in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be blurred. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The size of the border. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The width of the border. + The height of the border. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The size of the border. + Thrown when an error is raised by ImageMagick. + + + + Changes the brightness and/or contrast of an image. It converts the brightness and + contrast parameters into slope and intercept and calls a polynomical function to apply + to the image. + + The brightness. + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Changes the brightness and/or contrast of an image. It converts the brightness and + contrast parameters into slope and intercept and calls a polynomical function to apply + to the image. + + The brightness. + The contrast. + The channel(s) that should be changed. + Thrown when an error is raised by ImageMagick. + + + + Uses a multi-stage algorithm to detect a wide range of edges in images. + + Thrown when an error is raised by ImageMagick. + + + + Uses a multi-stage algorithm to detect a wide range of edges in images. + + The radius of the gaussian smoothing filter. + The sigma of the gaussian smoothing filter. + Percentage of edge pixels in the lower threshold. + Percentage of edge pixels in the upper threshold. + Thrown when an error is raised by ImageMagick. + + + + Charcoal effect image (looks like charcoal sketch). + + Thrown when an error is raised by ImageMagick. + + + + Charcoal effect image (looks like charcoal sketch). + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove vertical or horizontal subregion of image) using the specified geometry. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove horizontal subregion of image). + + The X offset from origin. + The width of the part to chop horizontally. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove horizontal subregion of image). + + The Y offset from origin. + The height of the part to chop vertically. + Thrown when an error is raised by ImageMagick. + + + + A variant of adaptive histogram equalization in which the contrast amplification is limited, + so as to reduce this problem of noise amplification. + + The percentage of tile divisions to use in horizontal direction. + The percentage of tile divisions to use in vertical direction. + The number of bins for histogram ("dynamic range"). + The contrast limit for localised changes in contrast. A limit less than 1 + results in standard non-contrast limited AHE. + + + + A variant of adaptive histogram equalization in which the contrast amplification is limited, + so as to reduce this problem of noise amplification. + + The number of tile divisions to use in horizontal direction. + The number of tile divisions to use in vertical direction. + The number of bins for histogram ("dynamic range"). + The contrast limit for localised changes in contrast. A limit less than 1 + results in standard non-contrast limited AHE. + + + + Set each pixel whose value is below zero to zero and any the pixel whose value is above + the quantum range to the quantum range (Quantum.Max) otherwise the pixel value + remains unchanged. + + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is below zero to zero and any the pixel whose value is above + the quantum range to the quantum range (Quantum.Max) otherwise the pixel value + remains unchanged. + + The channel(s) to clamp. + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect inside + the clipping path. + + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect inside + the clipping path. + + Name of clipping path resource. If name is preceded by #, use + clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect outside + the clipping path. + + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect outside + the clipping path. + + Name of clipping path resource. If name is preceded by #, use + clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Pixel interpolate method. + The channel(s) to clut. + Thrown when an error is raised by ImageMagick. + + + + Applies the color decision list from the specified ASC CDL file. + + The file to read the ASC CDL information from. + Thrown when an error is raised by ImageMagick. + + + + Apply a color matrix to the image channels. + + The color matrix to use. + Thrown when an error is raised by ImageMagick. + + + + Compare current image with another image and returns error information. + + The other image to compare with this image. + The error information. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The image that will contain the difference. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The image that will contain the difference. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Contrast image (enhance intensity differences in image). + + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + The white point. + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + The white point. + The channel(s) to constrast stretch. + Thrown when an error is raised by ImageMagick. + + + + Returns the convex hull points of an image canvas. + + The convex hull points of an image canvas. + Thrown when an error is raised by ImageMagick. + + + + Convolve image. Applies a user-specified convolution to the image. + + The convolution matrix. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The geometry to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The geometry to copy. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image as defined by the geometry the destination image at + the specified offset. + + The source image to copy the pixels from. + The geometry to copy. + The X offset to start the copy from. + The Y offset to start the copy from. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image as defined by the geometry the destination image at + the specified offset. + + The source image to copy the pixels from. + The geometry to copy. + The X offset to copy the pixels to. + The Y offset to copy the pixels to. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The width of the subregion. + The height of the subregion. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The width of the subregion. + The height of the subregion. + The position where the cropping should start from. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The subregion to crop. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The subregion to crop. + The position where the cropping should start from. + Thrown when an error is raised by ImageMagick. + + + + Displaces an image's colormap by a given number of positions. + + Displace the colormap this amount. + Thrown when an error is raised by ImageMagick. + + + + Converts cipher pixels to plain pixels. + + The password that was used to encrypt the image. + Thrown when an error is raised by ImageMagick. + + + + Removes skew from the image. Skew is an artifact that occurs in scanned images because of + the camera being misaligned, imperfections in the scanning or surface, or simply because + the paper was not placed completely flat when scanned. The value of threshold ranges + from 0 to QuantumRange. + + The threshold. + Thrown when an error is raised by ImageMagick. + The angle that was used. + + + + Removes skew from the image. Skew is an artifact that occurs in scanned images because of + the camera being misaligned, imperfections in the scanning or surface, or simply because + the paper was not placed completely flat when scanned. The value of threshold ranges + from 0 to QuantumRange. + + The deskew settings. + Thrown when an error is raised by ImageMagick. + The angle that was used. + + + + Despeckle image (reduce speckle noise). + + Thrown when an error is raised by ImageMagick. + + + + Determines the bit depth (bits allocated to red/green/blue components). Use the Depth + property to get the current value. + + Thrown when an error is raised by ImageMagick. + The bit depth (bits allocated to red/green/blue components). + + + + Determines the bit depth (bits allocated to red/green/blue components) of the specified channel. + + The channel to get the depth for. + Thrown when an error is raised by ImageMagick. + The bit depth (bits allocated to red/green/blue components) of the specified channel. + + + + Determines the color type of the image. This method can be used to automatically make the + type GrayScale. + + Thrown when an error is raised by ImageMagick. + The color type of the image. + + + + Distorts an image using various distortion methods, by mapping color lookups of the source + image to a new destination image of the same size as the source image. + + The distortion method to use. + An array containing the arguments for the distortion. + Thrown when an error is raised by ImageMagick. + + + + Distorts an image using various distortion methods, by mapping color lookups of the source + image to a new destination image usually of the same size as the source image, unless + 'bestfit' is set to true. + + The distortion method to use. + The settings for the distort operation. + An array containing the arguments for the distortion. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using one or more drawables. + + The drawable(s) to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using a collection of drawables. + + The drawables to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Edge image (highlight edges in image). + + The radius of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Emboss image (highlight edges with 3D effect) with default value (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Emboss image (highlight edges with 3D effect). + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Converts pixels to cipher-pixels. + + The password that to encrypt the image with. + Thrown when an error is raised by ImageMagick. + + + + Applies a digital filter that improves the quality of a noisy image. + + Thrown when an error is raised by ImageMagick. + + + + Applies a histogram equalization to the image. + + Thrown when an error is raised by ImageMagick. + + + + Applies a histogram equalization to the image. + + The channel(s) to apply the operator on. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The function. + The arguments for the function. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The geometry to use. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The geometry to use. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The X offset from origin. + The Y offset from origin. + The width to extend the image to. + The height to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the rectangle. + + The geometry to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Flip image (reflect each scanline in the vertical direction). + + Thrown when an error is raised by ImageMagick. + + + + Flop image (reflect each scanline in the horizontal direction). + + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + Specifies if newlines should be ignored. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Formats the specified expression, more info here: http://www.imagemagick.org/script/escape.php. + + The expression, more info here: http://www.imagemagick.org/script/escape.php. + The result of the expression. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the default geometry (25x25+6+6). + + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified geometry. + + The geometry of the frame. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified with and height. + + The width of the frame. + The height of the frame. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified with, height, innerBevel and outerBevel. + + The width of the frame. + The height of the frame. + The inner bevel of the frame. + The outer bevel of the frame. + Thrown when an error is raised by ImageMagick. + + + + Applies a mathematical expression to the image. + + The expression to apply. + Thrown when an error is raised by ImageMagick. + + + + Applies a mathematical expression to the image. + + The expression to apply. + The channel(s) to apply the expression to. + Thrown when an error is raised by ImageMagick. + + + + Gamma correct image. + + The image gamma. + Thrown when an error is raised by ImageMagick. + + + + Gamma correct image. + + The image gamma for the channel. + The channel(s) to gamma correct. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The standard deviation of the gaussian bell curve. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The standard deviation of the gaussian bell curve. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the 8bim profile from the image. + + Thrown when an error is raised by ImageMagick. + The 8bim profile from the image. + + + + Returns the value of the artifact with the specified name. + + The name of the artifact. + The value of the artifact with the specified name. + + + + Returns the value of a named image attribute. + + The name of the attribute. + The value of a named image attribute. + Thrown when an error is raised by ImageMagick. + + + + Returns the default clipping path. Null will be returned if the image has no clipping path. + + The default clipping path. Null will be returned if the image has no clipping path. + Thrown when an error is raised by ImageMagick. + + + + Returns the clipping path with the specified name. Null will be returned if the image has no clipping path. + + Name of clipping path resource. If name is preceded by #, use clipping path numbered by name. + The clipping path with the specified name. Null will be returned if the image has no clipping path. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the color profile from the image. + + The color profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the exif profile from the image. + + The exif profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the iptc profile from the image. + + The iptc profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve a named profile from the image. + + The name of the profile (e.g. "ICM", "IPTC", or a generic profile name). + A named profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the xmp profile from the image. + + The xmp profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Converts the colors in the image to gray. + + Thrown when an error is raised by ImageMagick. + + + + Converts the colors in the image to gray. + + The pixel intensity method to use. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (Hald CLUT) to the image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Gets a value indicating whether a profile with the specified name already exists on the image. + + The name of the profile. + A value indicating whether a profile with the specified name already exists on the image. + + + + Identifies lines in the image. + + Thrown when an error is raised by ImageMagick. + + + + Identifies lines in the image. + + The width of the neighborhood. + The height of the neighborhood. + The line count threshold. + Thrown when an error is raised by ImageMagick. + + + + Implode image (special effect). + + The extent of the implosion. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array. + + The byte array to read the image data from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array. + + The byte array to read the image data from. + The offset at which to begin reading data. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The new width. + The new height. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The geometry to use. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The percentage. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The percentage of the width. + The percentage of the height. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Inverse contrast image (diminish intensity differences in image). + + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + The channel(s) that should be adjusted. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Applies k-means color reduction to an image. This is a colorspace clustering or segmentation technique. + + The kmeans settings. + Thrown when an error is raised by ImageMagick. + + + + An edge preserving noise reduction filter. + + Thrown when an error is raised by ImageMagick. + + + + An edge preserving noise reduction filter. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Discards any pixels below the black point and above the white point and levels the remaining pixels. + + The black point. + The white point. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The new width. + The new height. + Maximum seam transversal step (0 means straight seams). + Introduce a bias for non-straight seams (typically 0). + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage of the width. + The percentage of the height. + Maximum seam transversal step (0 means straight seams). + Introduce a bias for non-straight seams (typically 0). + Thrown when an error is raised by ImageMagick. + + + + Local contrast enhancement. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The strength of the blur mask. + Thrown when an error is raised by ImageMagick. + + + + Local contrast enhancement. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The strength of the blur mask. + The channel(s) that should be changed. + Thrown when an error is raised by ImageMagick. + + + + Lower image (darken the edges of an image to give a 3-D lowered effect). + + The size of the edges. + Thrown when an error is raised by ImageMagick. + + + + Magnify image by integral size. + + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Quantize settings. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Delineate arbitrarily shaped clusters in the image. + + The width and height of the pixels neighborhood. + + + + Delineate arbitrarily shaped clusters in the image. + + The width and height of the pixels neighborhood. + The color distance. + + + + Delineate arbitrarily shaped clusters in the image. + + The width of the pixels neighborhood. + The height of the pixels neighborhood. + + + + Delineate arbitrarily shaped clusters in the image. + + The width of the pixels neighborhood. + The height of the pixels neighborhood. + The color distance. + + + + Filter image by replacing each pixel component with the median color in a circular neighborhood. + + Thrown when an error is raised by ImageMagick. + + + + Filter image by replacing each pixel component with the median color in a circular neighborhood. + + The radius of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Reduce image by integral size. + + Thrown when an error is raised by ImageMagick. + + + + Returns the points that form the minimum bounding box around the image foreground objects with + the "Rotating Calipers" algorithm. he method also returns these properties: minimum-bounding-box:area, + minimum-bounding-box:width, minimum-bounding-box:height, and minimum-bounding-box:angle. + + The points that form the minimum bounding box around the image foreground objects. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent brightness of an image. + + The brightness percentage. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent saturation and brightness of an image. + + The brightness percentage. + The saturation percentage. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent hue, saturation, and brightness of an image. + + The brightness percentage. + The saturation percentage. + The hue percentage. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology settings. + + The morphology settings. + Thrown when an error is raised by ImageMagick. + + + + Returns the normalized moments of one or more image channels. + + The normalized moments of one or more image channels. + Thrown when an error is raised by ImageMagick. + + + + Motion blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The angle the object appears to be comming from (zero degrees is from the right). + Thrown when an error is raised by ImageMagick. + + + + Negate colors in image. + + Thrown when an error is raised by ImageMagick. + + + + Negate colors in image for the specified channel. + + The channel(s) that should be negated. + Thrown when an error is raised by ImageMagick. + + + + Negate the grayscale colors in image. + + Thrown when an error is raised by ImageMagick. + + + + Negate the grayscale colors in image for the specified channel. + + The channel(s) that should be negated. + Thrown when an error is raised by ImageMagick. + + + + Normalize image (increase contrast by normalizing the pixel values to span the full range + of color values). + + Thrown when an error is raised by ImageMagick. + + + + Oilpaint image (image looks like oil painting). + + + + + Oilpaint image (image looks like oil painting). + + The radius of the circular neighborhood. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Perform a ordered dither based on a number of pre-defined dithering threshold maps, but over + multiple intensity levels. + + A string containing the name of the threshold dither map to use, + followed by zero or more numbers representing the number of color levels tho dither between. + Thrown when an error is raised by ImageMagick. + + + + Perform a ordered dither based on a number of pre-defined dithering threshold maps, but over + multiple intensity levels. + + A string containing the name of the threshold dither map to use, + followed by zero or more numbers representing the number of color levels tho dither between. + The channel(s) to dither. + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is less than epsilon to epsilon or -epsilon (whichever is closer) + otherwise the pixel value remains unchanged. + + The epsilon threshold. + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is less than epsilon to epsilon or -epsilon (whichever is closer) + otherwise the pixel value remains unchanged. + + The epsilon threshold. + The channel(s) to perceptible. + Thrown when an error is raised by ImageMagick. + + + + Returns the perceptual hash of this image. + + The perceptual hash of this image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Simulates a polaroid picture. + + The caption to put on the image. + The angle of image. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + The channel(s) to posterize. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Dither method to use. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Dither method to use. + The channel(s) to posterize. + Thrown when an error is raised by ImageMagick. + + + + Sets an internal option to preserve the color type. + + Thrown when an error is raised by ImageMagick. + + + + Quantize image (reduce number of colors). + + Quantize settings. + The error information. + Thrown when an error is raised by ImageMagick. + + + + Raise image (lighten the edges of an image to give a 3-D raised effect). + + The size of the edges. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Applies soft and hard thresholding. + + Defines the minimum black threshold value. + Defines the minimum white threshold value. + Defines the maximum white threshold value. + Defines the maximum black threshold value. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Reduce noise in image using a noise peak elimination filter. + + Thrown when an error is raised by ImageMagick. + + + + Reduce noise in image using a noise peak elimination filter. + + The order to use. + Thrown when an error is raised by ImageMagick. + + + + Associates a mask with the image as defined by the specified region. + + The mask region. + + + + Removes the artifact with the specified name. + + The name of the artifact. + + + + Removes the attribute with the specified name. + + The name of the attribute. + + + + Removes the region mask of the image. + + + + + Remove a profile from the image. + + The profile to remove. + Thrown when an error is raised by ImageMagick. + + + + Remove a named profile from the image. + + The name of the profile (e.g. "ICM", "IPTC", or a generic profile name). + Thrown when an error is raised by ImageMagick. + + + + Removes the associated read mask of the image. + + Thrown when an error is raised by ImageMagick. + + + + Removes the associated write mask of the image. + + Thrown when an error is raised by ImageMagick. + + + + Resets the page property of this image. + + Thrown when an error is raised by ImageMagick. + + + + Resize image in terms of its pixel size. + + The new X resolution. + The new Y resolution. + Thrown when an error is raised by ImageMagick. + + + + Resize image in terms of its pixel size. + + The density to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified geometry. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Roll image (rolls image vertically and horizontally). + + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Rotate image clockwise by specified number of degrees. + + Specify a negative number for to rotate counter-clockwise. + The number of degrees to rotate (positive to rotate clockwise, negative to rotate counter-clockwise). + Thrown when an error is raised by ImageMagick. + + + + Rotational blur image. + + The angle to use. + Thrown when an error is raised by ImageMagick. + + + + Rotational blur image. + + The angle to use. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm to the specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm to the specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm to the specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm to the specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Segment (coalesce similar image components) by analyzing the histograms of the color + components and identifying units that are homogeneous with the fuzzy c-means technique. + Also uses QuantizeColorSpace and Verbose image attributes. + + Thrown when an error is raised by ImageMagick. + + + + Segment (coalesce similar image components) by analyzing the histograms of the color + components and identifying units that are homogeneous with the fuzzy c-means technique. + Also uses QuantizeColorSpace and Verbose image attributes. + + Quantize colorspace. + This represents the minimum number of pixels contained in + a hexahedra before it can be considered valid (expressed as a percentage). + The smoothing threshold eliminates noise in the second + derivative of the histogram. As the value is increased, you can expect a smoother second + derivative. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Applies a special effect to the image, similar to the effect achieved in a photo darkroom + by sepia toning. + + Thrown when an error is raised by ImageMagick. + + + + Applies a special effect to the image, similar to the effect achieved in a photo darkroom + by sepia toning. + + The tone threshold. + Thrown when an error is raised by ImageMagick. + + + + Inserts the artifact with the specified name and value into the artifact tree of the image. + + The name of the artifact. + The value of the artifact. + Thrown when an error is raised by ImageMagick. + + + + Inserts the artifact with the specified name and value into the artifact tree of the image. + + The name of the artifact. + The value of the artifact. + Thrown when an error is raised by ImageMagick. + + + + Lessen (or intensify) when adding noise to an image. + + The attenuate value. + + + + Sets a named image attribute. + + The name of the attribute. + The value of the attribute. + Thrown when an error is raised by ImageMagick. + + + + Sets a named image attribute. + + The name of the attribute. + The value of the attribute. + Thrown when an error is raised by ImageMagick. + + + + Set the bit depth (bits allocated to red/green/blue components). + + The depth. + Thrown when an error is raised by ImageMagick. + + + + Set the bit depth (bits allocated to red/green/blue components) of the specified channel. + + The depth. + The channel to set the depth for. + Thrown when an error is raised by ImageMagick. + + + + Sets the default clipping path. + + The clipping path. + Thrown when an error is raised by ImageMagick. + + + + Sets the clipping path with the specified name. + + The clipping path. + Name of clipping path resource. If name is preceded by #, use clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Gets the compression of the image. This method should only be used when the encoder uses the compression of the image. For + most usecases Setting.Compression should be used instead. + + The compression method. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + The color transformation mode. + Thrown when an error is raised by ImageMagick. + + + + Sets the associated read mask of the image. The mask must be the same dimensions as the image and + only contain the colors black and white. + + The image that contains the read mask. + Thrown when an error is raised by ImageMagick. + + + + Sets the associated write mask of the image. The mask must be the same dimensions as the image and + only contains the colors black and white. + + The image that contains the write mask. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + the shadow x-offset. + the shadow y-offset. + The standard deviation of the Gaussian, in pixels. + Transparency percentage. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + + + + Shave pixels from image edges. + + The size of to shave of the image. + Thrown when an error is raised by ImageMagick. + + + + Shave pixels from image edges. + + The number of pixels to shave left and right. + The number of pixels to shave top and bottom. + Thrown when an error is raised by ImageMagick. + + + + Shear image (create parallelogram by sliding image by X or Y axis). + + Specifies the number of x degrees to shear the image. + Specifies the number of y degrees to shear the image. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + The channel(s) that should be adjusted. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Simulates a pencil sketch. + + Thrown when an error is raised by ImageMagick. + + + + Simulates a pencil sketch. We convolve the image with a Gaussian operator of the given + radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. + Use a radius of 0 and sketch selects a suitable radius for you. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Apply the effect along this angle. + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Sort pixels within each scanline in ascending order of intensity. + + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Splice the background color into the image. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image. + + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image by specified amount. + + Choose a random pixel in a neighborhood of this extent. + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image by specified amount. + + Pixel interpolate method. + Choose a random pixel in a neighborhood of this extent. + Thrown when an error is raised by ImageMagick. + + + + Makes each pixel the min / max / median / mode / etc. of the neighborhood of the specified width + and height. + + The statistic type. + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Returns the image statistics. + + The image statistics. + Thrown when an error is raised by ImageMagick. + + + + Returns the image statistics. + + The image statistics. + The channel(s) that should be used. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + The azimuth of the light source direction. + The elevation of the light source direction. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + The azimuth of the light source direction. + The elevation of the light source direction. + The channel(s) that should be shaded. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + The azimuth of the light source direction. + The elevation of the light source direction. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + The azimuth of the light source direction. + The elevation of the light source direction. + The channel(s) that should be shaded. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + Thrown when an error is raised by ImageMagick. + + + + Add a digital watermark to the image (based on second image). + + The image to use as a watermark. + Thrown when an error is raised by ImageMagick. + + + + Create an image which appears in stereo when viewed with red-blue glasses (Red image on + left, blue on right). + + The image to use as the right part of the resulting image. + Thrown when an error is raised by ImageMagick. + + + + Strips an image of all profiles and comments. + + Thrown when an error is raised by ImageMagick. + + + + Swirl image (image pixels are rotated by degrees). + + The number of degrees. + Thrown when an error is raised by ImageMagick. + + + + Swirl image (image pixels are rotated by degrees). + + Pixel interpolate method. + The number of degrees. + Thrown when an error is raised by ImageMagick. + + + + Channel a texture on image background. + + The image to use as a texture on the image background. + Thrown when an error is raised by ImageMagick. + + + + Threshold image. + + The threshold percentage. + Thrown when an error is raised by ImageMagick. + + + + Threshold image. + + The threshold percentage. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Compose an image repeated across and down the image. + + The image to composite with this image. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image repeated across and down the image. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a base64 . + + A base64 . + + + + Converts this instance to a base64 . + + The format to use. + A base64 . + + + + Converts this instance to a array. + + A array. + + + + Converts this instance to a array. + + The defines to set. + A array. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + The format to use. + A array. + Thrown when an error is raised by ImageMagick. + + + + Transforms the image from the colorspace of the source profile to the target profile. This + requires the image to have a color profile. Nothing will happen if the image has no color profile. + + The target color profile. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. This + requires the image to have a color profile. Nothing will happen if the image has no color profile. + + The target color profile. + The color transformation mode. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. The + source profile will only be used if the image does not contain a color profile. Nothing + will happen if the source profile has a different colorspace then that of the image. + + The source color profile. + The target color profile. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. The + source profile will only be used if the image does not contain a color profile. Nothing + will happen if the source profile has a different colorspace then that of the image. + + The source color profile. + The target color profile. + The color transformation mode. + True when the colorspace was transformed otherwise false. + + + + Creates a horizontal mirror image by reflecting the pixels around the central y-axis while + rotating them by 90 degrees. + + Thrown when an error is raised by ImageMagick. + + + + Creates a vertical mirror image by reflecting the pixels around the central x-axis while + rotating them by 270 degrees. + + Thrown when an error is raised by ImageMagick. + + + + Trim edges that are the background color from the image. + + Thrown when an error is raised by ImageMagick. + + + + Trim the specified edges that are the background color from the image. + + The edges that need to be trimmed. + Thrown when an error is raised by ImageMagick. + + + + Trim edges that are the background color from the image. + + The percentage of background pixels permitted in the outer rows and columns. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The percentage of the difference between the original and the blur image + that is added back into the original. + The threshold in pixels needed to apply the diffence amount. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The percentage of the difference between the original and the blur image + that is added back into the original. + The threshold in pixels needed to apply the diffence amount. + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Softens the edges of the image in vignette style. + + Thrown when an error is raised by ImageMagick. + + + + Softens the edges of the image in vignette style. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The x ellipse offset. + the y ellipse offset. + Thrown when an error is raised by ImageMagick. + + + + Map image pixels to a sine wave. + + Thrown when an error is raised by ImageMagick. + + + + Map image pixels to a sine wave. + + Pixel interpolate method. + The amplitude. + The length of the wave. + Thrown when an error is raised by ImageMagick. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + Attenuate the smoothing threshold. + + + + Apply a white balancing to an image according to a grayworld assumption in the LAB colorspace. + + + + + Apply a white balancing to an image according to a grayworld assumption in the LAB colorspace. + + The vibrance. + + + + Forces all pixels above the threshold into white while leaving all pixels at or below + the threshold unchanged. + + The threshold to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels above the threshold into white while leaving all pixels at or below + the threshold unchanged. + + The threshold to use. + The channel(s) to make black. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Represents the collection of images. + + + + + Event that will we raised when a warning is thrown by ImageMagick. + + + + + Adds an image with the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified byte array to the collection. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified stream to the collection. + + The stream to read the images from. + Thrown when an error is raised by ImageMagick. + + + + Merge a sequence of images. This is useful for GIF animation sequences that have page + offsets and disposal methods. + + Thrown when an error is raised by ImageMagick. + + + + Perform complex mathematics on an image sequence. + + The complex settings. + Thrown when an error is raised by ImageMagick. + + + + Break down an image sequence into constituent parts. This is useful for creating GIF or + MNG animation sequences. + + Thrown when an error is raised by ImageMagick. + + + + Inserts an image with the specified file name into the collection. + + The index to insert the image. + The fully qualified name of the image file, or the relative image file name. + + + + The Morph method requires a minimum of two images. The first image is transformed into + the second by a number of intervening images as specified by frames. + + The number of in-between images to generate. + Thrown when an error is raised by ImageMagick. + + + + Compares each image the GIF disposed forms of the previous image in the sequence. From + this it attempts to select the smallest cropped image to replace each frame, while + preserving the results of the GIF animation. + + Thrown when an error is raised by ImageMagick. + + + + OptimizePlus is exactly as Optimize, but may also add or even remove extra frames in the + animation, if it improves the total number of pixels in the resulting GIF animation. + + Thrown when an error is raised by ImageMagick. + + + + Compares each image the GIF disposed forms of the previous image in the sequence. Any + pixel that does not change the displayed result is replaced with transparency. + + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The file to read the frames from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Quantize images (reduce number of colors). + + The resulting image of the quantize operation. + Thrown when an error is raised by ImageMagick. + + + + Quantize images (reduce number of colors). + + Quantize settings. + The resulting image of the quantize operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Resets the page property of every image in the collection. + + Thrown when an error is raised by ImageMagick. + + + + Reverses the order of the images in the collection. + + + + + Converts this instance to a array. + + A array. + + + + Converts this instance to a array. + + The defines to set. + A array. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + A array. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a base64 . + + A base64 . + + + + Converts this instance to a base64 string. + + The format to use. + A base64 . + + + + Determine the overall bounds of all the image layers just as in , + then adjust the the canvas and offsets to be relative to those bounds, + without overlaying the images. + + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Represents the collection of images. + + The quantum type. + + + + Adds the image(s) from the specified byte array to the collection. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Adds a Clone of the specified images to this collection. + + The images to add to the collection. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified stream to the collection. + + The stream to read the images from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Creates a single image, by appending all the images in the collection horizontally (+append). + + A single image, by appending all the images in the collection horizontally (+append). + Thrown when an error is raised by ImageMagick. + + + + Creates a single image, by appending all the images in the collection vertically (-append). + + A single image, by appending all the images in the collection vertically (-append). + Thrown when an error is raised by ImageMagick. + + + + Creates a clone of the current image collection. + + A clone of the current image collection. + + + + Combines the images into a single image. The typical ordering would be + image 1 => Red, 2 => Green, 3 => Blue, etc. + + The images combined into a single image. + Thrown when an error is raised by ImageMagick. + + + + Combines the images into a single image. The grayscale value of the pixels of each image + in the sequence is assigned in order to the specified channels of the combined image. + The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc. + + The image colorspace. + The images combined into a single image. + Thrown when an error is raised by ImageMagick. + + + + Evaluate image pixels into a single image. All the images in the collection must be the + same size in pixels. + + The operator. + The resulting image of the evaluation. + Thrown when an error is raised by ImageMagick. + + + + Use the virtual canvas size of first image. Images which fall outside this canvas is clipped. + This can be used to 'fill out' a given virtual canvas. + + The resulting image of the flatten operation. + Thrown when an error is raised by ImageMagick. + + + + Flatten this collection into a single image. + This is useful for combining Photoshop layers into a single image. + + The background color of the output image. + The resulting image of the flatten operation. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Quantize settings. + Thrown when an error is raised by ImageMagick. + + + + Merge all layers onto a canvas just large enough to hold all the actual images. The virtual + canvas of the first image is preserved but otherwise ignored. + + The resulting image of the merge operation. + Thrown when an error is raised by ImageMagick. + + + + Create a composite image by combining the images with the specified settings. + + The settings to use. + The resulting image of the montage operation. + Thrown when an error is raised by ImageMagick. + + + + Start with the virtual canvas of the first image, enlarging left and right edges to contain + all images. Images with negative offsets will be clipped. + + The resulting image of the mosaic operation. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The file to read the frames from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Returns a new image where each pixel is the sum of the pixels in the image sequence after applying its + corresponding terms (coefficient and degree pairs). + + The list of polynomial coefficients and degree pairs and a constant. + A new image where each pixel is the sum of the pixels in the image sequence after applying its + corresponding terms (coefficient and degree pairs). + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Smush images from list into single image in horizontal direction. + + Minimum distance in pixels between images. + The resulting image of the smush operation. + Thrown when an error is raised by ImageMagick. + + + + Smush images from list into single image in vertical direction. + + Minimum distance in pixels between images. + The resulting image of the smush operation. + Thrown when an error is raised by ImageMagick. + + + + Interface that contains basic information about an image. + + + + + Gets the color space of the image. + + + + + Gets the compression method of the image. + + + + + Gets the density of the image. + + + + + Gets the original file name of the image (only available if read from disk). + + + + + Gets the format of the image. + + + + + Gets the height of the image. + + + + + Gets the type of interlacing. + + + + + Gets the JPEG/MIFF/PNG compression level. + + + + + Gets the width of the image. + + + + + Read basic information about an image. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Interface that represents an ImageMagick image. + + The quantum type. + + + + Gets or sets the background color of the image. + + + + + Gets or sets the border color of the image. + + + + + Gets or sets the matte color. + + + + + Gets the settings for this instance. + + + + + Creates a clone of the current image. + + A clone of the current image. + + + + Creates a clone of the current image with the specified geometry. + + The area to clone. + A clone of the current image. + Thrown when an error is raised by ImageMagick. + + + + Creates a clone of the current image. + + The width of the area to clone. + The height of the area to clone. + A clone of the current image. + + + + Creates a clone of the current image. + + The X offset from origin. + The Y offset from origin. + The width of the area to clone. + The height of the area to clone. + A clone of the current image. + + + + Sets the alpha channel to the specified color. + + The color to use. + Thrown when an error is raised by ImageMagick. + + + + Colorize image with the specified color, using specified percent alpha. + + The color to use. + The alpha percentage. + Thrown when an error is raised by ImageMagick. + + + + Colorize image with the specified color, using specified percent alpha for red, green, + and blue quantums. + + The color to use. + The alpha percentage for red. + The alpha percentage for green. + The alpha percentage for blue. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels in the color range to white otherwise black. + + The start color of the color range. + The stop color of the color range. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The settings to use. + The image that will contain the difference. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The settings to use. + The image that will contain the difference. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Determines the connected-components of the image. + + How many neighbors to visit, choose from 4 or 8. + The connected-components of the image. + Thrown when an error is raised by ImageMagick. + + + + Determines the connected-components of the image. + + The settings for this operation. + The connected-components of the image. + Thrown when an error is raised by ImageMagick. + + + + Creates tiles of the current image in the specified dimension. + + The width of the tile. + The height of the tile. + New title of the current image. + + + + Creates tiles of the current image in the specified dimension. + + The size of the tile. + New title of the current image. + + + + Draw on image using one or more drawables. + + The drawable(s) to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The placement gravity. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The placement gravity. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Floodfill pixels matching color (within fuzz factor) of target pixel(x,y) with replacement + alpha value using method. + + The alpha to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill color across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill color across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Returns the color at colormap position index. + + The position index. + The color at colormap position index. + Thrown when an error is raised by ImageMagick. + + + + Returns a pixel collection that can be used to read or modify the pixels of this image. + + A pixel collection that can be used to read or modify the pixels of this image. + Thrown when an error is raised by ImageMagick. + + + + Returns a pixel collection that can be used to read or modify the pixels of this image. This instance + will not do any bounds checking and directly call ImageMagick. + + A pixel collection that can be used to read or modify the pixels of this image. + Thrown when an error is raised by ImageMagick. + + + + Gets the associated read mask of the image. + + The associated read mask of the image. + Thrown when an error is raised by ImageMagick. + + + + Gets the associated write mask of the image. + + The associated write mask of the image. + Thrown when an error is raised by ImageMagick. + + + + Creates a color histogram. + + A color histogram. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified quantum array into the current image. + + The quantum array to read the pixels from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified quantum array into the current image. + + The quantum array to read the pixels from. + The offset at which to begin reading data. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Returns the sum of values (pixel values) in the image. + + The sum of values (pixel values) in the image. + Thrown when an error is raised by ImageMagick. + + + + Floodfill pixels not matching color (within fuzz factor) of target pixel(x,y) with + replacement alpha value using method. + + The alpha to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Changes any pixel that does not match the target with the color defined by fill. + + The color to replace. + The color to replace opaque color with. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that don't match the specified color to transparent. + + The color that should not be made transparent. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that don't lie in between the given two colors to + transparent. + + The low target color. + The high target color. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from the specified colors. + + The colors to use. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from the specified colors. + + The colors to use. + Quantize settings. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Changes any pixel that matches target with the color defined by fill. + + The color to replace. + The color to replace opaque color with. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the information from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Applies soft and hard thresholding. + + Defines the minimum black threshold value. + Defines the minimum white threshold value. + Defines the maximum white threshold value. + Defines the maximum black threshold value. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The color to fill the image with. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + A representing the asynchronous operation. + The token to monitor for cancellation requests. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The quantum array to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The quantum array to read the image data from. + The offset at which to begin reading data. + The maximum number of items to read. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Separates the channels from the image and returns it as grayscale images. + + The channels from the image as grayscale images. + Thrown when an error is raised by ImageMagick. + + + + Separates the specified channels from the image and returns it as grayscale images. + + The channel(s) to separates. + The channels from the image as grayscale images. + Thrown when an error is raised by ImageMagick. + + + + Set color at colormap position index. + + The position index. + The color. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + The color of the shadow. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + the shadow x-offset. + the shadow y-offset. + The standard deviation of the Gaussian, in pixels. + Transparency percentage. + The color of the shadow. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The channel(s) to use. + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The channel(s) to use. + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The metric to use. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The metric to use. + Minimum distortion for (sub)image match. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Applies a color vector to each pixel in the image. The length of the vector is 0 for black + and white and at its maximum for the midtones. The vector weighting function is + f(x)=(1-(4.0*((x-0.5)*(x-0.5)))). + + An opacity value used for tinting. + A color value used for tinting. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels matching color to transparent. + + The color to make transparent. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that lie in between the given two colors to + transparent. + + The low target color. + The high target color. + Thrown when an error is raised by ImageMagick. + + + + Returns the unique colors of an image. + + The unique colors of an image. + Thrown when an error is raised by ImageMagick. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + Attenuate the smoothing threshold. + + + + Interface that represents MagickNET. + + + + + Event that will be raised when something is logged by ImageMagick. + + + + + Gets the ImageMagick delegate libraries. + + + + + Gets the ImageMagick features. + + + + + Gets the information about the supported formats. + + + + + Gets the font families that are known by ImageMagick. + + + + + Gets the font names that are known by ImageMagick. + + + + + Gets the version of ImageMagick. + + + + + Gets the version of Magick.NET. + + + + + Gets the environment variable with the specified name. + + The name of the environment variable. + The environment variable with the specified name. + + + + Initializes ImageMagick. + + + + + Initializes ImageMagick with the xml files that are located in the specified path. + + The path that contains the ImageMagick xml files. + + + + Initializes ImageMagick with the specified configuration files and returns the path to the + temporary directory where the xml files were saved. + + The configuration files ot initialize ImageMagick with. + The path of the folder that was created and contains the configuration files. + + + + Initializes ImageMagick with the specified configuration files in the specified the path. + + The configuration files ot initialize ImageMagick with. + The directory to save the configuration files in. + + + + Resets the pseudo-random number generator secret key. + + + + + Set the path to the default font file. + + The file to use at the default font file. + + + + Set the path to the default font file. + + The file name to use at the default font file. + + + + Set the environment variable with the specified name to the specified value. + + The name of the environment variable. + The value of the environment variable. + + + + Sets the directory that contains the FontConfig configuration files. + + The path of the FontConfig directory. + + + + Sets the directory that contains the Ghostscript file gsdll32.dll / gsdll64.dll. + This method is only supported on Windows. + + The path of the Ghostscript directory. + + + + Sets the directory that contains the Ghostscript font files. + This method is only supported on Windows. + + The path of the Ghostscript font directory. + + + + Set the events that will be written to the log. The log will be written to the Log event + and the debug window in VisualStudio. To change the log settings you must use a custom + log.xml file. + + The events that will be logged. + + + + Sets the directory that contains the Native library. This currently only works on Windows. + + The path of the directory that contains the native library. + + + + Sets the directory that will be used when ImageMagick does not have enough memory for the + pixel cache. + + The path where temp files will be written. + + + + Sets the pseudo-random number generator secret key. + + The secret key. + + + + Interface that represents the quantum information of ImageMagick. + + + + + Gets the quantum depth. + + + + + Interface that represents the quantum information of ImageMagick. + + The quantum type. + + + + Gets the maximum value of the quantum. + + + + + Interface that represents the resource limits of ImageMagick. + + + + + Gets or sets the maximum width * height of an image that can reside in the pixel cache memory. + Images that exceed the area limit are cached to disk. + + + + + Gets or sets the pixel cache limit in bytes. Requests for memory above this limit will fail. + + + + + Gets or sets the maximum height of an image. + + + + + Gets or sets the maximum number of images in an image list. + + + + + Gets or sets the max memory request in bytes. ImageMagick maintains a separate memory pool for large + resource requests. If the limit is exceeded, the allocation is instead memory-mapped on disk. + + + + + Gets or sets the pixel cache limit in bytes. Once this memory limit is exceeded, all subsequent pixels cache + operations are to/from disk. + + + + + Gets or sets the number of threads used in multithreaded operations. + + + + + Gets or sets the time specified in milliseconds to periodically yield the CPU for. + + + + + Gets or sets the maximum width of an image. + + + + + Set the maximum percentage of memory that can be used for image data. This also changes + the limit to four times the number of bytes. + + The percentage to use. + + + + Encapsulates a convolution kernel. + + + + + Encapsulates a matrix of doubles. + + + + + Gets the order of the matrix. + + + + + Get or set the value at the specified x/y position. + + The x position. + The y position. + + + + Gets the value at the specified x/y position. + + The x position. + The y position. + The value at the specified x/y position. + + + + Set the column at the specified x position. + + The x position. + The values. + + + + Set the row at the specified y position. + + The y position. + The values. + + + + Set the value at the specified x/y position. + + The x position. + The y position. + The value. + + + + Returns a string that represents the current DoubleMatrix. + + The double array. + + + + Encapsulates a color matrix in the order of 1 to 6 (1x1 through 6x6). + + + + + Interface that represents the OpenCL information of ImageMagick. + + + + + Gets or sets a value indicating whether OpenCL is enabled. + + + + + Gets all the OpenCL devices. + + A iteration. + + + + Sets the directory that will be used by ImageMagick to store OpenCL cache files. + + The path of the OpenCL cache directory. + + + + Interface that represents an OpenCL device. + + + + + Gets the benchmark score of the device. + + + + + Gets the type of the device. + + + + + Gets or sets a value indicating whether the device is enabled or disabled. + + + + + Gets all the kernel profile records for this devices. + + A . + + + + Gets the name of the device. + + + + + Gets or sets a value indicating whether kernel profiling is enabled. + This can be used to get information about the OpenCL performance. + + + + + Gets the OpenCL version supported by the device. + + + + + Interface that represents a kernel profile record for an OpenCL device. + + + + + Gets the average duration of all executions in microseconds. + + + + + Gets the number of times that this kernel was executed. + + + + + Gets the maximum duration of a single execution in microseconds. + + + + + Gets the minimum duration of a single execution in microseconds. + + + + + Gets the name of the device. + + + + + Gets the total duration of all executions in microseconds. + + + + + Interface that can be used to access the individual pixels of an image. + + The quantum type. + + + + Gets the number of channels that the image contains. + + + + + Gets the pixel at the specified coordinate. + + The X coordinate. + The Y coordinate. + + + + Returns the pixels at the specified area. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + A array. + + + + Returns the pixels of the specified area. + + The geometry of the area. + A array. + + + + Returns the index of the specified channel. Returns -1 if not found. + + The channel to get the index of. + The index of the specified channel. Returns -1 if not found. + + + + Returns the at the specified coordinate. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The at the specified coordinate. + + + + Returns the value of the specified coordinate. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + A array. + + + + Returns the values of the pixels as an array. + + A array. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Changes the value of the specified pixel. + + The pixel to set. + + + + Changes the value of the specified pixels. + + The pixels to set. + + + + Changes the value of the specified pixel. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The value of the pixel. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Returns the values of the pixels as an array. + + A array. + + + + Returns the values of the pixels as an array. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The geometry of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The geometry of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The geometry of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The geometry of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Class that can be used to access an individual pixel of an image. + + The quantum type. + + + + Gets the number of channels that the pixel contains. + + + + + Gets the X coordinate of the pixel. + + + + + Gets the Y coordinate of the pixel. + + + + + Returns the value of the specified channel. + + The channel to get the value for. + + + + Returns the value of the specified channel. + + The channel to get the value of. + The value of the specified channel. + + + + Set the value of the specified channel. + + The channel to set the value of. + The value. + + + + Sets the values of this pixel. + + The values. + + + + Returns the value of this pixel as an array. + + A array. + + + + Converts the pixel to a color. Assumes the pixel is RGBA. + + A instance. + + + + Interface that can be used to access the individual pixels of an image. + + The quantum type. + + + + Returns a pointer to the pixels of the specified area. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + A pointer to the pixels of the specified area. + + + + Returns a pointer to the pixels of the specified area. + + The geometry of the area. + A pointer to the pixels of the specified area. + + + + A value of the exif profile. + + + + + Gets the name of the clipping path. + + + + + Gets the path of the clipping path. + + + + + Class that can be used to access an 8bim profile. + + + + + Initializes a new instance of the class. + + The byte array to read the 8bim profile from. + + + + Initializes a new instance of the class. + + The fully qualified name of the 8bim profile file, or the relative + 8bim profile file name. + + + + Initializes a new instance of the class. + + The stream to read the 8bim profile from. + + + + Initializes a new instance of the class. + + The image that contains the profile. + The byte array to read the 8bim profile from. + + + + Gets the clipping paths this image contains. + + + + + Gets the values of this 8bim profile. + + + + + A value of the 8bim profile. + + + + + Gets the ID of the 8bim value. + + + + + Determines whether the specified object is equal to the current . + + The object to compare this 8bim value with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts this instance to a byte array. + + A array. + + + + Returns a string that represents the current value. + + A string that represents the current value. + + + + Returns a string that represents the current value with the specified encoding. + + The encoding to use. + A string that represents the current value with the specified encoding. + + + + A value of the exif profile. + + + + + Gets the name of the clipping path. + + + + + Gets the path of the clipping path. + + + + + Interface that describes an 8bim profile. + + + + + Gets the clipping paths this image contains. + + + + + Gets the values of this 8bim profile. + + + + + A value of the 8bim profile. + + + + + Gets the ID of the 8bim value. + + + + + Converts this instance to a byte array. + + A array. + + + + Returns a string that represents the current value with the specified encoding. + + The encoding to use. + A string that represents the current value with the specified encoding. + + + + Class that contains an ICM/ICC color profile. + + + + + Initializes a new instance of the class. + + A byte array containing the profile. + + + + Initializes a new instance of the class. + + A stream containing the profile. + + + + Initializes a new instance of the class. + + The fully qualified name of the profile file, or the relative profile file name. + + + + Initializes a new instance of the class. + + The name of the color profile (e.g. icc or icm). + A byte array containing the profile. + + + + Gets the AdobeRGB1998 profile. + + + + + Gets the AppleRGB profile. + + + + + Gets the CoatedFOGRA39 profile. + + + + + Gets the ColorMatchRGB profile. + + + + + Gets the sRGB profile. + + + + + Gets the USWebCoatedSWOP profile. + + + + + Gets the color space of the profile. + + + + + Gets the copyright of the profile. + + + + + Gets the description of the profile. + + + + + Gets the manufacturer of the profile. + + + + + Gets the model of the profile. + + + + + Interface that describes an ICM/ICC color profile. + + + + + Gets the color space of the profile. + + + + + Gets the copyright of the profile. + + + + + Gets the description of the profile. + + + + + Gets the manufacturer of the profile. + + + + + Gets the model of the profile. + + + + + Specifies exif data types. + + + + + Unknown. + + + + + Byte. + + + + + String. + + + + + Short. + + + + + Long. + + + + + Rational. + + + + + SignedByte. + + + + + Undefined. + + + + + SignedShort. + + + + + SignedLong. + + + + + SignedRational. + + + + + Float. + + + + + Double. + + + + + Specifies which parts will be written when the profile is added to an image. + + + + + None. + + + + + IfdTags. + + + + + ExifTags. + + + + + GpsTags. + + + + + All. + + + + + Class that can be used to access an Exif profile. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the exif profile from. + + + + Initializes a new instance of the class. + + The fully qualified name of the exif profile file, or the relative + exif profile file name. + + + + Initializes a new instance of the class. + + The stream to read the exif profile from. + + + + Gets or sets which parts will be written when the profile is added to an image. + + + + + Gets the tags that where found but contained an invalid value. + + + + + Gets the length of the thumbnail data in the array of the profile. + + + + + Gets the offset of the thumbnail data in the array of the profile. + + + + + Gets the values of this exif profile. + + + + + Returns the value with the specified tag. + + The tag of the exif value. + The value with the specified tag. + The data type of the tag. + + + + Removes the thumbnail in the exif profile. + + + + + Removes the value with the specified tag. + + The tag of the exif value. + True when the value was fount and removed. + + + + Loads the data from the profile and rewrites the profile data. This can be used + to fix an incorrect profile. It can also be used for products that require a + specific exif structure. + + + + + Sets the value of the specified tag. + + The tag of the exif value. + The value. + The data type of the tag. + + + + Updates the data of the profile. + + + + + Interface that describes an Exif profile. + + + + + Gets or sets which parts will be written when the profile is added to an image. + + + + + Gets the tags that where found but contained an invalid value. + + + + + Gets the length of the thumbnail data in the array of the profile. + + + + + Gets the offset of the thumbnail in the array of the profile. + + + + + Gets the values of this exif profile. + + + + + Returns the value with the specified tag. + + The tag of the exif value. + The value with the specified tag. + The data type of the tag. + + + + Removes the thumbnail in the exif profile. + + + + + Removes the value with the specified tag. + + The tag of the exif value. + True when the value was fount and removed. + + + + Loads the data from the profile and rewrites the profile data. This can be used + to fix an incorrect profile. It can also be used for products that require a + specific exif structure. + + + + + Sets the value of the specified tag. + + The tag of the exif value. + The value. + The data type of the tag. + + + + + + Class that represents an exif tag from the Exif standard 2.31. + + + + + + + + + + + + + + + + + + Gets the FaxProfile exif tag. + + + + + Gets the ModeNumber exif tag. + + + + + Gets the GPSAltitudeRef exif tag. + + + + + Gets the ClipPath exif tag. + + + + + Gets the VersionYear exif tag. + + + + + Gets the XMP exif tag. + + + + + Gets the CFAPattern2 exif tag. + + + + + Gets the TIFFEPStandardID exif tag. + + + + + Gets the XPTitle exif tag. + + + + + Gets the XPComment exif tag. + + + + + Gets the XPAuthor exif tag. + + + + + Gets the XPKeywords exif tag. + + + + + Gets the XPSubject exif tag. + + + + + Gets the GPSVersionID exif tag. + + + + + Initializes a new instance of the class. + + The value. + + + + Converts the specified to a . + + The to convert. + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified object is equal to the exif tag. + + The object to compare this exif tag with. + True when the specified object is equal to the current exif tag. + + + + Determines whether the specified the exif tag is equal to the exif tag. + + The the exif tag to compare this exif tag with. + True when the specified object is equal to the current exif tag. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Gets the PixelScale exif tag. + + + + + Gets the IntergraphMatrix exif tag. + + + + + Gets the ModelTiePoint exif tag. + + + + + Gets the ModelTransform exif tag. + + + + + Gets the SubfileType exif tag. + + + + + Gets the SubIFDOffset exif tag. + + + + + Gets the GPSIFDOffset exif tag. + + + + + Gets the T4Options exif tag. + + + + + Gets the T6Options exif tag. + + + + + Gets the XClipPathUnits exif tag. + + + + + Gets the YClipPathUnits exif tag. + + + + + Gets the ProfileType exif tag. + + + + + Gets the CodingMethods exif tag. + + + + + Gets the T82ptions exif tag. + + + + + Gets the JPEGInterchangeFormat exif tag. + + + + + Gets the JPEGInterchangeFormatLength exif tag. + + + + + Gets the MDFileTag exif tag. + + + + + Gets the StandardOutputSensitivity exif tag. + + + + + Gets the RecommendedExposureIndex exif tag. + + + + + Gets the ISOSpeed exif tag. + + + + + Gets the ISOSpeedLatitudeyyy exif tag. + + + + + Gets the ISOSpeedLatitudezzz exif tag. + + + + + Gets the FaxRecvParams exif tag. + + + + + Gets the FaxRecvTime exif tag. + + + + + Gets the ImageNumber exif tag. + + + + + Gets the FreeOffsets exif tag. + + + + + Gets the FreeByteCounts exif tag. + + + + + Gets the ColorResponseUnit exif tag. + + + + + Gets the TileOffsets exif tag. + + + + + Gets the SMinSampleValue exif tag. + + + + + Gets the SMaxSampleValue exif tag. + + + + + Gets the JPEGQTables exif tag. + + + + + Gets the JPEGDCTables exif tag. + + + + + Gets the JPEGACTables exif tag. + + + + + Gets the StripRowCounts exif tag. + + + + + Gets the IntergraphRegisters exif tag. + + + + + Gets the TimeZoneOffset exif tag. + + + + + Gets the ImageWidth exif tag. + + + + + Gets the ImageLength exif tag. + + + + + Gets the TileWidth exif tag. + + + + + Gets the TileLength exif tag. + + + + + Gets the BadFaxLines exif tag. + + + + + Gets the ConsecutiveBadFaxLines exif tag. + + + + + Gets the PixelXDimension exif tag. + + + + + Gets the PixelYDimension exif tag. + + + + + Gets the StripOffsets exif tag. + + + + + Gets the TileByteCounts exif tag. + + + + + Gets the ImageLayer exif tag. + + + + + Gets the XPosition exif tag. + + + + + Gets the YPosition exif tag. + + + + + Gets the XResolution exif tag. + + + + + Gets the YResolution exif tag. + + + + + Gets the BatteryLevel exif tag. + + + + + Gets the ExposureTime exif tag. + + + + + Gets the FNumber exif tag. + + + + + Gets the MDScalePixel exif tag. + + + + + Gets the CompressedBitsPerPixel exif tag. + + + + + Gets the ApertureValue exif tag. + + + + + Gets the MaxApertureValue exif tag. + + + + + Gets the SubjectDistance exif tag. + + + + + Gets the FocalLength exif tag. + + + + + Gets the FlashEnergy2 exif tag. + + + + + Gets the FocalPlaneXResolution2 exif tag. + + + + + Gets the FocalPlaneYResolution2 exif tag. + + + + + Gets the ExposureIndex2 exif tag. + + + + + Gets the Humidity exif tag. + + + + + Gets the Pressure exif tag. + + + + + Gets the Acceleration exif tag. + + + + + Gets the FlashEnergy exif tag. + + + + + Gets the FocalPlaneXResolution exif tag. + + + + + Gets the FocalPlaneYResolution exif tag. + + + + + Gets the ExposureIndex exif tag. + + + + + Gets the DigitalZoomRatio exif tag. + + + + + Gets the GPSAltitude exif tag. + + + + + Gets the GPSDOP exif tag. + + + + + Gets the GPSSpeed exif tag. + + + + + Gets the GPSTrack exif tag. + + + + + Gets the GPSImgDirection exif tag. + + + + + Gets the GPSDestBearing exif tag. + + + + + Gets the GPSDestDistance exif tag. + + + + + Gets the WhitePoint exif tag. + + + + + Gets the PrimaryChromaticities exif tag. + + + + + Gets the YCbCrCoefficients exif tag. + + + + + Gets the ReferenceBlackWhite exif tag. + + + + + Gets the GPSLatitude exif tag. + + + + + Gets the GPSLongitude exif tag. + + + + + Gets the GPSTimestamp exif tag. + + + + + Gets the GPSDestLatitude exif tag. + + + + + Gets the GPSDestLongitude exif tag. + + + + + Gets the LensInfo exif tag. + + + + + Gets the OldSubfileType exif tag. + + + + + Gets the Compression exif tag. + + + + + Gets the PhotometricInterpretation exif tag. + + + + + Gets the Thresholding exif tag. + + + + + Gets the CellWidth exif tag. + + + + + Gets the CellLength exif tag. + + + + + Gets the FillOrder exif tag. + + + + + Gets the Orientation exif tag. + + + + + Gets the SamplesPerPixel exif tag. + + + + + Gets the PlanarConfiguration exif tag. + + + + + Gets the GrayResponseUnit exif tag. + + + + + Gets the ResolutionUnit exif tag. + + + + + Gets the CleanFaxData exif tag. + + + + + Gets the InkSet exif tag. + + + + + Gets the NumberOfInks exif tag. + + + + + Gets the DotRange exif tag. + + + + + Gets the Indexed exif tag. + + + + + Gets the OPIProxy exif tag. + + + + + Gets the JPEGProc exif tag. + + + + + Gets the JPEGRestartInterval exif tag. + + + + + Gets the YCbCrPositioning exif tag. + + + + + Gets the Rating exif tag. + + + + + Gets the RatingPercent exif tag. + + + + + Gets the ExposureProgram exif tag. + + + + + Gets the Interlace exif tag. + + + + + Gets the SelfTimerMode exif tag. + + + + + Gets the SensitivityType exif tag. + + + + + Gets the MeteringMode exif tag. + + + + + Gets the LightSource exif tag. + + + + + Gets the FocalPlaneResolutionUnit2 exif tag. + + + + + Gets the SensingMethod2 exif tag. + + + + + Gets the Flash exif tag. + + + + + Gets the ColorSpace exif tag. + + + + + Gets the FocalPlaneResolutionUnit exif tag. + + + + + Gets the SensingMethod exif tag. + + + + + Gets the CustomRendered exif tag. + + + + + Gets the ExposureMode exif tag. + + + + + Gets the WhiteBalance exif tag. + + + + + Gets the FocalLengthIn35mmFilm exif tag. + + + + + Gets the SceneCaptureType exif tag. + + + + + Gets the GainControl exif tag. + + + + + Gets the Contrast exif tag. + + + + + Gets the Saturation exif tag. + + + + + Gets the Sharpness exif tag. + + + + + Gets the SubjectDistanceRange exif tag. + + + + + Gets the GPSDifferential exif tag. + + + + + Gets the BitsPerSample exif tag. + + + + + Gets the MinSampleValue exif tag. + + + + + Gets the MaxSampleValue exif tag. + + + + + Gets the GrayResponseCurve exif tag. + + + + + Gets the ColorMap exif tag. + + + + + Gets the ExtraSamples exif tag. + + + + + Gets the PageNumber exif tag. + + + + + Gets the TransferFunction exif tag. + + + + + Gets the Predictor exif tag. + + + + + Gets the HalftoneHints exif tag. + + + + + Gets the SampleFormat exif tag. + + + + + Gets the TransferRange exif tag. + + + + + Gets the DefaultImageColor exif tag. + + + + + Gets the JPEGLosslessPredictors exif tag. + + + + + Gets the JPEGPointTransforms exif tag. + + + + + Gets the YCbCrSubsampling exif tag. + + + + + Gets the CFARepeatPatternDim exif tag. + + + + + Gets the IntergraphPacketData exif tag. + + + + + Gets the ISOSpeedRatings exif tag. + + + + + Gets the SubjectArea exif tag. + + + + + Gets the SubjectLocation exif tag. + + + + + Gets the ShutterSpeedValue exif tag. + + + + + Gets the BrightnessValue exif tag. + + + + + Gets the ExposureBiasValue exif tag. + + + + + Gets the AmbientTemperature exif tag. + + + + + Gets the WaterDepth exif tag. + + + + + Gets the CameraElevationAngle exif tag. + + + + + Gets the Decode exif tag. + + + + + Gets the ImageDescription exif tag. + + + + + Gets the Make exif tag. + + + + + Gets the Model exif tag. + + + + + Gets the Software exif tag. + + + + + Gets the DateTime exif tag. + + + + + Gets the Artist exif tag. + + + + + Gets the HostComputer exif tag. + + + + + Gets the Copyright exif tag. + + + + + Gets the DocumentName exif tag. + + + + + Gets the PageName exif tag. + + + + + Gets the InkNames exif tag. + + + + + Gets the TargetPrinter exif tag. + + + + + Gets the ImageID exif tag. + + + + + Gets the MDLabName exif tag. + + + + + Gets the MDSampleInfo exif tag. + + + + + Gets the MDPrepDate exif tag. + + + + + Gets the MDPrepTime exif tag. + + + + + Gets the MDFileUnits exif tag. + + + + + Gets the SEMInfo exif tag. + + + + + Gets the SpectralSensitivity exif tag. + + + + + Gets the DateTimeOriginal exif tag. + + + + + Gets the DateTimeDigitized exif tag. + + + + + Gets the SubsecTime exif tag. + + + + + Gets the SubsecTimeOriginal exif tag. + + + + + Gets the SubsecTimeDigitized exif tag. + + + + + Gets the RelatedSoundFile exif tag. + + + + + Gets the FaxSubaddress exif tag. + + + + + Gets the OffsetTime exif tag. + + + + + Gets the OffsetTimeOriginal exif tag. + + + + + Gets the OffsetTimeDigitized exif tag. + + + + + Gets the SecurityClassification exif tag. + + + + + Gets the ImageHistory exif tag. + + + + + Gets the ImageUniqueID exif tag. + + + + + Gets the OwnerName exif tag. + + + + + Gets the SerialNumber exif tag. + + + + + Gets the LensMake exif tag. + + + + + Gets the LensModel exif tag. + + + + + Gets the LensSerialNumber exif tag. + + + + + Gets the GDALMetadata exif tag. + + + + + Gets the GDALNoData exif tag. + + + + + Gets the GPSLatitudeRef exif tag. + + + + + Gets the GPSLongitudeRef exif tag. + + + + + Gets the GPSSatellites exif tag. + + + + + Gets the GPSStatus exif tag. + + + + + Gets the GPSMeasureMode exif tag. + + + + + Gets the GPSSpeedRef exif tag. + + + + + Gets the GPSTrackRef exif tag. + + + + + Gets the GPSImgDirectionRef exif tag. + + + + + Gets the GPSMapDatum exif tag. + + + + + Gets the GPSDestLatitudeRef exif tag. + + + + + Gets the GPSDestLongitudeRef exif tag. + + + + + Gets the GPSDestBearingRef exif tag. + + + + + Gets the GPSDestDistanceRef exif tag. + + + + + Gets the GPSDateStamp exif tag. + + + + + Gets the JPEGTables exif tag. + + + + + Gets the OECF exif tag. + + + + + Gets the ExifVersion exif tag. + + + + + Gets the ComponentsConfiguration exif tag. + + + + + Gets the MakerNote exif tag. + + + + + Gets the UserComment exif tag. + + + + + Gets the FlashpixVersion exif tag. + + + + + Gets the SpatialFrequencyResponse exif tag. + + + + + Gets the SpatialFrequencyResponse2 exif tag. + + + + + Gets the Noise exif tag. + + + + + Gets the CFAPattern exif tag. + + + + + Gets the DeviceSettingDescription exif tag. + + + + + Gets the ImageSourceData exif tag. + + + + + Gets the GPSProcessingMethod exif tag. + + + + + Gets the GPSAreaInformation exif tag. + + + + + Gets the FileSource exif tag. + + + + + Gets the ImageDescription exif tag. + + + + + All exif tags from the Exif standard 2.31. + + + + + Unknown. + + + + + SubIFDOffset. + + + + + GPSIFDOffset. + + + + + SubfileType. + + + + + OldSubfileType. + + + + + ImageWidth. + + + + + ImageLength. + + + + + BitsPerSample. + + + + + Compression. + + + + + PhotometricInterpretation. + + + + + Thresholding. + + + + + CellWidth. + + + + + CellLength. + + + + + FillOrder. + + + + + DocumentName. + + + + + ImageDescription. + + + + + Make. + + + + + Model. + + + + + StripOffsets. + + + + + Orientation. + + + + + SamplesPerPixel. + + + + + RowsPerStrip. + + + + + StripByteCounts. + + + + + MinSampleValue. + + + + + MaxSampleValue. + + + + + XResolution. + + + + + YResolution. + + + + + PlanarConfiguration. + + + + + PageName. + + + + + XPosition. + + + + + YPosition. + + + + + FreeOffsets. + + + + + FreeByteCounts. + + + + + GrayResponseUnit. + + + + + GrayResponseCurve. + + + + + T4Options. + + + + + T6Options. + + + + + ResolutionUnit. + + + + + PageNumber. + + + + + ColorResponseUnit. + + + + + TransferFunction. + + + + + Software. + + + + + DateTime. + + + + + Artist. + + + + + HostComputer. + + + + + Predictor. + + + + + WhitePoint. + + + + + PrimaryChromaticities. + + + + + ColorMap. + + + + + HalftoneHints. + + + + + TileWidth. + + + + + TileLength. + + + + + TileOffsets. + + + + + TileByteCounts. + + + + + BadFaxLines. + + + + + CleanFaxData. + + + + + ConsecutiveBadFaxLines. + + + + + InkSet. + + + + + InkNames. + + + + + NumberOfInks. + + + + + DotRange. + + + + + TargetPrinter. + + + + + ExtraSamples. + + + + + SampleFormat. + + + + + SMinSampleValue. + + + + + SMaxSampleValue. + + + + + TransferRange. + + + + + ClipPath. + + + + + XClipPathUnits. + + + + + YClipPathUnits. + + + + + Indexed. + + + + + JPEGTables. + + + + + OPIProxy. + + + + + ProfileType. + + + + + FaxProfile. + + + + + CodingMethods. + + + + + VersionYear. + + + + + ModeNumber. + + + + + Decode. + + + + + DefaultImageColor. + + + + + T82ptions. + + + + + JPEGProc. + + + + + JPEGInterchangeFormat. + + + + + JPEGInterchangeFormatLength. + + + + + JPEGRestartInterval. + + + + + JPEGLosslessPredictors. + + + + + JPEGPointTransforms. + + + + + JPEGQTables. + + + + + JPEGDCTables. + + + + + JPEGACTables. + + + + + YCbCrCoefficients. + + + + + YCbCrSubsampling. + + + + + YCbCrPositioning. + + + + + ReferenceBlackWhite. + + + + + StripRowCounts. + + + + + XMP. + + + + + Rating. + + + + + RatingPercent. + + + + + ImageID. + + + + + CFARepeatPatternDim. + + + + + CFAPattern2. + + + + + BatteryLevel. + + + + + Copyright. + + + + + ExposureTime. + + + + + FNumber. + + + + + MDFileTag. + + + + + MDScalePixel. + + + + + MDLabName. + + + + + MDSampleInfo. + + + + + MDPrepDate. + + + + + MDPrepTime. + + + + + MDFileUnits. + + + + + PixelScale. + + + + + IntergraphPacketData. + + + + + IntergraphRegisters. + + + + + IntergraphMatrix. + + + + + ModelTiePoint. + + + + + SEMInfo. + + + + + ModelTransform. + + + + + ImageLayer. + + + + + ExposureProgram. + + + + + SpectralSensitivity. + + + + + ISOSpeedRatings. + + + + + OECF. + + + + + Interlace. + + + + + TimeZoneOffset. + + + + + SelfTimerMode. + + + + + SensitivityType. + + + + + StandardOutputSensitivity. + + + + + RecommendedExposureIndex. + + + + + ISOSpeed. + + + + + ISOSpeedLatitudeyyy. + + + + + ISOSpeedLatitudezzz. + + + + + FaxRecvParams. + + + + + FaxSubaddress. + + + + + FaxRecvTime. + + + + + ExifVersion. + + + + + DateTimeOriginal. + + + + + DateTimeDigitized. + + + + + OffsetTime. + + + + + OffsetTimeOriginal. + + + + + OffsetTimeDigitized. + + + + + ComponentsConfiguration. + + + + + CompressedBitsPerPixel. + + + + + ShutterSpeedValue. + + + + + ApertureValue. + + + + + BrightnessValue. + + + + + ExposureBiasValue. + + + + + MaxApertureValue. + + + + + SubjectDistance. + + + + + MeteringMode. + + + + + LightSource. + + + + + Flash. + + + + + FocalLength. + + + + + FlashEnergy2. + + + + + SpatialFrequencyResponse2. + + + + + Noise. + + + + + FocalPlaneXResolution2. + + + + + FocalPlaneYResolution2. + + + + + FocalPlaneResolutionUnit2. + + + + + ImageNumber. + + + + + SecurityClassification. + + + + + ImageHistory. + + + + + SubjectArea. + + + + + ExposureIndex2. + + + + + TIFFEPStandardID. + + + + + SensingMethod. + + + + + MakerNote. + + + + + UserComment. + + + + + SubsecTime. + + + + + SubsecTimeOriginal. + + + + + SubsecTimeDigitized. + + + + + ImageSourceData. + + + + + AmbientTemperature. + + + + + Humidity. + + + + + Pressure. + + + + + WaterDepth. + + + + + Acceleration. + + + + + CameraElevationAngle. + + + + + XPTitle. + + + + + XPComment. + + + + + XPAuthor. + + + + + XPKeywords. + + + + + XPSubject. + + + + + FlashpixVersion. + + + + + ColorSpace. + + + + + PixelXDimension. + + + + + PixelYDimension. + + + + + RelatedSoundFile. + + + + + FlashEnergy. + + + + + SpatialFrequencyResponse. + + + + + FocalPlaneXResolution. + + + + + FocalPlaneYResolution. + + + + + FocalPlaneResolutionUnit. + + + + + SubjectLocation. + + + + + ExposureIndex. + + + + + SensingMethod. + + + + + FileSource. + + + + + SceneType. + + + + + CFAPattern. + + + + + CustomRendered. + + + + + ExposureMode. + + + + + WhiteBalance. + + + + + DigitalZoomRatio. + + + + + FocalLengthIn35mmFilm. + + + + + SceneCaptureType. + + + + + GainControl. + + + + + Contrast. + + + + + Saturation. + + + + + Sharpness. + + + + + DeviceSettingDescription. + + + + + SubjectDistanceRange. + + + + + ImageUniqueID. + + + + + OwnerName. + + + + + SerialNumber. + + + + + LensInfo. + + + + + LensMake. + + + + + LensModel. + + + + + LensSerialNumber. + + + + + GDALMetadata. + + + + + GDALNoData. + + + + + GPSVersionID. + + + + + GPSLatitudeRef. + + + + + GPSLatitude. + + + + + GPSLongitudeRef. + + + + + GPSLongitude. + + + + + GPSAltitudeRef. + + + + + GPSAltitude. + + + + + GPSTimestamp. + + + + + GPSSatellites. + + + + + GPSStatus. + + + + + GPSMeasureMode. + + + + + GPSDOP. + + + + + GPSSpeedRef. + + + + + GPSSpeed. + + + + + GPSTrackRef. + + + + + GPSTrack. + + + + + GPSImgDirectionRef. + + + + + GPSImgDirection. + + + + + GPSMapDatum. + + + + + GPSDestLatitudeRef. + + + + + GPSDestLatitude. + + + + + GPSDestLongitudeRef. + + + + + GPSDestLongitude. + + + + + GPSDestBearingRef. + + + + + GPSDestBearing. + + + + + GPSDestDistanceRef. + + + + + GPSDestDistance. + + + + + GPSProcessingMethod. + + + + + GPSAreaInformation. + + + + + GPSDateStamp. + + + + + GPSDifferential. + + + + + Class that represents an exif tag from the Exif standard 2.31 with as the data type of the tag. + + The data type of the tag. + + + + A value of the exif profile. + + + + + Gets the data type of the exif value. + + + + + Gets a value indicating whether the value is an array. + + + + + Gets the tag of the exif value. + + + + + Gets the value of this exif value. + + The value of this exif value. + + + + Sets the value of this exif value. + + The value of this exif value. + A value indicating whether the value could be set. + + + + A value of the exif profile. + + The type of the value. + + + + Gets or sets the value. + + + + + Interface that describes an image profile. + + + + + Gets the name of the profile. + + + + + Returns the array of this profile. + + A array. + + + + Converts this instance to a byte array. + + A array. + + + + Class that contains an image profile. + + + + + Initializes a new instance of the class. + + The name of the profile. + A byte array containing the profile. + + + + Initializes a new instance of the class. + + The name of the profile. + A stream containing the profile. + + + + Initializes a new instance of the class. + + The name of the profile. + The fully qualified name of the profile file, or the relative profile file name. + + + + Initializes a new instance of the class. + + The name of the profile. + + + + Gets the name of the profile. + + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified image compare is equal to the current . + + The image profile to compare this with. + True when the specified image compare is equal to the current . + + + + Returns the array of this profile. + + A array. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts this instance to a array. + + A array. + + + + Sets the data of the profile. + + The new data of the profile. + + + + Updates the data of the profile. + + + + + Class that can be used to access an Iptc profile. + + + + + Gets the values of this iptc profile. + + + + + Returns the first occurrence of a iptc value with the specified tag. + + The tag of the iptc value. + The value with the specified tag. + + + + Returns all values with the specified tag. + + The tag of the iptc value. + The values found with the specified tag. + + + + Removes all values with the specified tag. + + The tag of the iptc value to remove. + True when the value was found and removed. + + + + Removes values with the specified tag and value. + + The tag of the iptc value to remove. + The value of the iptc item to remove. + True when the value was found and removed. + + + + Sets the value of the specified tag. + + The tag of the iptc value. + The value. + + + + Makes sure the datetime is formatted according to the iptc specification. + + A date will be formatted as CCYYMMDD, e.g. "19890317" for 17 March 1989. + A time value will be formatted as HHMMSS±HHMM, e.g. "090000+0200" for 9 o'clock Berlin time, + two hours ahead of UTC. + + + The tag of the iptc value. + The datetime. + + + + A value of the iptc profile. + + + + + Gets the tag of the iptc value. + + + + + Gets or sets the value. + + + + + Gets the length of the value. + + + + + Converts this instance to a byte array. + + A array. + + + + Returns a string that represents the current value. + + A string that represents the current value. + + + + Class that can be used to access an Iptc profile. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the iptc profile from. + + + + Initializes a new instance of the class. + + The fully qualified name of the iptc profile file, or the relative + iptc profile file name. + + + + Initializes a new instance of the class. + + The stream to read the iptc profile from. + + + + Gets the values of this iptc profile. + + + + + Returns the first occurrence of a iptc value with the specified tag. + + The tag of the iptc value. + The value with the specified tag. + + + + Returns all values with the specified tag. + + The tag of the iptc value. + The values found with the specified tag. + + + + Removes all values with the specified tag. + + The tag of the iptc value to remove. + True when the value was found and removed. + + + + Removes values with the specified tag and value. + + The tag of the iptc value to remove. + The value of the iptc item to remove. + True when the value was found and removed. + + + + Sets the value of the specified tag. + + The tag of the iptc value. + The value. + + + + Makes sure the datetime is formatted according to the iptc specification. + + A date will be formatted as CCYYMMDD, e.g. "19890317" for 17 March 1989. + A time value will be formatted as HHMMSS±HHMM, e.g. "090000+0200" for 9 o'clock Berlin time, + two hours ahead of UTC. + + + The tag of the iptc value. + The datetime. + + + + Updates the data of the profile. + + + + + All iptc tags. + + + + + Unknown. + + + + + Record version. + + + + + Object type. + + + + + Object attribute. + + + + + Title. + + + + + Edit status. + + + + + Editorial update. + + + + + Priority. + + + + + Subject Reference. + + + + + Category. + + + + + Supplemental categories. + + + + + Fixture identifier. + + + + + Keyword. + + + + + Location code. + + + + + Location name. + + + + + Release date. + + + + + Release time. + + + + + Expiration date. + + + + + Expiration time. + + + + + Special instructions. + + + + + Action advised. + + + + + Reference service. + + + + + Reference date. + + + + + ReferenceNumber. + + + + + Created date. + + + + + Created time. + + + + + Digital creation date. + + + + + Digital creation time. + + + + + Originating program. + + + + + Program version. + + + + + Object cycle. + + + + + Byline. + + + + + Byline title. + + + + + City. + + + + + Sub location. + + + + + Province/State. + + + + + Country code. + + + + + Country. + + + + + Original transmission reference. + + + + + Headline. + + + + + Credit. + + + + + Source. + + + + + Copyright notice. + + + + + Contact. + + + + + Caption. + + + + + Local caption. + + + + + Caption writer. + + + + + Image type. + + + + + Image orientation. + + + + + Custom field 1. + + + + + Custom field 2. + + + + + Custom field 3. + + + + + Custom field 4. + + + + + Custom field 5. + + + + + Custom field 6. + + + + + Custom field 7. + + + + + Custom field 8. + + + + + Custom field 9. + + + + + Custom field 10. + + + + + Custom field 11. + + + + + Custom field 12. + + + + + Custom field 13. + + + + + Custom field 14. + + + + + Custom field 15. + + + + + Custom field 16. + + + + + Custom field 17. + + + + + Custom field 18. + + + + + Custom field 19. + + + + + Custom field 20. + + + + + A value of the iptc profile. + + + + + Gets the tag of the iptc value. + + + + + Gets or sets the value. + + + + + Gets the length of the value. + + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified iptc value is equal to the current . + + The iptc value to compare this with. + True when the specified iptc value is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts this instance to a byte array. + + A array. + + + + Returns a string that represents the current value. + + A string that represents the current value. + + + + Class that contains an XMP profile. + + + + + Creates a XmlReader that can be used to read the data of the profile. + + A . + + + + Converts this instance to an IXPathNavigable. + + A . + + + + Converts this instance to a XDocument. + + A . + + + + Class that contains an XMP profile. + + + + + Initializes a new instance of the class. + + A byte array containing the profile. + + + + Initializes a new instance of the class. + + A document containing the profile. + + + + Initializes a new instance of the class. + + A document containing the profile. + + + + Initializes a new instance of the class. + + A stream containing the profile. + + + + Initializes a new instance of the class. + + The fully qualified name of the profile file, or the relative profile file name. + + + + Creates an instance from the specified IXPathNavigable. + + A document containing the profile. + A . + + + + Creates an instance from the specified IXPathNavigable. + + A document containing the profile. + A . + + + + Creates a XmlReader that can be used to read the data of the profile. + + A . + + + + Converts this instance to an IXPathNavigable. + + A . + + + + Converts this instance to a XDocument. + + A . + + + + Class that contains setting for the compare operations. + + The quantum type. + + + + Gets or sets the error metric to use. + + + + + Gets or sets the color that emphasize pixel differences. + + + + + Gets or sets the color that de-emphasize pixel differences. + + + + + Gets or sets the color of pixels that are inside the read mask. + + + + + Class that contains setting for the complex operation. + + + + + Gets or sets the complex operator. + + + + + Gets or sets the signal to noise ratio. + + + + + Class that contains setting for the connected components operation. + + + + + Gets or sets the threshold that merges any object not within the min and max angle threshold. + + + + + Gets or sets the threshold that eliminate small objects by merging them with their larger neighbors. + + + + + Gets or sets the threshold that merges any object not within the min and max circularity threshold. + + + + + Gets or sets how many neighbors to visit, choose from 4 or 8. + + + + + Gets or sets the threshold that merges any object not within the min and max diameter threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max eccentricity threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max ellipse major threshold. + + + + + Gets or sets a value indicating whether the object color in the labeled image will be replaced with the mean-color from the source image. + + + + + Gets or sets the threshold that merges any object not within the min and max ellipse minor threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max perimeter threshold. + + + + + Class that contains setting for the deskew operation. + + + + + Gets or sets a value indicating whether the image should be auto cropped after deskewing. + + + + + Gets or sets the threshold. + + + + + Class that contains setting for the distort operation. + + + + + Gets or sets a value indicating whether distort attempt to 'bestfit' the size of the resulting image. + + + + + Gets or sets a value to scale the size of the output canvas by this amount to provide a method of + Zooming, and for super-sampling the results. + + + + + Gets or sets the viewport that directly set the output image canvas area and offest to use for the + resulting image, rather than use the original images canvas, or a calculated 'bestfit' canvas. + + + + + Class that contains setting for the kmeans operation. + + + + + Gets or sets the seed clusters from color list (e.g. red;green;blue). + + + + + Gets or sets the number of colors to use as seeds. + + + + + Gets or sets the maximum number of iterations while converging. + + + + + Gets or sets the maximum tolerance. + + + + + Class that contains setting for when an image is being read. + + The quantum type. + + + + Gets or sets the defines that should be set before the image is read. + + + + + Gets or sets the specified area to extract from the image. + + + + + Gets or sets the index of the image to read from a multi layer/frame image. + + + + + Gets or sets the number of images to read from a multi layer/frame image. + + + + + Gets or sets the height. + + + + + Gets or sets a value indicating whether the exif profile should be used to update some of the + properties of the image (e.g. , ). + + + + + Gets or sets a value indicating whether the monochrome reader shoul be used. This is + supported by: PCL, PDF, PS and XPS. + + + + + Gets or sets the width. + + + + + Class that contains various settings. + + The quantum type. + + + + Gets or sets the affine to use when annotating with text or drawing. + + + + + Gets or sets a value indicating whether anti-aliasing should be enabled (default true). + + + + + Gets or sets the background color. + + + + + Gets or sets the border color. + + + + + Gets or sets the color space. + + + + + Gets or sets the color type of the image. + + + + + Gets or sets the compression method to use. + + + + + Gets or sets a value indicating whether printing of debug messages from ImageMagick is enabled when a debugger is attached. + + + + + Gets or sets the vertical and horizontal resolution in pixels. + + + + + Gets or sets the depth (bits allocated to red/green/blue components). + + + + + Gets or sets the endianness (little like Intel or big like SPARC) for image formats which support + endian-specific options. + + + + + Gets or sets the fill color. + + + + + Gets or sets the fill pattern. + + + + + Gets or sets the rule to use when filling drawn objects. + + + + + Gets or sets the text rendering font. + + + + + Gets or sets the text font family. + + + + + Gets or sets the font point size. + + + + + Gets or sets the font style. + + + + + Gets or sets the font weight. + + + + + Gets or sets the the format of the image. + + + + + Gets or sets the preferred size and location of an image canvas. + + + + + Gets or sets a value indicating whether stroke anti-aliasing is enabled or disabled. + + + + + Gets or sets the color to use when drawing object outlines. + + + + + Gets or sets the pattern of dashes and gaps used to stroke paths. This represents a + zero-terminated array of numbers that specify the lengths of alternating dashes and gaps + in pixels. If a zero value is not found it will be added. If an odd number of values is + provided, then the list of values is repeated to yield an even number of values. + + + + + Gets or sets the distance into the dash pattern to start the dash (default 0) while + drawing using a dash pattern,. + + + + + Gets or sets the shape to be used at the end of open subpaths when they are stroked. + + + + + Gets or sets the shape to be used at the corners of paths (or other vector shapes) when they + are stroked. + + + + + Gets or sets the miter limit. When two line segments meet at a sharp angle and miter joins have + been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness + of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter + length to the 'lineWidth'. The default value is 4. + + + + + Gets or sets the pattern image to use while stroking object outlines. + + + + + Gets or sets the stroke width for drawing lines, circles, ellipses, etc. + + + + + Gets or sets a value indicating whether Postscript and TrueType fonts should be anti-aliased (default true). + + + + + Gets or sets text direction (right-to-left or left-to-right). + + + + + Gets or sets the text annotation encoding (e.g. "UTF-16"). + + + + + Gets or sets the text annotation gravity. + + + + + Gets or sets the text inter-line spacing. + + + + + Gets or sets the text inter-word spacing. + + + + + Gets or sets the text inter-character kerning. + + + + + Gets or sets the text undercolor box. + + + + + Gets or sets a value indicating whether verbose output os turned on or off. + + + + + Returns the value of a format-specific option. + + The format to get the option for. + The name of the option. + The value of a format-specific option. + + + + Returns the value of a format-specific option. + + The name of the option. + The value of a format-specific option. + + + + Removes the define with the specified name. + + The format to set the define for. + The name of the define. + + + + Removes the define with the specified name. + + The name of the define. + + + + Sets a format-specific option. + + The format to set the define for. + The name of the define. + The value of the define. + + + + Sets a format-specific option. + + The format to set the option for. + The name of the option. + The value of the option. + + + + Sets a format-specific option. + + The format to set the option for. + The name of the option. + The value of the option. + + + + Sets a format-specific option. + + The name of the option. + The value of the option. + + + + Sets format-specific options with the specified defines. + + The defines to set. + + + + Class that contains setting for the montage operation. + + The quantum type. + + + + Gets or sets the color of the background that thumbnails are composed on. + + + + + Gets or sets the frame border color. + + + + + Gets or sets the pixels between thumbnail and surrounding frame. + + + + + Gets or sets the fill color. + + + + + Gets or sets the label font. + + + + + Gets or sets the font point size. + + + + + Gets or sets the frame geometry (width & height frame thickness). + + + + + Gets or sets the thumbnail width & height plus border width & height. + + + + + Gets or sets the thumbnail position (e.g. SouthWestGravity). + + + + + Gets or sets the thumbnail label (applied to image prior to montage). + + + + + Gets or sets a value indicating whether drop-shadows on thumbnails are enabled or disabled. + + + + + Gets or sets the outline color. + + + + + Gets or sets the background texture image. + + + + + Gets or sets the frame geometry (width & height frame thickness). + + + + + Gets or sets the montage title. + + + + + Gets or sets the transparent color. + + + + + Class that contains setting for the morphology operation. + + + + + Gets or sets the channels to apply the kernel to. + + + + + Gets or sets the bias to use when the method is Convolve. + + + + + Gets or sets the scale to use when the method is Convolve. + + + + + Gets or sets the number of iterations. + + + + + Gets or sets built-in kernel. + + + + + Gets or sets kernel arguments. + + + + + Gets or sets the morphology method. + + + + + Gets or sets user suplied kernel. + + + + + Class that contains setting for when pixels are imported. + + + + + Gets the height of the pixel area. + + + + + Gets the width of the pixel area. + + + + + Gets the X offset from origin. + + + + + Gets the Y offset from origin. + + + + + Gets or sets the mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + + Gets the pixel storage type. + + + + + Class that contains setting for when pixels are read. + + The quantum type. + + + + Gets or sets the mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + + Gets or sets the pixel storage type. + + + + + Gets the settings to use when reading the image. + + + + + Class that contains setting for quantize operations. + + + + + Gets or sets the maximum number of colors to quantize to. + + + + + Gets or sets the colorspace to quantize in. + + + + + Gets or sets the dither method to use. + + + + + Gets or sets a value indicating whether errors should be measured. + + + + + Gets or sets the quantization tree-depth. + + + + + The normalized moments of one image channels. + + + + + Gets the centroid. + + + + + Gets the channel of this moment. + + + + + Gets the ellipse axis. + + + + + Gets the ellipse angle. + + + + + Gets the ellipse eccentricity. + + + + + Gets the ellipse intensity. + + + + + Returns the Hu invariants. + + The index to use. + The Hu invariants. + + + + Contains the he perceptual hash of one image channel. + + + + + Gets the channel. + + + + + SRGB hu perceptual hash. + + The index to use. + The SRGB hu perceptual hash. + + + + Hclp hu perceptual hash. + + The index to use. + The Hclp hu perceptual hash. + + + + Returns the sum squared difference between this hash and the other hash. + + The to get the distance of. + The sum squared difference between this hash and the other hash. + + + + Returns a string representation of this hash. + + A string representation of this hash. + + + + Encapsulation of the ImageMagick ImageChannelStatistics object. + + + + + Gets the channel. + + + + + Gets the depth of the channel. + + + + + Gets the entropy. + + + + + Gets the kurtosis. + + + + + Gets the maximum value observed. + + + + + Gets the average (mean) value observed. + + + + + Gets the minimum value observed. + + + + + Gets the skewness. + + + + + Gets the standard deviation, sqrt(variance). + + + + + Gets the sum. + + + + + Gets the sum cubed. + + + + + Gets the sum fourth power. + + + + + Gets the sum squared. + + + + + Gets the variance. + + + + + The normalized moments of one or more image channels. + + + + + Gets the moments for the all the channels. + + The moments for the all the channels. + + + + Gets the moments for the specified channel. + + The channel to get the moments for. + The moments for the specified channel. + + + + Contains the he perceptual hash of one or more image channels. + + + + + Returns the perceptual hash for the specified channel. + + The channel to get the has for. + The perceptual hash for the specified channel. + + + + Returns the sum squared difference between this hash and the other hash. + + The to get the distance of. + The sum squared difference between this hash and the other hash. + + + + Returns a string representation of this hash. + + A . + + + + Encapsulation of the ImageMagick ImageStatistics object. + + + + + Gets the channels. + + + + + Returns the statistics for the all the channels. + + The statistics for the all the channels. + + + + Returns the statistics for the specified channel. + + The channel to get the statistics for. + The statistics for the specified channel. + + + + Represents the density of an image. + + + + + Initializes a new instance of the class with the density set to inches. + + The x and y. + + + + Initializes a new instance of the class. + + The x and y. + The units. + + + + Initializes a new instance of the class with the density set to inches. + + The x. + The y. + + + + Initializes a new instance of the class. + + The x. + The y. + The units. + + + + Initializes a new instance of the class. + + Density specifications in the form: <x>x<y>[inch/cm] (where x, y are numbers). + + + + Gets the units. + + + + + Gets the x resolution. + + + + + Gets the y resolution. + + + + + Changes the density of the instance to the specified units. + + The units to use. + A new with the specified units. + + + + Determines whether the specified object is equal to the . + + The object to compare this with. + True when the specified object is equal to the . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current . + + A string that represents the current . + + + + Returns a string that represents the current . + + The units to use. + A string that represents the current . + + + + Encapsulation of the ImageMagick connected component object. + + The quantum type. + + + + Gets the pixel count of the area. + + + + + Gets the centroid of the area. + + + + + Gets the color of the area. + + + + + Gets the height of the area. + + + + + Gets the id of the area. + + + + + Gets the width of the area. + + + + + Gets the X offset from origin. + + + + + Gets the Y offset from origin. + + + + + Returns the geometry of the area of this connected component. + + The geometry of the area of this connected component. + + + + Returns the geometry of the area of this connected component. + + The number of pixels to extent the image with. + The geometry of the area of this connected component. + + + + Encapsulates the error information. + + + + + Gets the mean error per pixel computed when an image is color reduced. + + + + + Gets the normalized maximum error per pixel computed when an image is color reduced. + + + + + Gets the normalized mean error per pixel computed when an image is color reduced. + + + + + Encapsulation of the ImageMagick geometry object. + + + + + Gets a value indicating whether the value is an aspect ratio. + + + + + Gets or sets a value indicating whether the image is resized based on the smallest fitting dimension (^). + + + + + Gets or sets a value indicating whether the image is resized if image is greater than size (>). + + + + + Gets or sets the height of the geometry. + + + + + Gets or sets a value indicating whether the image is resized without preserving aspect ratio (!). + + + + + Gets or sets a value indicating whether the width and height are expressed as percentages. + + + + + Gets or sets a value indicating whether the image is resized if the image is less than size (<). + + + + + Gets or sets a value indicating whether the image is resized using a pixel area count limit (@). + + + + + Gets or sets the width of the geometry. + + + + + Gets or sets the X offset from origin. + + + + + Gets or sets the Y offset from origin. + + + + + Initializes the geometry using the sepcified value. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + + + + Returns a string that represents the current . + + A string that represents the current . + + + + Result for a sub image search operation. + + The quantum type. + + + + Gets the offset for the best match. + + + + + Gets the a similarity image such that an exact match location is completely white and if none of + the pixels match, black, otherwise some gray level in-between. + + + + + Gets the similarity metric. + + + + + PrimaryInfo information. + + + + + Gets the X value. + + + + + Gets the Y value. + + + + + Gets the Z value. + + + + + Represents an argument for the SparseColor method. + + The quantum type. + + + + Gets or sets the X position. + + + + + Gets or sets the Y position. + + + + + Gets or sets the color. + + + + + Used to obtain font metrics for text string given current font, pointsize, and density settings. + + + + + Gets the ascent, the distance in pixels from the text baseline to the highest/upper grid coordinate + used to place an outline point. + + + + + Gets the descent, the distance in pixels from the baseline to the lowest grid coordinate used to + place an outline point. Always a negative value. + + + + + Gets the maximum horizontal advance in pixels. + + + + + Gets the text height in pixels. + + + + + Gets the text width in pixels. + + + + + Gets the underline position. + + + + + Gets the underline thickness. + + + + + Represents an exif number. + + + + + Initializes a new instance of the struct. + + The value of the number. + + + + Converts the specified to an instance of this type. + + The value. + + + + Converts the specified to an instance of this type. + + The value. + + + + Converts the specified to an instance of this type. + + The value. + + + + Converts the specified to an instance of this type. + + The value. + + + + Converts the specified to a . + + The to convert. + + + + Converts the specified to a . + + The to convert. + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Compares the current instance with another object of the same type. + + The object to compare this color with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. + + An object that supplies culture-specific formatting information. + The string representation of the value of this instance, which consists of a sequence of digits ranging from 0 to 9, without a sign or leading zeros. + + + + Represents a percentage value. + + + + + Initializes a new instance of the struct. + + The value (0% = 0.0, 100% = 100.0). + + + + Initializes a new instance of the struct. + + The value (0% = 0, 100% = 100). + + + + Converts the specified double to an instance of this type. + + The value (0% = 0, 100% = 100). + + + + Converts the specified int to an instance of this type. + + The value (0% = 0, 100% = 100). + + + + Converts the specified to a double. + + The to convert. + + + + Converts the to a quantum type. + + The to convert. + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Multiplies the value by the . + + The value to use. + The to use. + + + + Multiplies the value by the . + + The value to use. + The to use. + + + + Compares the current instance with another object of the same type. + + The object to compare this with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Multiplies the value by the percentage. + + The value to use. + the new value. + + + + Multiplies the value by the percentage. + + The value to use. + the new value. + + + + Returns a double that represents the current percentage. + + A double that represents the current percentage. + + + + Returns an integer that represents the current percentage. + + An integer that represents the current percentage. + + + + Returns a string that represents the current percentage. + + A string that represents the current percentage. + + + + Struct for a point with doubles. + + + + + Initializes a new instance of the struct. + + The x and y. + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Initializes a new instance of the struct. + + PointD specifications in the form: <x>x<y> (where x, y are numbers). + + + + Gets the x-coordinate of this . + + + + + Gets the y-coordinate of this . + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current PointD. + + A string that represents the current PointD. + + + + Represents a number that can be expressed as a fraction. + + + This is a very simplified implementation of a rational number designed for use with metadata only. + + + + + Initializes a new instance of the struct. + + The to convert to an instance of this type. + + + + Initializes a new instance of the struct. + + The to convert to an instance of this type. + Specifies if the instance should be created with the best precision possible. + + + + Initializes a new instance of the struct. + + The integer to create the rational from. + + + + Initializes a new instance of the struct. + + The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken. + The number below the line in a vulgar fraction; a divisor. + + + + Initializes a new instance of the struct. + + The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken. + The number below the line in a vulgar fraction; a divisor. + Specified if the rational should be simplified. + + + + Gets the numerator of a number. + + + + + Gets the denominator of a number. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Converts the specified to an instance of this type. + + The to convert to an instance of this type. + The . + + + + Converts the specified to an instance of this type. + + The to convert to an instance of this type. + Specifies if the instance should be created with the best precision possible. + The . + + + + Determines whether the specified is equal to this . + + The to compare this with. + True when the specified is equal to this . + + + + Determines whether the specified is equal to this . + + The to compare this with. + True when the specified is equal to this . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts a rational number to the nearest . + + + The . + + + + + Converts the numeric value of this instance to its equivalent string representation. + + A string representation of this value. + + + + Converts the numeric value of this instance to its equivalent string representation using + the specified culture-specific format information. + + + An object that supplies culture-specific formatting information. + + A string representation of this value. + + + + Represents a number that can be expressed as a fraction. + + + This is a very simplified implementation of a rational number designed for use with metadata only. + + + + + Initializes a new instance of the struct. + + The to convert to an instance of this type. + + + + Initializes a new instance of the struct. + + The to convert to an instance of this type. + Specifies if the instance should be created with the best precision possible. + + + + Initializes a new instance of the struct. + + The integer to create the rational from. + + + + Initializes a new instance of the struct. + + The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken. + The number below the line in a vulgar fraction; a divisor. + + + + Initializes a new instance of the struct. + + The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken. + The number below the line in a vulgar fraction; a divisor. + Specified if the rational should be simplified. + + + + Gets the numerator of a number. + + + + + Gets the denominator of a number. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Converts the specified to an instance of this type. + + The to convert to an instance of this type. + The . + + + + Converts the specified to an instance of this type. + + The to convert to an instance of this type. + Specifies if the instance should be created with the best precision possible. + The . + + + + Determines whether the specified is equal to this . + + The to compare this with. + True when the specified is equal to this . + + + + Determines whether the specified is equal to this . + + The to compare this with. + True when the specified is equal to this . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts a rational number to the nearest . + + + The . + + + + + Converts the numeric value of this instance to its equivalent string representation. + + A string representation of this value. + + + + Converts the numeric value of this instance to its equivalent string representation using + the specified culture-specific format information. + + + An object that supplies culture-specific formatting information. + + A string representation of this value. + + + + Struct for a threshold with a minimum and maximum. + + + + + Initializes a new instance of the struct. + + The minimum of the threshold. + + + + Initializes a new instance of the struct. + + The minimum of the threshold. + The maximum of the threshold. + + + + Gets the minimum of this . + + + + + Gets the y-coordinate of this . + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current PointD. + + A string that represents the current PointD. + + + diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard21/Magick.NET.Core.dll b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard21/Magick.NET.Core.dll new file mode 100644 index 0000000..71cf0b3 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard21/Magick.NET.Core.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard21/Magick.NET.Core.xml b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard21/Magick.NET.Core.xml new file mode 100644 index 0000000..8493bbc --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.Core.12.3.0/lib/netstandard21/Magick.NET.Core.xml @@ -0,0 +1,20968 @@ + + + + Magick.NET.Core + + + + + Interface that contains the same colors as System.Drawing.Colors. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #00000000. + + + + + Gets a system-defined color that has an RGBA value of #F0F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FAEBD7FF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #7FFFD4FF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5DCFF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4C4FF. + + + + + Gets a system-defined color that has an RGBA value of #000000FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEBCDFF. + + + + + Gets a system-defined color that has an RGBA value of #0000FFFF. + + + + + Gets a system-defined color that has an RGBA value of #8A2BE2FF. + + + + + Gets a system-defined color that has an RGBA value of #A52A2AFF. + + + + + Gets a system-defined color that has an RGBA value of #DEB887FF. + + + + + Gets a system-defined color that has an RGBA value of #5F9EA0FF. + + + + + Gets a system-defined color that has an RGBA value of #7FFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #D2691EFF. + + + + + Gets a system-defined color that has an RGBA value of #FF7F50FF. + + + + + Gets a system-defined color that has an RGBA value of #6495EDFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF8DCFF. + + + + + Gets a system-defined color that has an RGBA value of #DC143CFF. + + + + + Gets a system-defined color that has an RGBA value of #00FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #00008BFF. + + + + + Gets a system-defined color that has an RGBA value of #008B8BFF. + + + + + Gets a system-defined color that has an RGBA value of #B8860BFF. + + + + + Gets a system-defined color that has an RGBA value of #A9A9A9FF. + + + + + Gets a system-defined color that has an RGBA value of #006400FF. + + + + + Gets a system-defined color that has an RGBA value of #BDB76BFF. + + + + + Gets a system-defined color that has an RGBA value of #8B008BFF. + + + + + Gets a system-defined color that has an RGBA value of #556B2FFF. + + + + + Gets a system-defined color that has an RGBA value of #FF8C00FF. + + + + + Gets a system-defined color that has an RGBA value of #9932CCFF. + + + + + Gets a system-defined color that has an RGBA value of #8B0000FF. + + + + + Gets a system-defined color that has an RGBA value of #E9967AFF. + + + + + Gets a system-defined color that has an RGBA value of #8FBC8FFF. + + + + + Gets a system-defined color that has an RGBA value of #483D8BFF. + + + + + Gets a system-defined color that has an RGBA value of #2F4F4FFF. + + + + + Gets a system-defined color that has an RGBA value of #00CED1FF. + + + + + Gets a system-defined color that has an RGBA value of #9400D3FF. + + + + + Gets a system-defined color that has an RGBA value of #FF1493FF. + + + + + Gets a system-defined color that has an RGBA value of #00BFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #696969FF. + + + + + Gets a system-defined color that has an RGBA value of #1E90FFFF. + + + + + Gets a system-defined color that has an RGBA value of #B22222FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAF0FF. + + + + + Gets a system-defined color that has an RGBA value of #228B22FF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #DCDCDCFF. + + + + + Gets a system-defined color that has an RGBA value of #F8F8FFFF. + + + + + Gets a system-defined color that has an RGBA value of #FFD700FF. + + + + + Gets a system-defined color that has an RGBA value of #DAA520FF. + + + + + Gets a system-defined color that has an RGBA value of #808080FF. + + + + + Gets a system-defined color that has an RGBA value of #008000FF. + + + + + Gets a system-defined color that has an RGBA value of #ADFF2FFF. + + + + + Gets a system-defined color that has an RGBA value of #F0FFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #FF69B4FF. + + + + + Gets a system-defined color that has an RGBA value of #CD5C5CFF. + + + + + Gets a system-defined color that has an RGBA value of #4B0082FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFF0FF. + + + + + Gets a system-defined color that has an RGBA value of #F0E68CFF. + + + + + Gets a system-defined color that has an RGBA value of #E6E6FAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFF0F5FF. + + + + + Gets a system-defined color that has an RGBA value of #7CFC00FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFACDFF. + + + + + Gets a system-defined color that has an RGBA value of #ADD8E6FF. + + + + + Gets a system-defined color that has an RGBA value of #F08080FF. + + + + + Gets a system-defined color that has an RGBA value of #E0FFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #FAFAD2FF. + + + + + Gets a system-defined color that has an RGBA value of #90EE90FF. + + + + + Gets a system-defined color that has an RGBA value of #D3D3D3FF. + + + + + Gets a system-defined color that has an RGBA value of #FFB6C1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA07AFF. + + + + + Gets a system-defined color that has an RGBA value of #20B2AAFF. + + + + + Gets a system-defined color that has an RGBA value of #87CEFAFF. + + + + + Gets a system-defined color that has an RGBA value of #778899FF. + + + + + Gets a system-defined color that has an RGBA value of #B0C4DEFF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFE0FF. + + + + + Gets a system-defined color that has an RGBA value of #00FF00FF. + + + + + Gets a system-defined color that has an RGBA value of #32CD32FF. + + + + + Gets a system-defined color that has an RGBA value of #FAF0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #FF00FFFF. + + + + + Gets a system-defined color that has an RGBA value of #800000FF. + + + + + Gets a system-defined color that has an RGBA value of #66CDAAFF. + + + + + Gets a system-defined color that has an RGBA value of #0000CDFF. + + + + + Gets a system-defined color that has an RGBA value of #BA55D3FF. + + + + + Gets a system-defined color that has an RGBA value of #9370DBFF. + + + + + Gets a system-defined color that has an RGBA value of #3CB371FF. + + + + + Gets a system-defined color that has an RGBA value of #7B68EEFF. + + + + + Gets a system-defined color that has an RGBA value of #00FA9AFF. + + + + + Gets a system-defined color that has an RGBA value of #48D1CCFF. + + + + + Gets a system-defined color that has an RGBA value of #C71585FF. + + + + + Gets a system-defined color that has an RGBA value of #191970FF. + + + + + Gets a system-defined color that has an RGBA value of #F5FFFAFF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4E1FF. + + + + + Gets a system-defined color that has an RGBA value of #FFE4B5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDEADFF. + + + + + Gets a system-defined color that has an RGBA value of #000080FF. + + + + + Gets a system-defined color that has an RGBA value of #FDF5E6FF. + + + + + Gets a system-defined color that has an RGBA value of #808000FF. + + + + + Gets a system-defined color that has an RGBA value of #6B8E23FF. + + + + + Gets a system-defined color that has an RGBA value of #FFA500FF. + + + + + Gets a system-defined color that has an RGBA value of #FF4500FF. + + + + + Gets a system-defined color that has an RGBA value of #DA70D6FF. + + + + + Gets a system-defined color that has an RGBA value of #EEE8AAFF. + + + + + Gets a system-defined color that has an RGBA value of #98FB98FF. + + + + + Gets a system-defined color that has an RGBA value of #AFEEEEFF. + + + + + Gets a system-defined color that has an RGBA value of #DB7093FF. + + + + + Gets a system-defined color that has an RGBA value of #FFEFD5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFDAB9FF. + + + + + Gets a system-defined color that has an RGBA value of #CD853FFF. + + + + + Gets a system-defined color that has an RGBA value of #FFC0CBFF. + + + + + Gets a system-defined color that has an RGBA value of #DDA0DDFF. + + + + + Gets a system-defined color that has an RGBA value of #B0E0E6FF. + + + + + Gets a system-defined color that has an RGBA value of #800080FF. + + + + + Gets a system-defined color that has an RGBA value of #663399FF. + + + + + Gets a system-defined color that has an RGBA value of #FF0000FF. + + + + + Gets a system-defined color that has an RGBA value of #BC8F8FFF. + + + + + Gets a system-defined color that has an RGBA value of #4169E1FF. + + + + + Gets a system-defined color that has an RGBA value of #8B4513FF. + + + + + Gets a system-defined color that has an RGBA value of #FA8072FF. + + + + + Gets a system-defined color that has an RGBA value of #F4A460FF. + + + + + Gets a system-defined color that has an RGBA value of #2E8B57FF. + + + + + Gets a system-defined color that has an RGBA value of #FFF5EEFF. + + + + + Gets a system-defined color that has an RGBA value of #A0522DFF. + + + + + Gets a system-defined color that has an RGBA value of #C0C0C0FF. + + + + + Gets a system-defined color that has an RGBA value of #87CEEBFF. + + + + + Gets a system-defined color that has an RGBA value of #6A5ACDFF. + + + + + Gets a system-defined color that has an RGBA value of #708090FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFAFAFF. + + + + + Gets a system-defined color that has an RGBA value of #00FF7FFF. + + + + + Gets a system-defined color that has an RGBA value of #4682B4FF. + + + + + Gets a system-defined color that has an RGBA value of #D2B48CFF. + + + + + Gets a system-defined color that has an RGBA value of #008080FF. + + + + + Gets a system-defined color that has an RGBA value of #D8BFD8FF. + + + + + Gets a system-defined color that has an RGBA value of #FF6347FF. + + + + + Gets a system-defined color that has an RGBA value of #40E0D0FF. + + + + + Gets a system-defined color that has an RGBA value of #EE82EEFF. + + + + + Gets a system-defined color that has an RGBA value of #F5DEB3FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFFFFFF. + + + + + Gets a system-defined color that has an RGBA value of #F5F5F5FF. + + + + + Gets a system-defined color that has an RGBA value of #FFFF00FF. + + + + + Gets a system-defined color that has an RGBA value of #9ACD32FF. + + + + + Interface that represents a color. + + The quantum type. + + + + Gets or sets the alpha component value of this color. + + + + + Gets or sets the blue component value of this color. + + + + + Gets or sets the green component value of this color. + + + + + Gets a value indicating whether the color is a CMYK color. + + + + + Gets or sets the key (black) component value of this color. + + + + + Gets or sets the red component value of this color. + + + + + Determines whether the specified color is fuzzy equal to the current color. + + The color to compare this color with. + The fuzz factor. + True when the specified color is fuzzy equal to the current instance. + + + + Initializes the color with the specified bytes. + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + + + + Converts the value of this instance to a array (RGBA or CMYKA). + + The array. + + + + Converts the value of this instance to a hexadecimal string that will not include the alpha channel if it is opaque. + + The . + + + + Converts the value of this instance to a string representation that will not include the alpha channel if it is opaque. + + The . + + + + Converts the value of this instance to a string representation. + + The . + + + + Interface that represents a configuration file. + + + + + Gets the file name. + + + + + Gets or sets the data of the configuration file. + + + + + Interface that represents the configuration files. + + + + + Gets all the configuration files. + + + + + Gets the default configuration. + + + + + Gets the colors configuration. + + + + + Gets the configure configuration. + + + + + Gets the delegates configuration. + + + + + Gets the english configuration. + + + + + Gets the locale configuration. + + + + + Gets the log configuration. + + + + + Gets the policy configuration. + + + + + Gets the thresholds configuration. + + + + + Gets the type configuration. + + + + + Gets the type-ghostscript configuration. + + + + + Interface for a define. + + + + + Gets the format to set the define for. + + + + + Gets the name of the define. + + + + + Gets the value of the define. + + + + + Interface for an object that specifies defines for an image. + + + + + Gets the defines that should be set as a define on an image. + + + + + Interface for defines that are used when reading an image. + + + + + Gets the format where the defines are for. + + + + + Interface for defines that are used when writing an image. + + + + + Gets the format where the defines are for. + + + + + Class that can be used to chain draw actions. + + The quantum type. + + + + Applies the DrawableAffine operation to the . + + The X coordinate scaling element. + The Y coordinate scaling element. + The X coordinate shearing element. + The Y coordinate shearing element. + The X coordinate of the translation element. + The Y coordinate of the translation element. + The instance. + + + + Applies the DrawableAlpha operation to the . + + The X coordinate. + The Y coordinate. + The paint method to use. + The instance. + + + + Applies the DrawableArc operation to the . + + The starting X coordinate of the bounding rectangle. + The starting Y coordinate of thebounding rectangle. + The ending X coordinate of the bounding rectangle. + The ending Y coordinate of the bounding rectangle. + The starting degrees of rotation. + The ending degrees of rotation. + The instance. + + + + Applies the DrawableBezier operation to the . + + The coordinates. + The instance. + + + + Applies the DrawableBezier operation to the . + + The coordinates. + The instance. + + + + Applies the DrawableBorderColor operation to the . + + The color of the border. + The instance. + + + + Applies the DrawableCircle operation to the . + + The origin X coordinate. + The origin Y coordinate. + The perimeter X coordinate. + The perimeter Y coordinate. + The instance. + + + + Applies the DrawableClipPath operation to the . + + The ID of the clip path. + The instance. + + + + Applies the DrawableClipRule operation to the . + + The rule to use when filling drawn objects. + The instance. + + + + Applies the DrawableClipUnits operation to the . + + The clip path units. + The instance. + + + + Applies the DrawableColor operation to the . + + The X coordinate. + The Y coordinate. + The paint method to use. + The instance. + + + + Applies the DrawableComposite operation to the . + + The offset from origin. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The X coordinate. + The Y coordinate. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The offset from origin. + The algorithm to use. + The image to draw. + The instance. + + + + Applies the DrawableComposite operation to the . + + The X coordinate. + The Y coordinate. + The algorithm to use. + The image to draw. + The instance. + + + + Applies the DrawableDensity operation to the . + + The vertical and horizontal resolution. + The instance. + + + + Applies the DrawableDensity operation to the . + + The vertical and horizontal resolution. + The instance. + + + + Applies the DrawableEllipse operation to the . + + The origin X coordinate. + The origin Y coordinate. + The X radius. + The Y radius. + The starting degrees of rotation. + The ending degrees of rotation. + The instance. + + + + Applies the DrawableFillColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableFillOpacity operation to the . + + The opacity. + The instance. + + + + Applies the DrawableFillPatternUrl operation to the . + + Url specifying pattern ID (e.g. "#pattern_id"). + The instance. + + + + Applies the DrawableFillRule operation to the . + + The rule to use when filling drawn objects. + The instance. + + + + Applies the DrawableFont operation to the . + + The font family or the full path to the font file. + The instance. + + + + Applies the DrawableFont operation to the . + + The font family or the full path to the font file. + The style of the font. + The weight of the font. + The font stretching type. + The instance. + + + + Applies the DrawableFontPointSize operation to the . + + The point size. + The instance. + + + + Applies the DrawableGravity operation to the . + + The gravity. + The instance. + + + + Applies the DrawableLine operation to the . + + The starting X coordinate. + The starting Y coordinate. + The ending X coordinate. + The ending Y coordinate. + The instance. + + + + Applies the DrawablePath operation to the . + + The paths to use. + The instance. + + + + Applies the DrawablePath operation to the . + + The paths to use. + The instance. + + + + Applies the DrawablePoint operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the DrawablePolygon operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolygon operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolyline operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePolyline operation to the . + + The coordinates. + The instance. + + + + Applies the DrawablePopClipPath operation to the . + + The instance. + + + + Applies the DrawablePopGraphicContext operation to the . + + The instance. + + + + Applies the DrawablePopPattern operation to the . + + The instance. + + + + Applies the DrawablePushClipPath operation to the . + + The ID of the clip path. + The instance. + + + + Applies the DrawablePushGraphicContext operation to the . + + The instance. + + + + Applies the DrawablePushPattern operation to the . + + The ID of the pattern. + The X coordinate. + The Y coordinate. + The width. + The height. + The instance. + + + + Applies the DrawableRectangle operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The instance. + + + + Applies the DrawableRotation operation to the . + + The angle. + The instance. + + + + Applies the DrawableRoundRectangle operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The corner width. + The corner height. + The instance. + + + + Applies the DrawableScaling operation to the . + + Horizontal scale factor. + Vertical scale factor. + The instance. + + + + Applies the DrawableSkewX operation to the . + + The angle. + The instance. + + + + Applies the DrawableSkewY operation to the . + + The angle. + The instance. + + + + Applies the DrawableStrokeColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableStrokeDashArray operation to the . + + An array containing the dash information. + The instance. + + + + Applies the DrawableStrokeDashOffset operation to the . + + The dash offset. + The instance. + + + + Applies the DrawableStrokeLineCap operation to the . + + The line cap. + The instance. + + + + Applies the DrawableStrokeLineJoin operation to the . + + The line join. + The instance. + + + + Applies the DrawableStrokeMiterLimit operation to the . + + The miter limit. + The instance. + + + + Applies the DrawableStrokeOpacity operation to the . + + The opacity. + The instance. + + + + Applies the DrawableStrokePatternUrl operation to the . + + Url specifying pattern ID (e.g. "#pattern_id"). + The instance. + + + + Applies the DrawableStrokeWidth operation to the . + + The width. + The instance. + + + + Applies the DrawableText operation to the . + + The X coordinate. + The Y coordinate. + The text to draw. + The instance. + + + + Applies the DrawableTextAlignment operation to the . + + Text alignment. + The instance. + + + + Applies the DrawableTextDecoration operation to the . + + The text decoration. + The instance. + + + + Applies the DrawableTextDirection operation to the . + + Direction to use. + The instance. + + + + Applies the DrawableTextEncoding operation to the . + + Encoding to use. + The instance. + + + + Applies the DrawableTextInterlineSpacing operation to the . + + Spacing to use. + The instance. + + + + Applies the DrawableTextInterwordSpacing operation to the . + + Spacing to use. + The instance. + + + + Applies the DrawableTextKerning operation to the . + + Kerning to use. + The instance. + + + + Applies the DrawableTextUnderColor operation to the . + + The color to use. + The instance. + + + + Applies the DrawableTranslation operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the DrawableViewbox operation to the . + + The upper left X coordinate. + The upper left Y coordinate. + The lower right X coordinate. + The lower right Y coordinate. + The instance. + + + + Applies the DrawableStrokeAntialias operation to the . + + The instance. + + + + Applies the DrawableStrokeAntialias operation to the . + + The instance. + + + + Applies the DrawableTextAntialias operation to the . + + The instance. + + + + Applies the DrawableTextAntialias operation to the . + + The instance. + + + + Draw on the specified image. + + The image to draw on. + The current instance. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + Specifies if newlines should be ignored. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Creates a new instance. + + A new instance. + + + + Marker interface for drawables. + + + + + Adjusts the current affine transformation matrix with the specified affine transformation + matrix. Note that the current affine transform is adjusted rather than replaced. + + + + + Gets or sets the X coordinate scaling element. + + + + + Gets or sets the Y coordinate scaling element. + + + + + Gets or sets the X coordinate shearing element. + + + + + Gets or sets the Y coordinate shearing element. + + + + + Gets or sets the X coordinate of the translation element. + + + + + Gets or sets the Y coordinate of the translation element. + + + + + Reset to default. + + + + + Sets the origin of coordinate system. + + The X coordinate of the translation element. + The Y coordinate of the translation element. + + + + Sets the rotation to use. + + The angle of the rotation. + + + + Sets the scale to use. + + The X coordinate scaling element. + The Y coordinate scaling element. + + + + Skew to use in X axis. + + The X skewing element. + + + + Skew to use in Y axis. + + The Y skewing element. + + + + Draws an elliptical arc from the current point to(X, Y). The size and orientation of the + ellipse are defined by two radii(RadiusX, RadiusY) and a RotationX, which indicates how the + ellipse as a whole is rotated relative to the current coordinate system. The center of the + ellipse is calculated automagically to satisfy the constraints imposed by the other + parameters. UseLargeArc and UseSweep contribute to the automatic calculations and help + determine how the arc is drawn. If UseLargeArc is true then draw the larger of the + available arcs. If UseSweep is true, then draw the arc matching a clock-wise rotation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The X offset from origin. + The Y offset from origin. + The X radius. + The Y radius. + Indicates how the ellipse as a whole is rotated relative to the + current coordinate system. + If true then draw the larger of the available arcs. + If true then draw the arc matching a clock-wise rotation. + + + + Gets or sets the X radius. + + + + + Gets or sets the Y radius. + + + + + Gets or sets how the ellipse as a whole is rotated relative to the current coordinate system. + + + + + Gets or sets a value indicating whetherthe larger of the available arcs should be drawn. + + + + + Gets or sets a value indicating whether the arc should be drawn matching a clock-wise rotation. + + + + + Gets or sets the X offset from origin. + + + + + Gets or sets the Y offset from origin. + + + + + Class that can be used to chain path actions. + + The quantum type. + + + + Applies the PathArcAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathArcRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathClose operation to the . + + The instance. + + + + Applies the PathCurveToAbs operation to the . + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToAbs operation to the . + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToRel operation to the . + + Coordinate of control point for curve beginning. + Coordinate of control point for curve ending. + Coordinate of the end of the curve. + The instance. + + + + Applies the PathCurveToRel operation to the . + + X coordinate of control point for curve beginning. + Y coordinate of control point for curve beginning. + X coordinate of control point for curve ending. + Y coordinate of control point for curve ending. + X coordinate of the end of the curve. + Y coordinate of the end of the curve. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToAbs operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathLineToHorizontalAbs operation to the . + + The X coordinate. + The instance. + + + + Applies the PathLineToHorizontalRel operation to the . + + The X coordinate. + The instance. + + + + Applies the PathLineToRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToRel operation to the . + + The coordinates to use. + The instance. + + + + Applies the PathLineToRel operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathLineToVerticalAbs operation to the . + + The Y coordinate. + The instance. + + + + Applies the PathLineToVerticalRel operation to the . + + The Y coordinate. + The instance. + + + + Applies the PathMoveToAbs operation to the . + + The coordinate to use. + The instance. + + + + Applies the PathMoveToAbs operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathMoveToRel operation to the . + + The coordinate to use. + The instance. + + + + Applies the PathMoveToRel operation to the . + + The X coordinate. + The Y coordinate. + The instance. + + + + Applies the PathQuadraticCurveToAbs operation to the . + + Coordinate of control point. + Coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToAbs operation to the . + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToRel operation to the . + + Coordinate of control point. + Coordinate of final point. + The instance. + + + + Applies the PathQuadraticCurveToRel operation to the . + + X coordinate of control point. + Y coordinate of control point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToAbs operation to the . + + Coordinate of second point. + Coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToAbs operation to the . + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToRel operation to the . + + Coordinate of second point. + Coordinate of final point. + The instance. + + + + Applies the PathSmoothCurveToRel operation to the . + + X coordinate of second point. + Y coordinate of second point. + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToAbs operation to the . + + Coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToAbs operation to the . + + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToRel operation to the . + + Coordinate of final point. + The instance. + + + + Applies the PathSmoothQuadraticCurveToRel operation to the . + + X coordinate of final point. + Y coordinate of final point. + The instance. + + + + Converts this instance to a instance. + + A new instance. + + + + Marker interface for paths. + + + + + Specifies alpha options. + + + + + Undefined. + + + + + Activate. + + + + + Associate. + + + + + Background. + + + + + Copy. + + + + + Deactivate. + + + + + Discrete. + + + + + Disassociate. + + + + + Extract. + + + + + Off. + + + + + On. + + + + + Opaque. + + + + + Remove. + + + + + Set. + + + + + Shape. + + + + + Transparent. + + + + + Specifies the auto threshold methods. + + + + + Undefined. + + + + + Kapur. + + + + + OTSU. + + + + + Triangle. + + + + + Specifies channel types. + + + + + Undefined. + + + + + Red. + + + + + Gray. + + + + + Cyan. + + + + + Green. + + + + + Magenta. + + + + + Blue. + + + + + Yellow. + + + + + Black. + + + + + Alpha. + + + + + Opacity. + + + + + Index. + + + + + Composite. + + + + + All. + + + + + TrueAlpha. + + + + + RGB. + + + + + CMYK. + + + + + Grays. + + + + + Sync. + + + + + Default. + + + + + Specifies the image class type. + + + + + Undefined. + + + + + Direct. + + + + + Pseudo. + + + + + Specifies the clip path units. + + + + + Undefined. + + + + + UserSpace. + + + + + UserSpaceOnUse. + + + + + ObjectBoundingBox. + + + + + Specifies a kind of color space. + + + + + Undefined. + + + + + CMY. + + + + + CMYK. + + + + + Gray. + + + + + HCL. + + + + + HCLp. + + + + + HSB. + + + + + HSI. + + + + + HSL. + + + + + HSV. + + + + + HWB. + + + + + Lab. + + + + + LCH. + + + + + LCHab. + + + + + LCHuv. + + + + + Log. + + + + + LMS. + + + + + Luv. + + + + + OHTA. + + + + + Rec601YCbCr. + + + + + Rec709YCbCr. + + + + + RGB. + + + + + scRGB. + + + + + sRGB. + + + + + Transparent. + + + + + XyY. + + + + + XYZ. + + + + + YCbCr. + + + + + YCC. + + + + + YDbDr. + + + + + YIQ. + + + + + YPbPr. + + + + + YUV. + + + + + LinearGray. + + + + + Jzazbz. + + + + + Specifies color transform modes. + + + + + High resolution (). + + + + + Quantum. + + + + + Specifies the color type of the image. + + + + + Undefined. + + + + + Bilevel. + + + + + Grayscale. + + + + + GrayscaleAlpha. + + + + + Palette. + + + + + PaletteAlpha. + + + + + TrueColor. + + + + + TrueColorAlpha. + + + + + ColorSeparation. + + + + + ColorSeparationAlpha. + + + + + Optimize. + + + + + PaletteBilevelAlpha. + + + + + Specifies a kind of complex operator. + + + + + Undefined. + + + + + Add. + + + + + Conjugate. + + + + + Divide. + + + + + MagnitudePhase. + + + + + Multiply. + + + + + RealImaginary. + + + + + Subtract. + + + + + Specifies the composite operators. + + + + + Undefined. + + + + + Alpha. + + + + + Atop. + + + + + Blend. + + + + + Blur. + + + + + Bumpmap. + + + + + ChangeMask. + + + + + Clear. + + + + + ColorBurn. + + + + + ColorDodge. + + + + + Colorize. + + + + + CopyBlack. + + + + + CopyBlue. + + + + + Copy. + + + + + CopyCyan. + + + + + CopyGreen. + + + + + CopyMagenta. + + + + + CopyAlpha. + + + + + CopyRed. + + + + + CopyYellow. + + + + + Darken. + + + + + DarkenIntensity. + + + + + Difference. + + + + + Displace. + + + + + Dissolve. + + + + + Distort. + + + + + DivideDst. + + + + + DivideSrc. + + + + + DstAtop. + + + + + Dst. + + + + + DstIn. + + + + + DstOut. + + + + + DstOver. + + + + + Exclusion. + + + + + HardLight. + + + + + HardMix. + + + + + Hue. + + + + + In. + + + + + Intensity. + + + + + Lighten. + + + + + LightenIntensity. + + + + + LinearBurn. + + + + + LinearDodge. + + + + + LinearLight. + + + + + Luminize. + + + + + Mathematics. + + + + + MinusDst. + + + + + MinusSrc. + + + + + Modulate. + + + + + ModulusAdd. + + + + + ModulusSubtract. + + + + + Multiply. + + + + + No. + + + + + Out. + + + + + Over. + + + + + Overlay. + + + + + PegtopLight. + + + + + PinLight. + + + + + Plus. + + + + + Replace. + + + + + Saturate. + + + + + Screen. + + + + + SoftLight. + + + + + SrcAtop. + + + + + Src. + + + + + SrcIn. + + + + + SrcOut. + + + + + SrcOver. + + + + + Threshold. + + + + + VividLight. + + + + + Xor. + + + + + Stereo. + + + + + Freeze. + + + + + Interpolate. + + + + + Negate. + + + + + Reflect. + + + + + SoftBurn. + + + + + SoftDodge. + + + + + Stamp. + + + + + RMSE. + + + + + SaliencyBlend. + + + + + SeamlessBlend. + + + + + Specifies compression methods. + + + + + Undefined. + + + + + B44A. + + + + + B44. + + + + + BZip. + + + + + DXT1. + + + + + DXT3. + + + + + DXT5. + + + + + Fax. + + + + + Group4. + + + + + JBIG1. + + + + + JBIG2. + + + + + JPEG2000. + + + + + JPEG. + + + + + LosslessJPEG. + + + + + LZMA. + + + + + LZW. + + + + + NoCompression. + + + + + Piz. + + + + + Pxr24. + + + + + RLE. + + + + + Zip. + + + + + ZipS. + + + + + Zstd. + + + + + WebP. + + + + + DWAA. + + + + + DWAB. + + + + + BC7. + + + + + Units of image resolution. + + + + + Undefied. + + + + + Pixels per inch. + + + + + Pixels per centimeter. + + + + + Specifies distortion methods. + + + + + Undefined. + + + + + Affine. + + + + + AffineProjection. + + + + + ScaleRotateTranslate. + + + + + Perspective. + + + + + PerspectiveProjection. + + + + + BilinearForward. + + + + + BilinearReverse. + + + + + Polynomial. + + + + + Arc. + + + + + Polar. + + + + + DePolar. + + + + + Cylinder2Plane. + + + + + Plane2Cylinder. + + + + + Barrel. + + + + + BarrelInverse. + + + + + Shepards. + + + + + Resize. + + + + + Sentinel. + + + + + RigidAffine. + + + + + Specifies dither methods. + + + + + Undefined. + + + + + No. + + + + + Riemersma. + + + + + FloydSteinberg. + + + + + Specifies endian. + + + + + Undefined. + + + + + LSB. + + + + + MSB. + + + + + Specifies the error metric types. + + + + + Undefined. + + + + + Absolute. + + + + + Fuzz. + + + + + MeanAbsolute. + + + + + MeanErrorPerPixel. + + + + + MeanSquared. + + + + + NormalizedCrossCorrelation. + + + + + PeakAbsolute. + + + + + PeakSignalToNoiseRatio. + + + + + PerceptualHash. + + + + + RootMeanSquared. + + + + + StructuralSimilarity. + + + + + StructuralDissimilarity. + + + + + Specifies the evaluate functions. + + + + + Undefined. + + + + + Arcsin. + + + + + Arctan. + + + + + Polynomial. + + + + + Sinusoid. + + + + + Specifies the evaluate operator. + + + + + Undefined. + + + + + Abs. + + + + + Add. + + + + + AddModulus. + + + + + And. + + + + + Cosine. + + + + + Divide. + + + + + Exponential. + + + + + GaussianNoise. + + + + + ImpulseNoise. + + + + + LaplacianNoise. + + + + + LeftShift. + + + + + Log. + + + + + Max. + + + + + Mean. + + + + + Median. + + + + + Min. + + + + + MultiplicativeNoise. + + + + + Multiply. + + + + + Or. + + + + + PoissonNoise. + + + + + Pow. + + + + + RightShift. + + + + + RootMeanSquare. + + + + + Set. + + + + + Sine. + + + + + Subtract. + + + + + Sum. + + + + + ThresholdBlack. + + + + + Threshold. + + + + + ThresholdWhite. + + + + + UniformNoise. + + + + + Xor. + + + + + InverseLog. + + + + + Specifies fill rule. + + + + + Undefined. + + + + + EvenOdd. + + + + + Nonzero. + + + + + Specifies the filter types. + + + + + Undefined. + + + + + Point. + + + + + Box. + + + + + Triangle. + + + + + Hermite. + + + + + Hann. + + + + + Hamming. + + + + + Blackman. + + + + + Gaussian. + + + + + Quadratic. + + + + + Cubic. + + + + + Catrom. + + + + + Mitchell. + + + + + Jinc. + + + + + Sinc. + + + + + SincFast. + + + + + Kaiser. + + + + + Welch. + + + + + Parzen. + + + + + Bohman. + + + + + Bartlett. + + + + + Lagrange. + + + + + Lanczos. + + + + + LanczosSharp. + + + + + Lanczos2. + + + + + Lanczos2Sharp. + + + + + Robidoux. + + + + + RobidouxSharp. + + + + + Cosine. + + + + + Spline. + + + + + LanczosRadius. + + + + + CubicSpline. + + + + + Specifies font stretch type. + + + + + Undefined. + + + + + Normal. + + + + + UltraCondensed. + + + + + ExtraCondensed. + + + + + Condensed. + + + + + SemiCondensed. + + + + + SemiExpanded. + + + + + Expanded. + + + + + ExtraExpanded. + + + + + UltraExpanded. + + + + + Any. + + + + + Specifies the style of a font. + + + + + Undefined. + + + + + Normal. + + + + + Italic. + + + + + Oblique. + + + + + Any. + + + + + Bold. + + + + + Specifies font weight. + + + + + Undefined. + + + + + Thin (100). + + + + + Extra light (200). + + + + + Ultra light (200). + + + + + Light (300). + + + + + Normal (400). + + + + + Regular (400). + + + + + Medium (500). + + + + + Demi bold (600). + + + + + Semi bold (600). + + + + + Bold (700). + + + + + Extra bold (800). + + + + + Ultra bold (800). + + + + + Heavy (900). + + + + + Black (900). + + + + + Specifies gif disposal methods. + + + + + Undefined. + + + + + None. + + + + + Background. + + + + + Previous. + + + + + Specifies the placement gravity. + + + + + Undefined. + + + + + Forget. + + + + + Northwest. + + + + + North. + + + + + Northeast. + + + + + West. + + + + + Center. + + + + + East. + + + + + Southwest. + + + + + South. + + + + + Southeast. + + + + + Specifies the interlace types. + + + + + Undefined. + + + + + NoInterlace. + + + + + Line. + + + + + Plane. + + + + + Partition. + + + + + Gif. + + + + + Jpeg. + + + + + Png. + + + + + Specifies the built-in kernels. + + + + + Undefined. + + + + + Unity. + + + + + Gaussian. + + + + + DoG. + + + + + LoG. + + + + + Blur. + + + + + Comet. + + + + + Binomial. + + + + + Laplacian. + + + + + Sobel. + + + + + FreiChen. + + + + + Roberts. + + + + + Prewitt. + + + + + Compass. + + + + + Kirsch. + + + + + Diamond. + + + + + Square. + + + + + Rectangle. + + + + + Octagon. + + + + + Disk. + + + + + Plus. + + + + + Cross. + + + + + Ring. + + + + + Peaks. + + + + + Edges. + + + + + Corners. + + + + + Diagonals. + + + + + LineEnds. + + + + + LineJunctions. + + + + + Ridges. + + + + + ConvexHull. + + + + + ThinSE. + + + + + Skeleton. + + + + + Chebyshev. + + + + + Manhattan. + + + + + Octagonal. + + + + + Euclidean. + + + + + UserDefined. + + + + + Specifies line cap. + + + + + Undefined. + + + + + Butt. + + + + + Round. + + + + + Square. + + + + + Specifies line join. + + + + + Undefined. + + + + + Miter. + + + + + Round. + + + + + Bevel. + + + + + Specifies log events. + + + + + None. + + + + + Accelerate. + + + + + Annotate. + + + + + Blob. + + + + + Cache. + + + + + Coder. + + + + + Configure. + + + + + Deprecate. + + + + + Draw. + + + + + Exception. + + + + + Image. + + + + + Locale. + + + + + Module. + + + + + Pixel. + + + + + Policy. + + + + + Resource. + + + + + Trace. + + + + + Transform. + + + + + User. + + + + + Wand. + + + + + All log events except Trace. + + + + + All log. + + + + + Specifies the different file formats that are supported by ImageMagick. + + + + + Unknown. + + + + + Hasselblad CFV/H3D39II. + + + + + Media Container. + + + + + Media Container. + + + + + Raw alpha samples. + + + + + AAI Dune image. + + + + + Adobe Illustrator CS2. + + + + + Animated Portable Network Graphics. + + + + + PFS: 1st Publisher Clip Art. + + + + + Sony Alpha Raw Image Format. + + + + + Image sequence laid out in continuous irregular courses (Unknown). + + + + + Microsoft Audio/Visual Interleaved. + + + + + AV1 Image File Format (Heic). + + + + + AVS X image. + + + + + Raw blue samples. + + + + + Raw mosaiced samples. + + + + + Raw mosaiced and alpha samples. + + + + + Raw blue, green, and red samples. + + + + + Raw blue, green, red, and alpha samples. + + + + + Raw blue, green, red, and opacity samples. + + + + + Microsoft Windows bitmap image. + + + + + Microsoft Windows bitmap image (V2). + + + + + Microsoft Windows bitmap image (V3). + + + + + BRF ASCII Braille format. + + + + + Raw cyan samples. + + + + + Continuous Acquisition and Life-cycle Support Type 1. + + + + + Continuous Acquisition and Life-cycle Support Type 1. + + + + + Constant image uniform color. + + + + + Caption. + + + + + Cineon Image File. + + + + + Cisco IP phone image format. + + + + + Image Clip Mask. + + + + + The system clipboard. + + + + + Raw cyan, magenta, yellow, and black samples. + + + + + Raw cyan, magenta, yellow, black, and alpha samples. + + + + + Canon Digital Camera Raw Image Format. + + + + + Canon Digital Camera Raw Image Format. + + + + + Canon Digital Camera Raw Image Format. + + + + + Cube color lookup table image. + + + + + Microsoft icon. + + + + + DR Halo. + + + + + Base64-encoded inline images. + + + + + Digital Imaging and Communications in Medicine image. + + + + + Kodak Digital Camera Raw Image File. + + + + + Raw Photo Decoder (dcraw) (Dng). + + + + + ZSoft IBM PC multi-page Paintbrush. + + + + + Microsoft DirectDraw Surface. + + + + + Multi-face font package. + + + + + Microsoft Windows 3.X Packed Device-Independent Bitmap. + + + + + Digital Negative. + + + + + SMPTE 268M-2003 (DPX 2.0). + + + + + Microsoft DirectDraw Surface. + + + + + Microsoft DirectDraw Surface. + + + + + Windows Enhanced Meta File. + + + + + Encapsulated Portable Document Format. + + + + + Encapsulated PostScript Interchange format. + + + + + Encapsulated PostScript. + + + + + Level II Encapsulated PostScript. + + + + + Level III Encapsulated PostScript. + + + + + Encapsulated PostScript. + + + + + Encapsulated PostScript Interchange format. + + + + + Encapsulated PostScript with TIFF preview. + + + + + Encapsulated PostScript Level II with TIFF preview. + + + + + Encapsulated PostScript Level III with TIFF preview. + + + + + Epson RAW Format. + + + + + High Dynamic-range (HDR). + + + + + Farbfeld. + + + + + Group 3 FAX. + + + + + Farbfeld. + + + + + Uniform Resource Locator (file://). + + + + + Flexible Image Transport System. + + + + + FilmLight. + + + + + Flash Video Stream. + + + + + Plasma fractal image. + + + + + Uniform Resource Locator (ftp://). + + + + + Flexible Image Transport System. + + + + + Formatted text image. + + + + + Raw green samples. + + + + + Group 3 FAX. + + + + + Group 4 FAX. + + + + + CompuServe graphics interchange format. + + + + + CompuServe graphics interchange format. + + + + + Gradual linear passing from one shade to another. + + + + + Raw gray samples. + + + + + Raw gray and alpha samples. + + + + + Raw CCITT Group4. + + + + + Identity Hald color lookup table image. + + + + + Radiance RGBE image format. + + + + + High Efficiency Image Format. + + + + + High Efficiency Image Format. + + + + + Histogram of the image. + + + + + Slow Scan TeleVision. + + + + + Hypertext Markup Language and a client-side image map. + + + + + Hypertext Markup Language and a client-side image map. + + + + + Uniform Resource Locator (http://). + + + + + Uniform Resource Locator (https://). + + + + + Truevision Targa image. + + + + + Microsoft icon. + + + + + Microsoft icon. + + + + + Phase One Raw Image Format. + + + + + The image format and characteristics. + + + + + Base64-encoded inline images. + + + + + IPL Image Sequence. + + + + + ISO/TR 11548-1 format. + + + + + ISO/TR 11548-1 format 6dot. + + + + + JPEG-2000 Code Stream Syntax. + + + + + JPEG-2000 Code Stream Syntax. + + + + + JPEG Network Graphics. + + + + + Garmin tile format. + + + + + JPEG-2000 File Format Syntax. + + + + + JPEG-2000 Code Stream Syntax. + + + + + Joint Photographic Experts Group JFIF format. + + + + + Joint Photographic Experts Group JFIF format. + + + + + Joint Photographic Experts Group JFIF format. + + + + + JPEG-2000 File Format Syntax. + + + + + Joint Photographic Experts Group JFIF format. + + + + + JPEG-2000 File Format Syntax. + + + + + The image format and characteristics. + + + + + JPEG XL Lossless JPEG1 Recompression. + + + + + Raw black samples. + + + + + Kodak Digital Camera Raw Image Format. + + + + + Kodak Digital Camera Raw Image Format. + + + + + Image label. + + + + + Raw magenta samples. + + + + + MPEG Video Stream. + + + + + Raw MPEG-4 Video. + + + + + MAC Paint. + + + + + Colormap intensities and indices. + + + + + Image Clip Mask. + + + + + MATLAB level 5 image format. + + + + + MATTE format. + + + + + Mamiya Raw Image File. + + + + + Magick Image File Format. + + + + + Multimedia Container. + + + + + Multiple-image Network Graphics. + + + + + Raw bi-level bitmap. + + + + + MPEG Video Stream. + + + + + MPEG-4 Video Stream. + + + + + Magick Persistent Cache image format. + + + + + MPEG Video Stream. + + + + + MPEG Video Stream. + + + + + Sony (Minolta) Raw Image File. + + + + + Magick Scripting Language. + + + + + ImageMagick's own SVG internal renderer. + + + + + MTV Raytracing image format. + + + + + Magick Vector Graphics. + + + + + Nikon Digital SLR Camera Raw Image File. + + + + + Nikon Digital SLR Camera Raw Image File. + + + + + Constant image of uniform color. + + + + + Raw opacity samples. + + + + + OpenRaster format. + + + + + Olympus Digital Camera Raw Image File. + + + + + On-the-air bitmap. + + + + + Open Type font. + + + + + 16bit/pixel interleaved YUV. + + + + + Palm pixmap. + + + + + Common 2-dimensional bitmap format. + + + + + Pango Markup Language. + + + + + Predefined pattern. + + + + + Portable bitmap format (black and white). + + + + + Photo CD. + + + + + Photo CD. + + + + + Printer Control Language. + + + + + Apple Macintosh QuickDraw/PICT. + + + + + ZSoft IBM PC Paintbrush. + + + + + Palm Database ImageViewer Format. + + + + + Portable Document Format. + + + + + Portable Document Archive Format. + + + + + Pentax Electronic File. + + + + + Embrid Embroidery Format. + + + + + Postscript Type 1 font (ASCII). + + + + + Postscript Type 1 font (binary). + + + + + Portable float format. + + + + + Portable graymap format (gray scale). + + + + + Portable half float format. + + + + + JPEG 2000 uncompressed format. + + + + + Personal Icon. + + + + + Apple Macintosh QuickDraw/PICT. + + + + + Alias/Wavefront RLE image format. + + + + + Joint Photographic Experts Group JFIF format. + + + + + Plasma fractal image. + + + + + Portable Network Graphics. + + + + + PNG inheriting bit-depth and color-type from original. + + + + + opaque or binary transparent 24-bit RGB. + + + + + opaque or transparent 32-bit RGBA. + + + + + opaque or binary transparent 48-bit RGB. + + + + + opaque or transparent 64-bit RGBA. + + + + + 8-bit indexed with optional binary transparency. + + + + + Portable anymap. + + + + + Pocketmod Personal Organizer (Pdf). + + + + + Portable pixmap format (color). + + + + + PostScript. + + + + + Level II PostScript. + + + + + Level III PostScript. + + + + + Adobe Large Document Format. + + + + + Adobe Photoshop bitmap. + + + + + Pyramid encoded TIFF. + + + + + Seattle Film Works. + + + + + Quite OK image format. + + + + + Raw red samples. + + + + + Gradual radial passing from one shade to another. + + + + + Fuji CCD-RAW Graphic File. + + + + + SUN Rasterfile. + + + + + Raw. + + + + + Raw red, green, and blue samples. + + + + + Raw red, green, blue samples in 565 format. + + + + + Raw red, green, blue, and alpha samples. + + + + + Raw red, green, blue, and opacity samples. + + + + + LEGO Mindstorms EV3 Robot Graphic Format (black and white). + + + + + Alias/Wavefront image. + + + + + Utah Run length encoded image. + + + + + Raw Media Format. + + + + + Rsvg. + + + + + Panasonic Lumix Raw Image. + + + + + ZX-Spectrum SCREEN$. + + + + + Screen shot. + + + + + Scitex HandShake. + + + + + Seattle Film Works. + + + + + Irix RGB image. + + + + + Hypertext Markup Language and a client-side image map. + + + + + DEC SIXEL Graphics Format. + + + + + DEC SIXEL Graphics Format. + + + + + Sparse Color. + + + + + Sony Raw Format 2. + + + + + Sony Raw Format. + + + + + Steganographic image. + + + + + String to image and back. + + + + + SUN Rasterfile. + + + + + Scalable Vector Graphics. + + + + + Compressed Scalable Vector Graphics. + + + + + Text. + + + + + Truevision Targa image. + + + + + EXIF Profile Thumbnail. + + + + + Tagged Image File Format. + + + + + Tagged Image File Format. + + + + + Tagged Image File Format (64-bit). + + + + + Tile image with a texture. + + + + + PSX TIM. + + + + + PS2 TIM2. + + + + + TrueType font collection. + + + + + TrueType font. + + + + + Text. + + + + + Unicode Text format. + + + + + Unicode Text format 6dot. + + + + + X-Motif UIL table. + + + + + 16bit/pixel interleaved YUV. + + + + + Truevision Targa image. + + + + + VICAR rasterfile format. + + + + + Visual Image Directory. + + + + + Open Web Media. + + + + + Khoros Visualization image. + + + + + VIPS image. + + + + + Truevision Targa image. + + + + + WebP Image Format. + + + + + Wireless Bitmap (level 0) image. + + + + + Windows Meta File. + + + + + Windows Media Video. + + + + + Word Perfect Graphics. + + + + + Sigma Camera RAW Picture File. + + + + + X Windows system bitmap (black and white). + + + + + Constant image uniform color. + + + + + GIMP image. + + + + + X Windows system pixmap (color). + + + + + Microsoft XML Paper Specification. + + + + + Khoros Visualization image. + + + + + Raw yellow samples. + + + + + The image format and characteristics. + + + + + Raw Y, Cb, and Cr samples. + + + + + Raw Y, Cb, Cr, and alpha samples. + + + + + CCIR 601 4:1:1 or 4:2:2. + + + + + Specifies the morphology methods. + + + + + Undefined. + + + + + Convolve. + + + + + Correlate. + + + + + Erode. + + + + + Dilate. + + + + + ErodeIntensity. + + + + + DilateIntensity. + + + + + IterativeDistance. + + + + + Open. + + + + + Close. + + + + + OpenIntensity. + + + + + CloseIntensity. + + + + + Smooth. + + + + + EdgeIn. + + + + + EdgeOut. + + + + + Edge. + + + + + TopHat. + + + + + BottomHat. + + + + + HitAndMiss. + + + + + Thinning. + + + + + Thicken. + + + + + Distance. + + + + + Voronoi. + + + + + Specified the type of noise that should be added to the image. + + + + + Undefined. + + + + + Uniform. + + + + + Gaussian. + + + + + MultiplicativeGaussian. + + + + + Impulse. + + + + + Poisson. + + + + + Poisson. + + + + + Random. + + + + + Specifies the OpenCL device types. + + + + + Undefined. + + + + + Cpu. + + + + + Gpu. + + + + + Specified the photo orientation of the image. + + + + + Undefined. + + + + + TopLeft. + + + + + TopRight. + + + + + BottomRight. + + + + + BottomLeft. + + + + + LeftTop. + + + + + RightTop. + + + + + RightBottom. + + + + + LeftBotom. + + + + + Specifies the paint method. + + + + + Undefined. + + + + + Select the target pixel. + + + + + Select any pixel that matches the target pixel. + + + + + Select the target pixel and matching neighbors. + + + + + Select the target pixel and neighbors not matching border color. + + + + + Select all pixels. + + + + + Specifies the pixel channels. + + + + + Red. + + + + + Cyan. + + + + + Gray. + + + + + Green. + + + + + Magenta. + + + + + Blue. + + + + + Yellow. + + + + + Black. + + + + + Alpha. + + + + + Index. + + + + + Composite. + + + + + Pixel intensity methods. + + + + + Undefined. + + + + + Average. + + + + + Brightness. + + + + + Lightness. + + + + + MS. + + + + + Rec601Luma. + + + + + Rec601Luminance. + + + + + Rec709Luma. + + + + + Rec709Luminance. + + + + + RMS. + + + + + Pixel color interpolate methods. + + + + + Undefined. + + + + + Average. + + + + + Average9. + + + + + Average16. + + + + + Background. + + + + + Bilinear. + + + + + Blend. + + + + + Catrom. + + + + + Integer. + + + + + Mesh. + + + + + Nearest. + + + + + Spline. + + + + + An enumeration for pixel mapping mode. + + + + + RGB. + + + + + BGR. + + + + + RGBA. + + + + + ABGR. + + + + + CMYK. + + + + + Specifies the type of rendering intent. + + + + + Undefined. + + + + + Saturation. + + + + + Perceptual. + + + + + Absolute. + + + + + Relative. + + + + + The sparse color methods. + + + + + Undefined. + + + + + Barycentric. + + + + + Bilinear. + + + + + Polynomial. + + + + + Shepards. + + + + + Voronoi. + + + + + Inverse. + + + + + Manhattan. + + + + + Specifies the statistic types. + + + + + Undefined. + + + + + Gradient. + + + + + Maximum. + + + + + Mean. + + + + + Median. + + + + + Minimum. + + + + + Mode. + + + + + Nonpeak. + + + + + RootMeanSquare. + + + + + StandardDeviation. + + + + + Specifies the pixel storage types. + + + + + Undefined. + + + + + Char. + + + + + Double. + + + + + Float. + + + + + Int32. + + + + + Int64. + + + + + Quantum. + + + + + Short. + + + + + Specified the type of text alignment. + + + + + Undefined. + + + + + Left. + + + + + Center. + + + + + Right. + + + + + Specified the type of decoration for text. + + + + + Undefined. + + + + + NoDecoration. + + + + + Underline. + + + + + Overline. + + + + + LineThrough. + + + + + Specified the direction for text. + + + + + Undefined. + + + + + RightToLeft. + + + + + LeftToRight. + + + + + Specifies the virtual pixel methods. + + + + + Undefined. + + + + + Background. + + + + + Dither. + + + + + Edge. + + + + + Mirror. + + + + + Random. + + + + + Tile. + + + + + Transparent. + + + + + Mask. + + + + + Black. + + + + + Gray. + + + + + White. + + + + + HorizontalTile. + + + + + VerticalTile. + + + + + HorizontalTileEdge. + + + + + VerticalTileEdge. + + + + + CheckerTile. + + + + + EventArgs for Log events. + + + + + Initializes a new instance of the class. + + The type of the log message. + The log message. + + + + Gets the type of the log message. + + + + + Gets the log message. + + + + + EventArgs for Progress events. + + + + + Initializes a new instance of the class. + + The originator of this event. + The offset. + The extent. + + + + Gets the originator of this event. + + + + + Gets the progress percentage. + + + + + Gets or sets a value indicating whether the current operation will be canceled. + + + + + Arguments for the Warning event. + + + + + Initializes a new instance of the class. + + The MagickWarningException that was thrown. + + + + Gets the message of the exception. + + + + + Gets the MagickWarningException that was thrown. + + + + + Encapsulation of the ImageMagick BlobError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CacheError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CoderError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ConfigureError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CorruptImageError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick DelegateError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick DrawError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick Error exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick FileOpenError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ImageError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick MissingDelegateError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ModuleError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick OptionError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick PolicyError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick RegistryError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ResourceLimitError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick StreamError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick TypeError exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick exception object. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Gets the exceptions that are related to this exception. + + + + + Sets the related exceptions of this exception. + + The related exceptions. + + + + Encapsulation of the ImageMagick BlobWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CacheWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CoderWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ConfigureWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick CorruptImageWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick DelegateWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick DrawWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick FileOpenWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ImageWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick MissingDelegateWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ModuleWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick OptionWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick PolicyWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick RegistryWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick ResourceLimitWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick StreamWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick TypeWarning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Encapsulation of the ImageMagick Warning exception. + + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + + + + Class that can be used to create instances. + + The quantum type. + + + + Initializes a new instance that implements . + + A new instance. + + + + Class that can be used to create instances. + + The quantum type. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + The color to use. + + + + Initializes a new instance that implements . + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + A new instance. + + + + Initializes a new instance that implements . + + Red component value of this color. + Green component value of this color. + Blue component value of this color. + Alpha component value of this color. + A new instance. + + + + Initializes a new instance that implements . + + Cyan component value of this color. + Magenta component value of this color. + Yellow component value of this color. + Black component value of this color. + Alpha component value of this colors. + A new instance. + + + + Initializes a new instance that implements . + + The RGBA/CMYK hex string or name of the color (http://www.imagemagick.org/script/color.php). + For example: #F000, #FF000000, #FFFF000000000000. + A new instance. + + + + Class that can be used to create various instances. + + + + + Gets the configuration files. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets the MagickNET information. + + + + + Gets a factory that can be used to create various matrix instances. + + + + + Gets the OpenCL information. + + + + + Gets the resource limits. + + + + + Class that can be used to create various instances. + + The quantum type. + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create color instances by name. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets a factory that can be used to create instances. + + + + + Gets the quantum information. + + + + + Gets a factory that can be used to create various settings. + + + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The width and height. + A new instance. + + + + Initializes a new instance that implements . + + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The X offset from origin. + The Y offset from origin. + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The percentage of the width. + The percentage of the height. + A new instance. + + + + Initializes a new instance that implements . + + The X offset from origin. + The Y offset from origin. + The percentage of the width. + The percentage of the height. + A new instance. + + + + Initializes a new instance that implements . + + Geometry specifications in the form: <width>x<height> + {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers). + A new instance. + + + + Initializes a new instance using the specified page size. + + The page size. + A instance that represents the specified page size. + + + + Class that can be used to create instances. + + The quantum type. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The images to add to the collection. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create instances. + + The quantum type. + + + + + Initializes a new instance that implements . + + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The color to fill the image with. + The width. + The height. + A new instance. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + The settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the image data from. + The pixel settings to use when reading the image. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create instances. + + + Class that can be used to create instances. + + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + The byte array to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The file to read the image from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The stream to read the image data from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The fully qualified name of the image file, or the relative image file name. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The sequence of bytes to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Initializes a new instance that implements . + + The span of bytes to read the information from. + A new instance. + Thrown when an error is raised by ImageMagick. + + + + Class that can be used to create various matrix instances. + + + + + Initializes a new instance that implements . + + A new instance. + The order (1 to 6). + + + + Initializes a new instance that implements . + + A new instance. + The order (1 to 6). + The values to initialize the matrix with. + + + + Initializes a new instance that implements . + + A new instance. + The order (odd number). + + + + Initializes a new instance that implements . + + A new instance. + The order (odd number). + The values to initialize the matrix with. + + + + Class that can be used to create various settings. + + The quantum type. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Initializes a new instance that implements . + + A new instance. + + + + Interface for classes that can optimize an image. + + + + + Gets the format that the optimizer supports. + + + + + Gets or sets a value indicating whether various compression types will be used to find + the smallest file. This process will take extra time because the file has to be written + multiple times. + + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The image file to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified file. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new file size is not + smaller the file won't be overwritten. + + The file name of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs compression on the specified stream. With some formats the image will be decoded + and encoded and this will result in a small quality reduction. If the new size is not + smaller the stream won't be overwritten. + + The stream of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The image file to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified file. If the new file size is not smaller + the file won't be overwritten. + + The file name of the image to compress. + True when the image could be compressed otherwise false. + + + + Performs lossless compression on the specified stream. If the new stream size is not smaller + the stream won't be overwritten. + + The stream of the image to compress. + True when the image could be compressed otherwise false. + + + + Interface that contains information about an image format. + + + + + Gets a value indicating whether the format can be read multithreaded. + + + + + Gets a value indicating whether the format can be written multithreaded. + + + + + Gets the description of the format. + + + + + Gets the format. + + + + + Gets a value indicating whether the format supports multiple frames. + + + + + Gets a value indicating whether the format is readable. + + + + + Gets a value indicating whether the format is writable. + + + + + Gets the mime type. + + + + + Gets the module. + + + + + Returns a string that represents the current format. + + A string that represents the current format. + + + + Unregisters this format. + + True when the format was found and unregistered. + + + + Interface that represents an ImageMagick image. + + + + + + Event that will be raised when progress is reported by this image. + + + + + Event that will we raised when a warning is thrown by ImageMagick. + + + + + Gets or sets the time in 1/100ths of a second which must expire before splaying the next image in an + animated sequence. + + + + + Gets or sets the number of iterations to loop an animation (e.g. Netscape loop extension) for. + + + + + Gets or sets the ticks per seconds for the animation delay. + + + + + Gets the names of the artifacts. + + + + + Gets the names of the attributes. + + + + + Gets the height of the image before transformations. + + + + + Gets the width of the image before transformations. + + + + + Gets or sets a value indicating whether black point compensation should be used. + + + + + Gets the smallest bounding box enclosing non-border pixels. The current fuzz value is used + when discriminating between pixels. + + + + + Gets the number of channels that the image contains. + + + + + Gets the channels of the image. + + + + + Gets or sets the chromaticity blue primary point. + + + + + Gets or sets the chromaticity green primary point. + + + + + Gets or sets the chromaticity red primary point. + + + + + Gets or sets the chromaticity white primary point. + + + + + Gets or sets the image class (DirectClass or PseudoClass) + NOTE: Setting a DirectClass image to PseudoClass will result in the loss of color information + if the number of colors in the image is greater than the maximum palette size (either 256 (Q8) + or 65536 (Q16). + + + + + Gets or sets the distance where colors are considered equal. + + + + + Gets or sets the colormap size (number of colormap entries). + + + + + Gets or sets the color space of the image. + + + + + Gets or sets the color type of the image. + + + + + Gets or sets the comment text of the image. + + + + + Gets or sets the composition operator to be used when composition is implicitly used (such as for image flattening). + + + + + Gets the compression method of the image. + + + + + Gets or sets the vertical and horizontal resolution in pixels of the image. + + + + + Gets or sets the depth (bits allocated to red/green/blue components). + + + + + Gets the preferred size of the image when encoding. + + Thrown when an error is raised by ImageMagick. + + + + Gets or sets the endianness (little like Intel or big like SPARC) for image formats which support + endian-specific options. + + + + + Gets the original file name of the image (only available if read from disk). + + + + + Gets or sets the filter to use when resizing image. + + + + + Gets or sets the format of the image. + + + + + Gets the information about the format of the image. + + + + + Gets the gamma level of the image. + + Thrown when an error is raised by ImageMagick. + + + + Gets or sets the gif disposal method. + + + + + Gets or sets a value indicating whether the image supports transparency (alpha channel). + + + + + Gets the height of the image. + + + + + Gets or sets the type of interlacing to use. + + + + + Gets or sets the pixel color interpolate method to use. + + + + + Gets a value indicating whether the instance is disposed. + + + + + Gets a value indicating whether none of the pixels in the image have an alpha value other + than OpaqueAlpha (QuantumRange). + + + + + Gets or sets the label of the image. + + + + + Gets or sets the photo orientation of the image. + + + + + Gets or sets the preferred size and location of an image canvas. + + + + + Gets the names of the profiles. + + + + + Gets or sets the JPEG/MIFF/PNG compression level (default 75). + + + + + Gets or sets the type of rendering intent. + + + + + Gets the signature of this image. + + Thrown when an error is raised by ImageMagick. + + + + Gets the number of colors in the image. + + + + + Gets or sets the virtual pixel method. + + + + + Gets the width of the image. + + + + + Adaptive-blur image with the default blur factor (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Adaptive-blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + Thrown when an error is raised by ImageMagick. + + + + Adaptive-blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Resize using mesh interpolation. It works well for small resizes of less than +/- 50% + of the original image size. For larger resizing on images a full filtered and slower resize + function should be used instead. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize using mesh interpolation. It works well for small resizes of less than +/- 50% + of the original image size. For larger resizing on images a full filtered and slower resize + function should be used instead. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Adaptively sharpens the image by sharpening more intensely near image edges and less + intensely far from edges. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean (+/-)(0-QuantumRange). + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean (+/-)(0-QuantumRange). + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean. + Thrown when an error is raised by ImageMagick. + + + + Local adaptive threshold image. + http://www.dai.ed.ac.uk/HIPR2/adpthrsh.htm. + + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Constant to subtract from pixel neighborhood mean. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Add noise to image with the specified noise type. + + The type of noise that should be added to the image. + Thrown when an error is raised by ImageMagick. + + + + Add noise to the specified channel of the image with the specified noise type. + + The type of noise that should be added to the image. + The channel(s) where the noise should be added. + Thrown when an error is raised by ImageMagick. + + + + Add noise to image with the specified noise type. + + The type of noise that should be added to the image. + Attenuate the random distribution. + Thrown when an error is raised by ImageMagick. + + + + Add noise to the specified channel of the image with the specified noise type. + + The type of noise that should be added to the image. + Attenuate the random distribution. + The channel(s) where the noise should be added. + Thrown when an error is raised by ImageMagick. + + + + Affine Transform image. + + The affine matrix to use. + Thrown when an error is raised by ImageMagick. + + + + Applies the specified alpha option. + + The option to use. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, and bounding area. + + The text to use. + The bounding area. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, bounding area, and placement gravity. + + The text to use. + The bounding area. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Annotate using specified text, bounding area, and placement gravity. + + The text to use. + The bounding area. + The placement gravity. + The rotation. + Thrown when an error is raised by ImageMagick. + + + + Annotate with text (bounding area is entire image) and placement gravity. + + The text to use. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriatally. + + Thrown when an error is raised by ImageMagick. + + + + Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriatally. + + The channel(s) to set the gamma for. + Thrown when an error is raised by ImageMagick. + + + + Adjusts the levels of a particular image channel by scaling the minimum and maximum values + to the full quantum range. + + Thrown when an error is raised by ImageMagick. + + + + Adjusts the levels of a particular image channel by scaling the minimum and maximum values + to the full quantum range. + + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjusts an image so that its orientation is suitable for viewing. + + Thrown when an error is raised by ImageMagick. + + + + Automatically selects a threshold and replaces each pixel in the image with a black pixel if + the image intentsity is less than the selected threshold otherwise white. + + The threshold method. + Thrown when an error is raised by ImageMagick. + + + + Applies a non-linear, edge-preserving, and noise-reducing smoothing filter. + + The width of the neighborhood in pixels. + The height of the neighborhood in pixels.\ + + + + Applies a non-linear, edge-preserving, and noise-reducing smoothing filter. + + The width of the neighborhood in pixels. + The height of the neighborhood in pixels. + The sigma in the intensity space. + The sigma in the coordinate space. + + + + Forces all pixels below the threshold into black while leaving all pixels at or above + the threshold unchanged. + + The threshold to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels below the threshold into black while leaving all pixels at or above + the threshold unchanged. + + The threshold to use. + The channel(s) to make black. + Thrown when an error is raised by ImageMagick. + + + + Simulate a scene at nighttime in the moonlight. + + Thrown when an error is raised by ImageMagick. + + + + Simulate a scene at nighttime in the moonlight. + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Blur image with the default blur factor (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Blur image the specified channel of the image with the default blur factor (0x1). + + The channel(s) that should be blurred. + Thrown when an error is raised by ImageMagick. + + + + Blur image with specified blur factor. + + The radius of the Gaussian in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Blur image with specified blur factor and channel. + + The radius of the Gaussian in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be blurred. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The size of the border. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The width of the border. + The height of the border. + Thrown when an error is raised by ImageMagick. + + + + Border image (add border to image). + + The size of the border. + Thrown when an error is raised by ImageMagick. + + + + Changes the brightness and/or contrast of an image. It converts the brightness and + contrast parameters into slope and intercept and calls a polynomical function to apply + to the image. + + The brightness. + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Changes the brightness and/or contrast of an image. It converts the brightness and + contrast parameters into slope and intercept and calls a polynomical function to apply + to the image. + + The brightness. + The contrast. + The channel(s) that should be changed. + Thrown when an error is raised by ImageMagick. + + + + Uses a multi-stage algorithm to detect a wide range of edges in images. + + Thrown when an error is raised by ImageMagick. + + + + Uses a multi-stage algorithm to detect a wide range of edges in images. + + The radius of the gaussian smoothing filter. + The sigma of the gaussian smoothing filter. + Percentage of edge pixels in the lower threshold. + Percentage of edge pixels in the upper threshold. + Thrown when an error is raised by ImageMagick. + + + + Charcoal effect image (looks like charcoal sketch). + + Thrown when an error is raised by ImageMagick. + + + + Charcoal effect image (looks like charcoal sketch). + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove vertical or horizontal subregion of image) using the specified geometry. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove horizontal subregion of image). + + The X offset from origin. + The width of the part to chop horizontally. + Thrown when an error is raised by ImageMagick. + + + + Chop image (remove horizontal subregion of image). + + The Y offset from origin. + The height of the part to chop vertically. + Thrown when an error is raised by ImageMagick. + + + + A variant of adaptive histogram equalization in which the contrast amplification is limited, + so as to reduce this problem of noise amplification. + + The percentage of tile divisions to use in horizontal direction. + The percentage of tile divisions to use in vertical direction. + The number of bins for histogram ("dynamic range"). + The contrast limit for localised changes in contrast. A limit less than 1 + results in standard non-contrast limited AHE. + + + + A variant of adaptive histogram equalization in which the contrast amplification is limited, + so as to reduce this problem of noise amplification. + + The number of tile divisions to use in horizontal direction. + The number of tile divisions to use in vertical direction. + The number of bins for histogram ("dynamic range"). + The contrast limit for localised changes in contrast. A limit less than 1 + results in standard non-contrast limited AHE. + + + + Set each pixel whose value is below zero to zero and any the pixel whose value is above + the quantum range to the quantum range (Quantum.Max) otherwise the pixel value + remains unchanged. + + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is below zero to zero and any the pixel whose value is above + the quantum range to the quantum range (Quantum.Max) otherwise the pixel value + remains unchanged. + + The channel(s) to clamp. + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect inside + the clipping path. + + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect inside + the clipping path. + + Name of clipping path resource. If name is preceded by #, use + clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect outside + the clipping path. + + Thrown when an error is raised by ImageMagick. + + + + Sets the image clip mask based on any clipping path information if it exists. The clipping + path can be removed with . This operating takes effect outside + the clipping path. + + Name of clipping path resource. If name is preceded by #, use + clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (CLUT) to the image. + + The image to use. + Pixel interpolate method. + The channel(s) to clut. + Thrown when an error is raised by ImageMagick. + + + + Applies the color decision list from the specified ASC CDL file. + + The file to read the ASC CDL information from. + Thrown when an error is raised by ImageMagick. + + + + Apply a color matrix to the image channels. + + The color matrix to use. + Thrown when an error is raised by ImageMagick. + + + + Compare current image with another image and returns error information. + + The other image to compare with this image. + The error information. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The image that will contain the difference. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The metric to use. + The image that will contain the difference. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the 'In' operator. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Compose an image onto another at specified offset using the specified algorithm. + + The image to composite with this image. + The placement gravity. + The X offset from origin. + The Y offset from origin. + The algorithm to use. + The arguments for the algorithm (compose:args). + The channel(s) to composite. + Thrown when an error is raised by ImageMagick. + + + + Contrast image (enhance intensity differences in image). + + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + The white point. + Thrown when an error is raised by ImageMagick. + + + + A simple image enhancement technique that attempts to improve the contrast in an image by + 'stretching' the range of intensity values it contains to span a desired range of values. + It differs from the more sophisticated histogram equalization in that it can only apply a + linear scaling function to the image pixel values. As a result the 'enhancement' is less harsh. + + The black point. + The white point. + The channel(s) to constrast stretch. + Thrown when an error is raised by ImageMagick. + + + + Returns the convex hull points of an image canvas. + + The convex hull points of an image canvas. + Thrown when an error is raised by ImageMagick. + + + + Convolve image. Applies a user-specified convolution to the image. + + The convolution matrix. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The geometry to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image to the destination image. + + The source image to copy the pixels from. + The geometry to copy. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image as defined by the geometry the destination image at + the specified offset. + + The source image to copy the pixels from. + The geometry to copy. + The X offset to start the copy from. + The Y offset to start the copy from. + Thrown when an error is raised by ImageMagick. + + + + Copies pixels from the source image as defined by the geometry the destination image at + the specified offset. + + The source image to copy the pixels from. + The geometry to copy. + The X offset to copy the pixels to. + The Y offset to copy the pixels to. + The channels to copy. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The width of the subregion. + The height of the subregion. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The width of the subregion. + The height of the subregion. + The position where the cropping should start from. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The subregion to crop. + Thrown when an error is raised by ImageMagick. + + + + Crop image (subregion of original image). RePage should be called unless the Page information + is needed. + + The subregion to crop. + The position where the cropping should start from. + Thrown when an error is raised by ImageMagick. + + + + Displaces an image's colormap by a given number of positions. + + Displace the colormap this amount. + Thrown when an error is raised by ImageMagick. + + + + Converts cipher pixels to plain pixels. + + The password that was used to encrypt the image. + Thrown when an error is raised by ImageMagick. + + + + Removes skew from the image. Skew is an artifact that occurs in scanned images because of + the camera being misaligned, imperfections in the scanning or surface, or simply because + the paper was not placed completely flat when scanned. The value of threshold ranges + from 0 to QuantumRange. + + The threshold. + Thrown when an error is raised by ImageMagick. + The angle that was used. + + + + Removes skew from the image. Skew is an artifact that occurs in scanned images because of + the camera being misaligned, imperfections in the scanning or surface, or simply because + the paper was not placed completely flat when scanned. The value of threshold ranges + from 0 to QuantumRange. + + The deskew settings. + Thrown when an error is raised by ImageMagick. + The angle that was used. + + + + Despeckle image (reduce speckle noise). + + Thrown when an error is raised by ImageMagick. + + + + Determines the bit depth (bits allocated to red/green/blue components). Use the Depth + property to get the current value. + + Thrown when an error is raised by ImageMagick. + The bit depth (bits allocated to red/green/blue components). + + + + Determines the bit depth (bits allocated to red/green/blue components) of the specified channel. + + The channel to get the depth for. + Thrown when an error is raised by ImageMagick. + The bit depth (bits allocated to red/green/blue components) of the specified channel. + + + + Determines the color type of the image. This method can be used to automatically make the + type GrayScale. + + Thrown when an error is raised by ImageMagick. + The color type of the image. + + + + Distorts an image using various distortion methods, by mapping color lookups of the source + image to a new destination image of the same size as the source image. + + The distortion method to use. + An array containing the arguments for the distortion. + Thrown when an error is raised by ImageMagick. + + + + Distorts an image using various distortion methods, by mapping color lookups of the source + image to a new destination image usually of the same size as the source image, unless + 'bestfit' is set to true. + + The distortion method to use. + The settings for the distort operation. + An array containing the arguments for the distortion. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using one or more drawables. + + The drawable(s) to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Draw on image using a collection of drawables. + + The drawables to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Edge image (highlight edges in image). + + The radius of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Emboss image (highlight edges with 3D effect) with default value (0x1). + + Thrown when an error is raised by ImageMagick. + + + + Emboss image (highlight edges with 3D effect). + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Converts pixels to cipher-pixels. + + The password that to encrypt the image with. + Thrown when an error is raised by ImageMagick. + + + + Applies a digital filter that improves the quality of a noisy image. + + Thrown when an error is raised by ImageMagick. + + + + Applies a histogram equalization to the image. + + Thrown when an error is raised by ImageMagick. + + + + Applies a histogram equalization to the image. + + The channel(s) to apply the operator on. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The function. + The arguments for the function. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The geometry to use. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Apply an arithmetic or bitwise operator to the image pixel quantums. + + The channel(s) to apply the operator on. + The geometry to use. + The operator. + The value. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The X offset from origin. + The Y offset from origin. + The width to extend the image to. + The height to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the rectangle. + + The geometry to extend the image to. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The placement gravity. + Thrown when an error is raised by ImageMagick. + + + + Flip image (reflect each scanline in the vertical direction). + + Thrown when an error is raised by ImageMagick. + + + + Flop image (reflect each scanline in the horizontal direction). + + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Obtain font metrics for text string given current font, pointsize, and density settings. + + The text to get the font metrics for. + Specifies if newlines should be ignored. + The font metrics for text. + Thrown when an error is raised by ImageMagick. + + + + Formats the specified expression, more info here: http://www.imagemagick.org/script/escape.php. + + The expression, more info here: http://www.imagemagick.org/script/escape.php. + The result of the expression. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the default geometry (25x25+6+6). + + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified geometry. + + The geometry of the frame. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified with and height. + + The width of the frame. + The height of the frame. + Thrown when an error is raised by ImageMagick. + + + + Frame image with the specified with, height, innerBevel and outerBevel. + + The width of the frame. + The height of the frame. + The inner bevel of the frame. + The outer bevel of the frame. + Thrown when an error is raised by ImageMagick. + + + + Applies a mathematical expression to the image. + + The expression to apply. + Thrown when an error is raised by ImageMagick. + + + + Applies a mathematical expression to the image. + + The expression to apply. + The channel(s) to apply the expression to. + Thrown when an error is raised by ImageMagick. + + + + Gamma correct image. + + The image gamma. + Thrown when an error is raised by ImageMagick. + + + + Gamma correct image. + + The image gamma for the channel. + The channel(s) to gamma correct. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The standard deviation of the gaussian bell curve. + Thrown when an error is raised by ImageMagick. + + + + Gaussian blur image. + + The number of neighbor pixels to be included in the convolution. + The standard deviation of the gaussian bell curve. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the 8bim profile from the image. + + Thrown when an error is raised by ImageMagick. + The 8bim profile from the image. + + + + Returns the value of the artifact with the specified name. + + The name of the artifact. + The value of the artifact with the specified name. + + + + Returns the value of a named image attribute. + + The name of the attribute. + The value of a named image attribute. + Thrown when an error is raised by ImageMagick. + + + + Returns the default clipping path. Null will be returned if the image has no clipping path. + + The default clipping path. Null will be returned if the image has no clipping path. + Thrown when an error is raised by ImageMagick. + + + + Returns the clipping path with the specified name. Null will be returned if the image has no clipping path. + + Name of clipping path resource. If name is preceded by #, use clipping path numbered by name. + The clipping path with the specified name. Null will be returned if the image has no clipping path. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the color profile from the image. + + The color profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the exif profile from the image. + + The exif profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the iptc profile from the image. + + The iptc profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve a named profile from the image. + + The name of the profile (e.g. "ICM", "IPTC", or a generic profile name). + A named profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Retrieve the xmp profile from the image. + + The xmp profile from the image. + Thrown when an error is raised by ImageMagick. + + + + Converts the colors in the image to gray. + + Thrown when an error is raised by ImageMagick. + + + + Converts the colors in the image to gray. + + The pixel intensity method to use. + Thrown when an error is raised by ImageMagick. + + + + Apply a color lookup table (Hald CLUT) to the image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Gets a value indicating whether a profile with the specified name already exists on the image. + + The name of the profile. + A value indicating whether a profile with the specified name already exists on the image. + + + + Identifies lines in the image. + + Thrown when an error is raised by ImageMagick. + + + + Identifies lines in the image. + + The width of the neighborhood. + The height of the neighborhood. + The line count threshold. + Thrown when an error is raised by ImageMagick. + + + + Implode image (special effect). + + The extent of the implosion. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array. + + The byte array to read the image data from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified byte array. + + The byte array to read the image data from. + The offset at which to begin reading data. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The new width. + The new height. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The geometry to use. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The percentage. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size using the specified interpolation method. + + The percentage of the width. + The percentage of the height. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Inverse contrast image (diminish intensity differences in image). + + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + The channel(s) that should be adjusted. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with an inverse non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Applies k-means color reduction to an image. This is a colorspace clustering or segmentation technique. + + The kmeans settings. + Thrown when an error is raised by ImageMagick. + + + + An edge preserving noise reduction filter. + + Thrown when an error is raised by ImageMagick. + + + + An edge preserving noise reduction filter. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Discards any pixels below the black point and above the white point and levels the remaining pixels. + + The black point. + The white point. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The new width. + The new height. + Maximum seam transversal step (0 means straight seams). + Introduce a bias for non-straight seams (typically 0). + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Rescales image with seam carving. + + The percentage of the width. + The percentage of the height. + Maximum seam transversal step (0 means straight seams). + Introduce a bias for non-straight seams (typically 0). + Thrown when an error is raised by ImageMagick. + + + + Local contrast enhancement. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The strength of the blur mask. + Thrown when an error is raised by ImageMagick. + + + + Local contrast enhancement. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The strength of the blur mask. + The channel(s) that should be changed. + Thrown when an error is raised by ImageMagick. + + + + Lower image (darken the edges of an image to give a 3-D lowered effect). + + The size of the edges. + Thrown when an error is raised by ImageMagick. + + + + Magnify image by integral size. + + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Quantize settings. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Delineate arbitrarily shaped clusters in the image. + + The width and height of the pixels neighborhood. + + + + Delineate arbitrarily shaped clusters in the image. + + The width and height of the pixels neighborhood. + The color distance. + + + + Delineate arbitrarily shaped clusters in the image. + + The width of the pixels neighborhood. + The height of the pixels neighborhood. + + + + Delineate arbitrarily shaped clusters in the image. + + The width of the pixels neighborhood. + The height of the pixels neighborhood. + The color distance. + + + + Filter image by replacing each pixel component with the median color in a circular neighborhood. + + Thrown when an error is raised by ImageMagick. + + + + Filter image by replacing each pixel component with the median color in a circular neighborhood. + + The radius of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Reduce image by integral size. + + Thrown when an error is raised by ImageMagick. + + + + Returns the points that form the minimum bounding box around the image foreground objects with + the "Rotating Calipers" algorithm. he method also returns these properties: minimum-bounding-box:area, + minimum-bounding-box:width, minimum-bounding-box:height, and minimum-bounding-box:angle. + + The points that form the minimum bounding box around the image foreground objects. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent brightness of an image. + + The brightness percentage. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent saturation and brightness of an image. + + The brightness percentage. + The saturation percentage. + Thrown when an error is raised by ImageMagick. + + + + Modulate percent hue, saturation, and brightness of an image. + + The brightness percentage. + The saturation percentage. + The hue percentage. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + Built-in kernel. + Kernel arguments. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The channels to apply the kernel to. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The channels to apply the kernel to. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology method. + + The morphology method. + User suplied kernel. + The number of iterations. + Thrown when an error is raised by ImageMagick. + + + + Applies a kernel to the image according to the given mophology settings. + + The morphology settings. + Thrown when an error is raised by ImageMagick. + + + + Returns the normalized moments of one or more image channels. + + The normalized moments of one or more image channels. + Thrown when an error is raised by ImageMagick. + + + + Motion blur image with specified blur factor. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The angle the object appears to be comming from (zero degrees is from the right). + Thrown when an error is raised by ImageMagick. + + + + Negate colors in image. + + Thrown when an error is raised by ImageMagick. + + + + Negate colors in image for the specified channel. + + The channel(s) that should be negated. + Thrown when an error is raised by ImageMagick. + + + + Negate the grayscale colors in image. + + Thrown when an error is raised by ImageMagick. + + + + Negate the grayscale colors in image for the specified channel. + + The channel(s) that should be negated. + Thrown when an error is raised by ImageMagick. + + + + Normalize image (increase contrast by normalizing the pixel values to span the full range + of color values). + + Thrown when an error is raised by ImageMagick. + + + + Oilpaint image (image looks like oil painting). + + + + + Oilpaint image (image looks like oil painting). + + The radius of the circular neighborhood. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Perform a ordered dither based on a number of pre-defined dithering threshold maps, but over + multiple intensity levels. + + A string containing the name of the threshold dither map to use, + followed by zero or more numbers representing the number of color levels tho dither between. + Thrown when an error is raised by ImageMagick. + + + + Perform a ordered dither based on a number of pre-defined dithering threshold maps, but over + multiple intensity levels. + + A string containing the name of the threshold dither map to use, + followed by zero or more numbers representing the number of color levels tho dither between. + The channel(s) to dither. + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is less than epsilon to epsilon or -epsilon (whichever is closer) + otherwise the pixel value remains unchanged. + + The epsilon threshold. + Thrown when an error is raised by ImageMagick. + + + + Set each pixel whose value is less than epsilon to epsilon or -epsilon (whichever is closer) + otherwise the pixel value remains unchanged. + + The epsilon threshold. + The channel(s) to perceptible. + Thrown when an error is raised by ImageMagick. + + + + Returns the perceptual hash of this image. + + The perceptual hash of this image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Simulates a polaroid picture. + + The caption to put on the image. + The angle of image. + Pixel interpolate method. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + The channel(s) to posterize. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Dither method to use. + Thrown when an error is raised by ImageMagick. + + + + Reduces the image to a limited number of colors for a "poster" effect. + + Number of color levels allowed in each channel. + Dither method to use. + The channel(s) to posterize. + Thrown when an error is raised by ImageMagick. + + + + Sets an internal option to preserve the color type. + + Thrown when an error is raised by ImageMagick. + + + + Quantize image (reduce number of colors). + + Quantize settings. + The error information. + Thrown when an error is raised by ImageMagick. + + + + Raise image (lighten the edges of an image to give a 3-D raised effect). + + The size of the edges. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Applies soft and hard thresholding. + + Defines the minimum black threshold value. + Defines the minimum white threshold value. + Defines the maximum white threshold value. + Defines the maximum black threshold value. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Reduce noise in image using a noise peak elimination filter. + + Thrown when an error is raised by ImageMagick. + + + + Reduce noise in image using a noise peak elimination filter. + + The order to use. + Thrown when an error is raised by ImageMagick. + + + + Associates a mask with the image as defined by the specified region. + + The mask region. + + + + Removes the artifact with the specified name. + + The name of the artifact. + + + + Removes the attribute with the specified name. + + The name of the attribute. + + + + Removes the region mask of the image. + + + + + Remove a profile from the image. + + The profile to remove. + Thrown when an error is raised by ImageMagick. + + + + Remove a named profile from the image. + + The name of the profile (e.g. "ICM", "IPTC", or a generic profile name). + Thrown when an error is raised by ImageMagick. + + + + Removes the associated read mask of the image. + + Thrown when an error is raised by ImageMagick. + + + + Removes the associated write mask of the image. + + Thrown when an error is raised by ImageMagick. + + + + Resets the page property of this image. + + Thrown when an error is raised by ImageMagick. + + + + Resize image in terms of its pixel size. + + The new X resolution. + The new Y resolution. + Thrown when an error is raised by ImageMagick. + + + + Resize image in terms of its pixel size. + + The density to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified size. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified geometry. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image to specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Roll image (rolls image vertically and horizontally). + + The X offset from origin. + The Y offset from origin. + Thrown when an error is raised by ImageMagick. + + + + Rotate image clockwise by specified number of degrees. + + Specify a negative number for to rotate counter-clockwise. + The number of degrees to rotate (positive to rotate clockwise, negative to rotate counter-clockwise). + Thrown when an error is raised by ImageMagick. + + + + Rotational blur image. + + The angle to use. + Thrown when an error is raised by ImageMagick. + + + + Rotational blur image. + + The angle to use. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm to the specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using pixel sampling algorithm to the specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm to the specified percentage. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image by using simple ratio algorithm to the specified percentage. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Segment (coalesce similar image components) by analyzing the histograms of the color + components and identifying units that are homogeneous with the fuzzy c-means technique. + Also uses QuantizeColorSpace and Verbose image attributes. + + Thrown when an error is raised by ImageMagick. + + + + Segment (coalesce similar image components) by analyzing the histograms of the color + components and identifying units that are homogeneous with the fuzzy c-means technique. + Also uses QuantizeColorSpace and Verbose image attributes. + + Quantize colorspace. + This represents the minimum number of pixels contained in + a hexahedra before it can be considered valid (expressed as a percentage). + The smoothing threshold eliminates noise in the second + derivative of the histogram. As the value is increased, you can expect a smoother second + derivative. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + Thrown when an error is raised by ImageMagick. + + + + Selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask + that sharpens everything with contrast above a certain threshold. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Gaussian, in pixels. + Only pixels within this contrast threshold are included in the blur operation. + The channel(s) to blur. + Thrown when an error is raised by ImageMagick. + + + + Applies a special effect to the image, similar to the effect achieved in a photo darkroom + by sepia toning. + + Thrown when an error is raised by ImageMagick. + + + + Applies a special effect to the image, similar to the effect achieved in a photo darkroom + by sepia toning. + + The tone threshold. + Thrown when an error is raised by ImageMagick. + + + + Inserts the artifact with the specified name and value into the artifact tree of the image. + + The name of the artifact. + The value of the artifact. + Thrown when an error is raised by ImageMagick. + + + + Inserts the artifact with the specified name and value into the artifact tree of the image. + + The name of the artifact. + The value of the artifact. + Thrown when an error is raised by ImageMagick. + + + + Lessen (or intensify) when adding noise to an image. + + The attenuate value. + + + + Sets a named image attribute. + + The name of the attribute. + The value of the attribute. + Thrown when an error is raised by ImageMagick. + + + + Sets a named image attribute. + + The name of the attribute. + The value of the attribute. + Thrown when an error is raised by ImageMagick. + + + + Set the bit depth (bits allocated to red/green/blue components). + + The depth. + Thrown when an error is raised by ImageMagick. + + + + Set the bit depth (bits allocated to red/green/blue components) of the specified channel. + + The depth. + The channel to set the depth for. + Thrown when an error is raised by ImageMagick. + + + + Sets the default clipping path. + + The clipping path. + Thrown when an error is raised by ImageMagick. + + + + Sets the clipping path with the specified name. + + The clipping path. + Name of clipping path resource. If name is preceded by #, use clipping path numbered by name. + Thrown when an error is raised by ImageMagick. + + + + Gets the compression of the image. This method should only be used when the encoder uses the compression of the image. For + most usecases Setting.Compression should be used instead. + + The compression method. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + Thrown when an error is raised by ImageMagick. + + + + Set the specified profile of the image. If a profile with the same name already exists it will be overwritten. + + The profile to set. + The color transformation mode. + Thrown when an error is raised by ImageMagick. + + + + Sets the associated read mask of the image. The mask must be the same dimensions as the image and + only contain the colors black and white. + + The image that contains the read mask. + Thrown when an error is raised by ImageMagick. + + + + Sets the associated write mask of the image. The mask must be the same dimensions as the image and + only contains the colors black and white. + + The image that contains the write mask. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + the shadow x-offset. + the shadow y-offset. + The standard deviation of the Gaussian, in pixels. + Transparency percentage. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Sharpen pixels in image. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + + + + Shave pixels from image edges. + + The size of to shave of the image. + Thrown when an error is raised by ImageMagick. + + + + Shave pixels from image edges. + + The number of pixels to shave left and right. + The number of pixels to shave top and bottom. + Thrown when an error is raised by ImageMagick. + + + + Shear image (create parallelogram by sliding image by X or Y axis). + + Specifies the number of x degrees to shear the image. + Specifies the number of y degrees to shear the image. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + The channel(s) that should be adjusted. + Thrown when an error is raised by ImageMagick. + + + + Adjust the image contrast with a non-linear sigmoidal contrast algorithm. + + The contrast to use. + The midpoint to use. + Thrown when an error is raised by ImageMagick. + + + + Simulates a pencil sketch. + + Thrown when an error is raised by ImageMagick. + + + + Simulates a pencil sketch. We convolve the image with a Gaussian operator of the given + radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. + Use a radius of 0 and sketch selects a suitable radius for you. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Apply the effect along this angle. + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Sort pixels within each scanline in ascending order of intensity. + + Thrown when an error is raised by ImageMagick. + + + + Solarize image (similar to effect seen when exposing a photographic film to light during + the development process). + + The factor to use. + Thrown when an error is raised by ImageMagick. + + + + Splice the background color into the image. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image. + + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image by specified amount. + + Choose a random pixel in a neighborhood of this extent. + Thrown when an error is raised by ImageMagick. + + + + Spread pixels randomly within image by specified amount. + + Pixel interpolate method. + Choose a random pixel in a neighborhood of this extent. + Thrown when an error is raised by ImageMagick. + + + + Makes each pixel the min / max / median / mode / etc. of the neighborhood of the specified width + and height. + + The statistic type. + The width of the pixel neighborhood. + The height of the pixel neighborhood. + Thrown when an error is raised by ImageMagick. + + + + Returns the image statistics. + + The image statistics. + Thrown when an error is raised by ImageMagick. + + + + Returns the image statistics. + + The image statistics. + The channel(s) that should be used. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + The azimuth of the light source direction. + The elevation of the light source direction. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source. + + The azimuth of the light source direction. + The elevation of the light source direction. + The channel(s) that should be shaded. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + The azimuth of the light source direction. + The elevation of the light source direction. + Thrown when an error is raised by ImageMagick. + + + + Shade image using distant light source and make it grayscale. + + The azimuth of the light source direction. + The elevation of the light source direction. + The channel(s) that should be shaded. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + Thrown when an error is raised by ImageMagick. + + + + Add a digital watermark to the image (based on second image). + + The image to use as a watermark. + Thrown when an error is raised by ImageMagick. + + + + Create an image which appears in stereo when viewed with red-blue glasses (Red image on + left, blue on right). + + The image to use as the right part of the resulting image. + Thrown when an error is raised by ImageMagick. + + + + Strips an image of all profiles and comments. + + Thrown when an error is raised by ImageMagick. + + + + Swirl image (image pixels are rotated by degrees). + + The number of degrees. + Thrown when an error is raised by ImageMagick. + + + + Swirl image (image pixels are rotated by degrees). + + Pixel interpolate method. + The number of degrees. + Thrown when an error is raised by ImageMagick. + + + + Channel a texture on image background. + + The image to use as a texture on the image background. + Thrown when an error is raised by ImageMagick. + + + + Threshold image. + + The threshold percentage. + Thrown when an error is raised by ImageMagick. + + + + Threshold image. + + The threshold percentage. + The channel(s) that should be thresholded. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + Resize will fit the image into the requested size. It does NOT fill, the requested box size. + Use the overload for more control over the resulting size. + + The new width. + The new height. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The geometry to use. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The percentage. + Thrown when an error is raised by ImageMagick. + + + + Resize image to thumbnail size. + + The percentage of the width. + The percentage of the height. + Thrown when an error is raised by ImageMagick. + + + + Compose an image repeated across and down the image. + + The image to composite with this image. + The algorithm to use. + Thrown when an error is raised by ImageMagick. + + + + Compose an image repeated across and down the image. + + The image to composite with this image. + The algorithm to use. + The arguments for the algorithm (compose:args). + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a base64 . + + A base64 . + + + + Converts this instance to a base64 . + + The format to use. + A base64 . + + + + Converts this instance to a array. + + A array. + + + + Converts this instance to a array. + + The defines to set. + A array. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + The format to use. + A array. + Thrown when an error is raised by ImageMagick. + + + + Transforms the image from the colorspace of the source profile to the target profile. This + requires the image to have a color profile. Nothing will happen if the image has no color profile. + + The target color profile. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. This + requires the image to have a color profile. Nothing will happen if the image has no color profile. + + The target color profile. + The color transformation mode. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. The + source profile will only be used if the image does not contain a color profile. Nothing + will happen if the source profile has a different colorspace then that of the image. + + The source color profile. + The target color profile. + True when the colorspace was transformed otherwise false. + + + + Transforms the image from the colorspace of the source profile to the target profile. The + source profile will only be used if the image does not contain a color profile. Nothing + will happen if the source profile has a different colorspace then that of the image. + + The source color profile. + The target color profile. + The color transformation mode. + True when the colorspace was transformed otherwise false. + + + + Creates a horizontal mirror image by reflecting the pixels around the central y-axis while + rotating them by 90 degrees. + + Thrown when an error is raised by ImageMagick. + + + + Creates a vertical mirror image by reflecting the pixels around the central x-axis while + rotating them by 270 degrees. + + Thrown when an error is raised by ImageMagick. + + + + Trim edges that are the background color from the image. + + Thrown when an error is raised by ImageMagick. + + + + Trim the specified edges that are the background color from the image. + + The edges that need to be trimmed. + Thrown when an error is raised by ImageMagick. + + + + Trim edges that are the background color from the image. + + The percentage of background pixels permitted in the outer rows and columns. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The percentage of the difference between the original and the blur image + that is added back into the original. + The threshold in pixels needed to apply the diffence amount. + Thrown when an error is raised by ImageMagick. + + + + Replace image with a sharpened version of the original image using the unsharp mask algorithm. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The percentage of the difference between the original and the blur image + that is added back into the original. + The threshold in pixels needed to apply the diffence amount. + The channel(s) that should be sharpened. + Thrown when an error is raised by ImageMagick. + + + + Softens the edges of the image in vignette style. + + Thrown when an error is raised by ImageMagick. + + + + Softens the edges of the image in vignette style. + + The radius of the Gaussian, in pixels, not counting the center pixel. + The standard deviation of the Laplacian, in pixels. + The x ellipse offset. + the y ellipse offset. + Thrown when an error is raised by ImageMagick. + + + + Map image pixels to a sine wave. + + Thrown when an error is raised by ImageMagick. + + + + Map image pixels to a sine wave. + + Pixel interpolate method. + The amplitude. + The length of the wave. + Thrown when an error is raised by ImageMagick. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + Attenuate the smoothing threshold. + + + + Apply a white balancing to an image according to a grayworld assumption in the LAB colorspace. + + + + + Apply a white balancing to an image according to a grayworld assumption in the LAB colorspace. + + The vibrance. + + + + Forces all pixels above the threshold into white while leaving all pixels at or below + the threshold unchanged. + + The threshold to use. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels above the threshold into white while leaving all pixels at or below + the threshold unchanged. + + The threshold to use. + The channel(s) to make black. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The file to write the image to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file name. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The sequence of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The span of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The sequence of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The sequence of bytes to read the information from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of bytes to read the information from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The buffer writer to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The buffer writer to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified file. + + The buffer writer to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Represents the collection of images. + + + + + + Event that will we raised when a warning is thrown by ImageMagick. + + + + + Adds an image with the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified byte array to the collection. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified stream to the collection. + + The stream to read the images from. + Thrown when an error is raised by ImageMagick. + + + + Merge a sequence of images. This is useful for GIF animation sequences that have page + offsets and disposal methods. + + Thrown when an error is raised by ImageMagick. + + + + Perform complex mathematics on an image sequence. + + The complex settings. + Thrown when an error is raised by ImageMagick. + + + + Break down an image sequence into constituent parts. This is useful for creating GIF or + MNG animation sequences. + + Thrown when an error is raised by ImageMagick. + + + + Inserts an image with the specified file name into the collection. + + The index to insert the image. + The fully qualified name of the image file, or the relative image file name. + + + + The Morph method requires a minimum of two images. The first image is transformed into + the second by a number of intervening images as specified by frames. + + The number of in-between images to generate. + Thrown when an error is raised by ImageMagick. + + + + Compares each image the GIF disposed forms of the previous image in the sequence. From + this it attempts to select the smallest cropped image to replace each frame, while + preserving the results of the GIF animation. + + Thrown when an error is raised by ImageMagick. + + + + OptimizePlus is exactly as Optimize, but may also add or even remove extra frames in the + animation, if it improves the total number of pixels in the resulting GIF animation. + + Thrown when an error is raised by ImageMagick. + + + + Compares each image the GIF disposed forms of the previous image in the sequence. Any + pixel that does not change the displayed result is replaced with transparency. + + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The file to read the frames from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Quantize images (reduce number of colors). + + The resulting image of the quantize operation. + Thrown when an error is raised by ImageMagick. + + + + Quantize images (reduce number of colors). + + Quantize settings. + The resulting image of the quantize operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Resets the page property of every image in the collection. + + Thrown when an error is raised by ImageMagick. + + + + Reverses the order of the images in the collection. + + + + + Converts this instance to a array. + + A array. + + + + Converts this instance to a array. + + The defines to set. + A array. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a array. + + A array. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a base64 . + + A base64 . + + + + Converts this instance to a base64 string. + + The format to use. + A base64 . + + + + Determine the overall bounds of all the image layers just as in , + then adjust the the canvas and offsets to be relative to those bounds, + without overlaying the images. + + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file. If the output image's file format does not + allow multi-image files multiple files will be written. + + The file to write the image to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the imagse to the specified stream. If the output image's file format does not + allow multi-image files multiple files will be written. + + The stream to write the images to. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the image to the specified stream. + + The stream to write the image data to. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The defines to set. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified file name. If the output image's file format does not + allow multi-image files multiple files will be written. + + The fully qualified name of the image file, or the relative image file name. + The format to use. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The sequence of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The span of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The sequence of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The sequence of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The span of bytes to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The span of bytes to read the image data from. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified buffer writter. If the output image's file format does not + allow multi-image files multiple files will be written. + + The buffer writer to write the images to. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified buffer writter. If the output image's file format does not + allow multi-image files multiple files will be written. + + The buffer writer to write the images to. + The defines to set. + Thrown when an error is raised by ImageMagick. + + + + Writes the images to the specified buffer writter. If the output image's file format does not + allow multi-image files multiple files will be written. + + The buffer writer to write the images to. + The format to use. + Thrown when an error is raised by ImageMagick. + + + + Represents the collection of images. + + The quantum type. + + + + + Adds the image(s) from the specified byte array to the collection. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Adds a Clone of the specified images to this collection. + + The images to add to the collection. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified file name to the collection. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Adds the image(s) from the specified stream to the collection. + + The stream to read the images from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Creates a single image, by appending all the images in the collection horizontally (+append). + + A single image, by appending all the images in the collection horizontally (+append). + Thrown when an error is raised by ImageMagick. + + + + Creates a single image, by appending all the images in the collection vertically (-append). + + A single image, by appending all the images in the collection vertically (-append). + Thrown when an error is raised by ImageMagick. + + + + Creates a clone of the current image collection. + + A clone of the current image collection. + + + + Combines the images into a single image. The typical ordering would be + image 1 => Red, 2 => Green, 3 => Blue, etc. + + The images combined into a single image. + Thrown when an error is raised by ImageMagick. + + + + Combines the images into a single image. The grayscale value of the pixels of each image + in the sequence is assigned in order to the specified channels of the combined image. + The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc. + + The image colorspace. + The images combined into a single image. + Thrown when an error is raised by ImageMagick. + + + + Evaluate image pixels into a single image. All the images in the collection must be the + same size in pixels. + + The operator. + The resulting image of the evaluation. + Thrown when an error is raised by ImageMagick. + + + + Use the virtual canvas size of first image. Images which fall outside this canvas is clipped. + This can be used to 'fill out' a given virtual canvas. + + The resulting image of the flatten operation. + Thrown when an error is raised by ImageMagick. + + + + Flatten this collection into a single image. + This is useful for combining Photoshop layers into a single image. + + The background color of the output image. + The resulting image of the flatten operation. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from reference image. + + The image to use. + Quantize settings. + Thrown when an error is raised by ImageMagick. + + + + Merge all layers onto a canvas just large enough to hold all the actual images. The virtual + canvas of the first image is preserved but otherwise ignored. + + The resulting image of the merge operation. + Thrown when an error is raised by ImageMagick. + + + + Create a composite image by combining the images with the specified settings. + + The settings to use. + The resulting image of the montage operation. + Thrown when an error is raised by ImageMagick. + + + + Start with the virtual canvas of the first image, enlarging left and right edges to contain + all images. Images with negative offsets will be clipped. + + The resulting image of the mosaic operation. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The file to read the frames from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Returns a new image where each pixel is the sum of the pixels in the image sequence after applying its + corresponding terms (coefficient and degree pairs). + + The list of polynomial coefficients and degree pairs and a constant. + A new image where each pixel is the sum of the pixels in the image sequence after applying its + corresponding terms (coefficient and degree pairs). + + + + Read all image frames. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The file to read the frames from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Smush images from list into single image in horizontal direction. + + Minimum distance in pixels between images. + The resulting image of the smush operation. + Thrown when an error is raised by ImageMagick. + + + + Smush images from list into single image in vertical direction. + + Minimum distance in pixels between images. + The resulting image of the smush operation. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read only metadata and not the pixel data from all image frames. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read all image frames. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Interface that contains basic information about an image. + + + + + + Gets the color space of the image. + + + + + Gets the compression method of the image. + + + + + Gets the density of the image. + + + + + Gets the original file name of the image (only available if read from disk). + + + + + Gets the format of the image. + + + + + Gets the height of the image. + + + + + Gets the type of interlacing. + + + + + Gets the JPEG/MIFF/PNG compression level. + + + + + Gets the width of the image. + + + + + Read basic information about an image. + + The byte array to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The byte array to read the information from. + The offset at which to begin reading data. + The maximum number of bytes to read. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The file to read the image from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The stream to read the image data from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The fully qualified name of the image file, or the relative image file name. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The sequence of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Read basic information about an image. + + The span of bytes to read the information from. + Thrown when an error is raised by ImageMagick. + + + + Interface that represents an ImageMagick image. + + The quantum type. + + + + + Gets or sets the background color of the image. + + + + + Gets or sets the border color of the image. + + + + + Gets or sets the matte color. + + + + + Gets the settings for this instance. + + + + + Creates a clone of the current image. + + A clone of the current image. + + + + Creates a clone of the current image with the specified geometry. + + The area to clone. + A clone of the current image. + Thrown when an error is raised by ImageMagick. + + + + Creates a clone of the current image. + + The width of the area to clone. + The height of the area to clone. + A clone of the current image. + + + + Creates a clone of the current image. + + The X offset from origin. + The Y offset from origin. + The width of the area to clone. + The height of the area to clone. + A clone of the current image. + + + + Sets the alpha channel to the specified color. + + The color to use. + Thrown when an error is raised by ImageMagick. + + + + Colorize image with the specified color, using specified percent alpha. + + The color to use. + The alpha percentage. + Thrown when an error is raised by ImageMagick. + + + + Colorize image with the specified color, using specified percent alpha for red, green, + and blue quantums. + + The color to use. + The alpha percentage for red. + The alpha percentage for green. + The alpha percentage for blue. + Thrown when an error is raised by ImageMagick. + + + + Forces all pixels in the color range to white otherwise black. + + The start color of the color range. + The stop color of the color range. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The settings to use. + The image that will contain the difference. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Returns the distortion based on the specified metric. + + The other image to compare with this image. + The settings to use. + The image that will contain the difference. + The channel(s) to compare. + The distortion based on the specified metric. + Thrown when an error is raised by ImageMagick. + + + + Determines the connected-components of the image. + + How many neighbors to visit, choose from 4 or 8. + The connected-components of the image. + Thrown when an error is raised by ImageMagick. + + + + Determines the connected-components of the image. + + The settings for this operation. + The connected-components of the image. + Thrown when an error is raised by ImageMagick. + + + + Creates tiles of the current image in the specified dimension. + + The width of the tile. + The height of the tile. + New title of the current image. + + + + Creates tiles of the current image in the specified dimension. + + The size of the tile. + New title of the current image. + + + + Draw on image using one or more drawables. + + The drawable(s) to draw on the image. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the width and height. + + The width to extend the image to. + The height to extend the image to. + The placement gravity. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Extend the image as defined by the geometry. + + The geometry to extend the image to. + The placement gravity. + The background color to use. + Thrown when an error is raised by ImageMagick. + + + + Floodfill pixels matching color (within fuzz factor) of target pixel(x,y) with replacement + alpha value using method. + + The alpha to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill color across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill color across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Returns the color at colormap position index. + + The position index. + The color at colormap position index. + Thrown when an error is raised by ImageMagick. + + + + Returns a pixel collection that can be used to read or modify the pixels of this image. + + A pixel collection that can be used to read or modify the pixels of this image. + Thrown when an error is raised by ImageMagick. + + + + Returns a pixel collection that can be used to read or modify the pixels of this image. This instance + will not do any bounds checking and directly call ImageMagick. + + A pixel collection that can be used to read or modify the pixels of this image. + Thrown when an error is raised by ImageMagick. + + + + Gets the associated read mask of the image. + + The associated read mask of the image. + Thrown when an error is raised by ImageMagick. + + + + Gets the associated write mask of the image. + + The associated write mask of the image. + Thrown when an error is raised by ImageMagick. + + + + Creates a color histogram. + + A color histogram. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified quantum array into the current image. + + The quantum array to read the pixels from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified quantum array into the current image. + + The quantum array to read the pixels from. + The offset at which to begin reading data. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Returns the sum of values (pixel values) in the image. + + The sum of values (pixel values) in the image. + Thrown when an error is raised by ImageMagick. + + + + Floodfill pixels not matching color (within fuzz factor) of target pixel(x,y) with + replacement alpha value using method. + + The alpha to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The color to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that do not match the color of the target pixel and are + neighbors of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + Thrown when an error is raised by ImageMagick. + + + + Flood-fill texture across pixels that match the color of the target pixel and are neighbors + of the target pixel. Uses current fuzz setting when determining color match. + + The image to use. + The X coordinate. + The Y coordinate. + The target color. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Applies the reversed level operation to just the specific channels specified. It compresses + the full range of color values, so that they lie between the given black and white points. + Gamma is applied before the values are mapped. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Changes any pixel that does not match the target with the color defined by fill. + + The color to replace. + The color to replace opaque color with. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that don't match the specified color to transparent. + + The color that should not be made transparent. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that don't lie in between the given two colors to + transparent. + + The low target color. + The high target color. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. Uses a midpoint of 1.0. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + Thrown when an error is raised by ImageMagick. + + + + Adjust the levels of the image by scaling the colors falling between specified white and + black points to the full available quantum range. + + The darkest color in the image. Colors darker are set to zero. + The lightest color in the image. Colors brighter are set to the maximum quantum value. + The gamma correction to apply to the image. (Useful range of 0 to 10). + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + Thrown when an error is raised by ImageMagick. + + + + Maps the given color to "black" and "white" values, linearly spreading out the colors, and + level values on a channel by channel bases, as per level(). The given colors allows you to + specify different level ranges for each of the color channels separately. + + The color to map black to/from. + The color to map white to/from. + The channel(s) to level. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from the specified colors. + + The colors to use. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Remap image colors with closest color from the specified colors. + + The colors to use. + Quantize settings. + The error informaton. + Thrown when an error is raised by ImageMagick. + + + + Changes any pixel that matches target with the color defined by fill. + + The color to replace. + The color to replace opaque color with. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The byte array to read the information from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + Thrown when an error is raised by ImageMagick. + + + + Changes the value of individual pixels based on the intensity of each pixel compared to a + random threshold. The result is a low-contrast, two color image. + + The low threshold. + The high threshold. + The channel(s) to use. + Thrown when an error is raised by ImageMagick. + + + + Applies soft and hard thresholding. + + Defines the minimum black threshold value. + Defines the minimum white threshold value. + Defines the maximum white threshold value. + Defines the maximum black threshold value. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The color to fill the image with. + The width. + The height. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The file to read the image from. + The settings to use when reading the image. + A representing the asynchronous operation. + The token to monitor for cancellation requests. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The stream to read the image data from. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The fully qualified name of the image file, or the relative image file name. + The settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The byte array to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The byte array to read the image data from. + The offset at which to begin reading data. + The maximum number of bytes to read. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The quantum array to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The quantum array to read the image data from. + The offset at which to begin reading data. + The maximum number of items to read. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The file to read the image from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The stream to read the image data from. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame from pixel data. + + The fully qualified name of the image file, or the relative image file name. + The pixel settings to use when reading the image. + The token to monitor for cancellation requests. + A representing the asynchronous operation. + Thrown when an error is raised by ImageMagick. + + + + Separates the channels from the image and returns it as grayscale images. + + The channels from the image as grayscale images. + Thrown when an error is raised by ImageMagick. + + + + Separates the specified channels from the image and returns it as grayscale images. + + The channel(s) to separates. + The channels from the image as grayscale images. + Thrown when an error is raised by ImageMagick. + + + + Set color at colormap position index. + + The position index. + The color. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + The color of the shadow. + Thrown when an error is raised by ImageMagick. + + + + Simulate an image shadow. + + the shadow x-offset. + the shadow y-offset. + The standard deviation of the Gaussian, in pixels. + Transparency percentage. + The color of the shadow. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The channel(s) to use. + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Sparse color image, given a set of coordinates, interpolates the colors found at those + coordinates, across the whole image, using various methods. + + The channel(s) to use. + The sparse color method to use. + The sparse color arguments. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The metric to use. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Search for the specified image at EVERY possible location in this image. This is slow! + very very slow.. It returns a similarity image such that an exact match location is + completely white and if none of the pixels match, black, otherwise some gray level in-between. + + The image to search for. + The metric to use. + Minimum distortion for (sub)image match. + The result of the search action. + Thrown when an error is raised by ImageMagick. + + + + Applies a color vector to each pixel in the image. The length of the vector is 0 for black + and white and at its maximum for the midtones. The vector weighting function is + f(x)=(1-(4.0*((x-0.5)*(x-0.5)))). + + An opacity value used for tinting. + A color value used for tinting. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels matching color to transparent. + + The color to make transparent. + Thrown when an error is raised by ImageMagick. + + + + Add alpha channel to image, setting pixels that lie in between the given two colors to + transparent. + + The low target color. + The high target color. + Thrown when an error is raised by ImageMagick. + + + + Returns the unique colors of an image. + + The unique colors of an image. + Thrown when an error is raised by ImageMagick. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + + + + Removes noise from the image using a wavelet transform. + + The threshold for smoothing. + Attenuate the smoothing threshold. + + + + Import pixels from the specified byte array into the current image. + + The quantum array to read the pixels from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Import pixels from the specified quantum array into the current image. + + The quantum array to read the pixels from. + The import settings to use when importing the pixels. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The sequence of bytes to read the information from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Reads only metadata and not the pixel data. + + The span of bytes to read the information from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The sequence of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of bytes to read the image data from. + The settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of bytes to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Read single image frame. + + The span of quantum to read the image data from. + The pixel settings to use when reading the image. + Thrown when an error is raised by ImageMagick. + + + + Interface that represents MagickNET. + + + + + Event that will be raised when something is logged by ImageMagick. + + + + + Gets the ImageMagick delegate libraries. + + + + + Gets the ImageMagick features. + + + + + Gets the information about the supported formats. + + + + + Gets the font families that are known by ImageMagick. + + + + + Gets the font names that are known by ImageMagick. + + + + + Gets the version of ImageMagick. + + + + + Gets the version of Magick.NET. + + + + + Gets the environment variable with the specified name. + + The name of the environment variable. + The environment variable with the specified name. + + + + Initializes ImageMagick. + + + + + Initializes ImageMagick with the xml files that are located in the specified path. + + The path that contains the ImageMagick xml files. + + + + Initializes ImageMagick with the specified configuration files and returns the path to the + temporary directory where the xml files were saved. + + The configuration files ot initialize ImageMagick with. + The path of the folder that was created and contains the configuration files. + + + + Initializes ImageMagick with the specified configuration files in the specified the path. + + The configuration files ot initialize ImageMagick with. + The directory to save the configuration files in. + + + + Resets the pseudo-random number generator secret key. + + + + + Set the path to the default font file. + + The file to use at the default font file. + + + + Set the path to the default font file. + + The file name to use at the default font file. + + + + Set the environment variable with the specified name to the specified value. + + The name of the environment variable. + The value of the environment variable. + + + + Sets the directory that contains the FontConfig configuration files. + + The path of the FontConfig directory. + + + + Sets the directory that contains the Ghostscript file gsdll32.dll / gsdll64.dll. + This method is only supported on Windows. + + The path of the Ghostscript directory. + + + + Sets the directory that contains the Ghostscript font files. + This method is only supported on Windows. + + The path of the Ghostscript font directory. + + + + Set the events that will be written to the log. The log will be written to the Log event + and the debug window in VisualStudio. To change the log settings you must use a custom + log.xml file. + + The events that will be logged. + + + + Sets the directory that contains the Native library. This currently only works on Windows. + + The path of the directory that contains the native library. + + + + Sets the directory that will be used when ImageMagick does not have enough memory for the + pixel cache. + + The path where temp files will be written. + + + + Sets the pseudo-random number generator secret key. + + The secret key. + + + + Interface that represents the quantum information of ImageMagick. + + + + + Gets the quantum depth. + + + + + Interface that represents the quantum information of ImageMagick. + + The quantum type. + + + + Gets the maximum value of the quantum. + + + + + Interface that represents the resource limits of ImageMagick. + + + + + Gets or sets the maximum width * height of an image that can reside in the pixel cache memory. + Images that exceed the area limit are cached to disk. + + + + + Gets or sets the pixel cache limit in bytes. Requests for memory above this limit will fail. + + + + + Gets or sets the maximum height of an image. + + + + + Gets or sets the maximum number of images in an image list. + + + + + Gets or sets the max memory request in bytes. ImageMagick maintains a separate memory pool for large + resource requests. If the limit is exceeded, the allocation is instead memory-mapped on disk. + + + + + Gets or sets the pixel cache limit in bytes. Once this memory limit is exceeded, all subsequent pixels cache + operations are to/from disk. + + + + + Gets or sets the number of threads used in multithreaded operations. + + + + + Gets or sets the time specified in milliseconds to periodically yield the CPU for. + + + + + Gets or sets the maximum width of an image. + + + + + Set the maximum percentage of memory that can be used for image data. This also changes + the limit to four times the number of bytes. + + The percentage to use. + + + + Encapsulates a convolution kernel. + + + + + Encapsulates a matrix of doubles. + + + + + Gets the order of the matrix. + + + + + Get or set the value at the specified x/y position. + + The x position. + The y position. + + + + Gets the value at the specified x/y position. + + The x position. + The y position. + The value at the specified x/y position. + + + + Set the column at the specified x position. + + The x position. + The values. + + + + Set the row at the specified y position. + + The y position. + The values. + + + + Set the value at the specified x/y position. + + The x position. + The y position. + The value. + + + + Returns a string that represents the current DoubleMatrix. + + The double array. + + + + Encapsulates a color matrix in the order of 1 to 6 (1x1 through 6x6). + + + + + + Interface that can be used to access the individual pixels of an image. + + The quantum type. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the value of the specified pixel. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The value of the pixel. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Gets the number of channels that the image contains. + + + + + Gets the pixel at the specified coordinate. + + The X coordinate. + The Y coordinate. + + + + Returns the pixels at the specified area. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + A array. + + + + Returns the pixels of the specified area. + + The geometry of the area. + A array. + + + + Returns the index of the specified channel. Returns -1 if not found. + + The channel to get the index of. + The index of the specified channel. Returns -1 if not found. + + + + Returns the at the specified coordinate. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The at the specified coordinate. + + + + Returns the value of the specified coordinate. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + A array. + + + + Returns the values of the pixels as an array. + + A array. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Changes the values of the specified pixels. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The geometry of the area. + The values of the pixels. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Changes the value of the specified pixel. + + The pixel to set. + + + + Changes the value of the specified pixels. + + The pixels to set. + + + + Changes the value of the specified pixel. + + The X coordinate of the pixel. + The Y coordinate of the pixel. + The value of the pixel. + + + + Changes the values of the specified pixels. + + The values of the pixels. + + + + Returns the values of the pixels as an array. + + A array. + + + + Returns the values of the pixels as an array. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The geometry of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The geometry of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + A array. + + + + Returns the values of the pixels as an array. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The geometry of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The geometry of the area. + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Returns the values of the pixels as an array. + + The mapping of the pixels (e.g. RGB/RGBA/ARGB). + An array. + + + + Interface that represents the OpenCL information of ImageMagick. + + + + + Gets or sets a value indicating whether OpenCL is enabled. + + + + + Gets all the OpenCL devices. + + A iteration. + + + + Sets the directory that will be used by ImageMagick to store OpenCL cache files. + + The path of the OpenCL cache directory. + + + + Interface that represents an OpenCL device. + + + + + Gets the benchmark score of the device. + + + + + Gets the type of the device. + + + + + Gets or sets a value indicating whether the device is enabled or disabled. + + + + + Gets all the kernel profile records for this devices. + + A . + + + + Gets the name of the device. + + + + + Gets or sets a value indicating whether kernel profiling is enabled. + This can be used to get information about the OpenCL performance. + + + + + Gets the OpenCL version supported by the device. + + + + + Interface that represents a kernel profile record for an OpenCL device. + + + + + Gets the average duration of all executions in microseconds. + + + + + Gets the number of times that this kernel was executed. + + + + + Gets the maximum duration of a single execution in microseconds. + + + + + Gets the minimum duration of a single execution in microseconds. + + + + + Gets the name of the device. + + + + + Gets the total duration of all executions in microseconds. + + + + + Class that can be used to access an individual pixel of an image. + + The quantum type. + + + + Gets the number of channels that the pixel contains. + + + + + Gets the X coordinate of the pixel. + + + + + Gets the Y coordinate of the pixel. + + + + + Returns the value of the specified channel. + + The channel to get the value for. + + + + Returns the value of the specified channel. + + The channel to get the value of. + The value of the specified channel. + + + + Set the value of the specified channel. + + The channel to set the value of. + The value. + + + + Sets the values of this pixel. + + The values. + + + + Returns the value of this pixel as an array. + + A array. + + + + Converts the pixel to a color. Assumes the pixel is RGBA. + + A instance. + + + + Interface that can be used to access the individual pixels of an image. + + The quantum type. + + + + Returns a pointer to the pixels of the specified area. + + The X coordinate of the area. + The Y coordinate of the area. + The width of the area. + The height of the area. + A pointer to the pixels of the specified area. + + + + Returns a pointer to the pixels of the specified area. + + The geometry of the area. + A pointer to the pixels of the specified area. + + + + A value of the exif profile. + + + + + Gets the name of the clipping path. + + + + + Gets the path of the clipping path. + + + + + Class that can be used to access an 8bim profile. + + + + + Initializes a new instance of the class. + + The byte array to read the 8bim profile from. + + + + Initializes a new instance of the class. + + The fully qualified name of the 8bim profile file, or the relative + 8bim profile file name. + + + + Initializes a new instance of the class. + + The stream to read the 8bim profile from. + + + + Initializes a new instance of the class. + + The image that contains the profile. + The byte array to read the 8bim profile from. + + + + Gets the clipping paths this image contains. + + + + + Gets the values of this 8bim profile. + + + + + A value of the 8bim profile. + + + + + Gets the ID of the 8bim value. + + + + + Determines whether the specified object is equal to the current . + + The object to compare this 8bim value with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts this instance to a byte array. + + A array. + + + + Returns a string that represents the current value. + + A string that represents the current value. + + + + Returns a string that represents the current value with the specified encoding. + + The encoding to use. + A string that represents the current value with the specified encoding. + + + + A value of the exif profile. + + + + + Gets the name of the clipping path. + + + + + Gets the path of the clipping path. + + + + + Interface that describes an 8bim profile. + + + + + Gets the clipping paths this image contains. + + + + + Gets the values of this 8bim profile. + + + + + A value of the 8bim profile. + + + + + Gets the ID of the 8bim value. + + + + + Converts this instance to a byte array. + + A array. + + + + Returns a string that represents the current value with the specified encoding. + + The encoding to use. + A string that represents the current value with the specified encoding. + + + + Class that contains an ICM/ICC color profile. + + + + + Initializes a new instance of the class. + + A byte array containing the profile. + + + + Initializes a new instance of the class. + + A stream containing the profile. + + + + Initializes a new instance of the class. + + The fully qualified name of the profile file, or the relative profile file name. + + + + Initializes a new instance of the class. + + The name of the color profile (e.g. icc or icm). + A byte array containing the profile. + + + + Gets the AdobeRGB1998 profile. + + + + + Gets the AppleRGB profile. + + + + + Gets the CoatedFOGRA39 profile. + + + + + Gets the ColorMatchRGB profile. + + + + + Gets the sRGB profile. + + + + + Gets the USWebCoatedSWOP profile. + + + + + Gets the color space of the profile. + + + + + Gets the copyright of the profile. + + + + + Gets the description of the profile. + + + + + Gets the manufacturer of the profile. + + + + + Gets the model of the profile. + + + + + Interface that describes an ICM/ICC color profile. + + + + + Gets the color space of the profile. + + + + + Gets the copyright of the profile. + + + + + Gets the description of the profile. + + + + + Gets the manufacturer of the profile. + + + + + Gets the model of the profile. + + + + + Specifies exif data types. + + + + + Unknown. + + + + + Byte. + + + + + String. + + + + + Short. + + + + + Long. + + + + + Rational. + + + + + SignedByte. + + + + + Undefined. + + + + + SignedShort. + + + + + SignedLong. + + + + + SignedRational. + + + + + Float. + + + + + Double. + + + + + Specifies which parts will be written when the profile is added to an image. + + + + + None. + + + + + IfdTags. + + + + + ExifTags. + + + + + GpsTags. + + + + + All. + + + + + Class that can be used to access an Exif profile. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the exif profile from. + + + + Initializes a new instance of the class. + + The fully qualified name of the exif profile file, or the relative + exif profile file name. + + + + Initializes a new instance of the class. + + The stream to read the exif profile from. + + + + Gets or sets which parts will be written when the profile is added to an image. + + + + + Gets the tags that where found but contained an invalid value. + + + + + Gets the length of the thumbnail data in the array of the profile. + + + + + Gets the offset of the thumbnail data in the array of the profile. + + + + + Gets the values of this exif profile. + + + + + Returns the value with the specified tag. + + The tag of the exif value. + The value with the specified tag. + The data type of the tag. + + + + Removes the thumbnail in the exif profile. + + + + + Removes the value with the specified tag. + + The tag of the exif value. + True when the value was fount and removed. + + + + Loads the data from the profile and rewrites the profile data. This can be used + to fix an incorrect profile. It can also be used for products that require a + specific exif structure. + + + + + Sets the value of the specified tag. + + The tag of the exif value. + The value. + The data type of the tag. + + + + Updates the data of the profile. + + + + + Interface that describes an Exif profile. + + + + + Gets or sets which parts will be written when the profile is added to an image. + + + + + Gets the tags that where found but contained an invalid value. + + + + + Gets the length of the thumbnail data in the array of the profile. + + + + + Gets the offset of the thumbnail in the array of the profile. + + + + + Gets the values of this exif profile. + + + + + Returns the value with the specified tag. + + The tag of the exif value. + The value with the specified tag. + The data type of the tag. + + + + Removes the thumbnail in the exif profile. + + + + + Removes the value with the specified tag. + + The tag of the exif value. + True when the value was fount and removed. + + + + Loads the data from the profile and rewrites the profile data. This can be used + to fix an incorrect profile. It can also be used for products that require a + specific exif structure. + + + + + Sets the value of the specified tag. + + The tag of the exif value. + The value. + The data type of the tag. + + + + + + Class that represents an exif tag from the Exif standard 2.31. + + + + + + + + + + + + + + + + + + Gets the FaxProfile exif tag. + + + + + Gets the ModeNumber exif tag. + + + + + Gets the GPSAltitudeRef exif tag. + + + + + Gets the ClipPath exif tag. + + + + + Gets the VersionYear exif tag. + + + + + Gets the XMP exif tag. + + + + + Gets the CFAPattern2 exif tag. + + + + + Gets the TIFFEPStandardID exif tag. + + + + + Gets the XPTitle exif tag. + + + + + Gets the XPComment exif tag. + + + + + Gets the XPAuthor exif tag. + + + + + Gets the XPKeywords exif tag. + + + + + Gets the XPSubject exif tag. + + + + + Gets the GPSVersionID exif tag. + + + + + Initializes a new instance of the class. + + The value. + + + + Converts the specified to a . + + The to convert. + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified object is equal to the exif tag. + + The object to compare this exif tag with. + True when the specified object is equal to the current exif tag. + + + + Determines whether the specified the exif tag is equal to the exif tag. + + The the exif tag to compare this exif tag with. + True when the specified object is equal to the current exif tag. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Gets the PixelScale exif tag. + + + + + Gets the IntergraphMatrix exif tag. + + + + + Gets the ModelTiePoint exif tag. + + + + + Gets the ModelTransform exif tag. + + + + + Gets the SubfileType exif tag. + + + + + Gets the SubIFDOffset exif tag. + + + + + Gets the GPSIFDOffset exif tag. + + + + + Gets the T4Options exif tag. + + + + + Gets the T6Options exif tag. + + + + + Gets the XClipPathUnits exif tag. + + + + + Gets the YClipPathUnits exif tag. + + + + + Gets the ProfileType exif tag. + + + + + Gets the CodingMethods exif tag. + + + + + Gets the T82ptions exif tag. + + + + + Gets the JPEGInterchangeFormat exif tag. + + + + + Gets the JPEGInterchangeFormatLength exif tag. + + + + + Gets the MDFileTag exif tag. + + + + + Gets the StandardOutputSensitivity exif tag. + + + + + Gets the RecommendedExposureIndex exif tag. + + + + + Gets the ISOSpeed exif tag. + + + + + Gets the ISOSpeedLatitudeyyy exif tag. + + + + + Gets the ISOSpeedLatitudezzz exif tag. + + + + + Gets the FaxRecvParams exif tag. + + + + + Gets the FaxRecvTime exif tag. + + + + + Gets the ImageNumber exif tag. + + + + + Gets the FreeOffsets exif tag. + + + + + Gets the FreeByteCounts exif tag. + + + + + Gets the ColorResponseUnit exif tag. + + + + + Gets the TileOffsets exif tag. + + + + + Gets the SMinSampleValue exif tag. + + + + + Gets the SMaxSampleValue exif tag. + + + + + Gets the JPEGQTables exif tag. + + + + + Gets the JPEGDCTables exif tag. + + + + + Gets the JPEGACTables exif tag. + + + + + Gets the StripRowCounts exif tag. + + + + + Gets the IntergraphRegisters exif tag. + + + + + Gets the TimeZoneOffset exif tag. + + + + + Gets the ImageWidth exif tag. + + + + + Gets the ImageLength exif tag. + + + + + Gets the TileWidth exif tag. + + + + + Gets the TileLength exif tag. + + + + + Gets the BadFaxLines exif tag. + + + + + Gets the ConsecutiveBadFaxLines exif tag. + + + + + Gets the PixelXDimension exif tag. + + + + + Gets the PixelYDimension exif tag. + + + + + Gets the StripOffsets exif tag. + + + + + Gets the TileByteCounts exif tag. + + + + + Gets the ImageLayer exif tag. + + + + + Gets the XPosition exif tag. + + + + + Gets the YPosition exif tag. + + + + + Gets the XResolution exif tag. + + + + + Gets the YResolution exif tag. + + + + + Gets the BatteryLevel exif tag. + + + + + Gets the ExposureTime exif tag. + + + + + Gets the FNumber exif tag. + + + + + Gets the MDScalePixel exif tag. + + + + + Gets the CompressedBitsPerPixel exif tag. + + + + + Gets the ApertureValue exif tag. + + + + + Gets the MaxApertureValue exif tag. + + + + + Gets the SubjectDistance exif tag. + + + + + Gets the FocalLength exif tag. + + + + + Gets the FlashEnergy2 exif tag. + + + + + Gets the FocalPlaneXResolution2 exif tag. + + + + + Gets the FocalPlaneYResolution2 exif tag. + + + + + Gets the ExposureIndex2 exif tag. + + + + + Gets the Humidity exif tag. + + + + + Gets the Pressure exif tag. + + + + + Gets the Acceleration exif tag. + + + + + Gets the FlashEnergy exif tag. + + + + + Gets the FocalPlaneXResolution exif tag. + + + + + Gets the FocalPlaneYResolution exif tag. + + + + + Gets the ExposureIndex exif tag. + + + + + Gets the DigitalZoomRatio exif tag. + + + + + Gets the GPSAltitude exif tag. + + + + + Gets the GPSDOP exif tag. + + + + + Gets the GPSSpeed exif tag. + + + + + Gets the GPSTrack exif tag. + + + + + Gets the GPSImgDirection exif tag. + + + + + Gets the GPSDestBearing exif tag. + + + + + Gets the GPSDestDistance exif tag. + + + + + Gets the WhitePoint exif tag. + + + + + Gets the PrimaryChromaticities exif tag. + + + + + Gets the YCbCrCoefficients exif tag. + + + + + Gets the ReferenceBlackWhite exif tag. + + + + + Gets the GPSLatitude exif tag. + + + + + Gets the GPSLongitude exif tag. + + + + + Gets the GPSTimestamp exif tag. + + + + + Gets the GPSDestLatitude exif tag. + + + + + Gets the GPSDestLongitude exif tag. + + + + + Gets the LensInfo exif tag. + + + + + Gets the OldSubfileType exif tag. + + + + + Gets the Compression exif tag. + + + + + Gets the PhotometricInterpretation exif tag. + + + + + Gets the Thresholding exif tag. + + + + + Gets the CellWidth exif tag. + + + + + Gets the CellLength exif tag. + + + + + Gets the FillOrder exif tag. + + + + + Gets the Orientation exif tag. + + + + + Gets the SamplesPerPixel exif tag. + + + + + Gets the PlanarConfiguration exif tag. + + + + + Gets the GrayResponseUnit exif tag. + + + + + Gets the ResolutionUnit exif tag. + + + + + Gets the CleanFaxData exif tag. + + + + + Gets the InkSet exif tag. + + + + + Gets the NumberOfInks exif tag. + + + + + Gets the DotRange exif tag. + + + + + Gets the Indexed exif tag. + + + + + Gets the OPIProxy exif tag. + + + + + Gets the JPEGProc exif tag. + + + + + Gets the JPEGRestartInterval exif tag. + + + + + Gets the YCbCrPositioning exif tag. + + + + + Gets the Rating exif tag. + + + + + Gets the RatingPercent exif tag. + + + + + Gets the ExposureProgram exif tag. + + + + + Gets the Interlace exif tag. + + + + + Gets the SelfTimerMode exif tag. + + + + + Gets the SensitivityType exif tag. + + + + + Gets the MeteringMode exif tag. + + + + + Gets the LightSource exif tag. + + + + + Gets the FocalPlaneResolutionUnit2 exif tag. + + + + + Gets the SensingMethod2 exif tag. + + + + + Gets the Flash exif tag. + + + + + Gets the ColorSpace exif tag. + + + + + Gets the FocalPlaneResolutionUnit exif tag. + + + + + Gets the SensingMethod exif tag. + + + + + Gets the CustomRendered exif tag. + + + + + Gets the ExposureMode exif tag. + + + + + Gets the WhiteBalance exif tag. + + + + + Gets the FocalLengthIn35mmFilm exif tag. + + + + + Gets the SceneCaptureType exif tag. + + + + + Gets the GainControl exif tag. + + + + + Gets the Contrast exif tag. + + + + + Gets the Saturation exif tag. + + + + + Gets the Sharpness exif tag. + + + + + Gets the SubjectDistanceRange exif tag. + + + + + Gets the GPSDifferential exif tag. + + + + + Gets the BitsPerSample exif tag. + + + + + Gets the MinSampleValue exif tag. + + + + + Gets the MaxSampleValue exif tag. + + + + + Gets the GrayResponseCurve exif tag. + + + + + Gets the ColorMap exif tag. + + + + + Gets the ExtraSamples exif tag. + + + + + Gets the PageNumber exif tag. + + + + + Gets the TransferFunction exif tag. + + + + + Gets the Predictor exif tag. + + + + + Gets the HalftoneHints exif tag. + + + + + Gets the SampleFormat exif tag. + + + + + Gets the TransferRange exif tag. + + + + + Gets the DefaultImageColor exif tag. + + + + + Gets the JPEGLosslessPredictors exif tag. + + + + + Gets the JPEGPointTransforms exif tag. + + + + + Gets the YCbCrSubsampling exif tag. + + + + + Gets the CFARepeatPatternDim exif tag. + + + + + Gets the IntergraphPacketData exif tag. + + + + + Gets the ISOSpeedRatings exif tag. + + + + + Gets the SubjectArea exif tag. + + + + + Gets the SubjectLocation exif tag. + + + + + Gets the ShutterSpeedValue exif tag. + + + + + Gets the BrightnessValue exif tag. + + + + + Gets the ExposureBiasValue exif tag. + + + + + Gets the AmbientTemperature exif tag. + + + + + Gets the WaterDepth exif tag. + + + + + Gets the CameraElevationAngle exif tag. + + + + + Gets the Decode exif tag. + + + + + Gets the ImageDescription exif tag. + + + + + Gets the Make exif tag. + + + + + Gets the Model exif tag. + + + + + Gets the Software exif tag. + + + + + Gets the DateTime exif tag. + + + + + Gets the Artist exif tag. + + + + + Gets the HostComputer exif tag. + + + + + Gets the Copyright exif tag. + + + + + Gets the DocumentName exif tag. + + + + + Gets the PageName exif tag. + + + + + Gets the InkNames exif tag. + + + + + Gets the TargetPrinter exif tag. + + + + + Gets the ImageID exif tag. + + + + + Gets the MDLabName exif tag. + + + + + Gets the MDSampleInfo exif tag. + + + + + Gets the MDPrepDate exif tag. + + + + + Gets the MDPrepTime exif tag. + + + + + Gets the MDFileUnits exif tag. + + + + + Gets the SEMInfo exif tag. + + + + + Gets the SpectralSensitivity exif tag. + + + + + Gets the DateTimeOriginal exif tag. + + + + + Gets the DateTimeDigitized exif tag. + + + + + Gets the SubsecTime exif tag. + + + + + Gets the SubsecTimeOriginal exif tag. + + + + + Gets the SubsecTimeDigitized exif tag. + + + + + Gets the RelatedSoundFile exif tag. + + + + + Gets the FaxSubaddress exif tag. + + + + + Gets the OffsetTime exif tag. + + + + + Gets the OffsetTimeOriginal exif tag. + + + + + Gets the OffsetTimeDigitized exif tag. + + + + + Gets the SecurityClassification exif tag. + + + + + Gets the ImageHistory exif tag. + + + + + Gets the ImageUniqueID exif tag. + + + + + Gets the OwnerName exif tag. + + + + + Gets the SerialNumber exif tag. + + + + + Gets the LensMake exif tag. + + + + + Gets the LensModel exif tag. + + + + + Gets the LensSerialNumber exif tag. + + + + + Gets the GDALMetadata exif tag. + + + + + Gets the GDALNoData exif tag. + + + + + Gets the GPSLatitudeRef exif tag. + + + + + Gets the GPSLongitudeRef exif tag. + + + + + Gets the GPSSatellites exif tag. + + + + + Gets the GPSStatus exif tag. + + + + + Gets the GPSMeasureMode exif tag. + + + + + Gets the GPSSpeedRef exif tag. + + + + + Gets the GPSTrackRef exif tag. + + + + + Gets the GPSImgDirectionRef exif tag. + + + + + Gets the GPSMapDatum exif tag. + + + + + Gets the GPSDestLatitudeRef exif tag. + + + + + Gets the GPSDestLongitudeRef exif tag. + + + + + Gets the GPSDestBearingRef exif tag. + + + + + Gets the GPSDestDistanceRef exif tag. + + + + + Gets the GPSDateStamp exif tag. + + + + + Gets the JPEGTables exif tag. + + + + + Gets the OECF exif tag. + + + + + Gets the ExifVersion exif tag. + + + + + Gets the ComponentsConfiguration exif tag. + + + + + Gets the MakerNote exif tag. + + + + + Gets the UserComment exif tag. + + + + + Gets the FlashpixVersion exif tag. + + + + + Gets the SpatialFrequencyResponse exif tag. + + + + + Gets the SpatialFrequencyResponse2 exif tag. + + + + + Gets the Noise exif tag. + + + + + Gets the CFAPattern exif tag. + + + + + Gets the DeviceSettingDescription exif tag. + + + + + Gets the ImageSourceData exif tag. + + + + + Gets the GPSProcessingMethod exif tag. + + + + + Gets the GPSAreaInformation exif tag. + + + + + Gets the FileSource exif tag. + + + + + Gets the ImageDescription exif tag. + + + + + All exif tags from the Exif standard 2.31. + + + + + Unknown. + + + + + SubIFDOffset. + + + + + GPSIFDOffset. + + + + + SubfileType. + + + + + OldSubfileType. + + + + + ImageWidth. + + + + + ImageLength. + + + + + BitsPerSample. + + + + + Compression. + + + + + PhotometricInterpretation. + + + + + Thresholding. + + + + + CellWidth. + + + + + CellLength. + + + + + FillOrder. + + + + + DocumentName. + + + + + ImageDescription. + + + + + Make. + + + + + Model. + + + + + StripOffsets. + + + + + Orientation. + + + + + SamplesPerPixel. + + + + + RowsPerStrip. + + + + + StripByteCounts. + + + + + MinSampleValue. + + + + + MaxSampleValue. + + + + + XResolution. + + + + + YResolution. + + + + + PlanarConfiguration. + + + + + PageName. + + + + + XPosition. + + + + + YPosition. + + + + + FreeOffsets. + + + + + FreeByteCounts. + + + + + GrayResponseUnit. + + + + + GrayResponseCurve. + + + + + T4Options. + + + + + T6Options. + + + + + ResolutionUnit. + + + + + PageNumber. + + + + + ColorResponseUnit. + + + + + TransferFunction. + + + + + Software. + + + + + DateTime. + + + + + Artist. + + + + + HostComputer. + + + + + Predictor. + + + + + WhitePoint. + + + + + PrimaryChromaticities. + + + + + ColorMap. + + + + + HalftoneHints. + + + + + TileWidth. + + + + + TileLength. + + + + + TileOffsets. + + + + + TileByteCounts. + + + + + BadFaxLines. + + + + + CleanFaxData. + + + + + ConsecutiveBadFaxLines. + + + + + InkSet. + + + + + InkNames. + + + + + NumberOfInks. + + + + + DotRange. + + + + + TargetPrinter. + + + + + ExtraSamples. + + + + + SampleFormat. + + + + + SMinSampleValue. + + + + + SMaxSampleValue. + + + + + TransferRange. + + + + + ClipPath. + + + + + XClipPathUnits. + + + + + YClipPathUnits. + + + + + Indexed. + + + + + JPEGTables. + + + + + OPIProxy. + + + + + ProfileType. + + + + + FaxProfile. + + + + + CodingMethods. + + + + + VersionYear. + + + + + ModeNumber. + + + + + Decode. + + + + + DefaultImageColor. + + + + + T82ptions. + + + + + JPEGProc. + + + + + JPEGInterchangeFormat. + + + + + JPEGInterchangeFormatLength. + + + + + JPEGRestartInterval. + + + + + JPEGLosslessPredictors. + + + + + JPEGPointTransforms. + + + + + JPEGQTables. + + + + + JPEGDCTables. + + + + + JPEGACTables. + + + + + YCbCrCoefficients. + + + + + YCbCrSubsampling. + + + + + YCbCrPositioning. + + + + + ReferenceBlackWhite. + + + + + StripRowCounts. + + + + + XMP. + + + + + Rating. + + + + + RatingPercent. + + + + + ImageID. + + + + + CFARepeatPatternDim. + + + + + CFAPattern2. + + + + + BatteryLevel. + + + + + Copyright. + + + + + ExposureTime. + + + + + FNumber. + + + + + MDFileTag. + + + + + MDScalePixel. + + + + + MDLabName. + + + + + MDSampleInfo. + + + + + MDPrepDate. + + + + + MDPrepTime. + + + + + MDFileUnits. + + + + + PixelScale. + + + + + IntergraphPacketData. + + + + + IntergraphRegisters. + + + + + IntergraphMatrix. + + + + + ModelTiePoint. + + + + + SEMInfo. + + + + + ModelTransform. + + + + + ImageLayer. + + + + + ExposureProgram. + + + + + SpectralSensitivity. + + + + + ISOSpeedRatings. + + + + + OECF. + + + + + Interlace. + + + + + TimeZoneOffset. + + + + + SelfTimerMode. + + + + + SensitivityType. + + + + + StandardOutputSensitivity. + + + + + RecommendedExposureIndex. + + + + + ISOSpeed. + + + + + ISOSpeedLatitudeyyy. + + + + + ISOSpeedLatitudezzz. + + + + + FaxRecvParams. + + + + + FaxSubaddress. + + + + + FaxRecvTime. + + + + + ExifVersion. + + + + + DateTimeOriginal. + + + + + DateTimeDigitized. + + + + + OffsetTime. + + + + + OffsetTimeOriginal. + + + + + OffsetTimeDigitized. + + + + + ComponentsConfiguration. + + + + + CompressedBitsPerPixel. + + + + + ShutterSpeedValue. + + + + + ApertureValue. + + + + + BrightnessValue. + + + + + ExposureBiasValue. + + + + + MaxApertureValue. + + + + + SubjectDistance. + + + + + MeteringMode. + + + + + LightSource. + + + + + Flash. + + + + + FocalLength. + + + + + FlashEnergy2. + + + + + SpatialFrequencyResponse2. + + + + + Noise. + + + + + FocalPlaneXResolution2. + + + + + FocalPlaneYResolution2. + + + + + FocalPlaneResolutionUnit2. + + + + + ImageNumber. + + + + + SecurityClassification. + + + + + ImageHistory. + + + + + SubjectArea. + + + + + ExposureIndex2. + + + + + TIFFEPStandardID. + + + + + SensingMethod. + + + + + MakerNote. + + + + + UserComment. + + + + + SubsecTime. + + + + + SubsecTimeOriginal. + + + + + SubsecTimeDigitized. + + + + + ImageSourceData. + + + + + AmbientTemperature. + + + + + Humidity. + + + + + Pressure. + + + + + WaterDepth. + + + + + Acceleration. + + + + + CameraElevationAngle. + + + + + XPTitle. + + + + + XPComment. + + + + + XPAuthor. + + + + + XPKeywords. + + + + + XPSubject. + + + + + FlashpixVersion. + + + + + ColorSpace. + + + + + PixelXDimension. + + + + + PixelYDimension. + + + + + RelatedSoundFile. + + + + + FlashEnergy. + + + + + SpatialFrequencyResponse. + + + + + FocalPlaneXResolution. + + + + + FocalPlaneYResolution. + + + + + FocalPlaneResolutionUnit. + + + + + SubjectLocation. + + + + + ExposureIndex. + + + + + SensingMethod. + + + + + FileSource. + + + + + SceneType. + + + + + CFAPattern. + + + + + CustomRendered. + + + + + ExposureMode. + + + + + WhiteBalance. + + + + + DigitalZoomRatio. + + + + + FocalLengthIn35mmFilm. + + + + + SceneCaptureType. + + + + + GainControl. + + + + + Contrast. + + + + + Saturation. + + + + + Sharpness. + + + + + DeviceSettingDescription. + + + + + SubjectDistanceRange. + + + + + ImageUniqueID. + + + + + OwnerName. + + + + + SerialNumber. + + + + + LensInfo. + + + + + LensMake. + + + + + LensModel. + + + + + LensSerialNumber. + + + + + GDALMetadata. + + + + + GDALNoData. + + + + + GPSVersionID. + + + + + GPSLatitudeRef. + + + + + GPSLatitude. + + + + + GPSLongitudeRef. + + + + + GPSLongitude. + + + + + GPSAltitudeRef. + + + + + GPSAltitude. + + + + + GPSTimestamp. + + + + + GPSSatellites. + + + + + GPSStatus. + + + + + GPSMeasureMode. + + + + + GPSDOP. + + + + + GPSSpeedRef. + + + + + GPSSpeed. + + + + + GPSTrackRef. + + + + + GPSTrack. + + + + + GPSImgDirectionRef. + + + + + GPSImgDirection. + + + + + GPSMapDatum. + + + + + GPSDestLatitudeRef. + + + + + GPSDestLatitude. + + + + + GPSDestLongitudeRef. + + + + + GPSDestLongitude. + + + + + GPSDestBearingRef. + + + + + GPSDestBearing. + + + + + GPSDestDistanceRef. + + + + + GPSDestDistance. + + + + + GPSProcessingMethod. + + + + + GPSAreaInformation. + + + + + GPSDateStamp. + + + + + GPSDifferential. + + + + + Class that represents an exif tag from the Exif standard 2.31 with as the data type of the tag. + + The data type of the tag. + + + + A value of the exif profile. + + + + + Gets the data type of the exif value. + + + + + Gets a value indicating whether the value is an array. + + + + + Gets the tag of the exif value. + + + + + Gets the value of this exif value. + + The value of this exif value. + + + + Sets the value of this exif value. + + The value of this exif value. + A value indicating whether the value could be set. + + + + A value of the exif profile. + + The type of the value. + + + + Gets or sets the value. + + + + + Interface that describes an image profile. + + + + + Gets the name of the profile. + + + + + Returns the array of this profile. + + A array. + + + + Converts this instance to a byte array. + + A array. + + + + Class that contains an image profile. + + + + + Initializes a new instance of the class. + + The name of the profile. + A byte array containing the profile. + + + + Initializes a new instance of the class. + + The name of the profile. + A stream containing the profile. + + + + Initializes a new instance of the class. + + The name of the profile. + The fully qualified name of the profile file, or the relative profile file name. + + + + Initializes a new instance of the class. + + The name of the profile. + + + + Gets the name of the profile. + + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified image compare is equal to the current . + + The image profile to compare this with. + True when the specified image compare is equal to the current . + + + + Returns the array of this profile. + + A array. + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts this instance to a array. + + A array. + + + + Sets the data of the profile. + + The new data of the profile. + + + + Updates the data of the profile. + + + + + Class that can be used to access an Iptc profile. + + + + + Gets the values of this iptc profile. + + + + + Returns the first occurrence of a iptc value with the specified tag. + + The tag of the iptc value. + The value with the specified tag. + + + + Returns all values with the specified tag. + + The tag of the iptc value. + The values found with the specified tag. + + + + Removes all values with the specified tag. + + The tag of the iptc value to remove. + True when the value was found and removed. + + + + Removes values with the specified tag and value. + + The tag of the iptc value to remove. + The value of the iptc item to remove. + True when the value was found and removed. + + + + Sets the value of the specified tag. + + The tag of the iptc value. + The value. + + + + Makes sure the datetime is formatted according to the iptc specification. + + A date will be formatted as CCYYMMDD, e.g. "19890317" for 17 March 1989. + A time value will be formatted as HHMMSS±HHMM, e.g. "090000+0200" for 9 o'clock Berlin time, + two hours ahead of UTC. + + + The tag of the iptc value. + The datetime. + + + + A value of the iptc profile. + + + + + Gets the tag of the iptc value. + + + + + Gets or sets the value. + + + + + Gets the length of the value. + + + + + Converts this instance to a byte array. + + A array. + + + + Returns a string that represents the current value. + + A string that represents the current value. + + + + Class that can be used to access an Iptc profile. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The byte array to read the iptc profile from. + + + + Initializes a new instance of the class. + + The fully qualified name of the iptc profile file, or the relative + iptc profile file name. + + + + Initializes a new instance of the class. + + The stream to read the iptc profile from. + + + + Gets the values of this iptc profile. + + + + + Returns the first occurrence of a iptc value with the specified tag. + + The tag of the iptc value. + The value with the specified tag. + + + + Returns all values with the specified tag. + + The tag of the iptc value. + The values found with the specified tag. + + + + Removes all values with the specified tag. + + The tag of the iptc value to remove. + True when the value was found and removed. + + + + Removes values with the specified tag and value. + + The tag of the iptc value to remove. + The value of the iptc item to remove. + True when the value was found and removed. + + + + Sets the value of the specified tag. + + The tag of the iptc value. + The value. + + + + Makes sure the datetime is formatted according to the iptc specification. + + A date will be formatted as CCYYMMDD, e.g. "19890317" for 17 March 1989. + A time value will be formatted as HHMMSS±HHMM, e.g. "090000+0200" for 9 o'clock Berlin time, + two hours ahead of UTC. + + + The tag of the iptc value. + The datetime. + + + + Updates the data of the profile. + + + + + All iptc tags. + + + + + Unknown. + + + + + Record version. + + + + + Object type. + + + + + Object attribute. + + + + + Title. + + + + + Edit status. + + + + + Editorial update. + + + + + Priority. + + + + + Subject Reference. + + + + + Category. + + + + + Supplemental categories. + + + + + Fixture identifier. + + + + + Keyword. + + + + + Location code. + + + + + Location name. + + + + + Release date. + + + + + Release time. + + + + + Expiration date. + + + + + Expiration time. + + + + + Special instructions. + + + + + Action advised. + + + + + Reference service. + + + + + Reference date. + + + + + ReferenceNumber. + + + + + Created date. + + + + + Created time. + + + + + Digital creation date. + + + + + Digital creation time. + + + + + Originating program. + + + + + Program version. + + + + + Object cycle. + + + + + Byline. + + + + + Byline title. + + + + + City. + + + + + Sub location. + + + + + Province/State. + + + + + Country code. + + + + + Country. + + + + + Original transmission reference. + + + + + Headline. + + + + + Credit. + + + + + Source. + + + + + Copyright notice. + + + + + Contact. + + + + + Caption. + + + + + Local caption. + + + + + Caption writer. + + + + + Image type. + + + + + Image orientation. + + + + + Custom field 1. + + + + + Custom field 2. + + + + + Custom field 3. + + + + + Custom field 4. + + + + + Custom field 5. + + + + + Custom field 6. + + + + + Custom field 7. + + + + + Custom field 8. + + + + + Custom field 9. + + + + + Custom field 10. + + + + + Custom field 11. + + + + + Custom field 12. + + + + + Custom field 13. + + + + + Custom field 14. + + + + + Custom field 15. + + + + + Custom field 16. + + + + + Custom field 17. + + + + + Custom field 18. + + + + + Custom field 19. + + + + + Custom field 20. + + + + + A value of the iptc profile. + + + + + Gets the tag of the iptc value. + + + + + Gets or sets the value. + + + + + Gets the length of the value. + + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified iptc value is equal to the current . + + The iptc value to compare this with. + True when the specified iptc value is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts this instance to a byte array. + + A array. + + + + Returns a string that represents the current value. + + A string that represents the current value. + + + + Class that contains an XMP profile. + + + + + Creates a XmlReader that can be used to read the data of the profile. + + A . + + + + Converts this instance to an IXPathNavigable. + + A . + + + + Converts this instance to a XDocument. + + A . + + + + Class that contains an XMP profile. + + + + + Initializes a new instance of the class. + + A byte array containing the profile. + + + + Initializes a new instance of the class. + + A document containing the profile. + + + + Initializes a new instance of the class. + + A document containing the profile. + + + + Initializes a new instance of the class. + + A stream containing the profile. + + + + Initializes a new instance of the class. + + The fully qualified name of the profile file, or the relative profile file name. + + + + Creates an instance from the specified IXPathNavigable. + + A document containing the profile. + A . + + + + Creates an instance from the specified IXPathNavigable. + + A document containing the profile. + A . + + + + Creates a XmlReader that can be used to read the data of the profile. + + A . + + + + Converts this instance to an IXPathNavigable. + + A . + + + + Converts this instance to a XDocument. + + A . + + + + Class that contains setting for the compare operations. + + The quantum type. + + + + Gets or sets the error metric to use. + + + + + Gets or sets the color that emphasize pixel differences. + + + + + Gets or sets the color that de-emphasize pixel differences. + + + + + Gets or sets the color of pixels that are inside the read mask. + + + + + Class that contains setting for the complex operation. + + + + + Gets or sets the complex operator. + + + + + Gets or sets the signal to noise ratio. + + + + + Class that contains setting for the connected components operation. + + + + + Gets or sets the threshold that merges any object not within the min and max angle threshold. + + + + + Gets or sets the threshold that eliminate small objects by merging them with their larger neighbors. + + + + + Gets or sets the threshold that merges any object not within the min and max circularity threshold. + + + + + Gets or sets how many neighbors to visit, choose from 4 or 8. + + + + + Gets or sets the threshold that merges any object not within the min and max diameter threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max eccentricity threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max ellipse major threshold. + + + + + Gets or sets a value indicating whether the object color in the labeled image will be replaced with the mean-color from the source image. + + + + + Gets or sets the threshold that merges any object not within the min and max ellipse minor threshold. + + + + + Gets or sets the threshold that merges any object not within the min and max perimeter threshold. + + + + + Class that contains setting for the deskew operation. + + + + + Gets or sets a value indicating whether the image should be auto cropped after deskewing. + + + + + Gets or sets the threshold. + + + + + Class that contains setting for the distort operation. + + + + + Gets or sets a value indicating whether distort attempt to 'bestfit' the size of the resulting image. + + + + + Gets or sets a value to scale the size of the output canvas by this amount to provide a method of + Zooming, and for super-sampling the results. + + + + + Gets or sets the viewport that directly set the output image canvas area and offest to use for the + resulting image, rather than use the original images canvas, or a calculated 'bestfit' canvas. + + + + + Class that contains setting for the kmeans operation. + + + + + Gets or sets the seed clusters from color list (e.g. red;green;blue). + + + + + Gets or sets the number of colors to use as seeds. + + + + + Gets or sets the maximum number of iterations while converging. + + + + + Gets or sets the maximum tolerance. + + + + + Class that contains setting for when an image is being read. + + The quantum type. + + + + Gets or sets the defines that should be set before the image is read. + + + + + Gets or sets the specified area to extract from the image. + + + + + Gets or sets the index of the image to read from a multi layer/frame image. + + + + + Gets or sets the number of images to read from a multi layer/frame image. + + + + + Gets or sets the height. + + + + + Gets or sets a value indicating whether the exif profile should be used to update some of the + properties of the image (e.g. , ). + + + + + Gets or sets a value indicating whether the monochrome reader shoul be used. This is + supported by: PCL, PDF, PS and XPS. + + + + + Gets or sets the width. + + + + + Class that contains various settings. + + The quantum type. + + + + Gets or sets the affine to use when annotating with text or drawing. + + + + + Gets or sets a value indicating whether anti-aliasing should be enabled (default true). + + + + + Gets or sets the background color. + + + + + Gets or sets the border color. + + + + + Gets or sets the color space. + + + + + Gets or sets the color type of the image. + + + + + Gets or sets the compression method to use. + + + + + Gets or sets a value indicating whether printing of debug messages from ImageMagick is enabled when a debugger is attached. + + + + + Gets or sets the vertical and horizontal resolution in pixels. + + + + + Gets or sets the depth (bits allocated to red/green/blue components). + + + + + Gets or sets the endianness (little like Intel or big like SPARC) for image formats which support + endian-specific options. + + + + + Gets or sets the fill color. + + + + + Gets or sets the fill pattern. + + + + + Gets or sets the rule to use when filling drawn objects. + + + + + Gets or sets the text rendering font. + + + + + Gets or sets the text font family. + + + + + Gets or sets the font point size. + + + + + Gets or sets the font style. + + + + + Gets or sets the font weight. + + + + + Gets or sets the the format of the image. + + + + + Gets or sets the preferred size and location of an image canvas. + + + + + Gets or sets a value indicating whether stroke anti-aliasing is enabled or disabled. + + + + + Gets or sets the color to use when drawing object outlines. + + + + + Gets or sets the pattern of dashes and gaps used to stroke paths. This represents a + zero-terminated array of numbers that specify the lengths of alternating dashes and gaps + in pixels. If a zero value is not found it will be added. If an odd number of values is + provided, then the list of values is repeated to yield an even number of values. + + + + + Gets or sets the distance into the dash pattern to start the dash (default 0) while + drawing using a dash pattern,. + + + + + Gets or sets the shape to be used at the end of open subpaths when they are stroked. + + + + + Gets or sets the shape to be used at the corners of paths (or other vector shapes) when they + are stroked. + + + + + Gets or sets the miter limit. When two line segments meet at a sharp angle and miter joins have + been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness + of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter + length to the 'lineWidth'. The default value is 4. + + + + + Gets or sets the pattern image to use while stroking object outlines. + + + + + Gets or sets the stroke width for drawing lines, circles, ellipses, etc. + + + + + Gets or sets a value indicating whether Postscript and TrueType fonts should be anti-aliased (default true). + + + + + Gets or sets text direction (right-to-left or left-to-right). + + + + + Gets or sets the text annotation encoding (e.g. "UTF-16"). + + + + + Gets or sets the text annotation gravity. + + + + + Gets or sets the text inter-line spacing. + + + + + Gets or sets the text inter-word spacing. + + + + + Gets or sets the text inter-character kerning. + + + + + Gets or sets the text undercolor box. + + + + + Gets or sets a value indicating whether verbose output os turned on or off. + + + + + Returns the value of a format-specific option. + + The format to get the option for. + The name of the option. + The value of a format-specific option. + + + + Returns the value of a format-specific option. + + The name of the option. + The value of a format-specific option. + + + + Removes the define with the specified name. + + The format to set the define for. + The name of the define. + + + + Removes the define with the specified name. + + The name of the define. + + + + Sets a format-specific option. + + The format to set the define for. + The name of the define. + The value of the define. + + + + Sets a format-specific option. + + The format to set the option for. + The name of the option. + The value of the option. + + + + Sets a format-specific option. + + The format to set the option for. + The name of the option. + The value of the option. + + + + Sets a format-specific option. + + The name of the option. + The value of the option. + + + + Sets format-specific options with the specified defines. + + The defines to set. + + + + Class that contains setting for the montage operation. + + The quantum type. + + + + Gets or sets the color of the background that thumbnails are composed on. + + + + + Gets or sets the frame border color. + + + + + Gets or sets the pixels between thumbnail and surrounding frame. + + + + + Gets or sets the fill color. + + + + + Gets or sets the label font. + + + + + Gets or sets the font point size. + + + + + Gets or sets the frame geometry (width & height frame thickness). + + + + + Gets or sets the thumbnail width & height plus border width & height. + + + + + Gets or sets the thumbnail position (e.g. SouthWestGravity). + + + + + Gets or sets the thumbnail label (applied to image prior to montage). + + + + + Gets or sets a value indicating whether drop-shadows on thumbnails are enabled or disabled. + + + + + Gets or sets the outline color. + + + + + Gets or sets the background texture image. + + + + + Gets or sets the frame geometry (width & height frame thickness). + + + + + Gets or sets the montage title. + + + + + Gets or sets the transparent color. + + + + + Class that contains setting for the morphology operation. + + + + + Gets or sets the channels to apply the kernel to. + + + + + Gets or sets the bias to use when the method is Convolve. + + + + + Gets or sets the scale to use when the method is Convolve. + + + + + Gets or sets the number of iterations. + + + + + Gets or sets built-in kernel. + + + + + Gets or sets kernel arguments. + + + + + Gets or sets the morphology method. + + + + + Gets or sets user suplied kernel. + + + + + Class that contains setting for when pixels are imported. + + + + + Gets the height of the pixel area. + + + + + Gets the width of the pixel area. + + + + + Gets the X offset from origin. + + + + + Gets the Y offset from origin. + + + + + Gets or sets the mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + + Gets the pixel storage type. + + + + + Class that contains setting for when pixels are read. + + The quantum type. + + + + Gets or sets the mapping of the pixels (e.g. RGB/RGBA/ARGB). + + + + + Gets or sets the pixel storage type. + + + + + Gets the settings to use when reading the image. + + + + + Class that contains setting for quantize operations. + + + + + Gets or sets the maximum number of colors to quantize to. + + + + + Gets or sets the colorspace to quantize in. + + + + + Gets or sets the dither method to use. + + + + + Gets or sets a value indicating whether errors should be measured. + + + + + Gets or sets the quantization tree-depth. + + + + + The normalized moments of one image channels. + + + + + Gets the centroid. + + + + + Gets the channel of this moment. + + + + + Gets the ellipse axis. + + + + + Gets the ellipse angle. + + + + + Gets the ellipse eccentricity. + + + + + Gets the ellipse intensity. + + + + + Returns the Hu invariants. + + The index to use. + The Hu invariants. + + + + Contains the he perceptual hash of one image channel. + + + + + Gets the channel. + + + + + SRGB hu perceptual hash. + + The index to use. + The SRGB hu perceptual hash. + + + + Hclp hu perceptual hash. + + The index to use. + The Hclp hu perceptual hash. + + + + Returns the sum squared difference between this hash and the other hash. + + The to get the distance of. + The sum squared difference between this hash and the other hash. + + + + Returns a string representation of this hash. + + A string representation of this hash. + + + + Encapsulation of the ImageMagick ImageChannelStatistics object. + + + + + Gets the channel. + + + + + Gets the depth of the channel. + + + + + Gets the entropy. + + + + + Gets the kurtosis. + + + + + Gets the maximum value observed. + + + + + Gets the average (mean) value observed. + + + + + Gets the minimum value observed. + + + + + Gets the skewness. + + + + + Gets the standard deviation, sqrt(variance). + + + + + Gets the sum. + + + + + Gets the sum cubed. + + + + + Gets the sum fourth power. + + + + + Gets the sum squared. + + + + + Gets the variance. + + + + + The normalized moments of one or more image channels. + + + + + Gets the moments for the all the channels. + + The moments for the all the channels. + + + + Gets the moments for the specified channel. + + The channel to get the moments for. + The moments for the specified channel. + + + + Contains the he perceptual hash of one or more image channels. + + + + + Returns the perceptual hash for the specified channel. + + The channel to get the has for. + The perceptual hash for the specified channel. + + + + Returns the sum squared difference between this hash and the other hash. + + The to get the distance of. + The sum squared difference between this hash and the other hash. + + + + Returns a string representation of this hash. + + A . + + + + Encapsulation of the ImageMagick ImageStatistics object. + + + + + Gets the channels. + + + + + Returns the statistics for the all the channels. + + The statistics for the all the channels. + + + + Returns the statistics for the specified channel. + + The channel to get the statistics for. + The statistics for the specified channel. + + + + Represents the density of an image. + + + + + Initializes a new instance of the class with the density set to inches. + + The x and y. + + + + Initializes a new instance of the class. + + The x and y. + The units. + + + + Initializes a new instance of the class with the density set to inches. + + The x. + The y. + + + + Initializes a new instance of the class. + + The x. + The y. + The units. + + + + Initializes a new instance of the class. + + Density specifications in the form: <x>x<y>[inch/cm] (where x, y are numbers). + + + + Gets the units. + + + + + Gets the x resolution. + + + + + Gets the y resolution. + + + + + Changes the density of the instance to the specified units. + + The units to use. + A new with the specified units. + + + + Determines whether the specified object is equal to the . + + The object to compare this with. + True when the specified object is equal to the . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current . + + A string that represents the current . + + + + Returns a string that represents the current . + + The units to use. + A string that represents the current . + + + + Encapsulation of the ImageMagick connected component object. + + The quantum type. + + + + Gets the pixel count of the area. + + + + + Gets the centroid of the area. + + + + + Gets the color of the area. + + + + + Gets the height of the area. + + + + + Gets the id of the area. + + + + + Gets the width of the area. + + + + + Gets the X offset from origin. + + + + + Gets the Y offset from origin. + + + + + Returns the geometry of the area of this connected component. + + The geometry of the area of this connected component. + + + + Returns the geometry of the area of this connected component. + + The number of pixels to extent the image with. + The geometry of the area of this connected component. + + + + Encapsulates the error information. + + + + + Gets the mean error per pixel computed when an image is color reduced. + + + + + Gets the normalized maximum error per pixel computed when an image is color reduced. + + + + + Gets the normalized mean error per pixel computed when an image is color reduced. + + + + + Encapsulation of the ImageMagick geometry object. + + + + + Gets a value indicating whether the value is an aspect ratio. + + + + + Gets or sets a value indicating whether the image is resized based on the smallest fitting dimension (^). + + + + + Gets or sets a value indicating whether the image is resized if image is greater than size (>). + + + + + Gets or sets the height of the geometry. + + + + + Gets or sets a value indicating whether the image is resized without preserving aspect ratio (!). + + + + + Gets or sets a value indicating whether the width and height are expressed as percentages. + + + + + Gets or sets a value indicating whether the image is resized if the image is less than size (<). + + + + + Gets or sets a value indicating whether the image is resized using a pixel area count limit (@). + + + + + Gets or sets the width of the geometry. + + + + + Gets or sets the X offset from origin. + + + + + Gets or sets the Y offset from origin. + + + + + Initializes the geometry using the sepcified value. + + The X offset from origin. + The Y offset from origin. + The width. + The height. + + + + Returns a string that represents the current . + + A string that represents the current . + + + + Result for a sub image search operation. + + The quantum type. + + + + Gets the offset for the best match. + + + + + Gets the a similarity image such that an exact match location is completely white and if none of + the pixels match, black, otherwise some gray level in-between. + + + + + Gets the similarity metric. + + + + + PrimaryInfo information. + + + + + Gets the X value. + + + + + Gets the Y value. + + + + + Gets the Z value. + + + + + Represents an argument for the SparseColor method. + + The quantum type. + + + + Gets or sets the X position. + + + + + Gets or sets the Y position. + + + + + Gets or sets the color. + + + + + Used to obtain font metrics for text string given current font, pointsize, and density settings. + + + + + Gets the ascent, the distance in pixels from the text baseline to the highest/upper grid coordinate + used to place an outline point. + + + + + Gets the descent, the distance in pixels from the baseline to the lowest grid coordinate used to + place an outline point. Always a negative value. + + + + + Gets the maximum horizontal advance in pixels. + + + + + Gets the text height in pixels. + + + + + Gets the text width in pixels. + + + + + Gets the underline position. + + + + + Gets the underline thickness. + + + + + Represents an exif number. + + + + + Initializes a new instance of the struct. + + The value of the number. + + + + Converts the specified to an instance of this type. + + The value. + + + + Converts the specified to an instance of this type. + + The value. + + + + Converts the specified to an instance of this type. + + The value. + + + + Converts the specified to an instance of this type. + + The value. + + + + Converts the specified to a . + + The to convert. + + + + Converts the specified to a . + + The to convert. + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is more than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Compares the current instance with another object of the same type. + + The object to compare this color with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. + + An object that supplies culture-specific formatting information. + The string representation of the value of this instance, which consists of a sequence of digits ranging from 0 to 9, without a sign or leading zeros. + + + + Represents a percentage value. + + + + + Initializes a new instance of the struct. + + The value (0% = 0.0, 100% = 100.0). + + + + Initializes a new instance of the struct. + + The value (0% = 0, 100% = 100). + + + + Converts the specified double to an instance of this type. + + The value (0% = 0, 100% = 100). + + + + Converts the specified int to an instance of this type. + + The value (0% = 0, 100% = 100). + + + + Converts the specified to a double. + + The to convert. + + + + Converts the to a quantum type. + + The to convert. + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the first is more than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Determines whether the first is less than or equal to the second . + + The first to compare. + The second to compare. + + + + Multiplies the value by the . + + The value to use. + The to use. + + + + Multiplies the value by the . + + The value to use. + The to use. + + + + Compares the current instance with another object of the same type. + + The object to compare this with. + A signed number indicating the relative values of this instance and value. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Multiplies the value by the percentage. + + The value to use. + the new value. + + + + Multiplies the value by the percentage. + + The value to use. + the new value. + + + + Returns a double that represents the current percentage. + + A double that represents the current percentage. + + + + Returns an integer that represents the current percentage. + + An integer that represents the current percentage. + + + + Returns a string that represents the current percentage. + + A string that represents the current percentage. + + + + Struct for a point with doubles. + + + + + Initializes a new instance of the struct. + + The x and y. + + + + Initializes a new instance of the struct. + + The x. + The y. + + + + Initializes a new instance of the struct. + + PointD specifications in the form: <x>x<y> (where x, y are numbers). + + + + Gets the x-coordinate of this . + + + + + Gets the y-coordinate of this . + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current PointD. + + A string that represents the current PointD. + + + + Represents a number that can be expressed as a fraction. + + + This is a very simplified implementation of a rational number designed for use with metadata only. + + + + + Initializes a new instance of the struct. + + The to convert to an instance of this type. + + + + Initializes a new instance of the struct. + + The to convert to an instance of this type. + Specifies if the instance should be created with the best precision possible. + + + + Initializes a new instance of the struct. + + The integer to create the rational from. + + + + Initializes a new instance of the struct. + + The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken. + The number below the line in a vulgar fraction; a divisor. + + + + Initializes a new instance of the struct. + + The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken. + The number below the line in a vulgar fraction; a divisor. + Specified if the rational should be simplified. + + + + Gets the numerator of a number. + + + + + Gets the denominator of a number. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Converts the specified to an instance of this type. + + The to convert to an instance of this type. + The . + + + + Converts the specified to an instance of this type. + + The to convert to an instance of this type. + Specifies if the instance should be created with the best precision possible. + The . + + + + Determines whether the specified is equal to this . + + The to compare this with. + True when the specified is equal to this . + + + + Determines whether the specified is equal to this . + + The to compare this with. + True when the specified is equal to this . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts a rational number to the nearest . + + + The . + + + + + Converts the numeric value of this instance to its equivalent string representation. + + A string representation of this value. + + + + Converts the numeric value of this instance to its equivalent string representation using + the specified culture-specific format information. + + + An object that supplies culture-specific formatting information. + + A string representation of this value. + + + + Represents a number that can be expressed as a fraction. + + + This is a very simplified implementation of a rational number designed for use with metadata only. + + + + + Initializes a new instance of the struct. + + The to convert to an instance of this type. + + + + Initializes a new instance of the struct. + + The to convert to an instance of this type. + Specifies if the instance should be created with the best precision possible. + + + + Initializes a new instance of the struct. + + The integer to create the rational from. + + + + Initializes a new instance of the struct. + + The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken. + The number below the line in a vulgar fraction; a divisor. + + + + Initializes a new instance of the struct. + + The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken. + The number below the line in a vulgar fraction; a divisor. + Specified if the rational should be simplified. + + + + Gets the numerator of a number. + + + + + Gets the denominator of a number. + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Converts the specified to an instance of this type. + + The to convert to an instance of this type. + The . + + + + Converts the specified to an instance of this type. + + The to convert to an instance of this type. + Specifies if the instance should be created with the best precision possible. + The . + + + + Determines whether the specified is equal to this . + + The to compare this with. + True when the specified is equal to this . + + + + Determines whether the specified is equal to this . + + The to compare this with. + True when the specified is equal to this . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Converts a rational number to the nearest . + + + The . + + + + + Converts the numeric value of this instance to its equivalent string representation. + + A string representation of this value. + + + + Converts the numeric value of this instance to its equivalent string representation using + the specified culture-specific format information. + + + An object that supplies culture-specific formatting information. + + A string representation of this value. + + + + Struct for a threshold with a minimum and maximum. + + + + + Initializes a new instance of the struct. + + The minimum of the threshold. + + + + Initializes a new instance of the struct. + + The minimum of the threshold. + The maximum of the threshold. + + + + Gets the minimum of this . + + + + + Gets the y-coordinate of this . + + + + + Determines whether the specified instances are considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified instances are not considered equal. + + The first to compare. + The second to compare. + + + + Determines whether the specified object is equal to the current . + + The object to compare this with. + True when the specified object is equal to the current . + + + + Determines whether the specified is equal to the current . + + The to compare this with. + True when the specified is equal to the current . + + + + Serves as a hash of this type. + + A hash code for the current instance. + + + + Returns a string that represents the current PointD. + + A string that represents the current PointD. + + + diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/.signature.p7s b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/.signature.p7s new file mode 100644 index 0000000..8233e43 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/.signature.p7s differ diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Copyright.txt b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Copyright.txt new file mode 100644 index 0000000..9af0518 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Copyright.txt @@ -0,0 +1,2 @@ +Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +Licensed under the Apache License, Version 2.0. diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Magick.NET.SystemDrawing.6.1.4.nupkg b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Magick.NET.SystemDrawing.6.1.4.nupkg new file mode 100644 index 0000000..99a0da1 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Magick.NET.SystemDrawing.6.1.4.nupkg differ diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Magick.NET.icon.png b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Magick.NET.icon.png new file mode 100644 index 0000000..092a7db Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/Magick.NET.icon.png differ diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/docs/Readme.md b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/docs/Readme.md new file mode 100644 index 0000000..572ba83 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/docs/Readme.md @@ -0,0 +1 @@ +ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick without having to install ImageMagick on your server or desktop. Visit https://github.com/dlemstra/Magick.NET/tree/main/docs before installing to help you decide the best version. diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/net462/Magick.NET.SystemDrawing.dll b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/net462/Magick.NET.SystemDrawing.dll new file mode 100644 index 0000000..eb81633 Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/net462/Magick.NET.SystemDrawing.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/net462/Magick.NET.SystemDrawing.xml b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/net462/Magick.NET.SystemDrawing.xml new file mode 100644 index 0000000..4156e61 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/net462/Magick.NET.SystemDrawing.xml @@ -0,0 +1,136 @@ + + + + Magick.NET.SystemDrawing + + + + + Extension methods for the interface. + + + + + Converts the specified to a instance. + + The color. + The to convert. + The quantum type. + + + + Converts the value of this instance to an equivalent Color. + + The color. + A instance. + The quantum type. + + + + Extension methods for the interface. + + + + + Sets the values of this class using the specified . + + /// The geometry. + The to convert. + + + + Converts the value of this instance to an equivalent . + + The geometry. + A instance. + + + + Extension methods for the interface. + + + + + Converts this instance to a using . + + The image collection. + The quantum type. + A that has the format . + + + + Converts this instance to a using the specified . + Supported formats are: Gif, Icon, Tiff. + + The image collection. + The image format. + The quantum type. + A that has the specified . + + + + Contains code that is not compatible with .NET Core. + + + + + Read single image frame. + + The image. + The bitmap to read the image from. + The quantum type. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a using . + + The image. + The quantum type. + A that has the format . + + + + Converts this instance to a using . + + The image. + The quantum type. + A that has the format . + + + + Converts this instance to a using the specified . + Supported formats are: Bmp, Gif, Icon, Jpeg, Png, Tiff. + + The image. + The image format. + The quantum type. + A that has the specified . + + + + Converts this instance to a using the specified . + Supported formats are: Bmp, Gif, Icon, Jpeg, Png, Tiff. + + The image. + The image format. + The quantum type. + A that has the specified . + + + + Extension methods for the interface. + + + + + Initializes a new instance that implements . + + The image factory. + The bitmap to use. + The quantum type. + Thrown when an error is raised by ImageMagick. + A new instance. + + + diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard20/Magick.NET.SystemDrawing.dll b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard20/Magick.NET.SystemDrawing.dll new file mode 100644 index 0000000..71c987c Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard20/Magick.NET.SystemDrawing.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard20/Magick.NET.SystemDrawing.xml b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard20/Magick.NET.SystemDrawing.xml new file mode 100644 index 0000000..4156e61 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard20/Magick.NET.SystemDrawing.xml @@ -0,0 +1,136 @@ + + + + Magick.NET.SystemDrawing + + + + + Extension methods for the interface. + + + + + Converts the specified to a instance. + + The color. + The to convert. + The quantum type. + + + + Converts the value of this instance to an equivalent Color. + + The color. + A instance. + The quantum type. + + + + Extension methods for the interface. + + + + + Sets the values of this class using the specified . + + /// The geometry. + The to convert. + + + + Converts the value of this instance to an equivalent . + + The geometry. + A instance. + + + + Extension methods for the interface. + + + + + Converts this instance to a using . + + The image collection. + The quantum type. + A that has the format . + + + + Converts this instance to a using the specified . + Supported formats are: Gif, Icon, Tiff. + + The image collection. + The image format. + The quantum type. + A that has the specified . + + + + Contains code that is not compatible with .NET Core. + + + + + Read single image frame. + + The image. + The bitmap to read the image from. + The quantum type. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a using . + + The image. + The quantum type. + A that has the format . + + + + Converts this instance to a using . + + The image. + The quantum type. + A that has the format . + + + + Converts this instance to a using the specified . + Supported formats are: Bmp, Gif, Icon, Jpeg, Png, Tiff. + + The image. + The image format. + The quantum type. + A that has the specified . + + + + Converts this instance to a using the specified . + Supported formats are: Bmp, Gif, Icon, Jpeg, Png, Tiff. + + The image. + The image format. + The quantum type. + A that has the specified . + + + + Extension methods for the interface. + + + + + Initializes a new instance that implements . + + The image factory. + The bitmap to use. + The quantum type. + Thrown when an error is raised by ImageMagick. + A new instance. + + + diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard21/Magick.NET.SystemDrawing.dll b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard21/Magick.NET.SystemDrawing.dll new file mode 100644 index 0000000..36683bb Binary files /dev/null and b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard21/Magick.NET.SystemDrawing.dll differ diff --git a/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard21/Magick.NET.SystemDrawing.xml b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard21/Magick.NET.SystemDrawing.xml new file mode 100644 index 0000000..4156e61 --- /dev/null +++ b/PDFWorkflowManager/packages/Magick.NET.SystemDrawing.6.1.4/lib/netstandard21/Magick.NET.SystemDrawing.xml @@ -0,0 +1,136 @@ + + + + Magick.NET.SystemDrawing + + + + + Extension methods for the interface. + + + + + Converts the specified to a instance. + + The color. + The to convert. + The quantum type. + + + + Converts the value of this instance to an equivalent Color. + + The color. + A instance. + The quantum type. + + + + Extension methods for the interface. + + + + + Sets the values of this class using the specified . + + /// The geometry. + The to convert. + + + + Converts the value of this instance to an equivalent . + + The geometry. + A instance. + + + + Extension methods for the interface. + + + + + Converts this instance to a using . + + The image collection. + The quantum type. + A that has the format . + + + + Converts this instance to a using the specified . + Supported formats are: Gif, Icon, Tiff. + + The image collection. + The image format. + The quantum type. + A that has the specified . + + + + Contains code that is not compatible with .NET Core. + + + + + Read single image frame. + + The image. + The bitmap to read the image from. + The quantum type. + Thrown when an error is raised by ImageMagick. + + + + Converts this instance to a using . + + The image. + The quantum type. + A that has the format . + + + + Converts this instance to a using . + + The image. + The quantum type. + A that has the format . + + + + Converts this instance to a using the specified . + Supported formats are: Bmp, Gif, Icon, Jpeg, Png, Tiff. + + The image. + The image format. + The quantum type. + A that has the specified . + + + + Converts this instance to a using the specified . + Supported formats are: Bmp, Gif, Icon, Jpeg, Png, Tiff. + + The image. + The image format. + The quantum type. + A that has the specified . + + + + Extension methods for the interface. + + + + + Initializes a new instance that implements . + + The image factory. + The bitmap to use. + The quantum type. + Thrown when an error is raised by ImageMagick. + A new instance. + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/.signature.p7s b/PDFWorkflowManager/packages/WiX.3.11.2/.signature.p7s new file mode 100644 index 0000000..ccda24d Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/.signature.p7s differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/WiX.3.11.2.nupkg b/PDFWorkflowManager/packages/WiX.3.11.2/WiX.3.11.2.nupkg new file mode 100644 index 0000000..d471764 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/WiX.3.11.2.nupkg differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/build/wix.props b/PDFWorkflowManager/packages/WiX.3.11.2/build/wix.props new file mode 100644 index 0000000..383449d --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/build/wix.props @@ -0,0 +1,14 @@ + + + + $(MSBuildThisFileDirectory)..\tools + $(WixInstallPath)\ + + $(WixInstallPath)\wix.targets + $(WixInstallPath)\lux.targets + + $(WixInstallPath)\WixTasks.dll + $(WixInstallPath)\sdk\ + $(WixSdkPath)wix.ca.targets + + \ No newline at end of file diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/LICENSE.TXT b/PDFWorkflowManager/packages/WiX.3.11.2/tools/LICENSE.TXT new file mode 100644 index 0000000..d4d316e --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/LICENSE.TXT @@ -0,0 +1,28 @@ +Copyright (c) .NET Foundation and contributors. +This software is released under the Microsoft Reciprocal License (MS-RL) (the "License"); you may not use the software except in compliance with the License. + +The text of the Microsoft Reciprocal License (MS-RL) can be found online at: + http://opensource.org/licenses/ms-rl + + +Microsoft Reciprocal License (MS-RL) + +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. + +1. Definitions + The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. + A "contribution" is the original software, or any additions or changes to the software. + A "contributor" is any person that distributes its contribution under this license. + "Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights + (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. + (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations + (A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose. + (B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. + (C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. + (D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. + (E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. + (F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/LuxTasks.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/LuxTasks.dll new file mode 100644 index 0000000..58db166 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/LuxTasks.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Compression.Cab.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Compression.Cab.dll new file mode 100644 index 0000000..acb90dd Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Compression.Cab.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Compression.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Compression.dll new file mode 100644 index 0000000..dd0a730 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Compression.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Resources.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Resources.dll new file mode 100644 index 0000000..3a91427 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.Resources.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.WindowsInstaller.Package.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.WindowsInstaller.Package.dll new file mode 100644 index 0000000..a17ac82 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.WindowsInstaller.Package.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.WindowsInstaller.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.WindowsInstaller.dll new file mode 100644 index 0000000..8079bec Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/Microsoft.Deployment.WindowsInstaller.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/ThmViewer.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/ThmViewer.exe new file mode 100644 index 0000000..2a1454d Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/ThmViewer.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixBalExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixBalExtension.dll new file mode 100644 index 0000000..4a21650 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixBalExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixComPlusExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixComPlusExtension.dll new file mode 100644 index 0000000..519e270 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixComPlusExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixCop.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixCop.exe new file mode 100644 index 0000000..6bcf0ca Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixCop.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDependencyExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDependencyExtension.dll new file mode 100644 index 0000000..b545a8c Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDependencyExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDifxAppExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDifxAppExtension.dll new file mode 100644 index 0000000..06a716d Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDifxAppExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDirectXExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDirectXExtension.dll new file mode 100644 index 0000000..3c9445c Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixDirectXExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixFirewallExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixFirewallExtension.dll new file mode 100644 index 0000000..f81616d Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixFirewallExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixGamingExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixGamingExtension.dll new file mode 100644 index 0000000..c9bf673 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixGamingExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixHttpExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixHttpExtension.dll new file mode 100644 index 0000000..ef8f9b0 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixHttpExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixIIsExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixIIsExtension.dll new file mode 100644 index 0000000..6950423 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixIIsExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixLuxExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixLuxExtension.dll new file mode 100644 index 0000000..2ee4af5 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixLuxExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixMsmqExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixMsmqExtension.dll new file mode 100644 index 0000000..23a56f8 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixMsmqExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixNetFxExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixNetFxExtension.dll new file mode 100644 index 0000000..b6c5ee5 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixNetFxExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixPSExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixPSExtension.dll new file mode 100644 index 0000000..7583a2d Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixPSExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixSqlExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixSqlExtension.dll new file mode 100644 index 0000000..b900ca1 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixSqlExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixTagExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixTagExtension.dll new file mode 100644 index 0000000..b338ae9 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixTagExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixTasks.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixTasks.dll new file mode 100644 index 0000000..720bcbc Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixTasks.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixUIExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixUIExtension.dll new file mode 100644 index 0000000..683810a Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixUIExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixUtilExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixUtilExtension.dll new file mode 100644 index 0000000..72d5bb5 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixUtilExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.MSBuild12.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.MSBuild12.dll new file mode 100644 index 0000000..f5fdd8a Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.MSBuild12.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.MSBuild14.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.MSBuild14.dll new file mode 100644 index 0000000..8620313 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.MSBuild14.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.dll new file mode 100644 index 0000000..c5ad735 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/WixVSExtension.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/candle.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/candle.exe new file mode 100644 index 0000000..63eec0d Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/candle.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/candle.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/candle.exe.config new file mode 100644 index 0000000..bbfc736 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/candle.exe.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/darice.cub b/PDFWorkflowManager/packages/WiX.3.11.2/tools/darice.cub new file mode 100644 index 0000000..dab4567 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/darice.cub differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/dark.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/dark.exe new file mode 100644 index 0000000..5cf5e6f Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/dark.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/dark.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/dark.exe.config new file mode 100644 index 0000000..1191aad --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/dark.exe.config @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/difxapp_x64.wixlib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/difxapp_x64.wixlib new file mode 100644 index 0000000..375f560 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/difxapp_x64.wixlib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/difxapp_x86.wixlib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/difxapp_x86.wixlib new file mode 100644 index 0000000..7a93275 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/difxapp_x86.wixlib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/DTF.chm b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/DTF.chm new file mode 100644 index 0000000..9d883cb Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/DTF.chm differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/DTFAPI.chm b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/DTFAPI.chm new file mode 100644 index 0000000..893684f Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/DTFAPI.chm differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/Dependency.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/Dependency.xsd new file mode 100644 index 0000000..57fc8da --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/Dependency.xsd @@ -0,0 +1,221 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Dependency Extension. + + + + + + Describes the information for this product or feature that serves as a dependency of other products or features. + + + + + + + + + + This element is required for any product, feature, or bundle that will use the Dependency feature to properly reference count + other products or features. It should be authored into a component that is always installed and removed with the + product or features that contain it. This guarantees that product dependencies are not removed before those products that + depend on them. + + + The @Key attribute should identify a version range for your product that you guarantee will be backward compatible. + This key is designed to persist throughout compatible upgrades so that dependent products do not have to be reinstalled + and will not prevent your product from being upgraded. If this attribute is not authored, the value is the ProductCode + and will not automatically support upgrades. + + + By default this uses the Product/@Id attribute value, which may be automatically generated. + + + How To: Author product dependencies + + + + + + + + + + + Dependency provider identity. If this attribute is not specified, an identifier will be generated automatically. + + + + + + + Optional unique registry key name that identifies a product version range on which other products can depend. + This attribute is required in package authoring, but optional for components. + + + + + + + The version of the package. For MSI packages, the ProductVersion will be used by default + and this attribute should not be specified. + + + + + + + Optional display name of the package. For MSI packages, the ProductName will be used by default. + + + + + + + + + Describes a dependency on a provider for the current component or package. + + + + + + + + + This element declares a dependency on any product that uses the Provides element. If that product is uninstalled + before a product that requires it, the uninstall will err or warn the user that other products are installed + which depend on that product. This behavior can be modified by changing the attribute values on the Requires element. + + + If you do not nest this element under a Provides element, you must specify the @Id attribute + so that it can be referenced by a RequiresRef element nested under a Provides element. + + + + How To: Author product dependencies + + + + + + + Dependency requirement identity. If this attribute is not specified, an identifier will be generated automatically. + If this element is not authored under a Provides element, this attribute is required. + + + + + + + The unique registry key name for the dependency provider to require during installation of this product. + + + + + + + The minimum version of the dependency provider required to be installed. The default is unbound. + + + + + + + The maximum version of the dependency provider required to be installed. The default is unbound. + + + + + + + Set to "yes" to make the range of dependency provider versions required include the value specified in Minimum. + + + + + + + Set to "yes" to make the range of dependency provider versions required include the value specified in Maximum. + + + + + + + + + References existing authoring for a dependency on a provider for the current component or package. + + + + + This element references a dependency on any product that uses the Provides element. If that product is uninstalled + before a product that requires it, the uninstall will err or warn the user that other products are installed + which depend on that product. This behavior can be modified by changing the attribute values on the Requires element. + + + + How To: Author product dependencies + + + + + + + The identifier of the Requires element to reference. + + + + + + + + + Optional attribute to explicitly author the provider key for the entire bundle. + + + + + + This provider key is designed to persist throughout compatible upgrades so that dependent bundles do not have to be reinstalled + and will not prevent your product from being upgraded. If this attribute is not authored, the value is the + automatically-generated bundle ID and will not automatically support upgrades. + + + Only a single provider key is supported for bundles. To author that your bundle provides additional features via + packages, author different provider keys for your packages. + + + + + + + + + + Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. + This can also be a preprocessor, binder, or WiX variable. + + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/WiX.chm b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/WiX.chm new file mode 100644 index 0000000..55ba8d9 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/WiX.chm differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/bal.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/bal.xsd new file mode 100644 index 0000000..e9b099f --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/bal.xsd @@ -0,0 +1,262 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Burn User Experience Extension. + + + + + + + + + Conditions for a bundle. The condition is specified in the inner text of the element. + + + + + + + + + + + + The condition that must evaluate to true for the installation to continue. + + + + + + Set the value to the text to display when the condition fails and the installation must be terminated. + + + + + + + + + + + + Configures WixStandardBootstrapperApplication for a Bundle. + + + + + + + + + + If set, the success page will show a Launch button the user can use to launch the application being installed. + The string value can be formatted using Burn variables enclosed in brackets, + to refer to installation directories and so forth. + + + + + + + Id of the target ApprovedExeForElevation element. + If set with LaunchTarget, WixStdBA will launch the application through the Engine's LaunchApprovedExe method instead of through ShellExecute. + + + + + + + If set, WixStdBA will supply these arguments when launching the application specified by the LaunchTarget attribute. + The string value can be formatted using Burn variables enclosed in brackets, + to refer to installation directories and so forth. + + + + + + + If set to "yes", WixStdBA will launch the application specified by the LaunchTarget attribute with the SW_HIDE flag. + This attribute is ignored when the LaunchTargetElevatedId attribute is specified. + + + + + + + WixStdBA will use this working folder when launching the specified application. + The string value can be formatted using Burn variables enclosed in brackets, + to refer to installation directories and so forth. + This attribute is ignored when the LaunchTargetElevatedId attribute is specified. + + + + + + Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl. + + + + + URL target of the license link. Cannot be used simultaneously with LicenseFile. This attribute can be empty to hide the license link completely. + + + + + Source file of the logo graphic. + + + + + Source file of the side logo graphic. + + + + + Source file of the theme XML. + + + + + Source file of the theme localization .wxl file. + + + + + If set to "yes", the Options button will not be shown and the user will not be able to choose an installation directory. + + + + + If set to "yes", attempting to installer a downgraded version of a bundle will be treated as a successful do-nothing operation. + The default behavior (or when explicitly set to "no") is to treat downgrade attempts as failures. + + + + + If set to "yes", the Repair button will not be shown in the maintenance-mode UI. + + + + + If set to "yes", the application version will be displayed on the UI. + + + + + If set to "yes", the bundle can be pre-cached using the /cache command line argument. + + + + + If set to "yes", WixStdBA will show a page allowing the user to restart applications when files are in use. + + + + + + + + + When set to "yes", the Prereq BA will plan the package to be installed if its InstallCondition is "true" or empty. + + + + + + + + + + + + + + When set to "yes", lets the user override the variable's default value by specifying another value on the command line, + in the form Variable=Value. Otherwise, WixStdBA won't overwrite the default value and will log + "Ignoring attempt to set non-overridable variable: 'BAR'." + + + + + + + + + + + When set to "yes", causes WixStdBA/Prereq BA to use the user's control panel language settings. Otherwise, the previous API (which uses locale instead of language) is used to maintain compatiblity with previous versions of WiX. + On Vista and newer platforms, this value set to "yes" will search all specified user languages, including fallback languages, in order. + + + + + + + + + + + + Configures the ManagedBootstrapperApplicationHost for a Bundle. + + + + + + + + + Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl. + + + + + URL target of the license link. Cannot be used simultaneously with LicenseFile. + + + + + Source file of the logo graphic. + + + + + Source file of the theme XML. + + + + + Source file of the theme localization .wxl file. + + + + + + Identifier of the bundle package that contains the .NET Framework. ManagedBootstrapperApplicationHost uses + this identifier to determine whether .NET needs to be installed before the managed bootstrapper application + can be launched. + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/complus.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/complus.xsd new file mode 100644 index 0000000..282e80f --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/complus.xsd @@ -0,0 +1,944 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset COM+ Extension. + + + + + + + + + + + + + + + Defines a COM+ partition. If this element is a child of a + Component element, the partition will be created in association with this + component. If the element is a child of any of the Fragment, Module or Product + elements it is considered to be a locater, referencing an existing partition. + + + + + + + + + + + + + Identifier for the element. + + + + + Id for the partition. This attribute can be omitted, in + which case an id will be generated on install. If the element is a locater, + this attribute can be omitted if a value is provided for the Name attribute. + + + + + Name of the partition. This attribute can be omitted if + the element is a locater, and a value is provided for the PartitionId + attribute. + + + + + + + + + + + + + + + + + + Defines a COM+ partition role. Partition roles can not be + created; this element can only be used as a locater to reference an existing + role. + + + + + + + + + + + + Identifier for the element. + + + + + The id of a ComPlusPartition element representing the partition + the role belongs to. + + + + + Name of the partition role. + + + + + + + + + + + + This element represents a user membership in a partition + role. When the parent component of this element is installed, the user will be + added to the associated partition role. + + + + + + Identifier for the element. + + + + + The id of a ComPlusPartitionRole element representing the + partition the user should be added to. + + + + + Foreign key into the User table. + + + + + + + + + + + + This element represents a security group membership in a + partition role. When the parent component of this element is installed, the + security group will be added to the associated partition role. + + + + + + Identifier for the element. + + + + + The id of a ComPlusPartitionRole element representing the + partition the user should be added to. + + + + + Foreign key into the Group table. + + + + + + + + + + + + Represents a default partition definition for a user. When + the parent component of this element is installed, the default partition of the + user will be set to the referenced partition. + + + + + + Identifier for the element. + + + + + The id of a ComPlusPartition element representing the + partition that will be the default partition for the user. + + + + + Foreign key into the User table. + + + + + + + + + + + + + + + Defines a COM+ application. If this element is a descendent + of a Component element, the application will be created in association with + this component. If the element is a child of any of the Fragment, Module or + Product elements it is considered to be a locater, referencing an existing + application. + + If the element is a child of a ComPlusPartition element, + or have its Partition attribute set, the application will be installed under + the referenced partition. + + + + + + + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusPartition + element, this attribute can be provided with the id of a ComPlusPartition + element representing the partition the application belongs to. + + + + + Id for the application. This attribute can be omitted, in + which case an id will be generated on install. If the element is a locater, + this attribute can be omitted if a value is provided for the Name attribute. + + + + + Name of the application. This attribute can be omitted if + the element is a locater, and a value is provided for the PartitionId + attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines an application role. If this element is a descendent + of a Component element, the application role will be created in association + with this component. If the element is a child of any of the Fragment, Module + or Product elements it is considered to be a locater, referencing an existing + application role. + + + + + + + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusApplication + element, this attribute should be provided with the id of a + ComPlusApplication element representing the application the role belongs to. + + + + + Name of the application role. + + + + + + + + + + + + + This element represents a user membership in an + application role. When the parent component of this element is installed, the + user will be added to the associated application role. This element must be a descendent + of a Component element; it can not be a child of a ComPlusApplicationRole + locater element. To reference a locater element use the ApplicationRole + attribute. + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusApplicationRole + element, this attribute should be provided with the id of a + ComPlusApplicationRole element representing the application role the user is + to be added to. + + + + + Foreign key into the User table. + + + + + + + + + + + + This element represents a security group membership in an + application role. When the parent component of this element is installed, the + user will be added to the associated application role. This element must be a + descendent of a Component element; it can not be a child of a + ComPlusApplicationRole locater element. To reference a locater element use the + ApplicationRole attribute. + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusApplicationRole + element, this attribute should be provided with the id of a + ComPlusApplicationRole element representing the application role the user is + to be added to. + + + + + Foreign key into the Group table. + + + + + + + + + Represents a DLL or assembly to be registered with COM+. If + this element is a child of a ComPlusApplication element, the assembly will be + registered in this application. Other ways the Application attribute must be + set to an application. The element must be a descendent of a Component element, + it can not be a child of a ComPlusApplication locator element. + + + + + + When installing a native assembly, all components + contained in the assembly must be represented as ComPlusComponent elements + under this element. Any component not listed will not be removed during + uninstall. + + + + The fields DllPath, TlbPath and PSDllPath are formatted + fields that should contain file paths to there respective file types. A typical + value for DllPath for example, should be something like “[#MyAssembly_dll]”, + where “MyAssembly_dll” is the key of the dll file in the File table. + + + + Warning: The assembly name provided in the AssemblyName + attribute must be a fully specified assembly name, if a partial name is + provided a random assembly matching the partial name will be selected. + + + + + + + + + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusApplication + element, this attribute should be provided with the id of a ComPlusApplication + element representing the application the assembly is to be registered in. + This attribute can be omitted for a .NET assembly even if the application is + not a child of a ComPlusApplication element. + + + + + The name of the assembly used to identify the assembly in + the GAC. This attribute can be provided only if DllPathFromGAC is set to + “yes”. + + + + + The path to locate the assembly DLL during registration. + This attribute should be provided if DllPathFromGAC is not set to “yes”. + + + + + An optional path to an external type lib for the assembly. + This attribute must be provided if the Type attribute is set to “.net”. + + + + + An optional path to an external proxy/stub DLL for the assembly. + + + + + + + + + + + + + + + Indicates that the assembly is to be installed as an event + class DLL. This attribute is only valid for native assemblies. The assembly + will be installed with the COM+ catalog’s InstallEventClass() function. + + + + + Indicates that the DLL path should be extracted from the + GAC instead for being provided in the DllPath attribute. If this attribute is + set to “yes”, the name of the assembly can be provided using the AssemblyName + attribute. Or, if this AssemblyName attribute is missing, the name will be + extracted from the MsiAssemblyName table using the id of the parent Component + element. + + + + + Indicates that the assembly should be installed in the + commit custom action instead of the normal deferred custom action. This is + necessary when installing .NET assemblies to the GAC in the same + installation, as the assemblies are not visible in the GAC until after the + InstallFinalize action has run. + + + + + + + + + Defines a dependency between two assemblies. This element + affects the order in which assembles are registered. Any assemblies referenced + by this element are guarantied to be registered before, and unregistered after, + the assembly referenced by the parent ComPlusAssembly element. + + + + It is only necessary to explicitly specify dependencies between + assemblies contained in the same package (MSI or MSM). Assemblies merged in to a + package from a merge module will always be installed before any assemblies + specified in the base package. Assemblies merged in from different merge + modules are sequenced using the ModuleDependency MSI table. It is not possible + to have cross dependencies between merge modules or have an assembly in a merge + module depend on an assembly in the base package. + + + + + + + Reference to the id of the assembly required by the parent + ComPlusAssembly element. + + + + + + + + Represents a COM+ component in an assembly. + + + + + + + + + + + + Identifier for the element. + + + + + CLSID of the component. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a role assignment to a COM+ component. + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusComponent + element, this attribute should be provided with the id of a ComPlusComponent + element representing the component the role is to be added to. + + + + + Id of the ComPlusApplicationRole element representing the + role that shall be granted access to the component. + + + + + + + + Represents an interface for a COM+ component. + + + + + + + + + + + Identifier for the element. + + + + + IID of the interface. + + + + + + + + + + + + + + Represents a role assignment to an interface. + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusInterface + element, this attribute should be provided with the id of a ComPlusInterface + element representing the interface the role is to be added to. + + + + + Id of the ComPlusApplicationRole element representing the + role that shall be granted access to the interface. + + + + + + + + + Represents a method for an interface. + + + + + + + + + + Identifier for the element. + + + + + + + Dispatch id of the method. If this attribute is not set a + value must be provided for the Name attribute. + + + + + + + Name of the method. If this attribute is not set a value + must be provided for the Index attribute. + + + + + + + + + + + + + + + Represents a role assignment to a COM+ method. + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusMethod element, + this attribute should be provided with the id of a ComPlusMethod element + representing the method the role is to be added to. + + + + + Id of the ComPlusApplicationRole element representing the + role that shall be granted access to the method. + + + + + + + + + + + + Defines an event subscription for a COM+ component. + + + + + + Identifier for the element. + + + + + If the element is not a child of a ComPlusComponent + element, this attribute should be provided with the id of a ComPlusComponent + element representing the component the subscription is to be created for. + + + + + Id of the subscription. If a value is not provided for + this attribute, an id will be generated during installation. + + + + + Name of the subscription. + + + + + CLSID of the event class for the subscription. If a value + for this attribute is not provided, a value for the PublisherID attribute + must be provided. + + + + + Publisher id for the subscription. If a value for this + attribute is not provided, a value for the EventCLSID attribute must be + provided. + + + + + + + + + + + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + + + Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF". + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/difxapp.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/difxapp.xsd new file mode 100644 index 0000000..a1b45f9 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/difxapp.xsd @@ -0,0 +1,108 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Driver Install Frameworks for Applications Extension. + + + + + + + + + + + + Installs a driver. To use this element, you need to reference the WixDifxAppExtension extension and add the + .wixlib appropriate for the target platform (difxapp_x86.wixlib or difxapp_x64.wixlib) + to your project. + + + + + + + Specifies that the DIFxApp CustomActions should add an entry in the Add/Remove Programs Control + Panel applet. The default is 'yes'. + + + + + + + If set to "yes", configures DIFxApp to delete binary files that were copied to the system from the driver + store when a driver package was installed. If this attribute is set to "no" or not present, DIFxApp does not + remove these files from a system. Note that configuring DIFxApp to delete these files is controlled by the + Flags entry value of the component that represents the driver package in the MsiDriverPackages custom table. + Setting DeleteFiles to "yes" sets the corresponding bit in the Flags entry value. Setting DeleteFiles to "no" + clears the corresponding bit in the Flags entry value. If this attribute is not present, DIFxApp uses a + default value of "no". + + + + + + + Specifies that the DIFxApp CustomActions should force the installation of a new Plug and Play driver + on a device, even if the currently installed driver on the device is a better match than the new driver. + Specifying 'no' is an excellent way to ensure the DIFxApp CustomActions recognize the Component contains + a driver for installation. The default is null which means the Component does not install a driver via + DIFxApp CustomActions. See http://www.microsoft.com/whdc/driver/install/difxtools.mspx + for more information. + + + + + + + If set to "yes", configures DIFxApp to install unsigned driver packages and driver packages with missing + files. For more information, see "Installing Unsigned Driver Packages in Legacy Mode" earlier in this paper. + If this attribute is set to "no" or not present, DIFxApp will install only signed driver packages. Note + that configuring DIFxApp to install unsigned drivers is controlled by the Flags entry value of the component + that represents the driver package in the MsiDriverPackages custom table. Setting Legacy to "yes" sets + the corresponding bit in the Flags entry value. Setting Legacy to "no" clears the bit in the Flags + entry value that configures DIFxApp to install unsigned driver packages. If this attribute is not present, + DIFxApp uses a default value of "no". + + + + + + + Specifies that the DIFxApp CustomActions should prompt the user to connect the Plug and Play + device if it is not connected. The default is 'yes'. + + + + + + + Specifies an optional installation sequence number. DIFxApp CustomActions install the driver packages in + an installation package in the order of increasing sequence numbers. The same sequence number can be used + for more than one driver; however, the order in which packages with the same sequence number are actually + installed cannot be determined. + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/firewall.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/firewall.xsd new file mode 100644 index 0000000..d7ddb57 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/firewall.xsd @@ -0,0 +1,211 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Firewall Extension. + + + + + + + + + Registers an exception for a program or a specific port and protocol in the Windows Firewall + on Windows XP SP2, Windows Server 2003 SP1, and later. For more information about the Windows + Firewall, see + About Windows Firewall API. + + + + + + + + + + + + Explicitly-listed remote addresses that this exception allows through the + firewall. + + + + + + + + + Unique ID of this firewall exception. + + + + + + + + Name of this firewall exception, visible to the user in the firewall + control panel. + + + + + + + + The scope of this firewall exception, which indicates whether incoming + connections can come from any computer including those on the Internet + or only those on the local network subnet. To more precisely specify + allowed remote address, specify a custom scope using RemoteAddress + child elements. + + + + + + + + + + + + + + Port to allow through the firewall for this exception. + + If you use Port and also File or Program in the same + FirewallException element, the exception will fail to install on + Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to + ignore the resulting failure, but the exception will not be added. + + + + + + + + IP protocol used for this firewall exception. If Port is defined, + "tcp" is assumed if the protocol is not specified. + + If you use Protocol and also File or Program in the same + FirewallException element, the exception will fail to install on + Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to + ignore the resulting failure, but the exception will not be added. + + + + + + + + + + + + + + Identifier of a file to be granted access to all incoming ports and + protocols. If you use File, you cannot also use Program. + + If you use File and also Port or Protocol in the same + FirewallException element, the exception will fail to install on + Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to + ignore the resulting failure, but the exception will not be added. + + + + + + + + Path to a target program to be granted access to all incoming ports and + protocols. Note that this is a formatted field, so you can use [#fileId] + syntax to refer to a file being installed. If you use Program, you cannot + also use File. + + If you use Program and also Port or Protocol in the same + FirewallException element, the exception will fail to install on + Windows XP and Windows Server 2003. IgnoreFailure="yes" can be used to + ignore the resulting failure, but the exception will not be added. + + + + + + + + If "yes," failures to register this firewall exception will be silently + ignored. If "no" (the default), failures will cause rollback. + + + + + + + + Profile type for this firewall exception. Default is "all". + + + + + + + + + + + + + + + Description for this firewall rule displayed in Windows Firewall manager in + Windows Vista and later. + + + + + + + + + + A remote address to which the port or program can listen. Address formats vary + based on the version of Windows and Windows Firewall the program is being installed + on. For Windows XP SP2 and Windows Server 2003 SP1, see + + RemoteAddresses Property. + For Windows Vista and Windows Server 2008, see + + RemoteAddresses Property. + + + + + + + + A remote address. + + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/gaming.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/gaming.xsd new file mode 100644 index 0000000..21a0ab3 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/gaming.xsd @@ -0,0 +1,127 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Gaming Extension. + + + + + + + + + Registers this extension for the + rich saved games + property handler on Windows Vista and later. + + + + + + + + + + + Registers a game in Game Explorer on Windows Vista and later. The executable must have an + embedded Game Definition File. For more information about Game Explorer and GDFs, see + The Windows Vista Game Explorer. + This registration is accomplished via custom action. + + On Windows XP, this element instead records the same information in the registry so that + later upgrades to Windows Vista register the game in Game Explorer. + + + + + + + + + Each game can support multiple play and support tasks that are shown in the Game Explorer context menu. PlayTask and SupportTask are not needed when using when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. At least one play task should be created using either PlayTask or the ExtendedProperties\GameTasks\Play in the GDF. + + + + + + + + The game's instance ID. + + + + + Identifier of the file that contains the game's GDF resource, if it doesn't exist in the parent file. + + + + + Identifier of the file that is the game's executable, if it isn't the parent file. + + + + + + + + + Creates a shortcut to the parent File and registers it as a "play task" in Game Explorer. For more information, see + + Game Explorer Tasks + . PlayTask should not be used when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. + + + + + + User-visible task name Game Explorer shows on its context menu. Note that the first task is named "Play" regardless of the name you provide. + + + + + Command-line arguments to be passed to the game executable for this task. + + + + + + + + + Creates an Internet shortcut and registers it as a "support task" in Game Explorer. For more information, see + + Game Explorer Tasks + . SupportTask should not be used when authoring the tasks in the GDF using ExtendedProperties\GameTasks available in Windows 7. + + + + + + User-visible task name Game Explorer shows on its context menu. Note that the first task is named "Play" regardless of the name you provide. + + + + + URI for this task. + + + + + + + + Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples. + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/http.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/http.xsd new file mode 100644 index 0000000..028292a --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/http.xsd @@ -0,0 +1,148 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Http Extension. + + + + + + + + + Makes a reservation record for the HTTP Server API configuration store on Windows XP SP2, + Windows Server 2003, and later. For more information about the HTTP Server API, see + + HTTP Server API + . + + + + + + + + + + + + The access control entries for the access control list. + + + + + + + + + Specifies the behavior when trying to install a URL reservation and it already exists. + + + + + + + + Replaces the existing URL reservation (the default). + + + + + + + Keeps the existing URL reservation. + + + + + + + The installation fails. + + + + + + + + + + + Unique ID of this URL reservation. + If this attribute is not specified, an identifier will be generated automatically. + + + + + + + + Security descriptor to apply to the URL reservation. + Can't be specified when using children UrlAce elements. + + + + + + + + The UrlPrefix + string that defines the portion of the URL namespace to which this reservation pertains. + + + + + + + + + + The security principal and which rights to assign to them for the URL reservation. + + + + + + + Unique ID of this URL ACE. + If this attribute is not specified, an identifier will be generated automatically. + + + + + + + + The security principal for this ACE. When the UrlReservation is under a ServiceInstall element, this defaults to + "NT SERVICE\ServiceInstallName". This may be either a SID or an account name in a format that + LookupAccountName + supports. When using a SID, an asterisk must be prepended. For example, "*S-1-5-18". + + + + + + + + Rights for this ACE. Default is "all". + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/iis.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/iis.xsd new file mode 100644 index 0000000..9aa0da7 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/iis.xsd @@ -0,0 +1,1104 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Internet Information Services Extension. + + + + + + + + + + + + + + WebDirProperties used by one or more WebSites. Lists properties common to IIS web sites and vroots. Corresponding properties can be viewed through the IIS Manager snap-in. One property entry can be reused by multiple sites or vroots using the Id field as a reference, using WebVirtualDir.DirProperties, WebSite.DirProperties, or WebDir.DirProperties. + + + + + + + + + + + Sets the Enable Anonymous Access checkbox, which maps anonymous users to a Windows user account. When setting this to 'yes' you should also provide the user account using the AnonymousUser attribute, and determine what setting to use for the IIsControlledPassword attribute. Defaults to 'no.' + + + + + Reference to the Id attribute on the User element to be used as the anonymous user for the directory. See the User element for more information. + + + + + Sets whether IIS should control the password used for the Windows account specified in the AnonymousUser attribute. Defaults to 'no.' + + + + + Sets the Windows Authentication option, which enables integrated Windows authentication to be used on the site. Defaults to 'no.' + + + + + Sets the Digest Authentication option, which allows using digest authentication with domain user accounts. Defaults to 'no.' + + + + + Sets the Basic Authentication option, which allows clients to provide credentials in plaintext over the wire. Defaults to 'no.' + + + + + Sets the Passport Authentication option, which allows clients to provide credentials via a .Net Passport account. Defaults to 'no.' + + + + + Sets whether visits to this site should be logged. Defaults to 'no.' + + + + + Sets the Index Resource option, which specifies whether this web directory should be indexed. Defaults to 'no.' + + + + + The list of default documents to set for this web directory, in comma-delimited format. + + + + + Sets the option for whether to send detailed ASP errors back to the client on script error. Default is 'no.' + + + + + Value to set the HttpExpires attribute to for a Web Dir in the metabase. + + + + + Integer value specifying the cache control maximum age value. + + + + + Custom HTTP 1.1 cache control directives. + + + + + Specifies whether IIs will return custom errors for this directory. + + + + + A value of true indicates that file access requires SSL file permission processing, with or without a client certificate. This corresponds to AccessSSL flag for AccessSSLFlags IIS metabase property. + + + + + A value of true indicates that file access requires SSL file permission processing with a minimum key size of 128 bits, with or without a client certificate. This corresponds to AccessSSL128 flag for AccessSSLFlags IIS metabase property. + + + + + This corresponds to AccessSSLMapCert flag for AccessSSLFlags IIS metabase property. + + + + + This corresponds to AccessSSLNegotiateCert flag for AccessSSLFlags IIS metabase property. + + + + + This corresponds to AccessSSLRequireCert flag for AccessSSLFlags IIS metabase property. + + + + + Comma delimited list, in order of precedence, of Windows authentication providers that IIS will attempt to use: NTLM, Kerberos, Negotiate, and others. + + + + + + + + Custom Web Errors used by WebSites and Virtual Directories. + + + You can only use error code and sub code combinations which are supported by IIS. Attempting to set a custom error for + an error code and sub code combination that is not supported by IIS (in the default list of error codes) will result in + an installation failure. + + + + + + + HTTP 1.1 error code. + + + + + Error sub code. Set to 0 to get the wild card "*". + + + + + File to be sent to the client for this error code and sub code. This can be formatted. For example: [#FileId]. + + + + + URL to be sent to the client for this error code and sub code. This can be formatted. + + + + + + + + Custom HTTP Header definition for IIS resources such as WebSite and WebVirtualDir. + + + + + Primary key for custom HTTP Header entry. This will default to the Name attribute. + + + + + Name of the custom HTTP Header. + + + + + Value for the custom HTTP Header. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see Formatted for details. + + + + + + + + MimeMap definition for IIS resources. + + + + + Id for the MimeMap. + + + + + Mime-type covered by the MimeMap. + + + + + Extension covered by the MimeMap. Must begin with a dot. + + + + + + + + + + + IIs Filter for a Component + + + + + The unique Id for the web filter. + + + + + The name of the filter to be used in IIS. + + + + + + The path of the filter executable file. + This should usually be a value like '[!FileId]', where 'FileId' is the file identifier + of the filter executable file. + + + + + + + Specifies the parent website for this filter (if there is one). + If this is a global filter, then this attribute should not be specified. + + + + + + Description of the filter. + + + + + Sets the MD_FILTER_FLAGS metabase key for the filter. This must be an integer. See MSDN 'FilterFlags' documentation for more details. + + + + + + The legal values are "first", "last", or a number. + If a number is specified, it must be greater than 0. + + + + + + + + + Extension for WebApplication + + + + + usually a Property that resolves to short file name path + + + + + Extension being registered. Do not prefix with a '.' (e.g. you should use "html", not ".html"). To register for all extensions, use Extension="*". To register a wildcard application map (which handles all requests, even those for directories or files with no extension) omit the Extension attribute completely. + + + + + + + + + + + + + + + + + + + + IIS6 Application Pool + + + + + + + + Id of the AppPool. + + + + + Name of the AppPool to be shown in IIs. + + + + + User account to run the AppPool as. To use this, you must set the Identity attribute to 'other'. + + + + + How often, in minutes, you want the AppPool to be recycled. + + + + + How often, in requests, you want the AppPool to be recycled. + + + + + Specifies the amount of virtual memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this attribute is 4,294,967 KB. + + + + + Specifies the amount of private memory (in KB) that a worker process can use before the worker process recycles. The maximum value supported for this attribute is 4,294,967 KB. + + + + + Shutdown worker process after being idle for (time in minutes). + + + + + Limit the kernel request queue (number of requests). + + + + + Maximum CPU usage (percent). + + + + + Refresh CPU usage numbers (in minutes). + + + + + Action taken when CPU exceeds maximum CPU use (as defined with MaxCpuUsage and RefreshCpu). + + + + + + + + + + + Maximum number of worker processes. + + + + + Identity you want the AppPool to run under (applicationPoolIdentity is only available on IIS7). Use the 'other' value in conjunction with the User attribute to specify non-standard user. + + + + + + + + + + + + + + + Specifies the request-processing mode that is used to process requests for managed content. Only available on IIS7, ignored on IIS6. + See http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults for valid values. + This attribute may be set via a formatted Property (e.g. [MyProperty]). + + + + + + + Specifies the .NET Framework version to be used by the application pool. Only available on IIS7, ignored on IIS6. + See http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults for valid values. + This attribute may be set via a formatted Property (e.g. [MyProperty]). + + + + + + + + + IIS6 Application Pool Recycle Times on 24 hour clock. + + + + + + + + + + + + + + + + Used to install and uninstall certificates. + + + + + + + + + + + Unique identifier for this certificate in the installation package. + + + + + + + Name of the certificate that will be installed or uninstalled in the specified store. + This attribute may be set via a formatted Property (e.g. [MyProperty]). + + + + + + + + + + Contains the certificates of certificate authorities that the user trusts to issue certificates to others. Certificates in these stores are normally supplied with the operating system or by the user's network administrator. + + + + + + + Use the "personal" value instead. + + + + + + + Contains personal certificates. These certificates will usually have an associated private key. This store is often + referred to as the "MY" certificate store. + + + + + + + + Contains the certificates of certificate authorities that the user trusts to issue certificates to others. Certificates in these stores are normally supplied with the operating system or by the user's network administrator. Certificates in this store are typically self-signed. + + + + + + + Contains the certificates of those that the user normally sends enveloped messages to or receives signed messages from. + See MSDN documentation for more information. + + + + + + + Contains the certificates of those directly trusted people and resources. + See MSDN documentation for more information. + + + + + + + Contains the certificates of those publishers who are trusted. + See MSDN documentation for more information. + + + + + + + + + + + + + + + + + + + This attribute controls whether the CertificatePath attribute is a path to a certificate file (Request='no') or the + certificate authority to request the certificate from (Request='yes'). + + + + + + + Reference to a Binary element that will store the certificate as a stream inside the package. This attribute cannot be specified with + the CertificatePath attribute. + + + + + + + + + + If the Request attribute is "no" then this attribute is the path to the certificate file outside of the package. + If the Request attribute is "yes" then this atribute is the certificate authority to request the certificate from. + This attribute may be set via a formatted Property (e.g. [MyProperty]). + + + + + + + If the Binary stream or path to the file outside of the package is a password protected PFX file, the password for that + PFX must be specified here. This attribute may be set via a formatted Property (e.g. [MyProperty]). + + + + + + + + + + Associates a certificate with the parent WebSite. The Certificate element should be + in the same Component as the parent WebSite. + + + + + + + + + + The identifier of the referenced Certificate. + + + + + + + + + + + + Here is an explanation of the acceptable values for each property and their meaning: + + + For the Ids IIs5IsolationMode and LogInUTF8, no value should be specified since + the presence of this property indicates that the setting should be set. + + + For the MaxGlobalBandwidth Id, the value should be specified in kilobytes. The + value should be a base 10 number. + + + ETagChangeNumber sets the machine-specific portion of ETag as a number. This value, + when synchronized across servers in a web farm, allows the web farm to return an + identical ETag for a given resource regardless of the server that handled the + request. The value should be a base 10 number. + + + + + IIS Properties + + + + + + + + + + + + + + + + The value to be used for the WebProperty specified in the Id attribute. See + the remarks section for information on acceptable values for each Id. + + + + + + + + + + + + + + Defines properties for a web application. These properties can be used for more than one application defined in a web site or vroot, by defining this element in a common location and referring to it by setting the WebApplication attribute of the WebSite and WebVirtualDir elements. + + + + + + + + + Sets the name of this application. + + + + + + Sets the application isolation level for this application for pre-IIS 6 applications. + + + + + + + + Means the application executes within the IIS process. + + + + + + + Executes pooled in a separate process. + + + + + + + Means execution alone in a separate process. + + + + + + + + + Sets the Enable Session State option. When enabled, you can set the session timeout using the SessionTimeout attribute. + + + + + Sets the timeout value for sessions in minutes. + + + + + Sets the option that enables response buffering in the application, which allows ASP script to set response headers anywhere in the script. + + + + + Sets the parent paths option, which allows a client to use relative paths to reach parent directories from this application. + + + + + Sets the default script language for the site. + + + + + + + + + + + Sets the timeout value in seconds for executing ASP scripts. + + + + + Enable ASP server-side script debugging. + + + + + Enable ASP client-side script debugging. + + + + + References the Id attribute of a WebAppPool element to use as the application pool for this application in IIS 6 applications. + + + + + + + + WebAddress for WebSite + + + + + + + The IP address to locate an existing WebSite or create a new WebSite. When the WebAddress is part of a WebSite element + used to locate an existing web site the following rules are used: + + When this attribute is not specified only the "All Unassigned" IP address will be located. + When this attribute is explicitly specified only the specified IP address will be located. + When this attribute has the value "*" then any IP address including the "All Unassigned" IP address will be located + + When the WebAddress is part of a WebSite element used to create a new web site the following rules are used: + + When this attribute is not specified or the value is "*" the "All Unassigned" IP address will be used. + When this attribute is explicitly specified the IP address will use that value. + + The IP attribute can contain a formatted string that is processed at install time to insert the values of properties using + [PropertyName] syntax. + + + + + + + + Determines if this address represents a secure binding. The default is 'no'. + + + + + + + + + + + Defines an IIS virtual directory. When this element is a child of WebSite element, the virtual directory is defined within that web site. Otherwise this virtual directory must reference a WebSite element via the WebSite attribute + + + + + + + + + + + + + + References the Id attribute for a WebSite in which this virtual directory belongs. Required when this element is not a child of WebSite element. + + + + + Sets the application name, which is the URL relative path used to access this virtual directory + + + + + References the Id attribute for a Directory element that points to the content for this virtual directory. + + + + + + References the Id attribute for a WebDirProperties element that specifies the security and access properties for this virtual directory. + This attribute may not be specified if a WebDirProperties element is directly nested in this element. + + + + + + References the Id attribute for a WebApplication element that specifies web application settings for this virtual directory. If a WebApplication child is not specified, the virtual directory does not host web applications. + + + + + + + + + + + Defines a subdirectory within an IIS web site. When this element is a child of WebSite, the web directory is defined within that web site. Otherwise the web directory must reference a WebSite element via the WebSite attribute. + + + + + + + + + + References the Id attribute for a WebSite element in which this directory belongs. Required when this element is not a child of a WebSite element. + + + + + Specifies the name of this web directory. + + + + + + References the Id attribute for a WebDirProperties element that specifies the security and access properties for this web directory. + This attribute may not be specified if a WebDirProperties element is directly nested in this element. + + + + + + + + + + + + + + + + Nesting WebSite under a Component element will result in a WebSite being installed to the machine as the package is installed. + + Nesting WebSite under Product, Fragment, or Module + results in a web site "locator" record being created in + the IIsWebSite table. This means that the web site + itself is neither installed nor uninstalled by the MSI + package. It does make the database available for referencing + from a WebApplication, WebVirtualDir or WebDir record. This allows an MSI to install + WebApplications, WebVirtualDirs or WebDirs to already existing web sites on the machine. + The install will fail if the web site does not exist in these cases. + + + + + IIs Web Site + + + + + + + + + + + + + + + + + + Identifier for the WebSite. Used within the MSI package only. + + + + + Specifies whether to automatically start the web site. + + + + + Specifies whether to configure the web site if it already exists. Note: This will not affect uninstall behavior. If the web site exists on uninstall, it will be removed. + + + + + Sets the timeout value for connections in seconds. + + + + + This is the name of the web site that will show up in the IIS management console. + + + + + Root directory of the web site. Resolved to a directory in the Directory table at install time by the server custom actions. + + + + + + References the Id attribute for a WebDirProperties element that specifies the security and access properties for this website root directory. + This attribute may not be specified if a WebDirProperties element is directly nested in this element. + + + + + + Sequence that the web site is to be created in. + + + + + + Optional attribute to directly specify the site id of the WebSite. Use this to ensure all web + sites in a web garden get the same site id. If a number is provided, the site id must be unique + on all target machines. If "*" is used, the Description attribute will be hashed to create a unique + value for the site id. This value must be a positive number or a "*" or a formatted value that resolves + to "-1" (for the same behavior as "*") or a positive number or blank. If this attribute is absent then + the web site will be located using the WebAddress element associated with the web site. + + + + + + Specifies whether to start the web site on install. + + + + + Reference to a WebApplication that is to be installed as part of this web site. + + + + + Reference to WebLog definition. + + + + + + + + + + + + + WebLog definition. + + + + + Identifier for the WebLog. + + + + + + + + + Microsoft IIS Log File Format + + + + + + + NCSA Common Log File Format + + + + + + + Disables logging. + + + + + + + ODBC Logging + + + + + + + W3C Extended Log File Format + + + + + + + + + + + + + + + The WebServiceExtension property is used by the Web server to determine whether a Web service extension is permitted to run. + + + + + + Usually a Property that resolves to short file name path + + + + + Description of the extension. + + + + + String used to identify groups of extensions. + + + + + Indicates if the extension is allowed or denied. + + + + + Indicates if the UI is allowed to delete the extension from the list of not. Default: Not deletable. + + + + + + + + Values of this type are any integers between 0 and 100, inclusive. + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + + + Values of this type will either be "default", "yes", or "no". + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/lux.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/lux.xsd new file mode 100644 index 0000000..8b93e8a --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/lux.xsd @@ -0,0 +1,221 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Lux Extension. + + + + + + + + + Test mutations let you author unit tests with different expected results. The mutation + id is passed as the value of the WIXLUX_RUNNING_MUTATION property. Your custom action, + typically in an '#ifdef DEBUG' block, can retrieve the WIXLUX_RUNNING_MUTATION property + and hard-code different behavior based on the mutation. To author test mutations, use + the Mutation element with UnitTest elements as children. + + + + + + + + + + Child UnitTest elements are validated when the parent mutation is being executed. + + + + + + + + + Value of the WIXLUX_RUNNING_MUTATION property set by the mutation. + + + + + + + + + + Describes a unit test to be executed against a particular custom action, resulting in a + particular property value. Single-value properties, multi-value properties, and + name/value-pair properties can all be tested declaratively. + + + + + + + + + + + Child UnitTest elements are used to test multi-value properties. Note that Property + and ValueDelimiter or NameValueDelimiter must be specified in the parent element. + + + + + + + + + + + Identifier of the unit test. If you omit this attribute, a stable identifier is generated for you. + + + + + + + + Identifier of the custom action to be tested. + + + + + + + + Name of the property set by the custom action. + + + + + + + + The operator to apply to the property and value. Default is "equal." + + + + + + + + (Default) Compares Property to Value and succeeds if they are equal. + + + + + + + Compares Property to Value and succeeds if they are NOT equal. + + + + + + + Compares Property to Value and succeeds if they are equal (ignoring case). + + + + + + + Compares Property to Value and succeeds if they are NOT equal (ignoring case). + + + + + + + + + + + The value to compare to the property. + + + + + + + + One character that is used to separate values in a multi-value property. + + + + + + + + One character that is used to separate values in a name/value-pair multi-value property. + + + + + + + + A formatted string that evaluates to either an integer index into a multi-value property or a string name of a name/value-pair multi-value property. + + + + + + + + + + Conditions for a unit test. + + + + + + + + + + + + + An expression that must evaluate to true to succeed. Cannot be specified if Property is specified. + + + + + + + + + + + + + Identifies a unit test to be linked into a project. + + + + + + + + + + + Identifier of the unit test to be included. + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/msmq.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/msmq.xsd new file mode 100644 index 0000000..ac62858 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/msmq.xsd @@ -0,0 +1,121 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset MSMQ Extension. + + + + + + + + + + + + + + + + + + + + + + + Default: No. + + + + + + Default: No. + + + + + + + + + + + + + + + + + + + Default: No. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/netfx.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/netfx.xsd new file mode 100644 index 0000000..9e67e83 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/netfx.xsd @@ -0,0 +1,235 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset .NET Framework Extension. + + + + + + + Improves the performance of managed applications by creating native images. + Requires the .NET Framework 2.0 or newer to be installed on the target machine since + it runs NGen. + + + + + + Native images are files containing compiled processor-specific machine code, which + are installed into the native image cache on the local computer. The runtime + can use native images from the cache instead using the just-in-time (JIT) + compiler to compile the original assembly. + + + The native image custom actions are configured to ignore failures so that failing + to generate or remove a native image will not cause setup to fail and roll back. + + + Note for patches: if you built your target, or baseline, MSI with + previous versions 3.0 or 3.5 of this extension and want to upgrade to formattable + values for @AssemblyApplication or @AppBaseDirectory you must also include a + BinaryRef to "NetFxCA" to pull in necessary changes. If you do use formattable + values and do not include the binary changes ngen.exe will not optimize your + native images for the specified application. + + + This should be a rare occurrence, however. Because you cannot remove components + in a patch - and pyro does validate you do not - it is not practical to switch + from using identifiers to formattable values in a patch. One practical possibility + is if you wanted to use a different application to optimize your native images + and that application is not already installed with the MSI to be updated. + + + + + + + + + The identifier for this NativeImage. + + + + + + + + The directory to use for locating dependent assemblies. + For DLL assemblies and assemblies installed to the Global Assembly Cache (GAC), + this attribute should be set to the directory of the application which loads this + assembly. For EXE assemblies, this attribute does not need to be set because NGen + will use the directory of the assembly file by default. + + + The value can be in the form of a directory identifier, or a formatted string + that resolves to either a directory identifier or a full path to a directory. + + + + + + + + + The application which will load this assembly. + For DLL assemblies which are loaded via reflection, this attribute should + be set to indicate the application which will load this assembly. + The configuration of the application (usually specified via an exe.config file) will be used + to determine how to resolve dependencies for this assembly. + + + The value can be in the form of a file identifier, or a formatted string + that resolves to either a file identifier or a full path to a file. + + + When a shared component is loaded at run time, using the Load method, the + application's configuration file determines the dependencies that are loaded + for the shared component — for example, the version of a dependency that is loaded. + This attribute gives guidance on which dependencies would be loaded at run time in order + to figure out which dependency assemblies will also need to have native images generated + (assuming the Dependency attribute is not set to "no"). + + + This attribute cannot be set if the AssemblyApplication attribute is set on the parent + File element (please note that these attributes both refer to the same application + assembly but do very different things: specifiying File/@AssemblyApplication will force + an assembly to install to a private location next to the indicated application, whereas + this AssemblyApplication attribute will be used to help resolve dependent assemblies + while generating native images for this assembly). + + + + + + + + Set to "yes" to generate native images that can be used under a debugger. + The default value is "no". + + + + + + + Set to "no" to generate the minimum number of native images. + The default value is "yes". + + + + + + + Sets the platform(s) for which native images will be generated. + + + + + + + + Attempt to generate native images only for the 32-bit version of the .NET Framework + on the target machine. If the 32-bit version of the .NET Framework 2.0 or newer is not + present on the target machine, native image custom actions will not be scheduled. + This is the default value. + + + + + + + Attempt to generate native images only for the 64-bit version of the .NET Framework + on the target machine. If a 64-bit version of the .NET Framework 2.0 or newer is not + present on the target machine, native image custom actions will not be scheduled. + + + + + + + Attempt to generate native images for the 32-bit and 64-bit versions of the .NET Framework + on the target machine. If a version of the .NET Framework 2.0 or newer is not present on the + target machine for a processor architecture, native image custom actions will not be + scheduled for that processor architecture. + + + + + + + + + + Sets the priority of generating the native images for this assembly. + + + + + + + + This is the highest priority, it means that image generation occurs syncronously + during the setup process. This option will slow down setup performance. + + + + + + + This will queue image generation to the NGen service to occur immediately. + This option will slow down setup performance. + + + + + + + This will queue image generation to the NGen service to occur after all priority 1 + assemblies have completed. + This option will slow down setup performance. + + + + + + + This is the lowest priority, it will queue image generation to occur when the + machine is idle. + This option should not slow down setup performance. + This is the default value. + + + + + + + + + + Set to "yes" to generate native images that can be used under a profiler. + The default value is "no". + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/ps.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/ps.xsd new file mode 100644 index 0000000..b3b6bb5 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/ps.xsd @@ -0,0 +1,201 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset PowerShell Extension. + + + + + + + Identifies the parent File as a formats XML file for the referenced PowerShell snap-in. + + + + + A formats XML file that defines output formats for objects on the pipeline. + + + + + + + + Reference to the formats File ID. This is required when nested under the SnapIn element. + + + + + + + Reference to the PowerShell snap-in ID for which this formats file is associated. This is required when nested under the File element. + + + + + + + + + Identifies the parent File as a types XML file for the referenced PowerShell snap-in. + + + + + A types XML file used by the extensible type system. + + + + + + + + Reference to the types File ID. This is required when nested under the SnapIn element. + + + + + + + Reference to the PowerShell snap-in ID for which this types file is associated. This is required when nested under the File element. + + + + + + + + + Identifies the parent File as a PowerShell snap-in to be registered on the system. + + + + + PowerShell snap-ins + allow developers to extend the functionality of of the PowerShell engine. + Add this element to identify the parent File as a PowerShell snap-in that will + get registered on the system. + + + + + + + + + + + + The identifier for this PowerShell snap-in. + + + + + + + The fully-qualified name of the assembly. + + + + + + + + + + The full type name of a class that is used to register a list of cmdlets and providers. + + + + + + + A brief description of the snap-in. + + + + + + + An embedded resource that contains a brief description of the snap-in. + This resource must be embedded in the current snap-in assembly. + + + + + + + The required version of PowerShell that must be installed and is associated with the + snap-in registration. The default value is "1.0". + + + + + + + The name of the snap-in vendor. + + + + + + + An embedded resource that contains the name of the snap-in vendor. + This resource must be embedded in the current snap-in assembly. + + + + + + + The version of the snapin. If not specified, this is taken from the assembly name. + + + + + + + + + The version of this extension required to compile the defining source. + + + + + + + + + + + Values should be in the format ResourceName,StringName, where ResourceName + is the name of the embedded resource in your assembly sans the ".resources" extension, and StringName + is the name of the string resource in the embedded resource. + + + Example: UtilityMshSnapInResources,Description + + + + + + + + + Values of this type will look like: "x", "x.x", "x.x.x", or "x.x.x.x" where x is an integer from 0 to 65534. + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/sql.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/sql.xsd new file mode 100644 index 0000000..c108375 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/sql.xsd @@ -0,0 +1,342 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset SQL Server Extension. + + + + + + + + + + + + + + + Nesting SqlDatabase under a Component element will result in a SqlDatabase being installed to the machine as the package is installed. + + Nesting SqlDatabase under Product, Fragment, or Module + results in a database "locator" record being created in + the SqlDatabase table. This means that the database + itself is neither installed nor uninstalled by the MSI + package. It does make the database available for referencing + from a SqlString or SqlScript record. This allows MSI to install + SqlScripts or SqlStrings to already existing databases on the machine. + The install will fail if the database does not exist in these cases. + + + The User attribute references credentials specified in a User element. + If a user is not specified then Windows Authentication will be used by default + using the credentials of the user performing the install to execute sql + strings, etc. + + + + + + SQL Database + + + + + + + + + + + + + + + + + + + The name of the database. The value can be a literal value or derived from a + Property element using the Formatted + syntax. + + + + + + + + + + + Specifies whether to create the database when the associated component is reinstalled. Setting CreateOnInstall to yes does not imply CreateOnReinstall is set to yes. CreateOnReinstall must be set in addition to CreateOnInstall for it to be created during both install and reinstall. + + + + + + + + + + + Specifies whether to drop the database when the associated component is reinstalled. Setting DropOnInstall to yes does not imply DropOnReinstall is set to yes. DropOnReinstall must be set in addition to DropOnInstall for it to be dropped during both install and reinstall. + + + + + + + + + + + + + + + File specification for a Sql database. + + + + + ID of the file specification. + + + + + Specifies the logical name for the database file. + + + + + Specifies the operating-system file name for the database file. + + + + + + Specifies the size of the database file. The GB, MB and KB suffixes can be used to specify gigabytes, + megabytes or kilobytes. The default is megabytes if no suffix is specified. When a Size is not + supplied for a database file, SQL Server uses the size of the primary file in the model database. + + + + + + + Specifies the maximum size to which the database file can grow. The GB, MB and KB suffixes can be used to + to specify gigabytes, megabytes or kilobytes. The default is megabytes if no suffix is specified. If + MaxSize is not specified, the file will grow until the disk is full. + + + + + + + Specifies the growth increment of the database file. The GB, MB and KB and % suffixes can be used to + specify gigabytes, megabytes, kilobytes or a percentage of the current file size to grow. The default is + megabytes if no suffix is specified. The default value is 10% if GrowthSize is not specified, and the + minimum value is 64 KB. The GrowthSize setting for a file cannot exceed the MaxSize setting. + + + + + + + + + File specification for a Sql database. + + + + + ID of the log file specification. + + + + + Specifies the logical name for the log file. + + + + + Specifies the operating-system file name for the log file. + + + + + + Specifies the size of the log file. The GB, MB and KB suffixes can be used to specify gigabytes, + megabytes or kilobytes. The default is megabytes if no suffix is specified. When a Size is not + supplied for a log file, SQL Server makes the file 1 MB. + + + + + + + Specifies the maximum size to which the log file can grow. The GB, MB and KB suffixes can be used to + to specify gigabytes, megabytes or kilobytes. The default is megabytes if no suffix is specified. If + MaxSize is not specified, the file will grow until the disk is full. + + + + + + + Specifies the growth increment of the log file. The GB, MB and KB and % suffixes can be used to + specify gigabytes, megabytes, kilobytes or a percentage of the current file size to grow. The default is + megabytes if no suffix is specified. The default value is 10% if GrowthSize is not specified, and the + minimum value is 64 KB. The GrowthSize setting for a file cannot exceed the MaxSize setting. + + + + + + + + + + + + SQL Script + + + + + + required when not child of SqlDatabase + + + + + + + Reference to Binary stream that contains the SQL script to execute. + + + + + Specifies to execute the script when the associated component is installed. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. + + + + + Specifies whether to execute the script when the associated component is reinstalled. Setting ExecuteOnInstall to yes does not imply ExecuteOnReinstall is set to yes. ExecuteOnReinstall must be set in addition to ExecuteOnInstall for it to be executed during both install and reinstall. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. + + + + + Specifies to execute the script when the associated component is uninstalled. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. + + + + + Specifies whether to execute the script on rollback if an attempt is made to install the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. + + + + + Specifies whether to execute the script on rollback if an attempt is made to reinstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. + + + + + Specifies whether to execute the script on rollback if an attempt is made to uninstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. + + + + + Continue executing scripts even if this one fails. + + + + + Specifes the order to run the SQL Scripts. It is recommended that rollback scripts be scheduled before their complementary execution script. This order is also relative across the SqlString element. + + + + + + + + + + + SQL String + + + + + + + + + + + + + Specifies to execute the string when the associated component is installed. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. + + + + + + Specifies whether to execute the string when the associated component is reinstalled. Setting ExecuteOnInstall to yes does not imply ExecuteOnReinstall is set to yes. ExecuteOnReinstall must be set in addition to ExecuteOnInstall for it to be executed during both install and reinstall. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. + + + + + + Specifies to execute the string when the associated component is uninstalled. This attribute is mutually exclusive with the RollbackOnInstall, RollbackOnReinstall and RollbackOnUninstall attributes. + + + + + Specifies whether to execute the string on rollback if an attempt is made to install the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. + + + + + Specifies whether to execute the string on rollback if an attempt is made to reinstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. + + + + + Specifies whether to execute the string on rollback if an attempt is made to uninstall the associated component. This attribute is mutually exclusive with the ExecuteOnInstall, ExecuteOnReinstall and ExecuteOnUninstall attributes. + + + + + Continue executing strings even if this one fails. + + + + + Specifes the order to run the SQL Strings. It is recommended that rollback strings be scheduled before their complementary execution string. This order is also relative across the SqlScript element. + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/tag.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/tag.xsd new file mode 100644 index 0000000..aa57163 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/tag.xsd @@ -0,0 +1,154 @@ + + + + + + + + The source code schema for the WiX Toolset Software Id Tag Extension. + + + + + + + + + This extension implements the ISO/IEC 19770-2:2015 specification. A SWID tag file + will be generated an inserted into the Product or Bundle. + + + + + + + + + + + Name to use in the filename for the software id tag. By default the filename + uses the Bundle/@Name or Product/@Name. If the bundle name or product name contains + invalid filename characters such as ":" or "?", use this attribute to provide + a valid filename. + + + + + + + The regid for the software manufacturer. A regid is a URI simplified for the common + case. Namely, if the scheme is "http://", it can be removed. Additionally, the domain + should be minimized as much as possible (for example, remove "www." prefix if unnecessary). + + For example, the WiX toolset regid is "wixtoolset.org". + + + + + + + A reference to an existing Directory/@Id where the software is installed. The SWID tag file will be installed in a "swidtag" folder + under that directory as per the specification. This attribute is required on a Tag element found under a Product element. + + + + + + + The path where the software is installed. The SWID tag file will be installed in a "swidtag" folder. + This is a formatted attribute so it is possible to use Variables as the InstallPath by setting + the value to, for example, "[ProgramFilesFolder]CompanyName\Product Name". This attribute is required + on a Tag element found under a Bundle element. + + + + + + Optional attribute to explicitly set the Feature when defining the software id tag + in a Product. By default the software id tag will always be installed by a top-level hidden feature. + It is recommended to not set this attribute. + + + + + + This attribute facilitates the installation of packages that install both 32-bit and 64-bit files. Set this attribute to 'no' + to indicate the software id tag is installed to a 32-bit location (such as "ProgramFilesFolder") or 'yes' when the tag is + installed to a 64-bit location (such as "ProgramFiles64Folder"). The default default value is based on the platform set by + the -arch switch to candle.exe or the InstallerPlatform property in a .wixproj MSBuild project: + For x86 and ARM, the default value is 'no'. + For x64 and IA64, the default value is 'yes'. + + This attribute is only allowed on a Tag element found under a Product element. + + + + + + + + + + + + + + + + + + + + + + + + Allows an ISO/IEC 19770-2:2015 SWID tag file to be referenced in a Patch. + + + + + + + + + + The regid for the software manufacturer. A regid is a URI simplified for the common + case. Namely, if the scheme is "http://", it can be removed. Additionally, the domain + should be minimized as much as possible (for example, remove "www." prefix if unnecessary). + + For example, the WiX toolset regid is "wixtoolset.org". + + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + + A type that represents that 1 or more preprocessor variables (as they appear in sources on disk, before preprocessor has run). + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/thmutil.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/thmutil.xsd new file mode 100644 index 0000000..9ed5deb --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/thmutil.xsd @@ -0,0 +1,707 @@ + + + + + + + + Schema for describing Theme files processed by thmutil. + + + + + + + + + + + + + + + + + + + Relative path to an image file that can serve as a single source for images in the rest of the + theme. This image is referenced by controls using the SourceX and SourceY attributes. + + + + + + + + Defines a font including the size and color. + + + + + + + + + Name of the font face. + + + + Numeric identifier for the font. Due to limitations in thmutil the first Font must start with "0" and each subsequent Font must increment the Id by 1. Failure to ensure the Font identifiers follow this strict ordering will create unexpected behavior or crashes. + + + + + Font size. Use negative numbers to specify the font in pixels. + + + + + Font weight. + + + + + Hexadecimal value representing BGR foreground color of the font. "ffffff" is white, "ff0000" is pure blue, "00ff00" is pure green, "0000ff" is pure red and "000000" is black. If this value is absent the foreground will be transparent. + + + + + Hexadecimal value representing BGR background color of the font. "ffffff" is white, "ff0000" is pure blue, "00ff00" is pure green, "0000ff" is pure red and "000000" is black. If this value is absent the background will be transparent. + + + + + Specifies whether the font is underlined. + + + + + + + + + + List of images which can be shared between multiple controls. + + + + + + + + + + + + Name of the ImageList, to be referenced by other controls. + + + + + + + + + Named set of controls that can be shown and hidden collectively. + + + + + + + + + + Optional name for the page. + + + + + + + + + Defines the overall look of the main window. + + + + + + + + + Caption for the window. + + + + Specifies whether the ThmUtil default window proc should process WM_SIZE and WM_SIZING events. + + + + + Numeric identifier to the Font element that serves as the default font for the window. + + + + + Height of the window. + + + + + + Hexadecimal window style. If this is not specified the default value is: WS_OVERLAPPED | WS_VISIBLE | WS_MINIMIZEBOX | WS_SYSMENU. + If SourceX and SourceY are greater than 0, then WS_OVERLAPPED is replaced with WS_POPUP. + + + + + + Relative path to an icon file for the window. Mutually exclusive with IconResource and SourceX and SourceY attributes. + + + + + Identifier that references icon resource in the module for the window. Mutually exclusive with IconFile and SourceX and SourceY attributes. + + + + + Minimum height of the window. Only functions if AutoResize is enabled. + + + + + Minimum width of the window. Only functions if AutoResize is enabled. + + + + + X offset of the window background in the Theme/@ImageFile. Mutually exclusive with IconFile and IconResource. + + + + + Y offset of the window background in the Theme/@ImageFile. Mutually exclusive with IconFile and IconResource. + + + + + Width of the window. + + + + + + + + + + Defines a control that rotates through a set of images on a specified interval. + + + + + + + + + + + + + . + + + + + Specifies whether the billboard should loop through the images infinitely. + + + + + + + + Defines a button. + + + + + + + + + + Text to display in the button. + + + + + Numeric identifier to the Font element that serves as the font for the control. + + + + + Relative path to an image file to define an graphic button. The image must be 3x the height to represent the button in 3 states: unselected, hover, selected. Mutually exclusive with ImageResource and SourceX and SourceY attributes. + + + + + Identifier that references an image resource in the module for the control. The image must be 3x the height to represent the button in 3 states: unselected, hover, selected. Mutually exclusive with ImageFile and SourceX and SourceY attributes. + + + + + + + + + + Defines a checkbox. + + + + + + + + + + Text to display beside the checkbox. + + + + + Numeric identifier to the Font element that serves as the font for the control. + + + + + + + + + + Defines a combobox. + + + + + + + + + + Numeric identifier to the Font element that serves as the font for the control. + + + + + + + + Defines an edit box. + + + + + + + + + + Specifies whether the edit box should auto-complete with file system paths. + + + + + Numeric identifier to the Font element that serves as the font for the control. + + + + + + + + Defines a hyperlink. + + + + + + + + + + Text to display as the link. + + + + + Numeric identifier to the Font element that serves as the unselected font. + + + + + Numeric identifier to the Font element that serves as the font when the control is hovered over. + + + + + Numeric identifier to the Font element that serves as the font when the control is selected. + + + + + + + + + + Defines a text block with support for HTML <a> tags. + + + + + + + + + + Text to display as the link. Use HTML <a href="URL"> to create a link. + + + + + Numeric identifier to the Font element that serves as the font for the control. + + + + + + + + + + Defines an image. + + + + + + + + + + Relative path to an image file. Mutually exclusive with ImageResource and SourceX and SourceY attributes. + + + + + Identifier that references an image resource in the module. Mutually exclusive with ImageFile and SourceX and SourceY attributes. + + + + + + + + Defines a listview. + + + + + + + + + + + + + Numeric identifier to the Font element that serves as the default font for the ListView. + + + + + Hexadecimal extended window style. + + + + + The name of the Image List to assign to this listview with type LVSIL_NORMAL. + + + + + The name of the Image List to assign to this listview with type LVSIL_SMALL. + + + + + The name of the Image List to assign to this listview with type LVSIL_STATE. + + + + + The name of the Image List to assign to this listview with type LVSIL_GROUPHEADER. + + + + + + + + Defines a progress bar. + + + + + + + + + + Relative path to an image file for the control. The image must be 4 pixels wide: left pixel is the left side of progress bar, left middle pixel is progress used, right middle pixel is progress unused, right pixel is right side of progress bar. Mutually exclusive with ImageResource and SourceX and SourceY attributes. + + + + + Identifier that references an image resource in the module for the control. The image must be 4 pixels wide: left pixel is the left side of progress bar, left middle pixel is progress used, right middle pixel is progress unused, right pixel is right side of progress bar. Mutually exclusive with ImageFile and SourceX and SourceY attributes. + + + + + + + + Defines a rich edit control. + + + + + + + + + + Numeric identifier to the Font element that serves as the font for the control. + + + + + + + + Defines a straight line. + + + + + + + + + + + + + Defines a tab. + + + + + + Caption of the tab. + + + + + + + + + Defines text. + + + + + + + + + + Text to display. + + + + + Specifies whether the text should be centered horizontally in the width of the control. Default is "no". + + + + + By default ampersands (&) in the text will underline the next character and treat it as an accelerator key. Set this attribute to "yes" to disable that behavior. Default is "no". + + + + + Numeric identifier to the Font element that serves as the font for the control. + + + + + + + + + + Defines a treeview. + + + + + + Specifies whether drag and drop is enabled for the treeview. + + + + + Specifies whether an entire row is selected for the treeview. + + + + + Specifies whether the treeview will show buttons. + + + + + Specifies whether the row always appears selected even when the treeview has lost focus. + + + + + Specifies whether the root nodes have lines beside them. + + + + + Specifies whether lines appear for all treeview items. + + + + + + + + A column of a list. + + + + + + + + + Text for the column header. + + + + Width of the column. + + + + + Whether or not this column can grow to fill available width of the listview. + More than one column can be marked with yes - all expandable columns will share available extra space. + This is especially useful if the Window/@AutoResize is yes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Optional name for the control. + + + + + Height of the control. Non-positive values extend the control to the bottom of the window minus the value. + + + + + Hexadecimal window style for the control. + + + + + Specifies whether the control should be hidden when disabled. + + + + + Specifies whether the control is part of the tab sequence of controls. + + + + + Specifies whether the control is initially visible. + + + + + Width of the control. Non-positive values extend the control to the right of the window minus the value. + + + + + X coordinate for the control from the left of the window. Negative values are coordinates from the right of the window minus the width of the control. + + + + + Y coordinate for the control from the top of the window. Negative values are coordinates from the bottom of the window minus the height of the control. + + + + + + Values of this type will either be "yes" or "no". + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/util.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/util.xsd new file mode 100644 index 0000000..415da7c --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/util.xsd @@ -0,0 +1,1626 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Utility Extension. + + + + + + + + + + + Closes applications or schedules a reboot if application cannot be closed. + + + + + + + Condition that determines if the application should be closed. Must be blank or evaluate to true + for the application to be scheduled for closing. + + + + + Identifier for the close application (primary key). If the Id is not specified, one will be generated. + + + + + Name of the exectuable to be closed. This should only be the file name. + + + + + Description to show if application is running and needs to be closed. + + + + + Optionally orders the applications to be closed. + + + + + Optionally sends a close message to the application. Default is no. + + + + + Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application. Default is "no". + + + + + Optionally sends a close message to the application from deffered action without impersonation. Default is no. + + + + + Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application from a deffered action without impersonation. Default is "no". + + + + + Optionally prompts for reboot if application is still running. The default is "yes". The TerminateProcess attribute must be "no" or not specified if this attribute is "yes". + + + + + + When this attribute is set to "yes", the user will be prompted when the application is still running. The Description attribute must contain the message to + display in the prompt. The prompt occurs before executing any of the other options and gives the options to "Abort", "Retry", or "Ignore". Abort will cancel + the install. Retry will attempt the check again and if the application is still running, prompt again. "Ignore" will continue and execute any other options + set on the CloseApplication element. The default is "no". + + + + + + Property to be set if application is still running. Useful for launch conditions or to conditionalize custom UI to ask user to shut down apps. + + + + + + Attempts to terminates process and return the specified exit code if application is still running after sending any requested close and/or end session messages. + If this attribute is specified, the RebootPrompt attribute must be "no". The default is "no". + + + + + + + Optional time in seconds to wait for the application to exit after the close and/or end session messages. If the application is still running after the timeout then + the RebootPrompt or TerminateProcess attributes will be considered. The default value is "5" seconds. + + + + + + + + + + Describes a component search. + + + + + + + + + + Component to search for. + + + + + Optional ProductCode to determine if the component is installed. + + + + + + Rather than saving the matching key path into the variable, a ComponentSearch can save an attribute of the component instead. + + + + + + + Saves the parent directory for the component's file key path; other types of key path are returned unmodified. + + + + + Saves the state of the component: absent (2), locally installed (3), will run from source (4), or installed in default location (either local or from source) (5) + + + + + Saves the key path of the component if installed. This is the default. + + + + + + + + + + References a ComponentSearch. + + + + + + + + + + + + Describes a directory search. + + + + + + + + + + Directory path to search for. + + + + + + Rather than saving the matching directory path into the variable, a DirectorySearch can save an + attribute of the matching directory instead. + + + + + + + Saves true if a matching directory is found; false otherwise. + + + + + + + + + + References a DirectorySearch. + + + + + + + + + + + + + + + Creates an event source. + + + + + + The number of categories in CategoryMessageFile. CategoryMessageFile + must be specified too. + + + + + + + Name of the category message file. CategoryCount must be specified too. + Note that this is a formatted field, so you can use [#fileId] syntax to + refer to a file being installed. It is also written as a REG_EXPAND_SZ + string, so you can use %environment_variable% syntax to refer to a file + already present on the user's machine. + + + + + + + Name of the event message file. + Note that this is a formatted field, so you can use [#fileId] syntax to + refer to a file being installed. It is also written as a REG_EXPAND_SZ + string, so you can use %environment_variable% syntax to refer to a file + already present on the user's machine. + + + + + + + Marks the EventSource registry as the key path of the component it belongs to. + + + + + + Name of the event source's log. + + + + + Name of the event source. + + + + + + Name of the parameter message file. + Note that this is a formatted field, so you can use [#fileId] syntax to + refer to a file being installed. It is also written as a REG_EXPAND_SZ + string, so you can use %environment_variable% syntax to refer to a file + already present on the user's machine. + + + + + + + Equivalent to EVENTLOG_ERROR_TYPE. + + + + + + + Equivalent to EVENTLOG_AUDIT_FAILURE. + + + + + + + Equivalent to EVENTLOG_INFORMATION_TYPE. + + + + + + + Equivalent to EVENTLOG_AUDIT_SUCCESS. + + + + + + + Equivalent to EVENTLOG_WARNING_TYPE. + + + + + + + + Describes a file search. + + + + + + + + + + File path to search for. + + + + + + Rather than saving the matching file path into the variable, a FileSearch can save an attribute of the matching file instead. + + + + + + + Saves true if a matching file is found; false otherwise. + + + + + Saves the version information for files that have it (.exe, .dll); zero-version (0.0.0.0) otherwise. + + + + + + + + + + References a FileSearch. + + + + + + + + + + + + + + + Creates a file share out of the component's directory. + + + + + + ACL permission + + + + + + Identifier for the file share (primary key). + + + + + Name of the file share. + + + + + Description of the file share. + + + + + + + + Sets ACLs on a FileShare. This element has no Id attribute. + The table and key are taken from the parent element. + + + + + + + + + + + + + + + + + + + + For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. + + + + + + + + + specifying this will fail to grant read access + + + + + + + + + + + + + Finds user groups on the local machine or specified Active Directory domain. The local machine will be + searched for the group first then fallback to looking in Active Directory. This element is not capable + of creating new groups but can be used to add new or existing users to an existing group. + + + + + + Unique identifier in your installation package for this group. + + + + + A Formatted string that contains the name of the group to be found. + + + + + An optional Formatted string that specifies the domain for the group. + + + + + + + Used to join a user to a group + + + + + + + + + + How To: Create a shortcut to a webpage + + Creates a shortcut to a URL. + + + + + Unique identifier in your installation package for this Internet shortcut. + + + + + Identifier reference to Directory element where shortcut is to be created. This attribute's value defaults to the parent Component directory. + + + + + + The name of the shortcut file, which is visible to the user. (The .lnk + extension is added automatically and by default, is not shown to the user.) + + + + + + + URL that should be opened when the user selects the shortcut. Windows + opens the URL in the appropriate handler for the protocol specified + in the URL. Note that this is a formatted field, so you can use + [#fileId] syntax to refer to a file being installed (using the file: + protocol). + + + + + + Which type of shortcut should be created. + + + + + + Creates .url files using IUniformResourceLocatorW. + + + + + Creates .lnk files using IShellLinkW (default). + + + + + + + + + Icon file that should be displayed. Note that this is a formatted field, so you can use + [#fileId] syntax to refer to a file being installed (using the file: + protocol). + + + + + + + Index of the icon being referenced + + + + + + + + + + + Used to create performance categories and configure performance counters. + + + + + + + + Unique identifier in your installation package for this performance counter category. + + + + + Name for the performance counter category. If this attribute is not provided the Id attribute is used as the name of the performance counter category. + + + + + Optional help text for the performance counter category. + + + + + Flag that specifies whether the performance counter category is multi or single instanced. Default is single instance. + + + + + DLL that contains the performance counter. The default is "netfxperf.dll" which should be used for all managed code performance counters. + + + + + Function entry point in to the Library DLL called when opening the performance counter. The default is "OpenPerformanceData" which should be used for all managed code performance counters. + + + + + Function entry point in to the Library DLL called when closing the performance counter. The default is "ClosePerformanceData" which should be used for all managed code performance counters. + + + + + Function entry point in to the Library DLL called when collecting data from the performance counter. The default is "CollectPerformanceData" which should be used for all managed code performance counters. + + + + + Default language for the performance category and contained counters' names and help text. + + + + + + + Creates a performance counter in a performance category. + + + + + Name for the performance counter. + + + + + Optional help text for the performance counter. + + + + + Type of the performance counter. + + + + + Language for the peformance counter name and help. The default is to use the parent PerformanceCategory element's DefaultLanguage attribute. + + + + + + + + + + + Used to install Perfmon counters. + + + + + + + + + + + + Used to install Perfmon Counter Manifests. + Note that this functionality cannot be used with major upgrades that are scheduled after the InstallExecute, + InstallExecuteAgain, or InstallFinalize actions. For more information on major upgrade scheduling, see + RemoveExistingProducts Action. + + + + + + The directory that holds the resource file of the providers in the perfmon counter manifest. Often the resource file path cannot be determined until setup time. Put the directory here and during perfmon manifest registrtion the path will be updated in the registry. If not specified, Perfmon will look for the resource file in the same directory of the perfmon counter manifest file. + + + + + + + + + + Used to install Event Manifests. + + + + + The message file (including path) of all the providers in the event manifest. Often the message file path cannot be determined until setup time. Put your MessageFile here and the messageFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. + + + + + The parameter file (including path) of all the providers in the event manifest. Often the parameter file path cannot be determined until setup time. Put your ParameterFile here and the parameterFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. + + + + + The resource file (including path) of all the providers in the event manifest. Often the resource file path cannot be determined until setup time. Put your ResourceFile here and the resourceFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. + + + + + + + + Sets ACLs on File, Registry, CreateFolder, or ServiceInstall. When under a Registry element, this cannot be used + if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute. + The table and key are taken from the parent element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. + + + + + + + + + + + + + + + + + + + specifying this will fail to grant read access + + + + + + Required to call the QueryServiceConfig and QueryServiceConfig2 functions to query the service configuration. Only valid under a 'ServiceInstall' parent. + + + + + Required to call the ChangeServiceConfig or ChangeServiceConfig2 function to change the service configuration. Only valid under a 'ServiceInstall' parent. + + + + + Required to call the QueryServiceStatus function to ask the service control manager about the status of the service. Only valid under a 'ServiceInstall' parent. + + + + + Required to call the EnumDependentServices function to enumerate all the services dependent on the service. Only valid under a 'ServiceInstall' parent. + + + + + Required to call the StartService function to start the service. Only valid under a 'ServiceInstall' parent. + + + + + Required to call the ControlService function to stop the service. Only valid under a 'ServiceInstall' parent. + + + + + Required to call the ControlService function to pause or continue the service. Only valid under a 'ServiceInstall' parent. + + + + + Required to call the ControlService function to ask the service to report its status immediately. Only valid under a 'ServiceInstall' parent. + + + + + Required to call the ControlService function to specify a user-defined control code. Only valid under a 'ServiceInstall' parent. + + + + + + + Describes a product search. + + + + + + + + + + The Guid attribute has been deprecated; use the ProductCode or UpgradeCode attribute instead. If this attribute is used, it is assumed to be a ProductCode. + + + + + The ProductCode to use for the search. This attribute must be omitted if UpgradeCode is specified. + + + + + The UpgradeCode to use for the search. This attribute must be omitted if ProductCode is specified. Note that if multiple products are found, the highest versioned product will be used for the result. + + + + + + Rather than saving the product version into the variable, a ProductSearch can save another attribute of the matching product instead. + + + + + + + Saves the version of a matching product if found; 0.0.0.0 otherwise. This is the default. + + + + + Saves the language of a matching product if found; empty otherwise. + + + + + Saves the state of the product: advertised (1), absent (2), or locally installed (5). + + + + + Saves the assignment type of the product: per-user (0), or per-machine (1). + + + + + + + + + + References a ProductSearch. + + + + + + + + + + + + + + + + The custom action that implements RemoveFolderEx does so by writing temporary rows to the RemoveFile table + for each subfolder of the root folder you specify. Because it might dramatically affect Windows Installer's + File Costing, + the temporary rows must be written before the CostInitialize standard action. Unfortunately, MSI doesn't + create properties for the Directory hierarchy in your package until later, in the CostFinalize action. + An easy workaround for a typical use case of removing a folder during uninstall is to write the directory + path to the registry and to load it during uninstall. See + The WiX toolset's "Remember Property" pattern + for an example. + If you use custom actions to set properties, ensure that they are scheduled before the WixRemoveFoldersEx custom action. + + + + Remove a folder and all contained files and folders if the parent component is selected for installation or removal. + The folder must be specified in the Property attribute as the name of a property that will have a value that resolves + to the full path of the folder before the CostInitialize action. Note that Directory ids cannot be used. + For more details, see the Remarks. + + + + + + Primary key used to identify this particular entry. If this is not specified, a stable identifier + will be generated at compile time based on the other attributes. + + + + + + The id of a property that resolves to the full path of the source directory. The property does not have + to exist in the installer database at creation time; it could be created at installation time by a custom + action, on the command line, etc. The property value can contain environment variables surrounded by + percent signs such as from a REG_EXPAND_SZ registry value; environment variables will be expanded before + being evaluated for a full path. + + + + + + + This value determines when the folder may be removed. + + + + + + + + Removes the folder only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource). + + + + + + + Default: Removes the folder only when the parent component is being removed (msiInstallStateAbsent). + + + + + + + Removes the folder when the parent component is being installed or removed. + + + + + + + + + + + Registers a resource with the Restart Manager. + + + + + + + + + + + The unique identifier for this resource. A unique identifier will + be generated automatically if not specified. + + + + + The full path to the process module to register with the Restart Manager. + This can be a formatted value that resolves to a full path. + + + + + The name of a process to register with the Restart Manager. + This can be a formatted value that resolves to a process name. + + + + + The name of a Windows service to register with the Restart Manager. + This can be a formatted value that resolves to a service name. + + + + + + + Describes a registry search. + + + + + + + + + + Registry root hive to search under. + + + + + + HKEY_LOCAL_MACHINE + + + + + HKEY_CURRENT_USER + + + + + HKEY_CLASSES_ROOT + + + + + HKEY_USERS + + + + + + + + Key to search for. + + + + + Optional value to search for under the given Key. + + + + + What format to return the value in. + + + + + + Returns the unformatted value directly from the registry. For example, a REG_DWORD value of '1' is returned as '1', not '#1'. + + + + + Returns the value formatted as Windows Installer would. For example, a REG_DWORD value of '1' is returned as '#1', not '1'. + + + + + + + + Whether to expand any environment variables in REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ values. + + + + + + Rather than saving the matching registry value into the variable, a RegistrySearch can save an attribute of the matching entry instead. + + + + + + + Saves true if a matching registry entry is found; false otherwise. + + + + + Saves the value of the registry key in the variable. This is the default. + + + + + + + + Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. The default value is 'no'. + + + + + + + References a RegistrySearch. + + + + + + + + + + + + Service configuration information for failure actions. + + + + + + Nesting a ServiceConfig element under a ServiceInstall element will result in the service being installed to be configured. + Nesting a ServiceConfig element under a component element will result in an already installed service to be configured. If the service does not exist prior to the install of the MSI package, the install will fail. + + + + + + + + Required if not under a ServiceInstall element. + + + + + Action to take on the first failure of the service. + + + + + + + + + + + + + Action to take on the second failure of the service. + + + + + + + + + + + + + Action to take on the third failure of the service. + + + + + + + + + + + + + Number of days after which to reset the failure count to zero if there are no failures. + + + + + If any of the three *ActionType attributes is "restart", this specifies the number of seconds to wait before doing so. + + + + + If any of the three *ActionType attributes is "runCommand", this specifies the command to run when doing so. This value is formatted. + + + + + If any of the three *ActionType attributes is "reboot", this specifies the message to broadcast to server users before doing so. + + + + + + + User for all kinds of things. When it is not nested under a component it is included in the MSI so it can be referenced by other elements such as the User attribute in the AppPool element. When it is nested under a Component element, the User will be created on install and can also be used for reference. + + + + + + + + + + + + + + + + + A Formatted string that contains the name of the user account. + + + + + A Formatted string that contains the local machine or Active Directory domain for the user. + + + + + Usually a Property that is passed in on the command-line to keep it more secure. + + + + + The account's password never expires. Equivalent to UF_DONT_EXPIRE_PASSWD. + + + + + The user cannot change the account's password. Equivalent to UF_PASSWD_CANT_CHANGE. + + + + + Indicates whether the user account should be removed or left behind on uninstall. + + + + + Indicates if the install should fail if the user already exists. + + + + + Indicates whether or not the user can logon as a serivce. User creation can be skipped if all that is desired is to set this access right on the user. + + + + + Indicates whether or not the user can logon as a batch job. User creation can be skipped if all that is desired is to set this access right on the user. + + + + + Indicates if the user account properties should be updated if the user already exists. + + + + + Indicates whether the user must change their password on their first login. + + + + + The account is disabled. Equivalent to UF_ACCOUNTDISABLE. + + + + + Indicates whether or not to create the user. User creation can be skipped if all that is desired is to join a user to groups. + + + + + Indicates whether failure to create the user or add the user to a group fails the installation. The default value is "yes". + + + + + + + + Adds or removes .xml file entries. If you use the XmlFile element you must reference WixUtilExtension.dll as it contains the XmlFile custom actions. + + + + + + + + + Identifier for xml file modification. + + + + + The XPath of the element to be modified. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. + + + + + Path of the .xml file to configure. + + + + + Name of XML node to set/add to the specified element. Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set. + + + + + + The value to be written. See the Formatted topic for information how to escape square brackets in the value. + + + + + + The type of modification to be made to the XML file when the component is installed. + + + + + + Creates a new element under the element specified in ElementPath. The Name attribute is required in this case and specifies the name of the new element. The Value attribute is not necessary when createElement is specified as the action. If the Value attribute is set, it will cause the new element's text value to be set. + + + + + Deletes a value from the element specified in the ElementPath. If Name is specified, the attribute with that name is deleted. If Name is not specified, the text value of the element specified in the ElementPath is deleted. The Value attribute is ignored if deleteValue is the action specified. + + + + + Sets a value in the element specified in the ElementPath. If Name is specified, and attribute with that name is set to the value specified in Value. If Name is not specified, the text value of the element is set. Value is a required attribute if setValue is the action specified. + + + + + Sets all the values in the elements that match the ElementPath. If Name is specified, attributes with that name are set to the same value specified in Value. If Name is not specified, the text values of the elements are set. Value is a required attribute if setBulkValue is the action specified. + + + + + + + + Specifies whether or not the modification should be removed on uninstall. This has no effect on uninstall if the action was deleteValue. + + + + + Specifies wheter or not the modification should preserve the modified date. Preserving the modified date will allow the file to be patched if no other modifications have been made. + + + + + Specifies the order in which the modification is to be attempted on the XML file. It is important to ensure that new elements are created before you attempt to add an attribute to them. + + + + + + Specify whether the DOM object should use XPath language or the old XSLPattern language (default) as the query language. + + + + + + + + + + + + + + + Adds or removes .xml file entries. If you use the XmlConfig element you must reference WixUtilExtension.dll as it contains the XmlConfig custom actions. + + + + + + + + + + + + Identifier for xml file modification. + + + + + + + + + + + + + The Id of another XmlConfig to add attributes to. In this case, the 'ElementPath', 'Action', 'Node', and 'On' attributes must be omitted. + + + + + The XPath of the parent element being modified. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. + + + + + Path of the .xml file to configure. + + + + + Name of XML node to set/add to the specified element. Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set. + + + + + + + + + + + + + + + + + + + + + + Specifies wheter or not the modification should preserve the modified date. Preserving the modified date will allow the file to be patched if no other modifications have been made. + + + + + Specifies the order in which the modification is to be attempted on the XML file. It is important to ensure that new elements are created before you attempt to add an attribute to them. + + + + + + The value to be written. See the Formatted topic for information how to escape square brackets in the value. + + + + + + The XPath to the element being modified. This is required for 'delete' actions. For 'create' actions, VerifyPath is used to decide if the element already exists. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath. + + + + + + + + Id of the search for ordering and dependency. + + + + + Name of the variable in which to place the result of the search. + + + + + Condition for evaluating the search. If this evaluates to false, the search is not executed at all. + + + + + Id of the search that this one should come after. + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + + Enumeration of valid languages for performance counters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enumeration of valid types for performance counters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/vs.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/vs.xsd new file mode 100644 index 0000000..06815de --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/vs.xsd @@ -0,0 +1,292 @@ + + + + + + + + The source code schema for the Windows Installer XML Toolset Visual Studio Extension. + + + + + + + Help Namespace for a help collection. The parent file is the key for the HxC (Collection) file. + + + + + + + + + + + + + Primary Key for HelpNamespace. + + + Friendly name for Namespace. + + + Internal Microsoft Help ID for this Namespace. + + + Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. + + + + + + + + Filter for Help Namespace. + + + + + + + + + + Primary Key for HelpFilter. + + + Query String for Help Filter. + + + Friendly name for Filter. + + + Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. + + + + + + + + File for Help Namespace. The parent file is the key for HxS (Title) file. + + + + + + + + Primary Key for HelpFile Table. + + + Key for HxR (Attributes) file. + + + Key for HxI (Index) file. + + + Language ID for content file. + + + Internal Microsoft Help ID for this HelpFile. + + + Key for a file that is in the "root" of the samples directory for this HelpFile. + + + Key for HxQ (Query) file. + + + Suppress linking Help registration custom actions. Help redistributable merge modules will be required. Use this when building a merge module. + + + + + + Plugin for Help Namespace. + + + Key for HxA (Attributes) file of child namespace. + + + Key for HxT file of child namespace. + + + + Foriegn Key into HelpNamespace table for the parent namespace into which the child will be inserted. + The following special keys can be used to plug into external namespaces defined outside of the installer. + MS_VSIPCC_v80 : Visual Studio 2005 + MS.VSIPCC.v90 : Visual Studio 2008 + + + + Key for HxT file of parent namespace that now includes the new child namespace. + + + Key for the feature parent of this help collection. Required only when plugging into external namespaces. + + + Suppress linking Visual Studio Help namespaces. Help redistributable merge modules will be required. Use this when building a merge module. + + + + + + Create a reference to a HelpFile element in another Fragment. + + + Primary Key for HelpFile Table. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + Create a reference to a HelpFile element in another Fragment. + + + Primary Key for HelpFilter. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Create a reference to a HelpCollection element in another Fragment. + + + + + + + + + + + + Primary Key for HelpNamespace Table. + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + This element provides the metdata required to install/uninstall a file as + a VSIX Package. The VSIX package file will be installed as part of the MSI + then passed to the VSIX installer to install the VSIX package. To avoid the + duplication, simply use the MSI to install the VSIX package itself. + + + + + + + + + + + Reference to file identifer. This attribute is required when the element is not a + child of a File element and is invalid when the element is a child of the File element. + + + + + + + Identity of the VSIX package per its internal manifest. If this value is not correct + the VSIX package will not correctly uninstall. + + + + + + + Indicates whether the VSIX package is uninstalled when the parent Component is uninstalled. + The default is 'no'. + + + + + + + Specifies the SKU of Visual Studio in which to register the extension. If no target + is specified the extension is registered with all installed SKUs. If the Target + attribute is specified the TargetVersion attribute must also be specified. The + following is a list of known Visual Studio targets: integratedShell, professional, + premium, ultimate, vbExpress, vcExpress, vcsExpress, vwdExpress + + + + + + + Specifies the version of Visual Studio in which to register the extension. This attribute + is required if the Target attribute is specified. + + + + + + + Indicates whether failure to install the VSIX package causes the installation to rollback. + The default is 'yes'. + + + + + + + Optional reference to a Property element that contains the path to the VsixInstaller.exe. + By default, the latest VsixInstaller.exe on the machine will be used to install the VSIX + package. It is highly recommended that this attribute is *not* used. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/wix.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/wix.xsd new file mode 100644 index 0000000..3e8ffa0 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/wix.xsd @@ -0,0 +1,13091 @@ + + + + + + + + Schema for describing Windows Installer database files (.msi/.msm/.pcp). + + + + + + + + + + This is the top-level container element for every wxs file. Among the possible children, + the Bundle, Product, Module, Patch, and PatchCreation elements are analogous to the main function in a C program. + There can only be one of these present when linking occurs. Product compiles into an msi file, + Module compiles into an msm file, PatchCreation compiles into a pcp file. The Fragment element + is an atomic unit which ultimately links into either a Product, Module, or PatchCreation. The + Fragment can either be completely included or excluded during linking. + + + + + + + + + + + + + + + + + + Required version of the WiX toolset to compile this input file. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional attributes at this point in the schema. + + + + + + + + + This is the top-level container element for every wxi file. + + + + + + + + + + + The root element for creating bundled packages. + + + + + + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + A URL for more information about the bundle to display in Programs and Features (also + known as Add/Remove Programs). + + + + + + + The legal copyright found in the version resources of final bundle executable. If + this attribute is not provided the copyright will be set to "Copyright (c) [Bundle/@Manufacturer]. All rights reserved.". + + + + + + Whether Packages and Payloads not assigned to a container should be added to the default attached container or if they should be external. The default is yes. + + + + + + Determines whether the bundle can be modified via the Programs and Features (also known as + Add/Remove Programs). If the value is "button" then Programs and Features will show a single + "Uninstall/Change" button. If the value is "yes" then Programs and Features will only show + the "Uninstall" button". If the value is "no", the default, then a "Change" button is shown. + See the DisableRemove attribute for information how to not display the bundle in Programs + and Features. + + + + + + + Determines whether the bundle can be removed via the Programs and Features (also + known as Add/Remove Programs). If the value is "yes" then the "Uninstall" button will + not be displayed. The default is "no" which ensures there is an "Uninstall" button to + remove the bundle. If the "DisableModify" attribute is also "yes" or "button" then the + bundle will not be displayed in Progams and Features and another mechanism (such as + registering as a related bundle addon) must be used to ensure the bundle can be removed. + + + + + + + + + + + + + + A telephone number for help to display in Programs and Features (also known as + Add/Remove Programs). + + + + + + + A URL to the help for the bundle to display in Programs and Features (also known as + Add/Remove Programs). + + + + + + + Path to an icon that will replace the default icon in the final Bundle executable. + This icon will also be displayed in Programs and Features (also known as Add/Remove + Programs). + + + + + + + The publisher of the bundle to display in Programs and Features (also known as + Add/Remove Programs). + + + + + + + The name of the bundle to display in Programs and Features (also known as Add/Remove + Programs). This name can be accessed and overwritten by a BootstrapperApplication + using the WixBundleName bundle variable. + + + + + + + The name of the parent bundle to display in Installed Updates (also known as Add/Remove + Programs). This name is used to nest or group bundles that will appear as updates. + If the parent name does not actually exist, a virtual parent is created automatically. + + + + + + Path to a bitmap that will be shown as the bootstrapper application is being loaded. If this attribute is not specified, no splash screen will be displayed. + + + + + Set this string to uniquely identify this bundle to its own BA, and to related bundles. The value of this string only matters to the BA, and its value has no direct effect on engine functionality. + + + + + + A URL for updates of the bundle to display in Programs and Features (also + known as Add/Remove Programs). + + + + + + + Unique identifier for a family of bundles. If two bundles have the same UpgradeCode the + bundle with the highest version will be installed. + + + + + + + The version of the bundle. Newer versions upgrade earlier versions of the bundles + with matching UpgradeCodes. If the bundle is registered in Programs and Features + then this attribute will be displayed in the Programs and Features user interface. + + + + + + + The condition of the bundle. If the condition is not met, the bundle will + refuse to run. Conditions are checked before the bootstrapper application is loaded + (before detect), and thus can only reference built-in variables such as + variables which indicate the version of the OS. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Provides information about an .exe so that the BA can request the engine to run it elevated from any secure location. + + + + + + + + The identifier of the ApprovedExeForElevation element. + + + + + + The key path. + For security purposes, the root key will be HKLM and Variables are not supported. + + + + + + + The value name. + For security purposes, Variables are not supported. + + + + + + + Instructs the search to look in the 64-bit registry when the value is 'yes'. + When the value is 'no', the search looks in the 32-bit registry. + The default value is 'no'. + + + + + + + + Overrides the default log settings for a bundle. + + + + + + + + + Disables the default logging in the Bundle. The end user can still generate a + log file by specifying the "-l" command-line argument when installing the + Bundle. + + + + + + + Name of a Variable that will hold the path to the log file. An empty value + will cause the variable to not be set. The default is "WixBundleLog". + + + + + + + File name and optionally a relative path to use as the prefix for the log file. The + default is to use the Bundle/@Name or, if Bundle/@Name is not specified, the value + "Setup". + + + + + + The extension to use for the log. The default is ".log". + + + + + + + Specify one or more catalog files that will be used to verify the contents of the bundle. + + + + + + + + The identifier of the catalog element. + + + + + The catalog file + + + + + + + Contains all the relevant information about the setup UI. + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + The identifier of the BootstrapperApplication element. Only required if you want to reference this element using a BootstrapperApplicationRef element. + + + + + The DLL with the bootstrapper application entry function. + + + + + The relative destination path and file name for the bootstrapper application DLL. The default is the source file name. Use this attribute to rename the bootstrapper application DLL or extract it into a subfolder. The use of '..' directories is not allowed. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Used to reference a BootstrapperApplication element and optionally add additional payloads to the bootstrapper application. + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + The identifier of the BootstrapperApplication element to reference. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + This element has been deprecated. Use the BootstrapperApplication element instead. + + + + + + + + + + + + + + See the BootstrapperApplication instead. + + + + + See the BootstrapperApplication instead. + + + + + See the BootstrapperApplication instead. + + + + + + + Writes additional information to the Windows registry that can be used to detect the bundle. + This registration is intended primarily for update to an existing product. + + + The attributes are used to write the following registry values to the key: + SOFTWARE\[Manufacturer]\Updates\[ProductFamily]\[Name] + + ThisVersionInstalled: Y + PackageName: >bundle name< + PackageVersion: >bundle version< + Publisher: [Manufacturer] + PublishingGroup: [Department] + ReleaseType: [Classification] + InstalledBy: [LogonUser] + InstalledDate: [Date] + InstallerName: >installer name< + InstallerVersion: >installer version< + + + + + + + + The name of the manufacturer. The default is the Bundle/@Manufacturer attribute, + but may also be a short form, ex: WiX instead of Windows Installer XML. + An error is generated at build time if neither attribute is specified. + + + + + The name of the department or division publishing the update bundle. + The PublishingGroup registry value is not written if this attribute is not specified. + + + + + The name of the family of products being updated. The default is the Bundle/@ParentName attribute. + The corresponding registry key is not created if neither attribute is specified. + + + + + The name of the bundle. The default is the Bundle/@Name attribute, + but may also be a short form, ex: KB12345 instead of Update to Product (KB12345). + An error is generated at build time if neither attribute is specified. + + + + + The release type of the update bundle, such as Update, Security Update, Service Pack, etc. + The default value is Update. + + + + + + + Contains the chain of packages to install. + + + + + + + + + + + + + + + + + Specifies whether the bundle will attempt to rollback packages + executed in the chain. If "yes" is specified then when a vital + package fails to install only that package will rollback and the + chain will stop with the error. The default is "no" which + indicates all packages executed during the chain will be + rolledback to their previous state when a vital package fails. + + + + + + + Specifies whether the bundle will attempt to create a system + restore point when executing the chain. If "yes" is specified then + a system restore point will not be created. The default is "no" which + indicates a system restore point will be created when the bundle is + installed, uninstalled, repaired, modified, etc. If the system restore + point cannot be created, the bundle will log the issue and continue. + + + + + + + Specifies whether the bundle will start installing packages + while other packages are still being cached. If "yes", + packages will start executing when a rollback boundary is + encountered. The default is "no" which dictates all packages + must be cached before any packages will start to be installed. + + + + + + + + Describes a single msi package to install. + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. The extension's + CompilerExtension.ParseElement() + method will be called with the package identifier as the first value in + contextValues. + + + + + + + + + Specifies whether the bundle will show the UI authored into the msi package. The default is "no" + which means all information is routed to the bootstrapper application to provide a unified installation + experience. If "yes" is specified the UI authored into the msi package will be displayed on top of + any bootstrapper application UI. + + + + + + + Specifies whether the bundle will allow individual control over the installation state of Features inside + the msi package. Managing feature selection requires special care to ensure the install, modify, update and + uninstall behavior of the package is always correct. The default is "no". + + + + + + + Override the automatic per-machine detection of MSI packages and force the package to be per-machine. + The default is "no", which allows the tools to detect the expected value. + + + + + + + This attribute has been deprecated. When the value is "yes", the Binder will not read the MSI package + to detect uncompressed files that would otherwise be automatically included in the Bundle as Payloads. + The resulting Bundle may not be able to install the MSI package correctly. The default is "no". + + + + + + + Specifies whether the MSI will be displayed in Programs and Features (also known as Add/Remove Programs). If "yes" is + specified the MSI package information will be displayed in Programs and Features. The default "no" indicates the MSI + will not be displayed. + + + + + + + + Describes a single msp package to install. + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. The extension's + CompilerExtension.ParseElement() + method will be called with the package identifier as the first value in + contextValues. + + + + + + + + + Specifies whether the bundle will show the UI authored into the msp package. The default is "no" + which means all information is routed to the bootstrapper application to provide a unified installation + experience. If "yes" is specified the UI authored into the msp package will be displayed on top of + any bootstrapper application UI. + + + + + + Indicates the package must be executed elevated. The default is "no". + + + + + + Specifies whether to automatically slipstream the patch for any target msi packages in the chain. The default is "no". + Even when the value is "no", you can still author the SlipstreamMsp element under MsiPackage elements as desired. + + + + + + + + Describes a single msu package to install. + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. The extension's + CompilerExtension.ParseElement() + method will be called with the package identifier as the first value in + contextValues. + + + + + + + + + A condition that determines if the package is present on the target system. This condition can use built-in + variables and variables returned by searches. This condition is necessary because Windows doesn't provide a + method to detect the presence of an MsuPackage. Burn uses this condition to determine how to treat this + package during a bundle action; for example, if this condition is false or omitted and the bundle is being + installed, Burn will install this package. + + + + + + + The knowledge base identifier for the MSU. The KB attribute must be specified to enable the MSU package to + be uninstalled. Even then MSU uninstallation is only supported on Windows 7 and later. When the KB attribute + is specified, the Permanent attribute will the control whether the package is uninstalled. + + + + + + + + Describes a single exe package to install. + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. The extension's + CompilerExtension.ParseElement() + method will be called with the package identifier as the first value in + contextValues. + + + + + + + + + A condition that determines if the package is present on the target system. This condition can use built-in + variables and variables returned by searches. This condition is necessary because Windows doesn't provide a + method to detect the presence of an ExePackage. Burn uses this condition to determine how to treat this + package during a bundle action; for example, if this condition is false or omitted and the bundle is being + installed, Burn will install this package. + + + + + + The command-line arguments provided to the ExePackage during install. If this attribute is absent the executable will be launched with no command-line arguments. + + + + + + The command-line arguments to specify to indicate a repair. If the executable package can be repaired but + does not require any special command-line arguments to do so then set the attribute's value to blank. To + indicate that the package does not support repair, omit this attribute. + + + + + + The command-line arguments provided to the ExePackage during uninstall. If this attribute is absent the executable will be launched with no command-line arguments. To prevent an ExePackage from being uninstalled set the Permanent attribute to "yes". + + + + + Indicates the package must be executed elevated. The default is "no". + + + + + Indicates the communication protocol the package supports for extended progress and error reporting. The default is "none". + + + + + + + Describes a rollback boundary in the chain. + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. The extension's + CompilerExtension.ParseElement() + method will be called with the rollback boundary identifier as the 'RollbackBoundaryId' key in + contextValues. + + + + + + + + Identifier for this rollback boundary, for ordering and cross-referencing. If this attribute is + not provided a stable identifier will be generated. + + + + + + + Specifies whether the rollback boundary aborts the chain. The default "yes" indicates that if + the rollback boundary is encountered then the chain will fail and rollback or stop. If "no" + is specified then the chain should continue successfuly at the next rollback boundary. + + + + + + + + + + Location of the package to add to the bundle. The default value is the Name attribute, if provided. + At a minimum, the SourceFile or Name attribute must be specified. + + + + + + + The destination path and file name for this chain payload. Use this attribute to rename the + chain entry point or extract it into a subfolder. The default value is the file name from the + SourceFile attribute, if provided. At a minimum, the Name or SourceFile attribute must be specified. + The use of '..' directories is not allowed. + + + + + + + The URL to use to download the package. The following substitutions are supported: + + {0} is replaced by the package Id. + {1} is replaced by the payload Id. + {2} is replaced by the payload file name. + + + + + + + + Identifier for this package, for ordering and cross-referencing. The default is the Name attribute + modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores). + + + + + + + The identifier of another package that this one should be installed after. By default the After + attribute is set to the previous sibling package in the Chain or PackageGroup element. If this + attribute is specified ensure that a cycle is not created explicitly or implicitly. + + + + + + + The size this package will take on disk in bytes after it is installed. By default, the binder will + calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs) + and use the total for the install size of the package. + + + + + + A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled. + + + + + Whether to cache the package. The default is "yes". + + + + + The identifier to use when caching the package. + + + + + + Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages + use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use + the DisplayName patch metadata property. Other package types must use this attribute to define a display name in the + bootstrapper application data manifest. + + + + + + + Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages + use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use + the Description patch metadata property. Other package types must use this attribute to define a description in the + bootstrapper application data manifest. + + + + + + + Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not + be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging. + + + + + + + Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause + the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which + default to no logging. + + + + + + + Specifies whether the package can be uninstalled. The default is "no". + + + + + + + Specifies whether the package must succeed for the chain to continue. The default "yes" + indicates that if the package fails then the chain will fail and rollback or stop. If + "no" is specified then the chain will continue even if the package reports failure. + + + + + + Whether the package payload should be embedded in a container or left as an external payload. + + + + + + By default, a Bundle will use the hash of a package to verify its contents. If this attribute is explicitly set to "no" + and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the + signature instead. Therefore, the default for this attribute could be considered to be "yes". It is unusual for "yes" to + be the default of an attribute. In this case, the default was changed in WiX v3.9 after experiencing real world issues + with Windows verifying Authenticode signatures. Since the Authenticode signatures are no more secure than hashing the + packages directly, the default was changed. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. The extension's + CompilerExtension.ParseAttribute() + method will be called with the package identifier in + contextValues["PackageId"]. + + + + + + + Describes a package group to a bootstrapper. + + + + + + + + + + + + + + + + Identifier for package group. + + + + + + + Create a reference to PackageGroup element that exists inside a Bundle or Fragment element. + + + + + + + + + + + The identifier of the PackageGroup element to reference. + + + + + The identifier of a package that this group should be installed after. + + + + + + + Allows an MSI property to be set based on the value of a burn engine expression. + + + + + + + + The name of the MSI property to set. Burn controls the follow MSI properties so they cannot be set with MsiProperty: ACTION, ALLUSERS, REBOOT, REINSTALL, REINSTALLMODE + + + + + The value to set the property to. This string is evaluated by the burn engine and can be as simple as a burn engine variable reference or as complex as a full expression. + + + + + + + Specifies a patch included in the same bundle that is installed when the parent MSI package is installed. + + + + + You can also specify that any MspPackage elements in the chain are automatically slipstreamed by setting the Slipstream attribute of an MspPackage to "yes". This will reduce the amount of authoring you need to write and will determine which msi packages can slipstream patches when building a bundle. + + + + + + + The identifier for a MspPackage in the bundle. + + + + + + + Describes a burn engine variable to define. + + + + + + + + + Whether the value of the variable should be hidden. + + + + + The name for the variable. + + + + + Whether the variable should be persisted. + + + + + Starting value for the variable. + + + + + Type of the variable, inferred from the value if not specified. + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Representation of a file that contains one or more files. + + + + + + + + + + + + The URL to use to download the container. This attribute is only valid when the container is detached. The + following substitutions are supported: + + {0} is always null. + {1} is replaced by the container Id. + {2} is replaced by the container file name. + + + + + + + The unique identifier for the container. If this attribute is not specified the Name attribute will be used. + + + + + The file name for this container. A relative path may be provided to place the container in a sub-folder of the bundle. + + + + + + Indicates whether the container is "attached" to the bundle executable or placed external to the bundle extecutable as "detached". If + this attribute is not specified, the default is to create a detached container. + + + + + + + + Create a reference to an existing Container element. + + + + + + + + + The identifier of Container element to reference. + + + + + + + Describes map of exit code returned from executable package to a bootstrapper behavior. + + + + + + + + Exit code returned from executable package. If no value is provided it means all values not explicitly set default to this behavior. + + + + + Choose one of the supported behaviors error codes: success, error, scheduleReboot, forceReboot. + + + + + + + + + + + + + + + Describes additional, conditional command-line arguments for an ExePackage. + + + + + Additional command-line arguments to apply during package installation if Condition is true. + + + + + Additional command-line arguments to apply during package uninstallation if Condition is true. + + + + + Additional command-line arguments to apply during package repair if Condition is true. + + + + + + The condition that controls whether the command-line arguments specified in the + InstallArgument, UninstallArgument, or RepairArgument attributes are appended to the + command line passed to the ExePackage. Which attribute is used depends on the + action being applied to the ExePackage. For example, when the ExePackage is + being installed, the InstallArgument attribute value is appended to the command + line when the ExePackage is executed. + + + + + + + + Describes a payload to a bootstrapper. + + + + + + + + + + + + + The identifier of Payload element. + + + + + Whether the payload should be embedded in a container or left as an external payload. + + + + + Location of the source file. + + + + + The destination path and file name for this payload. The default is the source file name. The use of '..' directories is not allowed. + + + + + + The URL to use to download the package. The following substitutions are supported: + + {0} is replaced by the package Id. + {1} is replaced by the payload Id. + {2} is replaced by the payload file name. + + + + + + + + By default, a Bundle will use a package's Authenticode signature to verify the contents. If the package does not + have an Authenticode signature then the Bundle will use a hash of the package instead. Set this attribute to "yes" + to suppress the default behavior and force the Bundle to always use the hash of the package even when the package + is signed. + + + + + + + + Describes a payload group to a bootstrapper. PayloadGroups referenced from within a Bundle are tied to the Bundle. + PayloadGroups referenced from a Fragment are tied to the context of whatever references them such as an ExePackage or MsiPackage. + It is possible to share a PayloadGroup between multiple Packages and/or a Bundle by creating multiple references to it. + + + + + + + + + + + + Identifier for payload group. + + + + + + + Create a reference to PayloadGroup element that exists inside a Bundle or Fragment element. + + + + + + + + + + + The identifier of the PayloadGroup element to reference. + + + + + + + Describes information about a remote file payload that is not available at the time of building the bundle. + The parent must specify DownloadUrl and must not specify SourceFile when using this element. + + + + + + + + + Public key of the authenticode certificate used to sign the RemotePayload. Include this attribute if the remote file is signed. + + + + + Thumbprint of the authenticode certificate used to sign the RemotePayload. Include this attribute if the remote file is signed. + + + + + Description of the file from version resources. + + + + + SHA-1 hash of the RemotePayload. Include this attribute if the remote file is unsigned or SuppressSignatureVerification is set to Yes. + + + + + Product name of the file from version resouces. + + + + + Size of the remote file in bytes. + + + + + Version of the remote file + + + + + + + Create a RelatedBundle element. + + + + + + + + + The identifier of the RelatedBundle group. + + + + + The action to take on bundles related to this one. Detect is the default. + + + + + + + + + + + + + + + Defines the update for a Bundle. + + + + + + + + + + The absolute path or URL to check for an update bundle. Currently the engine provides this value + in the IBootstrapperApplication::OnDetectUpdateBegin() and otherwise ignores the value. In the + future the engine will be able to acquire an update bundle from the location and determine if it + is newer than the current executing bundle. + + + + + + + + + The Product element is analogous to the main function in a C program. When linking, only one Product section + can be given to the linker to produce a successful result. Using this element creates an msi file. + + + + You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + The product code GUID for the product. + + + + + The code page integer value or web name for the resulting MSI. See remarks for more information. + + + + + The decimal language ID (LCID) for the product. + + + + + The manufacturer of the product. + + + + + The descriptive name of the product. + + + + + The upgrade code GUID for the product. + + + + + The product's version string. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + The Module element is analogous to the main function in a C program. When linking, only + one Module section can be given to the linker to produce a successful result. Using this + element creates an msm file. + + + + You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + The name of the merge module (not the file name). + + + + + The code page integer value or web name for the resulting MSM. See remarks for more information. + + + + + This attribute is deprecated. Use the Package/@Id attribute instead. + + + + + The decimal language ID (LCID) of the merge module. + + + + + The major and minor versions of the merge module. + + + + + + + Declares a dependency on another merge module. + + + + + Identifier of the merge module required by the merge module. + + + + + Numeric language ID of the merge module in RequiredID. + + + + + Version of the merge module in RequiredID. + + + + + + + Declares a merge module with which this merge module is incompatible. + + + + + Identifier of the merge module that is incompatible. + + + + + Numeric language ID of the merge module in ExcludedID. All except this language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified. + + + + + Numeric language ID of the merge module in ExcludedID. The specified language will be excluded. Only one of ExcludeExceptLanguage and ExcludeLanguage may be specified. + + + + + Minimum version excluded from a range. If not set, all versions before max are excluded. If neither max nor min, no exclusion based on version. + + + + + Maximum version excluded from a range. If not set, all versions after min are excluded. If neither max nor min, no exclusion based on version. + + + + + + + Defines the configurable attributes of merge module. + + + + + Defines the name of the configurable item. + + + + + Specifies the format of the data being changed. + + + + + + + + + + + + + Specifies the type of the data being changed. + + + + + Specifies a semantic context for the requested data. + + + + + Specifies a default value for the item in this record if the merge tool declines to provide a value. + + + + + Does not merge rule according to rules in MSI SDK. + + + + + If yes, null is not a valid entry. + + + + + Display name for authoring. + + + + + Description for authoring. + + + + + Location of chm file for authoring. + + + + + Keyword into chm file for authoring. + + + + + + + Specifies the configurable fields of a module database and provides a template for the configuration of each field. + + + + + Specifies the name of the table being modified in the module database. + + + + + Specifies the primary keys of the target row in the table named in the Table column. If multiple keys, separated by semicolons. + + + + + Specifies the target column in the row named in the Row column. + + + + + Provides a formatting template for the data being substituted into the target field specified by Table, Row, and Column. + + + + + + + + Specifies a table from the merge module that is not merged into an .msi file. + If the table already exists in an .msi file, it is not modified by the merge. + The specified table can therefore contain data that is unneeded after the merge. + To minimize the size of the .msm file, it is recommended that developers remove + unused tables from modules intended for redistribution rather than creating + IgnoreTable elements for those tables. + + + + + + + The name of the table in the merge module that is not to be merged into the .msi file. + + + + + + + + + The Fragment element is the building block of creating an installer database in WiX. Once defined, + the Fragment becomes an immutable, atomic unit which can either be completely included or excluded + from a product. The contents of a Fragment element can be linked into a product by utilizing one + of the many *Ref elements. When linking in a Fragment, it will be necessary to link in all of its + individual units. For instance, if a given Fragment contains two Component elements, you must link + both under features using ComponentRef for each linked Component. Otherwise, you will get a linker + warning and have a floating Component that does not appear under any Feature. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Optional identifier for a Fragment. Should only be set by advanced users to tag sections. + + + + + + + + + The Patch element is analogous to the main function in a C program. When linking, only one Patch section + can be given to the linker to produce a successful result. Using this element creates an MSP file. + + + + You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. + The ClientPatchId attribute allows you to specify an easily referenced identity that you can use in product authoring. This identity prefixes properties added by WiX to a patch transform, such as ClientPatchId.PatchCode and ClientPatchId.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix. + For example, if you were planning to ship a patch referred to as "QFE1" and needed to write your own registry values for Add/Remove Programs in product authoring such as the UninstallString for this patch, you could author a RegistryValue with the name UninstallString and the value [SystemFolder]msiexec.exe /package [ProductCode] /uninstall [QFE1.PatchCode]. In your patch authoring you would then set ClientPatchId to "QFE1" and WiX will add the QFE1.PatchCode property to the patch transform when the patch is created. If the Id attribute specified the patch code to be generated automatically, you could not reference the prefix.PatchCode property as shown above. + The summary information is automatically populated from attribute values of the Patch element including the code page. If you want to override some of these summary information properties or use a different code page for the summary information itself, author the PatchInformation element. + + + + + + + + + Optional element that allows overriding summary information properties. + + + + + + Indicates whether custom actions can be skipped when applying the patch. + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Patch code for this patch. + + + + + The code page integer value or web name for the resulting MSP. See remarks for more information. + + + + + Whether this is an uninstallable patch. + + + + + Category of updates. Recommended values are Critical Update, Hotfix, Security Rollup, Security Update, Service Pack, Update, Update Rollup. + + + + + An easily referenced identity unique to a patch that can be used in product authoring. See remarks for more information. + + + + + Flag used when creating a binary file patch. Default is "no". Don't use imagehlp.dll. + + + + + Flag used when creating a binary file patch. Default is "no". Don't fail patch due to imagehlp failures. + + + + + Flag used when creating a binary file patch. Default is "no". After matching decorated symbols, try to match remaining by undecorated names. + + + + + Description of the patch. + + + + + A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on. + + + + + Optional comments for browsing. + + + + + Vendor releasing the package + + + + + + Indicates that the patch targets the RTM version of the product or the most recent major + upgrade patch. Author this optional property in minor update patches that contain sequencing + information to indicate that the patch removes all patches up to the RTM version of the + product, or up to the most recent major upgrade patch. This property is available beginning + with Windows Installer 3.1. + + + + + + A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on. + + + + + + If this attribute is set to 'yes' in all the patches to be applied in a transaction, the + application of the patch is optimized if possible. Available beginning with Windows Installer 3.1. + + + + + + Name of the application or target product suite. + + + + + When this attribute is set, patches for files greater than approximately 4 MB in size may be made smaller. + + + + + + + Sets information in the patch transform that determines if the transform applies to an installed product and what errors should be ignored when applying the patch transform. + + + A transform contains the differences between the target product and the upgraded product. When a transform or a patch (which contains transforms) is applied, the following properties of the installed product are validated against the properties of the target product stored in a transform. + + ProductCode + ProductLanguage + ProductVersion + UpgradeCode + + Windows Installer simply validates that the ProductCode, ProductLanguage, and UpgradeCode of an installed product are equivalent to those propeties of the target product used to create the transform; however, the ProductVersion can be validated with a greater range of comparisons. + You can compare up to the first three fields of the ProductVersion. Changes to the fourth field are not validated and are useful for small updates. You can also choose how to compare the target ProductVersion used to create the transform with the installed ProductVersion. For example, while the default value of 'Equals' is recommended, if you wanted a minor upgrade patch to apply to the target ProductVersion and all older products with the same ProductCode, you would use 'LesserOrEqual'. + + + + + + + Requires that the installed ProductCode match the target ProductCode used to create the transform. The default is 'yes'. + + + + + Requires that the installed ProductLanguage match the target ProductLanguage used to create the transform. The default is 'no'. + + + + + Determines how many fields of the installed ProductVersion to compare. See remarks for more information. The default is 'Update'. + + + + + + Checks the major version. + + + + + Checks the major and minor versions. + + + + + Checks the major, minor, and update versions. + + + + + + + + Determines how the installed ProductVersion is compared to the target ProductVersion used to create the transform. See remarks for more information. The default is 'Equal'. + + + + + + Installed ProductVersion < target ProductVersion. + + + + + Installed ProductVersion <= target ProductVersion. + + + + + Installed ProductVersion = target ProductVersion. + + + + + Installed ProductVersion >= target ProductVersion. + + + + + Installed ProductVersion > target ProductVersion. + + + + + + + + Requires that the installed UpgradeCode match the target UpgradeCode used to create the transform. The default is 'yes'. + + + + + Ignore errors when adding existing rows. The default is 'yes'. + + + + + Ignore errors when adding existing tables. The default is 'yes'. + + + + + Ignore errors when deleting missing rows. The default is 'yes'. + + + + + Ignore errors when deleting missing tables. The default is 'yes'. + + + + + Ignore errors when updating missing rows. The default is 'yes'. + + + + + Ignore errors when changing the database code page. The default is 'no'. + + + + + + + Indicates whether custom actions can be skipped when applying the patch. + + + + + + + + Skip property (type 51) and directory (type 35) assignment custom actions. + + + + + Skip immediate custom actions that are not property or directory assignment custom actions. + + + + + Skip custom actions that run within the script. + + + + + + + Identifies a set of product versions. + + + + + + + + Identifier for a set of product versions. + + + + + + + Collection of items that should be kept from the differences between two products. + + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Identifier which indicates a sequence family to which this patch belongs. + + + + + + Specifies the ProductCode of the product that this family applies to. + + + + + + Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK. + + + + + + Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. + The default value is 'no'. + + + + + + + + + Groups together multiple patch families to be used in other locations. + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Identifier for the PatchFamilyGroup. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Create a reference to a PatchFamilyGroup in another Fragment. + + + + + + + + The identifier of the PatchFamilyGroup to reference. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + The PatchCreation element is analogous to the main function in a C program. When linking, only one PatchCreation section + can be given to the linker to produce a successful result. Using this element creates a pcp file. + + + + You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. + + + + + + + + + + + + + + + + + + PatchCreation identifier; this is the primary key for identifying patches. + + + + + Use this to set whether the major versions between the upgrade and target images match. See AllowProductVersionMajorMismatches for more information. + + + + + Use this to set whether the product code between the upgrade and target images match. See AllowProductCodeMismatches for more information. + + + + + Use this to set whether Patchwiz should clean the temp folder when finished. See DontRemoveTempFolderWhenFinished for more information. + + + + + The code page integer value or web name for the resulting PCP. See remarks for more information. + + + + + The full path, including file name, of the patch package file that is to be generated. See PatchOutputPath for more information. + + + + + Used to locate the .msp file for the patch if the cached copy is unavailable. See PatchSourceList for more information. + + + + + An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See ApiPatchingSymbolFlags for more information. + + + + + Use this to set whether changing files should be included in their entirety. See IncludeWholeFilesOnly for more information. + + + + + + + Properties about the patch to be placed in the Summary Information Stream. These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer. + + + You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. + + + + + + + A short description of the patch that includes the name of the product. + + + + + + + + + + + + + + + + + + + The name of the manufacturer of the patch package. + + + + + A semicolon-delimited list of network or URL locations for alternate sources of the patch. The default is "Installer,Patching,PCP,Database". + + + + + General purpose of the patch package. For example, "This patch contains the logic and data required to install <product>." + + + + + + The value of this attribute conveys whether the package should be opened as read-only. + A database editing tool should not modify a read-only enforced database and should + issue a warning at attempts to modify a read-only recommended database. + + + + + + The code page integer value or web name for summary info strings only. The default is 1252. See remarks for more information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Properties about the patch to be placed in the PatchMetadata table. + + + + + + + + + + A custom property that extends the standard set. + + + + + Indicates whether custom actions can be skipped when applying the patch. + + + + + + + Whether this is an uninstallable patch. + + + + + Category of updates. Recommended values are Critical Update, Hotfix, Security Rollup, Security Update, Service Pack, Update, Update Rollup. + + + + + Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute). + + + + + Description of the patch. + + + + + A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on. + + + + + Name of the manufacturer. + + + + + + Indicates that the patch targets the RTM version of the product or the most recent major + upgrade patch. Author this optional property in minor update patches that contain sequencing + information to indicate that the patch removes all patches up to the RTM version of the + product, or up to the most recent major upgrade patch. This property is available beginning + with Windows Installer 3.1. + + + + + + A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on. + + + + + + If this attribute is set to 'yes' in all the patches to be applied in a transaction, the + application of the patch is optimized if possible. Available beginning with Windows Installer 3.1. + + + + + + Name of the application or target product suite. + + + + + + + A custom property for the PatchMetadata table. + + + + + The name of the company. + + + + + The name of the metadata property. + + + + + Value of the metadata property. + + + + + + + A patch that is deprecated by this patch. + + + + + Patch GUID to be unregistered if it exists on the machine targeted by this patch. + + + + + + + + The product codes for products that can accept the patch. + + + + + + + + + Whether to replace the product codes that can accept the patch from the target packages with the child elements. + + + + + + + + A product code for a product that can accept the patch. + + + + When using the PatchCreation element, if the Id attribute value is '*' or this element is not authored, the product codes of all products referenced by the TargetImages element are used. + When using the Patch element, the Id attribute value must not be '*'. Use the TargetProductCodes/@Replace attribute instead. + + + + + + + + The product code for a product that can accept the patch. This can be '*'. See remarks for more information. + + + + + + + + A property for this patch database. + + + + When authored under the Patch element, the PatchProperty defines entries in the MsiPatchMetadata table. + + + + + + + Name of the company for a custom metadata property. + + + + + Name of the patch property. + + + + + Value of the patch property. + + + + + + + Sequence information for this patch database. Sequence information is generated automatically in most cases, and rarely needs to be set explicitly. + + + + + + + + Identifier which indicates a sequence family to which this patch belongs. + + + + + + Specifies the ProductCode of the product that this family applies to. + This attribute cannot the specified if the TargetImage attribute is specified. + + + + + + Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK. + + + + + + Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family. + The default value is 'no'. + + + + + + + + + + + + + + Specifies the TargetImage that this family applies to. + This attribute cannot the specified if the ProductCode attribute is specified. + + + + + + + + Group of one or more upgraded images of a product. + + + + + + + + + + + + Entered into the DiskId field of the new Media table record. + + + + + Value to display in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. + + + + + Entered into the Source field of the new Media table entry of the upgraded image. + + + + + Identifier for the family. + + + + + Sequence number for the starting file. + + + + + Entered into the VolumeLabel field of the new Media table record. + + + + + + + Contains information about the upgraded images of the product. + + + + + + + + + + + + Identifier to connect target images with upgraded image. + + + + + Full path to location of msi file for upgraded image. + + + + + + + + + + + + Modified copy of the upgraded installation database that contains additional authoring specific to patching. + + + + + + + + + + + + + + Contains information about the target images of the product. + + + + + + + + + Identifier for the target image. + + + + + Full path to the location of the msi file for the target image. + + + + + + + + + + + + Relative order of the target image. + + + + + Product checking to avoid applying irrelevant transforms. + + + + + Files missing from the target image are ignored by the installer. + + + + + + + Information about specific files in a target image. + + + + + + + + + + + + Foreign key into the File table. + + + + + + + Specifies part of a file that is to be ignored during patching. + + + + + Offset of the start of the range. + + + + + Length of the range. + + + + + + + Specifies part of a file that cannot be overwritten during patching. + + + + + Offset of the start of the range. + + + + + Length of the range. + + + + + + + Specifies a file to be protected. + + + + + + + + Foreign key into the File table. + + + + + + + Contains information about specific files that are not part of a regular target image. + + + + + + + + + + + + Foreign key into the File table. + + + + + Full path of the external file. + + + + + + + + + + + + Specifies the order of the external files to use when creating the patch. + + + + + + + Specifies files to either ignore or to specify optional data about a file. + + + + + + + + Foreign key into the File table. + + + + + If yes, the file is ignored during patching, and the next two attributes are ignored. + + + + + Specifies whether patching this file is vital. + + + + + Whether the whole file should be installed, rather than creating a binary patch. + + + + + + + A path to symbols. + + + + + The path. + + + + + + + + Properties about the package to be placed in the Summary Information Stream. These are + visible from COM through the IStream interface, and these properties can be seen on the package in Explorer. + + + + You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See Code Pages for more information. + + + + + + + + The package code GUID for a product or merge module. + When compiling a product, this attribute should not be set in order to allow the package + code to be generated for each build. + When compiling a merge module, this attribute must be set to the modularization guid. + + + + + + Set to 'yes' if the source is an admin image. + + + + + Optional comments for browsing. + + + + + + Set to 'yes' to have compressed files in the source. + This attribute cannot be set for merge modules. + + + + + + The product full name or description. + + + + + Use this attribute to specify the priviliges required to install the package on Windows Vista and above. + + + + + + + Set this value to declare that the package does not require elevated privileges to install. + + + + + + + Set this value to declare that the package requires elevated privileges to install. + This is the default value. + + + + + + + + + Use this attribute to specify the installation scope of this package: per-machine or per-user. + + + + + + + Set this value to declare that the package is a per-machine installation and requires elevated privileges to install. + Sets the ALLUSERS property to 1. + + + + + + + Set this value to declare that the package is a per-user installation and does not require elevated privileges to install. + Sets the package's InstallPrivileges attribute to "limited." + + + + + + + + + + The minimum version of the Windows Installer required to install this package. Take the major version of the required Windows Installer + and multiply by a 100 then add the minor version of the Windows Installer. For example, "200" would represent Windows Installer 2.0 and + "405" would represent Windows Installer 4.5. For 64-bit Windows Installer packages, this property is set to 200 by default as + Windows Installer 2.0 was the first version to support 64-bit packages. + + + + + + Optional keywords for browsing. + + + + + The list of language IDs (LCIDs) supported in the package. + + + + + The vendor releasing the package. + + + + + + The list of platforms supported by the package. This attribute has been deprecated. + Specify the -arch switch at the candle.exe command line or the InstallerPlatform + property in a .wixproj MSBuild project. + + + + + + + The platform supported by the package. Use of this attribute is discouraged; instead, + specify the -arch switch at the candle.exe command line or the InstallerPlatform + property in a .wixproj MSBuild project. + + + + + + + + Set this value to declare that the package is an x86 package. + + + + + + + Set this value to declare that the package is an ia64 package. + This value requires that the InstallerVersion property be set to 200 or greater. + + + + + + + Set this value to declare that the package is an x64 package. + This value requires that the InstallerVersion property be set to 200 or greater. + + + + + + + Set this value to declare that the package is an arm package. + This value requires that the InstallerVersion property be set to 500 or greater. + + + + + + + This value has been deprecated. Use "x86" instead. + + + + + + + This value has been deprecated. Use "ia64" instead. + + + + + + + + + + The value of this attribute conveys whether the package should be opened as read-only. + A database editing tool should not modify a read-only enforced database and should + issue a warning at attempts to modify a read-only recommended database. + + + + + + Set to 'yes' to have short filenames in the source. + + + + + The code page integer value or web name for summary info strings only. See remarks for more information. + + + + + + + + The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly. + Consider using the Assembly attribute on File element to have the toolset populate these entries automatically. + + + + + + + + + Name of the attribute associated with the value specified in the Value column. + + + + + Value associated with the name specified in the Name column. + + + + + + + + Identifies the possible signer certificates used to digitally sign patches. + + + + + + + + + + + + + + + Digital signatures that identify installation packages in a multi-product transaction. + + + + + + + + + + + + + + + Adds a digital certificate. + + + + + + + + + Identifier for a certificate file. + + + + + The path to the certificate file. + + + + + + + + Reference to a DigitalCertificate element. This will force the entire referenced Fragment's contents + to be included in the installer database. This is only used for references when patching. + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + Adds a digital signature. + + + + + + + + + + + + The path to signature's optional hash file. + + + + + + + + Adds a system file protection update catalog file + + + + + + + + + + + Primary Key to File Table. + + + + + + Filename for catalog file when installed. + + + + + Used to define dependency outside of the package. + + + + + Path to catalog file in binary. + + + + + + + + Provides a many-to-many mapping from the SFPCatalog table to the File table + + + + + + + + + Primary Key to File Table. + + + + + + + + Adds or removes .ini file entries. + + + + + + + + + + Identifier for ini file. + + + + + The type of modification to be made. + + + + + + Creates or updates an .ini entry. + + + + + Creates a new entry or appends a new comma-separated value to an existing entry. + + + + + Creates an .ini entry only if the entry does no already exist. + + + + + Removes an .ini entry. + + + + + Removes a tag from an .ini entry. + + + + + + + + Name of a property, the value of which is the full path of the folder containing the .ini file. Can be name of a directory in the Directory table, a property set by the AppSearch table, or any other property representing a full path. + + + + + The localizable .ini file key within the section. + + + + + + + + + + + + + In prior versions of the WiX toolset, this attribute specified the short name. + This attribute's value may now be either a short or long name. + If a short name is specified, the ShortName attribute may not be specified. + If a long name is specified, the LongName attribute may not be specified. + Also, if this value is a long name, the ShortName attribute may be omitted to + allow WiX to attempt to generate a unique short name. + However, if this name collides with another file or you wish to manually specify + the short name, then the ShortName attribute may be specified. + + + + + + The localizable .ini file section. + + + + + + The short name of the in 8.3 format. + This attribute should only be set if there is a conflict between generated short names + or the user wants to manually specify the short name. + + + + + + + The localizable value to be written or deleted. This attribute must be set if + the Action attribute's value is "addLine", "addTag", or "createLine". + + + + + + + + + ODBCDataSource for a Component + + + + + + + + + + Translates into ODBCSourceAttributes + + + + + + Identifier of the data source. + + + + + Name for the data source. + + + + + Required if not found as child of ODBCDriver element + + + + + Scope for which the data source should be registered. + + + + + + + Data source is registered per machine. + + + + + + + Data source is registered per user. + + + + + + + + + Set 'yes' to force this file to be key path for parent Component + + + + + + + + ODBCDriver for a Component + + + + + + + + + + Translates into ODBCSourceAttributes + + + + + + + Identifier for the driver. + + + + + Name for the driver. + + + + + Required if not found as child of File element + + + + + Required if not found as child of File element or different from File attribute above + + + + + + + + ODBCTranslator for a Component + + + + + + + + + Identifier for the translator. + + + + + Name for the translator. + + + + + Required if not found as child of File element + + + + + Required if not found as child of File element or different from File attribute above + + + + + + + + + + + + + + + + How To: Check the version number of a file during installation + + When the parent DirectorySearch/@Depth attribute is greater than 0, the FileSearch/@Id attribute must be absent or the same as the parent DirectorySearch/@Id attribute value, unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'. + + + Searches for file and assigns to fullpath value of parent Property + + + + + Unique identifier for the file search and external key into the Signature table. If this attribute value is not set then the parent element's @Id attribute is used. + + + + + + In prior versions of the WiX toolset, this attribute specified the short file name. + This attribute's value may now be either a short or long file name. + If a short file name is specified, the ShortName attribute may not be specified. + If a long file name is specified, the LongName attribute may not be specified. + If you wish to manually specify the short file name, then the ShortName + attribute may be specified. + + + + + + + + + + + + + + The short file name of the file in 8.3 format. + There is a Windows Installer bug which prevents the FileSearch functionality from working + if both a short and long file name are specified. Since the Name attribute allows either + a short or long name to be specified, it is the only attribute related to file names which + should be specified. + + + + + + The minimum size of the file. + + + + + The maximum size of the file. + + + + + The minimum version of the file. + + + + + The maximum version of the file. + + + + + The minimum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second. + + + + + The maximum modification date and time of the file. Formatted as YYYY-MM-DDTHH:mm:ss, where YYYY is the year, MM is month, DD is day, 'T' is literal, HH is hour, mm is minute and ss is second. + + + + + The languages supported by the file. + + + + + + + + + + A reference to another FileSearch element must reference the same Id and the same Parent Id. If any of these attribute values are different you must instead use a FileSearch element. + + + References an existing FileSearch element. + + + + + Specify the Id to the FileSearch to reference. + + + + + + + + + + + + + How To: Check the version number of a file during installation + How To: Reference another DirectorySearch element + How To: Get the parent directory of a file search + + Use the AssignToProperty attribute to search for a file but set the outer property to the directory containing the file. When this attribute is set to 'yes', you may only nest a FileSearch element with a unique Id or define no child element. + When the parent DirectorySearch/@Depth attribute is greater than 0, the FileSearch/@Id attribute must be absent or the same as the parent DirectorySearch/@Id attribute value, unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'. + + + Searches for directory and assigns to value of parent Property. + + + + + + + + + + + Unique identifier for the directory search. + + + + + Path on the user's system. Either absolute, or relative to containing directories. + + + + + + Depth below the path that the installer searches for the file or directory specified by the search. See remarks for more information. + + + + + + Set the value of the outer Property to the result of this search. See remarks for more information. + + + + + + + + + + + How To: Reference another DirectorySearch element + + A reference to another DirectorySearch element must reference the same Id, the same Parent Id, and the same Path. If any of these attribute values are different you must instead use a DirectorySearch element. + + + References an existing DirectorySearch element. + + + + + + + + + + + Id of the search being referred to. + + + + + This attribute is the signature of the parent directory of the file or directory in the Signature_ column. If this field is null, and the Path column does not expand to a full path, then all the fixed drives of the user's system are searched by using the Path. This field is a key into one of the following tables: the RegLocator, the IniLocator, the CompLocator, or the DrLocator tables. + + + + + Path on the user's system. Either absolute, or relative to containing directories. + + + + + + + + + + + + + Searches for file or directory and assigns to value of parent Property. + + + + + + + + + + + + The component ID of the component whose key path is to be used for the search. + + + + + Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. + + + + + + + The key path of the component is a directory. + + + + + + + The key path of the component is a file. This is the default value. + + + + + + + + + + + + + + + + + Searches for file, directory or registry key and assigns to value of parent Property + + + + + + + + + + + External key into the Signature table. + + + + + The field in the .ini line. If field is Null or 0, the entire line is read. + + + + + The key value within the section. + + + + + + + + + + + + + In prior versions of the WiX toolset, this attribute specified the short name. + This attribute's value may now be either a short or long name. + If a short name is specified, the ShortName attribute may not be specified. + If a long name is specified, the LongName attribute may not be specified. + Also, if this value is a long name, the ShortName attribute may be omitted to + allow WiX to attempt to generate a unique short name. + However, if you wish to manually specify the short name, then the ShortName + attribute may be specified. + + + + + + The localizable .ini file section. + + + + + + The short name of the file in 8.3 format. + This attribute should only be set if the user wants to manually specify the short name. + + + + + + Must be file if last child is FileSearch element and must be directory if last child is DirectorySearch element. + + + + + + A directory location. + + + + + A file location. This is the default value. + + + + + A raw .ini value. + + + + + + + + + + + + + + + How To: Read a registry entry during installation + + + When the Type attribute value is 'directory' the registry value must specify the path to a directory excluding the file name. + When the Type attribute value is 'file' the registry value must specify the path to a file including the file name; + however, if there is no child FileSearch element the parent directory of the file is returned. The FileSearch element requires + that you author the name of the file you are searching for. If you do not know the file name + you must set the Type attribute to 'raw' to return the full file path including the file name. + + + + Searches for file, directory or registry key and assigns to value of parent Property + + + + + + + + + + + Signature to be used for the file, directory or registry key being searched for. + + + + + Root key for the registry value. + + + + + + + HKEY_CLASSES_ROOT + + + + + + + HKEY_CURRENT_USER + + + + + + + HKEY_LOCAL_MACHINE + + + + + + + HKEY_USERS + + + + + + + + + Key for the registry value. + + + + + Registry value name. If this value is null, then the value from the key's unnamed or default value, if any, is retrieved. + + + + + + The value must be 'file' if the child is a FileSearch element, and must be 'directory' if child is a DirectorySearch element. + + + + + + + + The registry value contains the path to a directory. + + + + + + + The registry value contains the path to a file. To return the full file path you must add a FileSearch element as a child of this element; otherwise, the parent directory of the file path is returned. + + + + + + + Sets the raw value from the registry value. Please note that this value will contain a prefix as follows:DWORDStarts with '#' optionally followed by '+' or '-'.REG_BINARYStarts with '#x' and the installer converts and saves each hexadecimal digit (nibble) as an ASCII character prefixed by '#x'.REG_EXPAND_SZStarts with '#%'.REG_MULTI_SZStarts with '[~]' and ends with '[~]'.REG_SZNo prefix, but if the first character of the registry value is '#', the installer escapes the character by prefixing it with another '#'. + + + + + + + + Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. + The default value is based on the platform set by the -arch switch to candle.exe + or the InstallerPlatform property in a .wixproj MSBuild project: + For x86 and ARM, the default value is 'no'. + For x64 and IA64, the default value is 'yes'. + + + + + + + + + + + References an existing RegistrySearch element. + + + + + Specify the Id of the RegistrySearch to reference. + + + + + + + Sets the parent of a nested DirectorySearch element to CCP_DRIVE. + + + + + + + + + + + + + + + + Adds a row to the CCPSearch table. + + + + + + + Starts searches from the CCP_DRIVE. + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + How To: Check the version number of a file during installation + + Property value for a Product or Module. + + + + + + + Starts searches from the CCP_DRIVE. + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Unique identifier for Property. + + + + + Sets a default value for the property. The value will be overwritten if the Property is used for a search. + + + + + Adds a row to the CCPSearch table. This attribute is only valid when this Property contains a search element. + + + + + Denotes that the Property is saved during admininistrative installation. See the AdminProperties Property for more information. + + + + + Denotes that the Property can be passed to the server side when doing a managed installation with elevated privileges. See the SecureCustomProperties Property for more information. + + + + + Denotes that the Property is not logged during installation. See the MsiHiddenProperties Property for more information. + + + + + + Use to suppress modularization of this property identifier in merge modules. + Using this functionality is strongly discouraged; it should only be + necessary as a workaround of last resort in rare scenarios. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + How To: Check for .NET Framework versions + + Reference to a Property value. + + + + + Identifier of Property to reference. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + Shortcut, default target is parent File, CreateFolder, or Component's Directory + + + + How To: Create a shortcut on the Start Menu + + + + + + + + + + Unique identifier for the shortcut. This value will serve as the primary key for the row. + + + + + Identifier reference to Directory element where shortcut is to be created. When nested under a Component element, this attribute's value will default to the parent directory. Otherwise, this attribute is required. + + + + + + In prior versions of the WiX toolset, this attribute specified the short name. + This attribute's value may now be either a short or long name. + If a short name is specified, the ShortName attribute may not be specified. + If a long name is specified, the LongName attribute may not be specified. + Also, if this value is a long name, the ShortName attribute may be omitted to + allow WiX to attempt to generate a unique short name. + However, if this name collides with another shortcut or you wish to manually specify + the short name, then the ShortName attribute may be specified. + + + + + + + + + + + + + + The short name of the shortcut in 8.3 format. + This attribute should only be set if there is a conflict between generated short names + or the user wants to manually specify the short name. + + + + + + + This attribute can only be set if this Shortcut element is nested under a Component element. + When nested under a Component element, this attribute's value will default to the parent directory. + This attribute's value is the target for a non-advertised shortcut. + This attribute is not valid for advertised shortcuts. + If you specify this value, its value should be a property identifier enclosed by square brackets ([ ]), that is expanded into the file or a folder pointed to by the shortcut. + + + + + + The localizable description for the shortcut. + + + + + The command-line arguments for the shortcut. Note that the resolution of properties + in the Arguments field is limited. A property formatted as [Property] in this field can only be resolved if the + property already has the intended value when the component owning the shortcut is installed. For example, for the + argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and + the component that owns the shortcut. + + + + + The hotkey for the shortcut. The low-order byte contains the virtual-key code for + the key, and the high-order byte contains modifier flags. This must be a non-negative number. Authors of + installation packages are generally recommend not to set this option, because this can add duplicate hotkeys to a + users desktop. In addition, the practice of assigning hotkeys to shortcuts can be problematic for users using hotkeys + for accessibility. + + + + + Identifier reference to Icon element. The Icon identifier should have the same extension + as the file that it points at. For example, a shortcut to an executable (e.g. "my.exe") should reference an Icon with identifier + like "MyIcon.exe" + + + + + Identifier reference to Icon element. + + + + + + + + + The shortcut target will be displayed using the SW_SHOWNORMAL attribute. + + + + + + + The shortcut target will be displayed using the SW_SHOWMINNOACTIVE attribute. + + + + + + + The shortcut target will be displayed using the SW_SHOWMAXIMIZED attribute. + + + + + + + + + Directory identifier (or Property identifier that resolves to a directory) that resolves + to the path of the working directory for the shortcut. + + + + + Specifies if the shortcut should be advertised or not. Note that advertised shortcuts + always point at a particular application, identified by a ProductCode, and should not be shared between applications. + Advertised shortcuts only work for the most recently installed application, and are removed when that application is + removed. The default value is 'no'. + + + + + + The Formatted string providing the full path to the language neutral file containing the MUI Manifest. Generally + authored using [#filekey] form. When this attribute is specified, the DisplayResourceId attribute must also + be provided. + + This attribute is only used on Windows Vista and above. If this attribute is not populated and the install + is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and + the install is running on Vista and above, the value in the Name attribute is ignored. + + + + + + + The display name index for the shortcut. This must be a non-negative number. When this attribute is specified, the + DisplayResourceDll attribute must also be provided. + + This attribute is only used on Windows Vista and above. If this attribute is not specified and the install + is running on Vista and above, the value in the Name attribute is used. If this attribute is specified and + the install is running on Vista and above, the value in the Name attribute is ignored. + + + + + + + The Formatted string providing the full path to the language neutral file containing the MUI Manifest. Generally + authored using [#filekey] form. When this attribute is specified, the DescriptionResourceId attribute must also + be provided. + + This attribute is only used on Windows Vista and above. If this attribute is not specified and the install + is running on Vista and above, the value in the Name attribute is used. If this attribute is provided and + the install is running on Vista and above, the value in the Name attribute is ignored. + + + + + + + The description name index for the shortcut. This must be a non-negative number. When this attribute is specified, + the DescriptionResourceDll attribute must also be populated. + + This attribute is only used on Windows Vista and above. If this attribute is not specified and the install + is running on Vista and above, the value in the Name attribute is used. If this attribute is populated and the + install is running on Vista and above, the value in the Name attribute is ignored. + + + + + + + + + + + + Property values for a shortcut. This element's functionality is available starting with MSI 5.0. + + + + + Unique identifier for MsiShortcutProperty table. If omitted, a stable identifier will be generated from the parent shortcut identifier and Key value. + + + + + A formatted string identifying the property to be set. + + + + + A formatted string supplying the value of the property. + + + + + + + + Sets ACLs on File, Registry, or CreateFolder. When under a Registry element, this cannot be used + if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute. + The table and key are taken from the parent element. + + + + + + + + + + + + + + + + + Bit mask for SPECIFIC_RIGHTS_ALL from WinNT.h (0x0000FFFF). + + + + + + + + + + + + For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent. + + + + + For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent. + + + + + + + + Bit mask for FILE_ALL_ACCESS from WinNT.h (0x001F01FF). + + + + + + + + + + + + + + + + specifying this will fail to grant read access + + + + + + + + Sets ACLs on File, Registry, or CreateFolder. When under a Registry element, this cannot be used + if the Action attribute's value is remove or removeKeyOnInstall. This element is only available + when installing with MSI 5.0. For downlevel support, see the PermissionEx element from the + WixUtilExtension. + + + + + + + + + + + Optional condition that controls whether the permissions are applied. + + + + + + + + Primary key used to identify this particular entry. If this is not specified the parent element's Id attribute + will be used instead. + + + + + + + Security descriptor to apply to parent object. + + + + + + + + + + + + + + Copy or move an existing file on the target machine, or copy a file that is being installed, to another destination. When + this element is nested under a File element, the parent file will be installed, then copied to the specified destination + if the parent component of the file is selected for installation or removal. When this element is nested under + a Component element and no FileId attribute is specified, the file to copy or move must already be on the target machine. + When this element is nested under a Component element and the FileId attribute is specified, the specified file is installed, + then copied to the specified destination if the parent component is selected for installation or removal (use + this option to control the copy of a file in a different component by the parent component's installation state). If the + specified destination directory is the same as the directory containing the original file and the name for the proposed source + file is the same as the original, then no action takes place. + + + + + + Primary key used to identify this particular entry. + + + + + + This attribute cannot be specified if the element is nested under a File element. Set this attribute's value to the identifier + of a file from a different component to copy it based on the install state of the parent component. + + + + + + + This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set + this value to the source directory from which to copy or move an existing file on the target machine. This Directory must + exist in the installer database at creation time. This attribute cannot be specified in conjunction with SourceProperty. + + + + + + + This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set + this value to a property that will have a value that resolves to the full path of the source directory (or full path + including file name if SourceName is not specified). The property does not have to exist in the installer database at + creation time; it could be created at installation time by a custom action, on the command line, etc. This attribute + cannot be specified in conjunction with SourceDirectory. + + + + + + + This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. Set + this value to the localizable name of the file(s) to be copied or moved. All of the files that + match the wild card will be removed from the specified directory. The value is a filename that may also + contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. If this + attribute is not specified (and this element is not nested under a File element or specify a FileId attribute) then the + SourceProperty attribute should be set to the name of a property that will resolve to the full path of the source filename. + If the value of this attribute contains a "*" wildcard and the DestinationName attribute is specified, all moved or copied + files retain the file names from their sources. + + + + + + + Set this value to the destination directory where an existing file on the target machine should be moved or copied to. This + Directory must exist in the installer database at creation time. This attribute cannot be specified in conjunction with + DestinationProperty. + + + + + + + Set this value to a property that will have a value that resolves to the full path of the destination directory. The property + does not have to exist in the installer database at creation time; it could be created at installation time by a custom + action, on the command line, etc. This attribute cannot be specified in conjunction with DestinationDirectory. + + + + + + + In prior versions of the WiX toolset, this attribute specified the short file name. + Now set this value to the localizable name to be given to the original file after it is moved or copied. + If this attribute is not specified, then the destination file is given the same name as the source file. + If a short file name is specified, the DestinationShortName attribute may not be specified. + If a long file name is specified, the DestinationLongName attribute may not be specified. + Also, if this value is a long file name, the DestinationShortName attribute may be omitted to + allow WiX to attempt to generate a unique short file name. + However, if this name collides with another file or you wish to manually specify + the short file name, then the DestinationShortName attribute may be specified. + + + + + + + + + + + + + + The short file name of the file in 8.3 format. + This attribute should only be set if there is a conflict between generated short file names + or you wish to manually specify the short file name. + + + + + + + This attribute cannot be specified if the element is nested under a File element or the FileId attribute is specified. In other + cases, if the attribute is not specified, the default value is "no" and the file is copied, not moved. Set the value to "yes" + in order to move the file (thus deleting the source file) instead of copying it. + + + + + + + + + File specification for File table, must be child node of Component. + + + + How To: Add a file to your installer + + + + + + + + Used to configure the ACLs for this file. + + + + + Can also configure the ACLs for this file. + + + + + Used to create a duplicate of this file elsewhere. + + + + + Target of the shortcut will be set to this file. + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + The unique identifier for this File element. If you omit Id, it defaults to the file name portion of the Source attribute, if specified. May be referenced as a Property by specifying [#value]. + + + + + + Set this attribute to make this file a companion child of another file. The installation + state of a companion file depends not on its own file versioning information, but on the versioning of its + companion parent. A file that is the key path for its component can not be a companion file (that means + this attribute cannot be set if KeyPath="yes" for this file). The Version attribute cannot be set along + with this attribute since companion files are not installed based on their own version. + + + + + + In prior versions of the WiX toolset, this attribute specified the short file name. + This attribute's value may now be either a short or long file name. + If a short file name is specified, the ShortName attribute may not be specified. + If a long file name is specified, the LongName attribute may not be specified. + Also, if this value is a long file name, the ShortName attribute may be omitted to + allow WiX to attempt to generate a unique short file name. + However, if this name collides with another file or you wish to manually specify + the short file name, then the ShortName attribute may be specified. + Finally, if this attribute is omitted then its default value is the file name portion + of the Source attribute, if one is specified, or the value of the Id attribute, if + the Source attribute is omitted or doesn't contain a file name. + + + + + + + + + + + + + Set to yes in order to force this file to be the key path for the parent component. + + + + + + The short file name of the file in 8.3 format. + This attribute should only be set if there is a conflict between generated short file names + or the user wants to manually specify the short file name. + + + + + + + Set to yes in order to have the file's read-only attribute set when it is installed on the target machine. + + + + + Set to yes in order to have the file's hidden attribute set when it is installed on the target machine. + + + + + Set to yes in order to have the file's system attribute set when it is installed on the target machine. + + + + + If a file is vital, then installation cannot proceed unless the file is successfully installed. The user will have no option to ignore an error installing this file. If an error occurs, they can merely retry to install the file or abort the installation. The default is "yes," unless the -sfdvital switch (candle.exe) or SuppressFileDefaultVital property (.wixproj) is used. + + + + + This attribute should be set to "yes" for every executable file in the installation that has a valid checksum stored in the Portable Executable (PE) file header. Only those files that have this attribute set will be verified for valid checksum during a reinstall. + + + + + Sets the file's source type compression. A setting of "yes" or "no" will override the setting in the Word Count Summary Property. + + + + + A list of paths, separated by semicolons, that represent the paths to be searched to find the imported DLLs. The list is usually a list of properties, with each property enclosed inside square brackets. The value may be set to an empty string. Including this attribute will cause an entry to be generated for the file in the BindImage table. + + + + + The cost of registering the file in bytes. This must be a non-negative number. Including this attribute will cause an entry to be generated for the file in the SelfReg table. + + + + + Causes an entry to be generated for the file in the Font table with no FontTitle specified. This attribute is intended to be used to register the file as a TrueType font. + + + + + Causes an entry to be generated for the file in the Font table with the specified FontTitle. This attribute is intended to be used to register the file as a non-TrueType font. + + + + + This is the default language of this file. The linker will replace this value from the value in the file if the suppress files option is not used. + + + + + This is the default size of this file. The linker will replace this value from the value in the file if the suppress files option is not used. + + + + + This is the default version of this file. The linker will replace this value from the value in the file if the suppress files option is not used. + + + + + + + Specifies if this File is a Win32 Assembly or .NET Assembly that needs to be installed into the + Global Assembly Cache (GAC). If the value is '.net' or 'win32', this file must also be the key path of the Component. + + + + + + + + The file is a .NET Framework assembly. + + + + + + + The file is not a .NET Framework or Win32 assembly. This is the default value. + + + + + + + The file is a Win32 assembly. + + + + + + + + + + Specifies the file identifier of the manifest file that describes this assembly. + The manifest file should be in the same component as the assembly it describes. + This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'. + + + + + + + Specifies the file identifier of the application file. This assembly will be isolated + to the same directory as the application file. + If this attribute is absent, the assembly will be installed to the Global Assembly Cache (GAC). + This attribute may only be specified if the Assembly attribute is set to '.net' or 'win32'. + + + + + + Specifies the architecture for this assembly. This attribute should only be used on .NET Framework 2.0 or higher assemblies. + + + + + + + The file is a .NET Framework assembly that is processor-neutral. + + + + + + + The file is a .NET Framework assembly for the x86 processor. + + + + + + + The file is a .NET Framework assembly for the x64 processor. + + + + + + + The file is a .NET Framework assembly for the ia64 processor. + + + + + + + + + + The value of this attribute should correspond to the Id attribute of a Media + element authored elsewhere. By creating this connection between a file and + its media, you set the packaging options to the values specified in the Media + element (values such as compression level, cab embedding, etc...). Specifying + the DiskId attribute on the File element overrides the default DiskId attribute + from the parent Component element. If no DiskId attribute is specified, + the default is "1". This DiskId attribute is ignored when creating a merge module + because merge modules do not have media. + + + + + + Specifies the path to the File in the build process. Overrides default source path set by parent directories and Name attribute. This attribute must be set if no source information can be gathered from parent directories. For more information, see Specifying source files. + + + + + + + + + + + + + This attribute must be set for patch-added files. Each patch should be assigned a different patch group number. Patch groups + numbers must be greater 0 and should be assigned consecutively. For example, the first patch should use PatchGroup='1', the + second patch will have PatchGroup='2', etc... + + + + + + Prevents the updating of the file that is in fact changed in the upgraded image relative to the target images. + + + + + Set to indicate that the patch is non-vital. + + + + + Set if the entire file should be installed rather than creating a binary patch. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + Use several of these elements to specify each registry value in a multiString registry value. This element + cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The + values should go in the text area of the MultiStringValue element. + + + + + + + + + + Used for organization of child RegistryValue elements or to create a registry key + (and optionally remove it during uninstallation). + + + + How To: Read a registry entry during installation + How To: Write a registry entry during installation + + + + + + + + + ACL permission + + + + + Can also configure the ACLs for this registry key. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be + generated by hashing the parent Component identifier, Root, Key, and Name. + + + + + + + The Action attribute has been deprecated. In most cases, you can simply omit @Action. If you need to force Windows Installer + to create an empty key or recursively delete the key, use the ForceCreateOnInstall or ForceDeleteOnUninstall attributes instead. + + + + + + + + Creates the key, if absent, when the parent component is installed. + + + + + + + Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled. + Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already + removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. + + + + + + + Does nothing; this element is used merely in WiX authoring for organization and does nothing to the final output. + This is the default value. + + + + + + + + + + Set this attribute to 'yes' to create an empty key, if absent, when the parent component is installed. + This value is needed only to create an empty key with no subkeys or values. Windows Installer creates + keys as needed to store subkeys and values. The default is "no". + + + + + + + Set this attribute to 'yes' to remove the key with all its values and subkeys when the parent component is uninstalled. + Note that this value is useful only if your program creates additional values or subkeys under this key and you want an uninstall to remove them. MSI already + removes all values and subkeys that it creates, so this option just adds additional overhead to uninstall. + The default is "no". + + + + + + + The localizable key for the registry value. + If the parent element is a RegistryKey, this value may be omitted to use the + path of the parent, or if its specified it will be appended to the path of the parent. + + + + + + + The predefined root key for the registry value. + + + + + + + + + Used to create a registry value. For multi-string values, this can be used to prepend or append values. + + For legacy authoring: Use several of these elements to specify each registry value in a multiString registry value. This element + cannot be used if the Value attribute is specified unless the Type attribute is set to 'multiString'. The + values should go in the text area of the RegistryValue element. + + + + How To: Write a registry entry during installation + + + + + + + + Can also configure the ACLs for this registry value. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be + generated by hashing the parent Component identifier, Root, Key, and Name. + + + + + + + The predefined root key for the registry value. + + + + + + + The localizable key for the registry value. + If the parent element is a RegistryKey, this value may be omitted to use the + path of the parent, or if its specified it will be appended to the path of the parent. + + + + + + + The localizable registry value name. If this attribute is not provided the default value for the registry key will + be set instead. The Windows Installer allows several special values to be set for this attribute. You should not + use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. + + + + + + + Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows + several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate + values in the Type attribute to get the desired behavior. + + + + + + + + Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value + attribute or a child RegistryValue element is specified. This attribute + should only be set when the value of the Action attribute does not include the word 'remove'. + + + + + + + + The value is interpreted and stored as a string (REG_SZ). + + + + + + + The value is interpreted and stored as an integer (REG_DWORD). + + + + + + + The value is interpreted and stored as a hexadecimal value (REG_BINARY). + + + + + + + The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). + + + + + + + The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). + Please note that this value will only result in a multi-string value if there is more than one registry value + or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created. + + + + + + + + + + This is the action that will be taken for this registry value. + + + + + + + + Appends the specified value(s) to a multiString registry value. + + + + + + + Prepends the specified value(s) to a multiString registry value. + + + + + + + Writes a registry value. This is the default value. + + + + + + + + + + Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. + Only one resource (registry, file, etc) can be the KeyPath of a component. + + + + + + + + + Used for removing registry keys and all child keys either during install or uninstall. + + + + + + + + + + + Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be + generated by hashing the parent Component identifier, Root, Key, and Name. + + + + + + + This is the action that will be taken for this registry value. + + + + + + + + Removes a key with all its values and subkeys when the parent component is installed. + + + + + + + Removes a key with all its values and subkeys when the parent component is uninstalled. + + + + + + + + + + The localizable key for the registry value. + + + + + + + The predefined root key for the registry value. + + + + + + + + + Used to remove a registry value during installation. + There is no standard way to remove a single registry value during uninstall (but you can remove an entire key with RemoveRegistryKey). + + + + + + + + + + Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be + generated by hashing the parent Component identifier, Root, Key, and Name. + + + + + + + The localizable key for the registry value. + If the parent element is a RegistryKey, this value may be omitted to use the + path of the parent, or if its specified it will be appended to the path of the parent. + + + + + + + The localizable registry value name. If this attribute is not provided the default value for the registry key will + be set instead. The Windows Installer allows several special values to be set for this attribute. You should not + use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. + + + + + + + The predefined root key for the registry value. + + + + + + + + + + + + + + + + + + Can also configure the ACLs for this registry key. + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Primary key used to identify this particular entry. If this attribute is not specified, an identifier will be + generated by hashing the parent Component identifier, Root, Key, and Name. + + + + + + + This is the action that will be taken for this registry key. + + + + + + + + Appends the specified value(s) to a multiString registry key. + + + + + + + Creates the key, if absent, when the parent component is installed. + + + + + + + Creates the key, if absent, when the parent component is installed then remove the key with all its values and subkeys when the parent component is uninstalled. + + + + + + + Prepends the specified value(s) to a multiString registry key. + + + + + + + Removes a registry name when the parent component is installed. + + + + + + + Removes a key with all its values and subkeys when the parent component is installed. + + + + + + + Removes a key with all its values and subkeys when the parent component is uninstalled. + + + + + + + Writes a registry value. + + + + + + + + + The localizable key for the registry value. + + + + + + Set this attribute to 'yes' to make this registry key the KeyPath of the parent component. Only one resource (registry, + file, etc) can be the KeyPath of a component. + + + + + + + The localizable registry value name. If this attribute is not provided the default value for the registry key will + be set instead. The Windows Installer allows several special values to be set for this attribute. You should not + use them in WiX. Instead use appropriate values in the Action attribute to get the desired behavior. + + + + + + + The predefined root key for the registry value. + + + + + + + Set this attribute to the type of the desired registry key. This attribute must be specified whenever the Value + attribute or a child RegistryValue element is specified. This attribute + should only be set when the value of the Action attribute does not include the word 'remove'. + + + + + + + + The value is interpreted and stored as a string (REG_SZ). + + + + + + + The value is interpreted and stored as an integer (REG_DWORD). + + + + + + + The value is interpreted and stored as a hexadecimal value (REG_BINARY). + + + + + + + The value is interpreted and stored as an expandable string (REG_EXPAND_SZ). + + + + + + + The value is interpreted and stored as a multiple strings (REG_MULTI_SZ). + Please note that this value will only result in a multi-string value if there is more than one registry value + or the Action attribute's value is 'append' or 'prepend'. Otherwise a string value will be created. + + + + + + + + + + Set this attribute to the localizable registry value. This value is formatted. The Windows Installer allows + several special values to be set for this attribute. You should not use them in WiX. Instead use appropriate + values in the Type attribute to get the desired behavior. This attribute cannot be specified if the Action + attribute's value contains the word 'remove'. + + + + + + + + + + + + + Remove a file(s) if the parent component is selected for installation or removal. Multiple files can be removed + by specifying a wildcard for the value of the Name attribute. By default, the source + directory of the file is the directory of the parent component. This can be overridden by specifying the + Directory attribute with a value corresponding to the Id of the source directory, or by specifying the Property + attribute with a value corresponding to a property that will have a value that resolves to the full path + to the source directory. + + + + + + Primary key used to identify this particular entry. + + + + + + Overrides the directory of the parent component with a specific Directory. This Directory must exist in the + installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute. + + + + + + + Overrides the directory of the parent component with the value of the specified property. The property + should have a value that resolves to the full path of the source directory. The property does not have + to exist in the installer database at creation time; it could be created at installation time by a custom + action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute. + + + + + + + This value should be set to the localizable name of the file(s) to be removed. All of the files that + match the wild card will be removed from the specified directory. The value is a filename that may also + contain the wild card characters "?" for any single character or "*" for zero or more occurrences of any character. + In prior versions of the WiX toolset, this attribute specified the short file name. + This attribute's value may now be either a short or long file name. + If a short file name is specified, the ShortName attribute may not be specified. + If a long file name is specified, the LongName attribute may not be specified. + Also, if this value is a long file name, the ShortName attribute may be omitted to + allow WiX to attempt to generate a unique short file name. + However, if you wish to manually specify the short file name, then the ShortName attribute may be specified. + + + + + + + + + + + + + + The short file name of the file in 8.3 format. + This attribute should only be set if you want to manually specify the short file name. + + + + + + + This value determines the time at which the file(s) may be removed. For 'install', the file will + be removed only when the parent component is being installed (msiInstallStateLocal or + msiInstallStateSource); for 'uninstall', the file will be removed only when the parent component + is being removed (msiInstallStateAbsent); for 'both', the file will be removed in both cases. + + + + + + + + + + + + + Remove an empty folder if the parent component is selected for installation or removal. By default, the folder + is the directory of the parent component. This can be overridden by specifying the Directory attribute + with a value corresponding to the Id of the directory, or by specifying the Property attribute with a value + corresponding to a property that will have a value that resolves to the full path of the folder. + + + + + + Primary key used to identify this particular entry. + + + + + + Overrides the directory of the parent component with a specific Directory. This Directory must exist in the + installer database at creation time. This attribute cannot be specified in conjunction with the Property attribute. + + + + + + + Overrides the directory of the parent component with the value of the specified property. The property + should have a value that resolves to the full path of the source directory. The property does not have + to exist in the installer database at creation time; it could be created at installation time by a custom + action, on the command line, etc. This attribute cannot be specified in conjunction with the Directory attribute. + + + + + + + This value determines the time at which the folder may be removed, based on the install/uninstall of the parent component. + For 'install', the folder will be removed only when the parent component is being installed (msiInstallStateLocal or + msiInstallStateSource); for 'uninstall', the folder will be removed only when the parent component + is being removed (msiInstallStateAbsent); for 'both', the folder will be removed in both cases. + + + + + + + + + + + + Create folder as part of parent Component. + + + + + + Non-advertised shortcut to this folder, Shortcut Target is preset to the folder + + + + + ACL permission + + + + + Can also configure the ACLs for this folder. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Identifier of Directory to create. Defaults to Directory of parent Component. + + + + + + + Optional way for defining AppData, generally used for complex CDATA. + + + + + + Qualified published component for parent Component + + + + + + + + + + + + A string GUID that represents the category of components being grouped together. + + + + + A text string that qualifies the value in the Id attribute. A qualifier is used to distinguish multiple forms of the same Component, such as a Component that is implemented in multiple languages. + + + + + An optional localizable text describing the category. The string is commonly parsed by the application and can be displayed to the user. It should describe the category. + + + + + Feature that controls the advertisement of the category. Defaults to the primary Feature for the parent Component . + + + + + + + + MIME content-type for an Extension + + + + + + + + + Whether this MIME is to be advertised. The default is to match whatever the parent extension element uses. If the parent element is not advertised, then this element cannot be advertised either. + + + + + This is the identifier for the MIME content. It is commonly written in the form of type/format. + + + + + Class ID for the COM server that is to be associated with the MIME content. + + + + + If 'yes', become the content type for the parent Extension. The default value is 'no'. + + + + + + + + Verb definition for an Extension. When advertised, this element creates a row in the + Verb table. + When not advertised, this element creates the appropriate rows in Registry table. + + + + + + + + + + The verb for the command. + + + + + The localized text displayed on the context menu. + + + + + Value for the command arguments. Note that the resolution of properties in the + Argument field is limited. A property formatted as [Property] in this field can only be resolved if the property + already has the intended value when the component owning the verb is installed. For example, for the argument + "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the + component that owns the verb. + + + + + The sequence of the commands. Only verbs for which the Sequence is specified + are used to prepare an ordered list for the default value of the shell key. The Verb with the lowest value in this + column becomes the default verb. Used only for Advertised verbs. + + + + + + + + + + + + + Either this attribute or the TargetProperty attribute must be specified for a non-advertised verb. + The value should be the identifier of the target file to be executed for the verb. + + + + + + + Either this attribute or the TargetFile attribute must be specified for a non-advertised verb. + The value should be the identifier of the property which will resolve to the path to the target file to be executed for the verb. + + + + + + + + + Extension for a Component + + + + + + + + + + + MIME and Verbs can be associated with Extensions + + + + + + + This is simply the file extension, like "doc" or "xml". Do not include the preceding period. + + + + + The MIME type that is to be written. + + + + + Whether this extension is to be advertised. The default is "no". + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + Register a type library (TypeLib). Please note that in order to properly use this + non-advertised, you will need use this element with Advertise='no' and also author the + appropriate child Interface elements by extracting them from the type library itself. + + + + + + + + + + + + + + + The GUID that identifes the type library. + + + + + + Value of 'yes' will create a row in the TypeLib table. + Value of 'no' will create rows in the Registry table. + The default value is 'no'. + + + + + + + Value of 'yes' means the type library describes controls, and should not be displayed in type browsers intended for nonvisual objects. + This attribute can only be set if Advertise='no'. + + + + + + + The cost associated with the registration of the type library in bytes. This attribute cannot be set if Advertise='no'. + + + + + + The localizable description of the type library. + + + + + + Value of 'yes' means the type library exists in a persisted form on disk. This attribute can only be set if Advertise='no'. + + + + + + The identifier of the Directory element for the help directory. + + + + + + Value of 'yes' means the type library should not be displayed to users, although its use is not restricted. + Should be used by controls. Hosts should create a new type library that wraps the control with extended properties. + This attribute can only be set if Advertise='no'. + + + + + + The language of the type library. This must be a non-negative integer. + + + + + The major version of the type library. The value should be an integer from 0 - 255. + + + + + The minor version of the type library. The value should be an integer from 0 - 255. + + + + + The resource id of a typelib. The value is appended to the end of the typelib path in the registry. + + + + + + Value of 'yes' means the type library is restricted, and should not be displayed to users. This attribute can only be set if Advertise='no'. + + + + + + + + + ProgId registration for parent Component. If ProgId has an associated Class, it must be a child of that element. + + + + + + + + + + + + + The version-independent ProgId must be the first child element of actual ProgId. Nesting other ProgId elements within the Version-independent ProgId will create COM+ aliases, see http://support.microsoft.com/kb/305745 for more information. + + + + + Extensions that refer to this ProgId + + + + + + + + For an advertised ProgId, the Id of an Icon element. For a non-advertised ProgId, this is the Id of a file containing an icon resource. + + + + + + + Specifies that the associated ProgId should not be opened by users. The value is presented as a warning to users. An empty string is also valid for this attribute. + + + + + + + + Application ID containing DCOM information for the associated application GUID. + If this element is nested under a Fragment, Module, or Product element, it must be + advertised. + + + + + + When being used in unadvertised mode, the attributes in the AppId element correspond to registry keys + as follows (values that can be specified in authoring are in bold): + IdIn General + [HKCR\AppID\{Id}]Specific Example + [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}]ActivateAtStorageIn General + [HKCR\AppID\{Id}] + ActivateAtStorage="ActivateAtStorage" + Specific Example + [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + ActivateAtStorage="Y" + DescriptionIn General + [HKCR\AppID\{Id}] + @="Description" + Specific Example + [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + @="My AppId Description" + DllSurrogateIn General + [HKCR\AppID\{Id}] + DllSurrogate="DllSurrogate" + Specific Example + [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + DllSurrogate="C:\surrogate.exe" + LocalServiceIn General + [HKCR\AppID\{Id}] + LocalService="LocalService" + Specific Example + [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + LocalService="MyServiceName" + RemoteServerNameIn General + [HKCR\AppID\{Id}] + RemoteServerName="RemoteServerName" + Specific Example + [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + RemoteServerName="MyRemoteServer" + RunAsInteractiveUserIn General + [HKCR\AppID\{Id}] + RunAs="RunAsInteractiveUser" + Specific Example + [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + RunAs="Interactive User" + ServiceParametersIn General + [HKCR\AppID\{Id}] + ServiceParameters="ServiceParameters" + Specific Example + [HKCR\AppID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + ServiceParameters="-param" + + + + + + + + + + + Set this value to 'yes' to configure the client to activate on the same system as persistent storage. + + + + + + + Set this value to 'yes' in order to create a normal AppId table row. Set this value to 'no' in order to + generate Registry rows that perform similar registration (without the often problematic Windows Installer + advertising behavior). + + + + + + + Set this value to the description of the AppId. It can only be specified when the AppId is not being advertised. + + + + + + + Set this value to specify that the class is a DLL that is to be activated in a surrogate EXE + process, and the surrogate process to be used is the path of a surrogate EXE file specified by the value. + + + + + + + Set this value to the AppID GUID that corresponds to the named executable. + + + + + + + Set this value to the name of a service to allow the object to be installed as a Win32 service. + + + + + + + Set this value to the name of the remote server to configure the client to request the object + be run at a particular machine whenever an activation function is called for which a COSERVERINFO + structure is not specified. + + + + + + + Set this value to 'yes' to configure a class to run under the identity of the user currently + logged on and connected to the interactive desktop when activated by a remote client without + being written as a Win32 service. + + + + + + + Set this value to the parameters to be passed to a LocalService on invocation. + + + + + + + + COM Class registration for parent Component. + + + + + + + + When being used in unadvertised mode, the attributes in the Class element correspond to registry keys + as follows (values that can be specified in authoring are in bold): + Id/Context/ServerIn General + [HKCR\CLSID\{Id}\Context1] + @="[!Server]" + [HKCR\CLSID\{Id}\Context2] + @="[!Server]" + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer] + @="[!comserv.dll]" + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] + @="[!comserv.dll]" + Id/Context/ForeignServerIn General + [HKCR\CLSID\{Id}\Context1] + @="ForeignServer" + [HKCR\CLSID\{Id}\Context2] + @="ForeignServer" + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer] + @="mscoree.dll" + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] + @="mscoree.dll" + AppIdIn General + [HKCR\CLSID\{Id}] + AppId="{AppId}" + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + AppId="{00000000-89AB-0000-0123-000000000000}" + ArgumentIn General + [HKCR\CLSID\{Id}\Context] + @="[!Server] Argument" + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] + @="[!comserv.dll] /arg1 /arg2 /arg3"ControlIn General + Value "yes" specified: + [HKCR\CLSID\{Id}\Control] + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Control] + DescriptionIn General + [HKCR\CLSID\{Id}] + @="Description" + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}] + @="Description of Example COM Component" + HandlerIn General + Value "1" specified: + [HKCR\CLSID\{Id}\InprocHandler] + @="ole.dll" + Value "2" specified: + [HKCR\CLSID\{Id}\InprocHandler32] + @="ole32.dll" + Value "3" specified: + [HKCR\CLSID\{Id}\InprocHandler] + @="ole.dll" + [HKCR\CLSID\{Id}\InprocHandler32] + @="ole32.dll" + Other value specified: + [HKCR\CLSID\{Id}\InprocHandler32] + @="Handler" + Specific Example (for other value) + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\InprocHandler32] + @="handler.dll" + Icon/IconIndexThis is not currently handled properly.InsertableIn General + Value "no" specified: + [HKCR\CLSID\{Id}\NotInsertable] + Value "yes" specified: + [HKCR\CLSID\{Id}\Insertable] + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Insertable] + ProgrammableIn General + Value "yes" specified: + [HKCR\CLSID\{Id}\Programmable] + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Programmable] + RelativePathUnsupported. Please contribute this back to WiX if you know.SafeForInitializingIn General + Value "yes" specified: + [HKCR\CLSID\{Id}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}] + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}] + SafeForScriptingIn General + Value "yes" specified: + [HKCR\CLSID\{Id}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}] + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}] + ThreadingModelIn General + [HKCR\CLSID\{Id}\Context] + ThreadingModel="ThreadingModel" + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\LocalServer32] + ThreadingModel="Apartment" + TypeLibId (from parent TypeLib/@Id)In General + [HKCR\CLSID\{Id}\TypeLib] + @="{TypeLibId}" + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\TypeLib] + @="{11111111-89AB-1111-0123-111111111111}" + VersionIn General + [HKCR\CLSID\{Id}\Version] + @="Version" + Specific Example + [HKCR\CLSID\{01234567-89AB-CDEF-0123-456789ABCDEF}\Version] + @="1.0.0.0" + + + + + + + + A ProgId associated with Class must be a child element of the Class element + + + + + + These Interfaces will be registered with the parent Class and TypeLib (if present). + + + + + + The Class identifier (CLSID) of a COM server. + + + + + + The server context(s) for this COM server. This attribute is optional for VB6 libraries that are marked "PublicNotCreateable". + Class elements marked Advertised must specify at least one server context. It is most common for there to be a single value + for the Context attribute. + + + + + + + + + + A 16-bit local server application. + + + + + + + A 32-bit local server application. + + + + + + + A 16-bit in-process server DLL. + + + + + + + A 32-bit in-process server DLL. + + + + + + + + + + + Localized description associated with the Class ID and Program ID. + + + + + + This attribute is only allowed when a Class is advertised. Using this attribute will reference an Application ID + containing DCOM information for the associated application GUID. The value must correspond to an AppId/@Id of an + AppId element nested under a Fragment, Module, or Product element. To associate an AppId with a non-advertised + class, nest the class within a parent AppId element. + + + + + + + The file providing the icon associated with this CLSID. Reference to an Icon element + (should match the Id attribute of an Icon element). This is currently not supported if the + value of the Advertise attribute is "no". + + + + + + Icon index into the icon file. + + + + + + The default inproc handler. May be optionally provided only for Context = LocalServer or + LocalServer32. Value of "1" creates a 16-bit InprocHandler (appearing as the InprocHandler + value). Value of "2" creates a 32-bit InprocHandler (appearing as the InprocHandler32 value). + Value of "3" creates 16-bit as well as 32-bit InprocHandlers. A non-numeric value is treated + as a system file that serves as the 32-bit InprocHandler (appearing as the InprocHandler32 value). + + + + + + + This column is optional only when the Context column is set to "LocalServer" + or "LocalServer32" server context. The text is registered as the argument against + the OLE server and is used by OLE for invoking the server. Note that the resolution + of properties in the Argument field is limited. A property formatted as [Property] in + this field can only be resolved if the property already has the intended value when + the component owning the class is installed. For example, for the argument "[#MyDoc.doc]" + to resolve to the correct value, the same process must be installing the file MyDoc.doc and the + component that owns the class. + + + + + + + When the value is "yes", the bare file name can be used for COM servers. The installer + registers the file name only instead of the complete path. This enables the server in + the current directory to take precedence and allows multiple copies of the same component. + + + + + + + Set this value to "yes" in order to create a normal Class table row. Set this value to + "no" in order to generate Registry rows that perform similar registration (without the + often problematic Windows Installer advertising behavior). + + + + + + + + Threading model for the CLSID. + + + + + + + + + + + + + + + + + Version for the CLSID. + + + + + + + Specifies the CLSID may be insertable. + + + + + + + Specifies the CLSID may be programmable. + + + + + + + May only be specified if the value of the Advertise attribute is "no" and Server has not been specified. In addition, it may only + be used when the Class element is directly under the Component element. The value can be + that of an registry type (REG_SZ). This attribute should be used to specify foreign servers, such as mscoree.dll if needed. + + + + + + + May only be specified if the value of the Advertise attribute is "no" and the ForeignServer attribute is not specified. File Id of the + COM server file. If this element is nested under a File element, this value defaults to + the value of the parent File/@Id. + + + + + + + Specifies whether or not to use the short path for the COM server. This can only apply when Advertise is set to 'no'. The default is 'no' meaning that it will use the long file name for the COM server. + + + + + + + May only be specified if the value of the Advertise attribute is "no". + + + + + + + May only be specified if the value of the Advertise attribute is "no". + + + + + + + Set this attribute's value to 'yes' to identify an object as an ActiveX Control. The default value is 'no'. + + + + + + + + COM Interface registration for parent TypeLib. + + + + + + + + GUID identifier for COM Interface. + + + + + Name for COM Interface. + + + + + Identifies the interface from which the current interface is derived. + + + + + GUID CLSID for proxy stub to COM Interface. + + + + + GUID CLSID for 32-bit proxy stub to COM Interface. + + + + + Number of methods implemented on COM Interface. + + + + + Determines whether a Typelib version entry should be created with the other COM Interface registry keys. Default is 'yes'. + + + + + + + FileType data for class Id registration. + + + + + Offset into file. If positive, offset is from the beginning; if negative, offset is from the end. + + + + + Hex value that is AND'd against the bytes in the file at Offset. + + + + + If the result of the AND'ing of Mask with the bytes in the file is Value, the file is a match for this File Type. + + + + + + + + Service or group of services that must start before the parent service. + + + + + + + + + + The value of this attribute should be one of the following: + The name (not the display name) of a previously installed service.The name of a service group (in which case the Group attribute must be set to 'yes'). + + + + + + Set to 'yes' to indicate that the value in the Id attribute is the name of a group of services. + + + + + + + + + Adds services for parent Component. Use the ServiceControl element to remove services. + + + + + The service executable installed will point to the KeyPath for the Component. + Therefore, you must ensure that the correct executable is either the first child + File element under this Component or explicitly mark the appropriate File element + as KeyPath='yes'. + + + + + + + + Configures the ACLs for this service. + + + + + Ordered list of dependencies when installing services. + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Unique identifier for this service configuration. This value will default to the Name attribute if not + specified. + + + + + + This column is the string that gives the service name to install. + + + + + This column is the localizable string that user interface programs use to identify the service. + + + + + The Windows Installer does not currently support kernelDriver or systemDriver. + + + + + + + A Win32 service that runs its own process. + + + + + + + A Win32 service that shares a process. + + + + + + + A kernel driver service. This value is not currently supported by the Windows Installer. + + + + + + + A file system driver service. This value is not currently supported by the Windows Installer. + + + + + + + + + Whether or not the service interacts with the desktop. + + + + + Determines when the service should be started. The Windows Installer does not support boot or system. + + + + + + + The service will start during startup of the system. + + + + + + + The service will start when the service control manager calls the StartService function. + + + + + + + The service can no longer be started. + + + + + + + The service is a device driver that will be started by the operating system boot loader. This value is not currently supported by the Windows Installer. + + + + + + + The service is a device driver that will be started by the IoInitSystem function. This value is not currently supported by the Windows Installer. + + + + + + + + + Determines what action should be taken on an error. + + + + + + + Logs the error and continues with the startup operation. + + + + + + + Logs the error, displays a message box and continues the startup operation. + + + + + + + Logs the error if it is possible and the system is restarted with the last configuration known to be good. If the last-known-good configuration is being started, the startup operation fails. + + + + + + + + + The overall install should fail if this service fails to install. + + + + + The load ordering group that this service should be a part of. + + + + + Fully qualified names must be used even for local accounts, e.g.: ".\LOCAL_ACCOUNT". Valid only when ServiceType is ownProcess. + + + + + The password for the account. Valid only when the account has a password. + + + + + Contains any command line arguments or properties required to run the service. + + + + + Sets the description of the service. + + + + + Determines whether the existing service description will be ignored. If 'yes', the service description will be null, even if the Description attribute is set. + + + + + + + + Argument used in ServiceControl parent + + + + + + + + + + Starts, stops, and removes services for parent Component. This element is used to control the state + of a service installed by the MSI or MSM file by using the start, stop and remove attributes. + For example, Start='install' Stop='both' Remove='uninstall' would mean: start the service on install, + remove the service when the product is uninstalled, and stop the service both on install and uninstall. + + + + + + + + + + Ordered list of arguments used when modifying services. + + + + + + + Name of the service. + + + + + + Specifies whether the service should be started by the StartServices action on install, uninstall or both. + For 'install', the service will be started only when the parent component is being installed (msiInstallStateLocal or + msiInstallStateSource); for 'uninstall', the service will be started only when the parent component + is being removed (msiInstallStateAbsent); for 'both', the service will be started in both cases. + + + + + + + Specifies whether the service should be stopped by the StopServices action on install, uninstall or both. + For 'install', the service will be stopped only when the parent component is being installed (msiInstallStateLocal or + msiInstallStateSource); for 'uninstall', the service will be stopped only when the parent component + is being removed (msiInstallStateAbsent); for 'both', the service will be stopped in both cases. + + + + + + + Specifies whether the service should be removed by the DeleteServices action on install, uninstall or both. + For 'install', the service will be removed only when the parent component is being installed (msiInstallStateLocal or + msiInstallStateSource); for 'uninstall', the service will be removed only when the parent component + is being removed (msiInstallStateAbsent); for 'both', the service will be removed in both cases. + + + + + + Specifies whether or not to wait for the service to complete before continuing. The default is 'yes'. + + + + + + + + Privilege required by service configured by ServiceConfig parent. Valid values are a privilege constant or a + Formatted property that resolves to a privilege constant. + + + + + + + + + + Configures a service being installed or one that already exists. This element's functionality is available starting with MSI 5.0. + + + + + + + + + + List of privileges to apply to service. + + + + + + + Unique identifier for this service configuration. This value will default to the ServiceName attribute if not + specified. + + + + + + + This attribute specifies whether an auto-start service should delay its start until after all other auto-start + services. This attribute only affects auto-start services. Allowed values are "yes", "no" or a Formatted property that + resolves to "1" (for "yes") or "0" (for "no"). If this attribute is not present the setting is not configured. + + + + + + + This attribute specifies when failure actions should be applied. Allowed values are "failedToStop", "failedToStopOrReturnedError" + or a Formatted property that resolves to "1" (for "failedToStopOrReturnedError") or "0" (for "failedToStop"). If this attribute + is not present the setting is not configured. + + + + + + + This attribute specifies time in milliseconds that the Service Control Manager (SCM) waits after notifying the service of a system + shutdown. If this attribute is not present the default value, 3 minutes, is used. + + + + + + + Specifies whether to configure the service when the parent Component is installed. This attribute may be combined with OnReinstall + and OnUninstall. + + + + + + + Specifies whether to configure the service when the parent Component is reinstalled. This attribute may be combined with OnInstall + and OnUninstall. + + + + + + + Specifies whether to configure the service when the parent Component is uninstalled. This attribute may be combined with OnInstall + and OnReinstall. + + + + + + + Specifies the name of the service to configure. This value will default to the ServiceInstall/@Name attribute when nested under + a ServiceInstall element. + + + + + + + Specifies the service SID to apply to the service. Valid values are "none", "restricted", "unrestricted" or a Formatted property + that resolves to "0" (for "none"), "3" (for "restricted") or "1" (for "unrestricted"). If this attribute is not present the + setting is not configured. + + + + + + + + Failure action for a ServiceConfigFailureActions element. + + + + + + Specifies the action to take when the service fails. Valid values are "none", "restartComputer", "restartService", "runCommand" or a Formatted property + that resolves to "0" (for "none"), "1" (for "restartService"), "2" (for "restartComputer") or "3" (for "runCommand"). + + + + + + + Specifies the time in milliseconds to wait before performing the value from the Action attribute. + + + + + + + + + Configures the failure actions for a service being installed or one that already exists. This element's functionality is available starting with MSI 5.0. + + + + + + + + + + Ordered list of failure actions to apply to service. + + + + + + + Unique identifier for this service configuration. This value will default to the ServiceName attribute if not + specified. + + + + + + + This attribute specifies command to execute when a "runCommand" failure action hit. If an empty string is provided it clears + the existing command. If this attribute is not present the setting is not changed. + + + + + + + Specifies whether to configure the service when the parent Component is installed. This attribute may be combined with OnReinstall + and OnUninstall. + + + + + + + Specifies whether to configure the service when the parent Component is reinstalled. This attribute may be combined with OnInstall + and OnUninstall. + + + + + + + Specifies whether to configure the service when the parent Component is uninstalled. This attribute may be combined with OnInstall + and OnReinstall. + + + + + + + Specifies the message to show for a reboot failure action. If an empty string is provided it clears any existing reboot message. If this + attribute is not present the setting is not changed. + + + + + + + Specifies the time in seconds to reset the failure count. If this attribute is not present the failure count will not be reset. + + + + + + + Specifies the name of the service to configure. This value will default to the ServiceInstall/@Name attribute when nested under + a ServiceInstall element. + + + + + + + + + Environment variables added or removed for the parent component. + + + + + + + + + Unique identifier for environment entry. + + + + + Name of the environment variable. + + + + + + The value to set into the environment variable. + If this attribute is not set, the environment variable is removed during installation if it exists on the machine. + + + + + + Optional attribute to change the separator used between values. By default a semicolon is used. + + + + + Specfies whether the environmental variable should be created, set or removed when the parent component is installed. + + + + + + Creates the environment variable if it does not exist, then set it during installation. This has no effect on the value of the environment variable if it already exists. + + + + + Creates the environment variable if it does not exist, and then set it during installation. If the environment variable exists, set it during the installation. + + + + + + Removes the environment variable during an installation. + The installer only removes an environment variable during an installation if the name and value + of the variable match the entries in the Name and Value attributes. + If you want to remove an environment variable, regardless of its value, do not set the Value attribute. + + + + + + + + + + + + + This value is the entire environmental variable. This is the default. + + + + + + + This value is prefixed. + + + + + + + This value is appended. + + + + + + + + + Specifies that the environment variable should not be removed on uninstall. + + + + + + Specifies that the environment variable should be added to the system environment space. The default + is 'no' which indicates the environment variable is added to the user environment space. + + + + + + + + + Conditions for components, controls, features, and products. The condition is specified in the inner text of the element. + + + + + + + How To: Block installation based on OS version + How To: Check the version number of a file during installation + + + + + + + + Under a Component element, the condition becomes the condition of the component. Under a Control element, + the condition becomes a ControlCondition entry. Under a Feature element, the condition becomes a Condition + entry. Under a Fragment or Product element, the condition becomes a LaunchCondition entry. + + + + + + Used only under Control elements and is required. Allows specific actions to be applied to a control based + on the result of this condition. + + + + + + + + Set the Control as the default. Only used under Control elements. + + + + + + + Enable the Control. Only used under Control elements. + + + + + + + Disable the Control. Only used under Control elements. + + + + + + + Hide the Control. Only used under Control elements. + + + + + + + Display the Control. Only used under Control elements. + + + + + + + + + + Used only under Feature elements and is required. Allows modifying the level of a Feature based on the + result of this condition. + + + + + + + Used only under Fragment or Product elements and is required. Set the value to the text to display when the + condition fails and the installation must be terminated. + + + + + + + + + + + Shared Component to be privately replicated in folder of parent Component + + + + + + + + + Shared Component for this application Component. + + + + + + + + Disk cost to reserve in a folder for running locally and/or from source. + + + + + + + + + A primary key that uniquely identifies this ReserveCost entry. + + + + + + Adds the amount of disk space specified in RunFromSource or RunLocal to the volume cost of the device containing the directory. + If this attribute is not set, it will default to the directory of parent component. + + + + + + The number of bytes of disk space to reserve if the component is installed to run from source. + + + + + The number of bytes of disk space to reserve if the component is installed to run locally. + + + + + + + Component for parent Directory + + + + + + + How To: Add a file to your installer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + + Component identifier; this is the primary key for identifying components. If omitted, + the compiler defaults the identifier to the identifier of the resource that is the + explicit keypath of the component (for example, a child File element with KeyPath + attribute with value 'yes'. + + + + + + + Set this attribute to create a ComPlus entry. The value should be the export flags used + during the generation of the .msi file. For more information see the COM+ documentation + in the Platform SDK. + + + + + + + Set this attribute to 'yes' in order to disable registry reflection on all existing and + new registry keys affected by this component. + When set to 'yes', the Windows Installer calls the RegDisableReflectionKey on each key + being accessed by the component. + This bit is available with Windows Installer version 4.0 and is ignored on 32-bit systems. + + + + + + + Sets the Directory of the Component. If this element is nested under a Directory element, + this value defaults to the value of the parent Directory/@Id. + + + + + + + This attribute provides a default DiskId attribute for all child File elements. Specifying + the DiskId on a Component element will override any DiskId attributes set by parent Directory + or DirectoryRef elements. See the File element's DiskId attribute for more information about + the purpose of the DiskId. + + + + + + + Identifies a feature to which this component belongs, as a shorthand for a child + ComponentRef element of the Feature element. The value of this attribute should + correspond to the Id attribute of a Feature element authored elsewhere. Note that + a single component can belong to multiple features but this attribute allows you + to specify only a single feature. + + + + + + + This value should be a guid that uniquely identifies this component's contents, language, platform, and version. + If omitted, the default value is '*' which indicates that the linker should generate a stable guid. + Generatable guids are supported only for components with a single file as the component's keypath + or no files and a registry value as the keypath. + It's also possible to set the value to an empty string to specify an unmanaged component. + Unmanaged components are a security vulnerability because the component cannot be removed or repaired + by Windows Installer (it is essentially an unpatchable, permanent component). Therefore, a guid should + always be specified for any component which contains resources that may need to be patched in the future. + + + + + + + If this attribute's value is set to 'yes', then the Directory of this Component is used + as the KeyPath. To set a Registry value or File as the KeyPath of a component, set the + KeyPath attribute to 'yes' on one of those child elements. If KeyPath is not set to 'yes' for the + Component or for a child Registry value or File, WiX will look at the child elements under the + Component in sequential order and try to automatically select one of them as a key path. Allowing + WiX to automatically select a key path can be dangerous because adding or removing child elements + under the Component can inadvertantly cause the key path to change, which can lead to + installation problems. + + + + + + + Optional value that specifies the location that the component can be run from. + + + + + + + + Prevents the component from running from the source or the network (this is the default behavior if this attribute is not set). + + + + + + + Enforces that the component can only be run from the source (it cannot be run from the user's computer). + + + + + + + Allows the component to run from source or locally. + + + + + + + + + + If this attribute is set to 'yes', a new Component/@Guid will be generated for each + instance transform. Ensure that all of the resources contained in a multi-instance + Component will be installed to different paths based on the instance Property; otherwise, + the Component Rules will be violated. + + + + + + + If this attribute is set to 'yes', the installer does not install or reinstall the + component if a key path file or a key path registry entry for the component already + exists. The application does register itself as a client of the component. Use this + flag only for components that are being registered by the Registry table. Do not use + this flag for components registered by the AppId, Class, Extension, ProgId, MIME, and + Verb tables. + + + + + + + If this attribute is set to 'yes', the installer does not remove the component during + an uninstall. The installer registers an extra system client for the component in + the Windows Installer registry settings (which basically just means that at least one + product is always referencing this component). Note that this option differs from the + behavior of not setting a guid because although the component is permanent, it is still + patchable (because Windows Installer still tracks it), it's just not uninstallable. + + + + + + + If this attribute's value is set to 'yes', enables advanced patching semantics for + Components that are shared across multiple Products. Specifically, the Windows Installer + will cache the shared files to improve patch uninstall. This functionality is available + in Windows Installer 4.5 and later. + + + + + + + If this attribute's value is set to 'yes', the installer increments the reference count + in the shared DLL registry of the component's key file. If this bit is not set, the + installer increments the reference count only if the reference count already exists. + + + + + + + If this attribute is set to 'yes', the installer reevaluates the value of the statement + in the Condition upon a reinstall. If the value was previously False and has changed to + True, the installer installs the component. If the value was previously True and has + changed to False, the installer removes the component even if the component has other + products as clients. + + + + + + + If this attribute is set to 'yes', the installer will uninstall the Component's files + and registry keys when it is superseded by a patch. This functionality is available in + Windows Installer 4.5 and later. + + + + + + + Set this attribute to 'yes' to mark this as a 64-bit component. This attribute facilitates + the installation of packages that include both 32-bit and 64-bit components. If this is a 64-bit + component replacing a 32-bit component, set this attribute to 'yes' and assign a new GUID in the Guid attribute. + The default value is based on the platform set by the -arch switch to candle.exe + or the InstallerPlatform property in a .wixproj MSBuild project: + For x86 and ARM, the default value is 'no'. + For x64 and IA64, the default value is 'yes'. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + Groups together multiple components to be used in other locations. + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Identifier for the ComponentGroup. + + + + + + Sets the default directory identifier for child Component elements. + + + + + + + Used to set the default file system source for child Component elements. For more information, see + Specifying source files. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Create a reference to a ComponentGroup in another Fragment. + + + + + + + + The identifier of the ComponentGroup to reference. + + + + + + Set this attribute to 'yes' in order to make the parent feature of this component + the primary feature for this component. Components may belong to multiple features. + By designating a feature as the primary feature of a component, you ensure that + whenever a component is selected for install-on-demand (IOD), the primary feature + will be the one to install it. This attribute should only be set if a component + actually nests under multiple features. If a component nests under only one feature, + that feature is the primary feature for the component. You cannot set more than one + feature as the primary feature of a given component. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Used only for PatchFamilies to include all changes between the baseline and upgraded packages in a patch. + + + Warning: this is intended for testing purposes only. Shipping a patch with all changes negates the benefits of using patch families for including only specific changes. + Because changing the ProductCode is not supported in a patch, the ProductCode property is automatically removed from the transform. + + + + + + + Used only for PatchFamilies to include only a binary table entry in a patch. + + + + + The identifier of the Binary element to reference. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Used only for PatchFamilies to include only a icon table entry in a patch. + + + + + The identifier of the Icon element to reference. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Create a reference to a Feature element in another Fragment. + + + How To: Add a file to your installer + + + + + + The identifier of the Component element to reference. + + + + + + Set this attribute to 'yes' in order to make the parent feature of this component + the primary feature for this component. Components may belong to multiple features. + By designating a feature as the primary feature of a component, you ensure that + whenever a component is selected for install-on-demand (IOD), the primary feature + will be the one to install it. This attribute should only be set if a component + actually nests under multiple features. If a component nests under only one feature, + that feature is the primary feature for the component. You cannot set more than one + feature as the primary feature of a given component. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + How To: Install the Visual C++ Redistributable with your installer + + Merge directive to bring in a merge module that will be redirected to the parent directory. + + + + + + Data to use as input to a configurable merge module. + + + + + + The unique identifier for the Merge element in the source code. Referenced by the MergeRef/@Id. + + + + + The value of this attribute should correspond to the Id attribute of a + Media element authored elsewhere. By creating this connection between the merge module and Media + element, you set the packaging options to the values specified in the Media + element (values such as compression level, cab embedding, etc...). + + + + + Specifies if the files in the merge module should be compressed. + + + + + Specifies the decimal LCID or localization token for the language to merge the Module in as. + + + + + Path to the source location of the merge module. + + + + + + + + + + + + + + + + How To: Install the Visual C++ Redistributable with your installer + + Merge reference to connect a Merge Module to parent Feature + + + + + The unique identifier for the Merge element to be referenced. + + + + + Specifies whether the feature containing this MergeRef is the primary feature for advertising the merge module's components. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Data to use as input to a configurable merge module. + + + + + Name of the item in the ModuleConfiguration table. + + + + + Value to be passed to configurable merge module. + + + + + + + Directory layout for the product. Also specifies the mappings between source and target directories. + + + + How To: Add a file to your installer + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + This value is the unique identifier of the directory entry. + + + + + + The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*") + is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder). + It is recommended that this attribute be avoided and that developers install their Components under standard + directories with unique names instead (for example, "ProgramFilesFolder\Company Name Product Name Version"). It is + important to note that once a directory is assigned a Component Guid Generation Seed the value must not change until + (and must be changed when) the path to that directory, including itself and all parent directories, changes. + + + + + + + Sets the default disk identifier for the files contained in this directory. + This attribute's value may be overridden by a child Component, Directory, + Merge or File element. See the File or Merge elements' DiskId attribute for + more information. + + + + + + Used to set the file system source for this directory's child elements. For more information, see Specifying source files. + + + + + + + + + + + + + + + + + + + + The name of the directory. + + Do not specify this attribute (or the LongName attribute) if this directory represents + the same directory as the parent (see the Windows Installer SDK's + Directory table + topic for more information about the "." operator). + + In prior versions of the WiX toolset, this attribute specified the short directory name. + This attribute's value may now be either a short or long directory name. + If a short directory name is specified, the ShortName attribute may not be specified. + If a long directory name is specified, the LongName attribute may not be specified. + Also, if this value is a long directory name, the ShortName attribute may be omitted to + allow WiX to attempt to generate a unique short directory name. + However, if this name collides with another directory or you wish to manually specify + the short directory name, then the ShortName attribute may be specified. + + + + + + + The short name of the directory in 8.3 format. + This attribute should only be set if there is a conflict between generated short directory names + or the user wants to manually specify the short directory name. + + + + + + + The short name of the directory on the source media in 8.3 format. + This attribute should only be set if there is a conflict between generated short directory names + or the user wants to manually specify the short source directory name. + + + + + + + The name of the directory on the source media. + If this attribute is not specified, Windows Installer will default to the Name attribute. + + In prior versions of the WiX toolset, this attribute specified the short source directory name. + This attribute's value may now be either a short or long directory name. + If a short directory name is specified, the ShortSourceName attribute may not be specified. + If a long directory name is specified, the LongSource attribute may not be specified. + Also, if this value is a long directory name, the ShortSourceName attribute may be omitted to + allow WiX to attempt to generate a unique short directory name. + However, if this name collides with another directory or you wish to manually specify + the short directory name, then the ShortSourceName attribute may be specified. + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Create a reference to a Directory element in another Fragment. + + + How To: Add a file to your installer + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + The identifier of the Directory element to reference. + + + + + + Sets the default disk identifier for the files contained in this directory. + This attribute's value may be overridden by a child Component, Directory, + Merge or File element. See the File or Merge elements' DiskId attribute for + more information. + + + + + + Used to set the file system source for this DirectoryRef's child elements. For more information, see Specifying source files. + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + + + + + + Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. + + + + + Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. + + + + + Specifies the set of languages detected by FindRelatedProducts. Enter a list of numeric language identifiers (LANGID) separated by commas (,). Leave this value null to specify all languages. Set ExcludeLanguages to "yes" in order detect all languages, excluding the languages listed in this value. + + + + + The installer sets the REMOVE property to features specified in this column. The features to be removed can be determined at run time. The Formatted string entered in this field must evaluate to a comma-delimited list of feature names. For example: [Feature1],[Feature2],[Feature3]. No features are removed if the field contains formatted text that evaluates to an empty string. The installer sets REMOVE=ALL only if the Remove field is empty. + + + + + When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. Windows Installer documentation for the Upgrade table states that the property specified in this field must be a public property and must be added to the SecureCustomProperties property. WiX automatically appends the property specified in this field to the SecureCustomProperties property when creating an MSI. Each UpgradeVersion must have a unique Property value. After the FindRelatedProducts action is run, the value of this property is a list of product codes, separated by semicolons (;), detected on the system. + + + + + Set to "yes" to migrate feature states from upgraded products by enabling the logic in the MigrateFeatureStates action. + + + + + Set to "yes" to detect products and applications but do not uninstall. + + + + + Set to "yes" to continue installation upon failure to remove a product or application. + + + + + Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default. + + + + + Set to "yes" to make the range of versions detected include the value specified in Maximum. + + + + + Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + Upgrade info for a particular UpgradeCode + + + + + + + + + + + + Nesting a Property element under an Upgrade element has been deprecated. + Please nest Property elements in any of the other supported locations. + + + + + + + This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. + + + + + + + + A feature for the Feature table. Features are the smallest installable unit. See msi.chm for more + detailed information on the myriad installation options for a feature. + + + + + How To: Add a file to your installer + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Unique identifier of the feature. + + + + + + This attribute determines if a user will have the option to set a feature to absent in the user interface. + + + + + + + + Allows the user interface to display an option to change the feature state to Absent. + + + + + + + Prevents the user interface from displaying an option to change the feature state + to Absent by setting the msidbFeatureAttributesUIDisallowAbsent attribute. This will force the feature + to the installation state, whether or not the feature is visible in the UI. + + + + + + + + + + This attribute determines the possible advertise states for this feature. + + + + + + + + Prevents this feature from being advertised by setting the msidbFeatureAttributesDisallowAdvertise attribute. + + + + + + + Prevents advertising for this feature if the operating system shell does not support Windows Installer + descriptors by setting the msidbFeatureAttributesNoUnsupportedAdvertise attribute. + + + + + + + Allows the feature to be advertised. + + + + + + + + + + Specify the Id of a Directory that can be configured by the user at installation time. This identifier + must be a public property and therefore completely uppercase. + + + + + + + Longer string of text describing the feature. This localizable string is displayed by the + Text Control of the Selection Dialog. + + + + + + + Determines the initial display of this feature in the feature tree. + This attribute's value should be one of the following: + collapseInitially shows the feature collapsed. This is the default value.expandInitially shows the feature expanded.hiddenPrevents the feature from displaying in the user interface.<an explicit integer value> + For advanced users only, it is possible to directly set the integer value + of the display value that will appear in the Feature row. + + + + + + + This attribute determines the default install/run location of a feature. This attribute cannot be specified + if the value of the FollowParent attribute is 'yes' since that would ask the installer to force this feature + to follow the parent installation state and simultaneously favor a particular installation state just for this feature. + + + + + + + + Forces the feature to follow the same installation state as its parent feature. + + + + + + + Favors installing this feature locally by setting the msidbFeatureAttributesFavorLocal attribute. + + + + + + + Favors running this feature from source by setting the msidbFeatureAttributesFavorSource attribute. + + + + + + + + + + Sets the install level of this feature. A value of 0 will disable the feature. Processing the + Condition Table can modify the level value (this is set via the Condition child element). The + default value is "1". + + + + + + + Short string of text identifying the feature. This string is listed as an item by the + SelectionTree control of the Selection Dialog. + + + + + + + This attribute determines the default advertise state of the feature. + + + + + + + + Sets the feature to be advertised by setting the msidbFeatureAttributesFavorAdvertise attribute. + This value cannot be set if the value of the AllowAdvertise attribute is 'no' since that would ask the installer to + disallow the advertised state for this feature while at the same time favoring it. + + + + + + + Sets the feature to the default non-advertised installation option. + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + Groups together multiple components, features, and merges to be used in other locations. + + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + Identifier for the FeatureGroup. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Create a reference to a FeatureGroup in another Fragment. + + + + + + + + The identifier of the FeatureGroup to reference. + + + + + + Normally feature group references that end up nested under a parent element create a + connection to that parent. This behavior is undesirable when trying to simply reference + to a FeatureGroup in a different Fragment. Specify 'yes' to have this feature group + reference not create a connection to its parent. The default is 'no'. + + + + + + + Set this attribute to 'yes' in order to make the parent feature of this group + the primary feature for any components and merges contained in the group. + Features may belong to multiple features. By designating a feature as the + primary feature of a component or merge, you ensure that whenever a component is + selected for install-on-demand (IOD), the primary feature will be the one to install + it. This attribute should only be set if a component actually nests under multiple + features. If a component nests under only one feature, that feature is the primary + feature for the component. You cannot set more than one feature as the primary + feature of a given component. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Create a reference to a Feature element in another Fragment. + + + + + + + + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + The identifier of the Feature element to reference. + + + + + + Normally feature references that are nested under a parent element create a connection to that + parent. This behavior is undesirable when trying to simply reference a Feature in a different + Fragment. Specify 'yes' to have this feature reference not create a connection to its parent. + The default is 'no'. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + Media element describes a disk that makes up the source media for the installation. + + + + + + + + + + + + + + + Disk identifier for Media table. This number must be equal to or greater than 1. + + + + + The name of the cabinet if some or all of the files stored on the media are in a cabinet file. If no cabinets are used, this attribute must not be set. + + + + + + Indicates the compression level for the Media's cabinet. This attribute can + only be used in conjunction with the Cabinet attribute. The default is 'mszip'. + + + + + + The disk name, which is usually the visible text printed on the disk. This localizable text is used to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. + + + + + Instructs the binder to embed the cabinet in the product if 'yes'. This attribute can only be specified in conjunction with the Cabinet attribute. + + + + + + This attribute specifies the root directory for the uncompressed files that + are a part of this Media element. By default, the src will be the output + directory for the final image. The default value ensures the binder generates + an installable image. If a relative path is specified in the src attribute, + the value will be appended to the image's output directory. If an absolute + path is provided, that path will be used without modification. The latter two + options are provided to ease the layout of an image onto multiple medias (CDs/DVDs). + + + + + + + + + + + + + + The label attributed to the volume. This is the volume label returned + by the GetVolumeInformation function. If the SourceDir property refers + to a removable (floppy or CD-ROM) volume, then this volume label is + used to verify that the proper disk is in the drive before attempting + to install files. The entry in this column must match the volume label + of the physical media. + + + + + + + Optional property that identifies the source of the embedded cabinet. + If a cabinet is specified for a patch, this property should be defined + and unique to each patch so that the embedded cabinet containing patched + and new files can be located in the patch package. If the cabinet is not + embedded - this is not typical - the cabinet can be found in the directory + referenced in this column. If empty, the external cabinet must be located + in the SourceDir directory. + + + + + + + + + MediaTeplate element describes information to automatically assign files to cabinets. + A maximumum number of cabinets created is 999. + + + + + + + Templated name of the cabinet if some or all of the files stored on the media are in + a cabinet file. This name must begin with either a letter or an underscore, contain + maximum of five characters and {0} in the cabinet name part and must end three character extension. + The default is cab{0}.cab. + + + + + + + Indicates the compression level for the Media's cabinet. This attribute can + only be used in conjunction with the Cabinet attribute. The default is 'mszip'. + + + + + + + + + + + + + + + + The disk name, which is usually the visible text printed on the disk. This localizable text is used + to prompt the user when this disk needs to be inserted. This value will be used in the "[1]" of the + DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property. + + + + + + Instructs the binder to embed the cabinets in the product if 'yes'. + + + + + + The label attributed to the volume. This is the volume label returned + by the GetVolumeInformation function. If the SourceDir property refers + to a removable (floppy or CD-ROM) volume, then this volume label is + used to verify that the proper disk is in the drive before attempting + to install files. The entry in this column must match the volume label + of the physical media. + + + + + + + Size of uncompressed files in each cabinet, in megabytes. WIX_MUMS environment variable + can be used to override this value. Default value is 200 MB. + + + + + + + Maximum size of cabinet files in megabytes for large files. This attribute is used for packaging + files that are larger than MaximumUncompressedMediaSize into smaller cabinets. If cabinet size + exceed this value, then setting this attribute will cause the file to be split into multiple + cabinets of this maximum size. For simply controlling cabinet size without file splitting use + MaximumUncompressedMediaSize attribute. Setting this attribute will disable smart cabbing feature + for this Fragment / Product. Setting WIX_MCSLFS environment variable can be used to override this + value. Minimum allowed value of this attribute is 20 MB. Maximum allowed value and the Default + value of this attribute is 2048 MB (2 GB). + + + + + + + + + This element has been deprecated. + Use the Binary/@SuppressModularization, CustomAction/@SuppressModularization, or Property/@SuppressModularization attributes instead. + + + + + + + The name of the item to ignore modularization for. + + + + + + + The type of the item to ignore modularization for. + + + + + + + + + + + + + + + + + + + + + Specifies a custom action to be added to the MSI CustomAction table. Various combinations of the attributes for this element + correspond to different custom action types. For more information about custom actions see the + + Custom Action Types topic on MSDN. + + + + + + + + The text node is only valid if the Script attribute is specified. In that case, the text node contains the script to embed. + + + + + + The identifier of the custom action. + + + + + + + + This attribute is a reference to a Binary element with matching Id attribute. That binary stream contains + the custom action for use during install. The custom action will not be installed into a target directory. This attribute is + typically used with the DllEntry attribute to specify the custom action DLL to use for a type 1 custom action, with the ExeCommand + attribute to specify a type 17 custom action that runs an embedded executable, or with the VBScriptCall or JScriptCall attributes + to specify a type 5 or 6 custom action. + + + + + + + This attribute specifies a reference to a File element with matching Id attribute that + will execute the custom action code in the file after the file is installed. This + attribute is typically used with the ExeCommand attribute to specify a type 18 custom action + that runs an installed executable, with the DllEntry attribute to specify an installed custom + action DLL to use for a type 17 custom action, or with the VBScriptCall or JScriptCall + attributes to specify a type 21 or 22 custom action. + + + + + + + This attribute specifies a reference to a Property element with matching Id attribute that specifies the Property + to be used or updated on execution of this custom action. This attribute is + typically used with the Value attribute to create a type 51 custom action that parses + the text in Value and places it into the specified Property. This attribute is also used with + the ExeCommand attribute to create a type 50 custom action that uses the value of the + given property to specify the path to the executable. Type 51 custom actions are often useful to + pass values to a deferred custom action. + See + http://msdn.microsoft.com/library/aa370543.aspx + for more information. + + + + + + + This attribute specifies a reference to a Directory element with matching Id attribute containing a directory path. + This attribute is typically used with the ExeCommand attribute to specify the source executable for a type 34 + custom action, or with the Value attribute to specify a formatted string to place in the specified Directory + table entry in a type 35 custom action. + + + + + + + + This attribute specifies the name of a function in a custom action to execute. + This attribute is used with the BinaryKey attribute to create a type 1 custom + action, or with the FileKey attribute to create a type 17 custom action. + + + + + + + This attribute specifies the command line parameters to supply to an externally + run executable. This attribute is typically used with the BinaryKey attribute for a type 2 custom action, + the FileKey attribute for a type 18 custom action, the Property attribute for a type 50 custom action, + or the Directory attribute for a type 34 custom action that specify the executable to run. + + + + + + + This attribute specifies the name of the JScript function to execute in a script. The script must be + provided in a Binary element identified by the BinaryKey attribute described above. In other words, this + attribute must be specified in conjunction with the BinaryKey attribute. + + + + + + + This attribute specifies the name of the VBScript Subroutine to execute in a script. The script must be + provided in a Binary element identified by the BinaryKey attribute described above. In other words, this + attribute must be specified in conjunction with the BinaryKey attribute. + + + + + + + Creates a type 37 or 38 custom action. The text of the element should contain the script to be embedded in the package. + + + + + + + + + + + + + Use to suppress modularization of this custom action name in merge modules. + This should only be necessary for table-driven custom actions because the + table name which they interact with cannot be modularized, so there can only + be one instance of the table. + + + + + + + This attribute specifies a string value to use in the custom action. This attribute + must be used with the Property attribute to set the property as part of a + type 51 custom action or with the Directory attribute to set a directory path in that + table in a type 35 custom action. The value can be a literal value or derived from a + Property element using the Formatted + syntax. + + + + + + + This attribute specifies an index in the MSI Error table to use as an error message for a + type 19 custom action that displays the error message and aborts a product's installation. + + + + + + + + Set this attribute to set the return behavior of the custom action. + + + + + + + + Indicates that the custom action will run asyncronously and execution may continue after the installer terminates. + + + + + + + Indicates that the custom action will run asynchronously but the installer will wait for the return code at sequence end. + + + + + + + Indicates that the custom action will run synchronously and the return code will be checked for success. This is the default. + + + + + + + Indicates that the custom action will run synchronously and the return code will not be checked. + + + + + + + + + + This attribute indicates the scheduling of the custom action. + + + + + + + + Indicates that the custom action will run after successful completion of the installation script (at the end of the installation). + + + + + + + Indicates that the custom action runs in-script (possibly with elevated privileges). + + + + + + + Indicates that the custom action will only run in the first sequence that runs it. + + + + + + + Indicates that the custom action will run during normal processing time with user privileges. This is the default. + + + + + + + Indicates that the custom action will only run in the first sequence that runs it in the same process. + + + + + + + Indicates that a custom action will run in the rollback sequence when a failure + occurs during installation, usually to undo changes made by a deferred custom action. + + + + + + + Indicates that a custom action should be run a second time if it was previously run in an earlier sequence. + + + + + + + + + + This attribute specifies whether the Windows Installer, which executes as LocalSystem, + should impersonate the user context of the installing user when executing this custom action. + Typically the value should be 'yes', except when the custom action needs elevated privileges + to apply changes to the machine. + + + + + + + This attribute specifies that the Windows Installer, execute the custom action only when + a patch is being uninstalled. These custom actions should also be conditioned using the + MSIPATCHREMOVE property to ensure proper down level (less than Windows Installer 4.5) + behavior. + + + + + + + Specifies that a script custom action targets a 64-bit platform. Valid only when used with + the Script, VBScriptCall, and JScriptCall attributes. + The default value is based on the platform set by the -arch switch to candle.exe + or the InstallerPlatform property in a .wixproj MSBuild project: + For x86 and ARM, the default value is 'no'. + For x64 and IA64, the default value is 'yes'. + + + + + + + This attribute specifies controls whether the custom action will impersonate the + installing user during per-machine installs on Terminal Server machines. + Deferred execution custom actions that do not specify this attribute, or explicitly set it 'no', + will run with no user impersonation on Terminal Server machines during + per-machine installations. This attribute is only applicable when installing on the + Windows Server 2003 family. + + + + + + Ensures the installer does not log the CustomActionData for the deferred custom action. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + + + This will cause the entire contents of the Fragment containing the referenced CustomAction to be + included in the installer database. + + + + + + The identifier of the CustomAction to reference. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + + + + + Sets a Directory to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in + the InstallUISequence and InstallExecuteSequence. + + + + + + + + The condition that determines whether the Directory is set. If the condition evaluates to false, the SetDirectory is skipped. + + + + + + By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case + where multiple SetDirectory elements target the same Id (probably with mutually exclusive conditions). + + + + + + + This attribute specifies a reference to a Directory element with matching Id attribute. The path of the Directory will be set to + the Value attribute. + + + + + + + Controls which sequences the Directory assignment is sequenced in. + For 'execute', the assignment is scheduled in the InstallExecuteSequence. + For 'ui', the assignment is scheduled in the InstallUISequence. + For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. + For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. + The default is 'both'. + + + + + + + This attribute specifies a string value to assign to the Directory. The value can be a literal value or derived from a + Property element using the Formatted + syntax. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + + + + + + + Sets a Property to a particular value. This is accomplished by creating a Type 51 custom action that is appropriately scheduled in + the InstallUISequence and InstallExecuteSequence. + + + + + + + + The condition that determines whether the Property is set. If the condition evaluates to false, the Set is skipped. + + + + + + By default the action is "Set" + Id attribute's value. This optional attribute can override the action name in the case + where multiple SetProperty elements target the same Id (probably with mutually exclusive conditions). + + + + + + The name of the standard or custom action after which this action should be performed. Mutually exclusive with the Before attribute. A Before or After attribute is required when setting a Property. + + + + + The name of the standard or custom action before which this action should be performed. Mutually exclusive with the After attribute. A Before or After attribute is required when setting a Property. + + + + + + This attribute specifies the Property to set to the Value. + + + + + + + Controls which sequences the Property assignment is sequenced in. + For 'execute', the assignment is scheduled in the InstallExecuteSequence. + For 'ui', the assignment is scheduled in the InstallUISequence. + For 'first', the assignment is scheduled in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped at install time. + For 'both', the assignment is scheduled in both the InstallUISequence and the InstallExecuteSequence. + The default is 'both'. + + + + + + + This attribute specifies a string value to assign to the Property. The value can be a literal value or derived from a + Property element using the Formatted + syntax. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + + + This will cause the entire contents of the Fragment containing the referenced PatchFamily to be + used in the process of creating a patch. + + + + + + The identifier of the PatchFamily to reference. + + + + + Specifies the ProductCode of the product that this family applies to. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + Sets the ProductID property to the full product identifier. This action must be sequenced before the user interface wizard in the InstallUISequence table and before the RegisterUser action in the InstallExecuteSequence table. If the product identifier has already been validated successfully, the ValidateProductID action does nothing. The ValidateProductID action always returns a success, whether or not the product identifier is valid, so that the product identifier can be entered on the command line the first time the product is run. The product identifier can be validated without having the user reenter this information by setting the PIDKEY property on the command line or by using a transform. The display of the dialog box requesting the user to enter the product identifier can then be made conditional upon the presence of the ProductID property, which is set when the PIDKEY property is validated. The condition for this action may be specified in the element's inner text. + + + + + + + + + + Initiates the internal installation costing process. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the CostInitialize action to make all final cost calculations available to the installer through the Component table. The condition for this action may be specified in the element's inner text. + + + + + + + + + + Initiates dynamic costing of standard installation actions. Any standard or custom actions that affect costing should sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action. Then call the CostFinalize action following the FileCost action to make all final cost calculations available to the installer through the Component table. The CostInitialize action must be executed before the FileCost action. The installer then determines the disk-space cost of every file in the File table, on a per-component basis, taking both volume clustering and the presence of existing files that may need to be overwritten into account. All actions that consume or release disk space are also considered. If an existing file is found, a file version check is performed to determine whether the new file actually needs to be installed or not. If the existing file is of an equal or greater version number, the existing file is not overwritten and no disk-space cost is incurred. In all cases, the installer uses the results of version number checking to set the installation state of each file. The FileCost action initializes cost calculation with the installer. Actual dynamic costing does not occur until the CostFinalize action is executed. The condition for this action may be specified in the element's inner text. + + + + + + + + + Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). This isolates the application from other copies of the component that may be installed to a shared location on the computer. The action refers to each record of the IsolatedComponent table and associates the files of the component listed in the Component_Shared field with the component listed in the Component_Application field. The installer installs the files of Component_Shared into the same directory as Component_Application. The installer generates a file in this directory, zero bytes in length, having the short filename name of the key file for Component_Application (typically this is the same file name as the .exe) appended with .local. The IsolatedComponent action does not affect the installation of Component_Application. Uninstalling Component_Application also removes the Component_Shared files and the .local file from the directory. The IsolateComponents action can be used only in the InstallUISequence table and the InstallExecuteSequence table. This action must come after the CostInitialize action and before the CostFinalize action. The condition for this action may be specified in the element's inner text. + + + + + + + + + + Ends the internal installation costing process begun by the CostInitialize action. Any standard or custom actions that affect costing should be sequenced before the CostInitialize action. Call the FileCost action immediately following the CostInitialize action and then call the CostFinalize action to make all final cost calculations available to the installer through the Component table. The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections or directories. The CostFinalize action queries the Condition table to determine which features are scheduled to be installed. Costing is done for each component in the Component table. The CostFinalize action also verifies that all the target directories are writable before allowing the installation to continue. The condition for this action may be specified in the element's inner text. + + + + + + + + Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. The condition for this action may be specified in the element's inner text. + + + + + + + + Used for upgrading or installing over an existing application. Reads feature states from existing application and sets these feature states for the pending installation. The condition for this action may be specified in the element's inner text. + + + + + + + + Initiates the execution sequence. The condition for this action may be specified in the element's inner text. + + + + + + + + Verifies that all costed volumes have enough space for the installation. The condition for this action may be specified in the element's inner text. + + + + + + + + + Marks the beginning of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Ensures the needed amount of space exists in the registry. The condition for this action may be specified in the element's inner text. + + + + + + + + Registers and unregisters components, their key paths, and the component clients. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the unadvertisement of components listed in the PublishComponent table. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the unadvertisement of CLR and Win32 assemblies that are being removed. The condition for this action may be specified in the element's inner text. + + + + + + + + Removes selection-state and feature-component mapping information from the registry. The condition for this action may be specified in the element's inner text. + + + + + + + + Stops system services. The condition for this action may be specified in the element's inner text. + + + + + + + + Stops a service and removes its registration from the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Removes COM+ applications from the registry. The condition for this action may be specified in the element's inner text. + + + + + + + + Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. The condition for this action may be specified in the element's inner text. + + + + + + + + Unregisters type libraries from the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Removes the data sources, translators, and drivers listed for removal during the installation. The condition for this action may be specified in the element's inner text. + + + + + + + + Removes registration information about installed fonts from the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the removal of COM class information from the system registry. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the removal of extension-related information from the system registry. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the unregistration of OLE ProgId information with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Unregisters MIME-related registry information from the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation. The condition for this action may be specified in the element's inner text. + + + + + + + + Modifies the values of environment variables. The condition for this action may be specified in the element's inner text. + + + + + + + + Deletes files installed by the DuplicateFiles action. The condition for this action may be specified in the element's inner text. + + + + + + + + Removes files previously installed by the InstallFiles action. The condition for this action may be specified in the element's inner text. + + + + + + + + Removes any folders linked to components set to be removed or run from source. The condition for this action may be specified in the element's inner text. + + + + + + + + Creates empty folders for components that are set to be installed. The condition for this action may be specified in the element's inner text. + + + + + + + + + Locates existing files on the system and moves or copies those files to a new location. The condition for this action may be specified in the element's inner text. + + + + + + + + Copies the product database to the administrative installation point. The condition for this action may be specified in the element's inner text. + + + + + + + + Copies files specified in the File table from the source directory to the destination directory. The condition for this action may be specified in the element's inner text. + + + + + + + + Duplicates files installed by the InstallFiles action. The condition for this action may be specified in the element's inner text. + + + + + + + + Queries the Patch table to determine which patches are to be applied. The condition for this action may be specified in the element's inner text. + + + + + + + + + Binds each executable or DLL that must be bound to the DLLs imported by it. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the creation of shortcuts. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the registration of COM class information with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the registration of extension related information with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the registration of OLE ProgId information with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Registers MIME-related registry information with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Sets up an application's registry information. The condition for this action may be specified in the element's inner text. + + + + + + + + Writes the .ini file information that the application needs written to its .ini files. The condition for this action may be specified in the element's inner text. + + + + + + + + Modifies the values of environment variables. The condition for this action may be specified in the element's inner text. + + + + + + + + Registers installed fonts with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. The condition for this action may be specified in the element's inner text. + + + + + + + + Registers type libraries with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Processes all modules listed in the SelfReg table and registers all installed modules with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Registers COM+ applications. The condition for this action may be specified in the element's inner text. + + + + + + + + Registers a service for the system. The condition for this action may be specified in the element's inner text. + + + + + + + + Starts system services. The condition for this action may be specified in the element's inner text. + + + + + + + + Registers the user information with the installer to identify the user of a product. The condition for this action may be specified in the element's inner text. + + + + + + + + Registers the product information with the installer. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the advertisement of the components from the PublishComponent table. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the advertisement of CLR and Win32 assemblies. The condition for this action may be specified in the element's inner text. + + + + + + + + Writes each feature's state into the system registry. The condition for this action may be specified in the element's inner text. + + + + + + + + Manages the advertisement of the product information with the system. The condition for this action may be specified in the element's inner text. + + + + + + + + + Marks the end of a sequence of actions that change the system. The condition for this action may be specified in the element's inner text. + + + + + + + + + + + + + Uses file signatures to search for existing versions of products. The AppSearch action may use this information to determine where upgrades are to be installed. The AppSearch action can also be used to set a property to the existing value of an registry or .ini file entry. AppSearch should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents The AppSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The AppSearch action searches for file signatures using the CompLocator table first, the RegLocator table next, then the IniLocator table, and finally the DrLocator table. The condition for this action may be specified in the element's inner text. + + + + + + + + + + Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The CCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents the CCPSearch action from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The CCPSearch action must come before the RMCCPSearch action. The condition for this action may be specified in the element's inner text. + + + + + + + + + + Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. The RMCCPSearch action should be authored into the InstallUISequence table and InstallExecuteSequence table. The installer prevents RMCCPSearch from running in the InstallExecuteSequence sequence if the action has already run in InstallUISequence sequence. The RMCCPSearch action requires the CCP_DRIVE property to be set to the root path on the removable volume that has the installation for any of the qualifying products. The condition for this action may be specified in the element's inner text. + + + + + + + + + Queries the LaunchCondition table and evaluates each conditional statement recorded there. If any of these conditional statements fail, an error message is displayed to the user and the installation is terminated. The LaunchConditions action is optional. This action is normally the first in the sequence, but the AppSearch Action may be sequenced before the LaunchConditions action. If there are launch conditions that do not apply to all installation modes, the appropriate installation mode property should be used in a conditional expression in the appropriate sequence table. The condition for this action may be specified in the element's inner text. + + + + + + + + + Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. When FindRelatedProducts detects a correspondence between the upgrade information and an installed product, it appends the product code to the property specified in the ActionProperty column of the UpgradeTable. The FindRelatedProducts action only runs the first time the product is installed. The FindRelatedProducts action does not run during maintenance mode or uninstallation. FindRelatedProducts should be authored into the InstallUISequence table and InstallExecuteSequence tables. The installer prevents FindRelatedProducts from running in InstallExecuteSequence if the action has already run in InstallUISequence. The FindRelatedProducts action must come before the MigrateFeatureStates action and the RemoveExistingProducts action. The condition for this action may be specified in the element's inner text. + + + + + + + + Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. + + + + + + + + Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. Should only be used after InstallExecute. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. + + + + + + + + Disables rollback for the remainder of the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. + + + + + + + + Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. + + + + + + + + Prompts the user to restart the system at the end of installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. + + + + + + + + Prompts the user for a restart of the system during the installation. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. + + + + + + + + Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Special actions don't have a built-in sequence number and thus must appear relative to another action. The suggested way to do this is by using the Before or After attribute. InstallExecute and InstallExecuteAgain can optionally appear anywhere between InstallInitialize and InstallFinalize. + + + + + + + + + Use to sequence a custom action. + + + + + + Text node specifies the condition of the action. + + + + The action to which the Custom element applies. + + + + + Mutually exclusive with Before, After, and Sequence attributes + + + + + The name of the standard or custom action before which this action should be performed. Mutually exclusive with OnExit, After, and Sequence attributes + + + + + The name of the standard or custom action after which this action should be performed. Mutually exclusive with Before, OnExit, and Sequence attributes + + + + + + If "yes", the sequencing of this action may be overridden by sequencing elsewhere. + + + + + + The sequence number for this action. Mutually exclusive with Before, After, and OnExit attributes + + + + + + + + + + + + + + mutually exclusive with Before, After, and Sequence attributes + + + + + + + + If "yes", the sequencing of this dialog may be overridden by sequencing elsewhere. + + + + + + + + + + + + + + + + + + + + Use to sequence a custom action. + + + + + Displays a Dialog. + + + + + Prompts the user to restart the system at the end of installation. Not fixed sequence. + + + + + Queries the LaunchCondition table and evaluates each conditional statement recorded there. + + + + + Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. + + + + + Uses file signatures to search for existing versions of products. + + + + + Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. + + + + + Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. + + + + + Sets the ProductID property to the full product identifier. + + + + + Initiates the internal installation costing process. + + + + + Initiates dynamic costing of standard installation actions. + + + + + Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). + + + + + Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. + + + + + Ends the internal installation costing process begun by the CostInitialize action. + + + + + Used for upgrading or installing over an existing application. + + + + + Initiates the execution sequence. + + + + + + + + + + + + + + + + + Use to sequence a custom action. + + + + + Prompts the user to restart the system at the end of installation. Not fixed sequence. + + + + + Prompts the user for a restart of the system during the installation. Not fixed sequence. + + + + + Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. Not fixed sequence. + + + + + Queries the LaunchCondition table and evaluates each conditional statement recorded there. + + + + + Runs through each record of the Upgrade table in sequence and compares the upgrade code, product version, and language in each row to products installed on the system. + + + + + Uses file signatures to search for existing versions of products. + + + + + Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. + + + + + Uses file signatures to validate that qualifying products are installed on a system before an upgrade installation is performed. + + + + + Sets the ProductID property to the full product identifier. + + + + + Initiates the internal installation costing process. + + + + + Initiates dynamic costing of standard installation actions. + + + + + Installs a copy of a component (commonly a shared DLL) into a private location for use by a specific application (typically an .exe). + + + + + Ends the internal installation costing process begun by the CostInitialize action. + + + + + Checks for existing ODBC drivers and sets the target directory for each new driver to the location of an existing driver. + + + + + Used for upgrading or installing over an existing application. + + + + + Verifies that all costed volumes have enough space for the installation. + + + + + Marks the beginning of a sequence of actions that change the system. + + + + + Ensures the needed amount of space exists in the registry. + + + + + Registers and unregisters components, their key paths, and the component clients. + + + + + Manages the unadvertisement of components listed in the PublishComponent table. + + + + + Removes selection-state and feature-component mapping information from the registry. + + + + + Stops system services. + + + + + Stops a service and removes its registration from the system. + + + + + Removes COM+ applications from the registry. + + + + + Unregisters all modules listed in the SelfReg table that are scheduled to be uninstalled. + + + + + Unregisters type libraries from the system. + + + + + Removes the data sources, translators, and drivers listed for removal during the installation. + + + + + Removes registration information about installed fonts from the system. + + + + + Removes a registry value that has been authored into the registry table if the associated component was installed locally or as run from source, and is now set to be uninstalled. + + + + + Manages the removal of COM class information from the system registry. + + + + + Manages the removal of extension-related information from the system registry. + + + + + Manages the unregistration of OLE ProgId information with the system. + + + + + Unregisters MIME-related registry information from the system. + + + + + Removes .ini file information specified for removal in the RemoveIniFile table if the component is set to be installed locally or run from source. + + + + + Manages the removal of an advertised shortcut whose feature is selected for uninstallation or a nonadvertised shortcut whose component is selected for uninstallation. + + + + + Modifies the values of environment variables. + + + + + Deletes files installed by the DuplicateFiles action. + + + + + Removes files previously installed by the InstallFiles action. + + + + + Removes any folders linked to components set to be removed or run from source. + + + + + Creates empty folders for components that are set to be installed. + + + + + Locates existing files on the system and moves or copies those files to a new location. + + + + + Copies files specified in the File table from the source directory to the destination directory. + + + + + Duplicates files installed by the InstallFiles action. + + + + + Queries the Patch table to determine which patches are to be applied. + + + + + Binds each executable or DLL that must be bound to the DLLs imported by it. + + + + + Manages the creation of shortcuts. + + + + + Manages the registration of COM class information with the system. + + + + + Manages the registration of extension related information with the system. + + + + + Manages the registration of OLE ProgId information with the system. + + + + + Registers MIME-related registry information with the system. + + + + + Sets up an application's registry information. + + + + + Writes the .ini file information that the application needs written to its .ini files. + + + + + Modifies the values of environment variables. + + + + + Registers installed fonts with the system. + + + + + Installs the drivers, translators, and data sources in the ODBCDriver table, ODBCTranslator table, and ODBCDataSource table. + + + + + Registers type libraries with the system. + + + + + Processes all modules listed in the SelfReg table and registers all installed modules with the system. + + + + + Registers COM+ applications. + + + + + Registers a service for the system. + + + + + Starts system services. + + + + + Registers the user information with the installer to identify the user of a product. + + + + + Registers the product information with the installer. + + + + + Manages the advertisement of the components from the PublishComponent table. + + + + + Writes each feature's state into the system registry. + + + + + Manages the advertisement of the product information with the system. + + + + + Marks the end of a sequence of actions that change the system. + + + + + Goes through the product codes listed in the ActionProperty column of the Upgrade table and removes the products in sequence. + + + + + Disables rollback for the remainder of the installation. + + + + + + Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. + + + + + Runs a script containing all operations spooled since either the start of the installation or the last InstallExecute action, or InstallExecuteAgain action. + + + + + + Manages the advertisement of CLR and Win32 assemblies. + + + + + Manages the unadvertisement of CLR and Win32 assemblies that are being removed. + + + + + + + + + + + + + + + + Use to sequence a custom action. + + + + + + Initiates the internal installation costing process. + + + + + Initiates dynamic costing of standard installation actions. + + + + + Ends the internal installation costing process begun by the CostInitialize action. + + + + + Initiates the execution sequence. + + + + + Verifies that all costed volumes have enough space for the installation. + + + + + Marks the beginning of a sequence of actions that change the system. + + + + + Copies the product database to the administrative installation point. + + + + + Copies files specified in the File table from the source directory to the destination directory. + + + + + Marks the end of a sequence of actions that change the system. + + + + + Queries the LaunchCondition table and evaluates each conditional statement recorded there. + + + + + + + + + + + + + + + + Use to sequence a custom action. + + + + + Initiates the internal installation costing process. + + + + + Initiates dynamic costing of standard installation actions. + + + + + Ends the internal installation costing process begun by the CostInitialize action. + + + + + Verifies that all costed volumes have enough space for the installation. + + + + + Marks the beginning of a sequence of actions that change the system. + + + + + Copies the product database to the administrative installation point. + + + + + Copies files specified in the File table from the source directory to the destination directory. + + + + + Queries the Patch table to determine which patches are to be applied. + + + + + Marks the end of a sequence of actions that change the system. + + + + + Queries the LaunchCondition table and evaluates each conditional statement recorded there. + + + + + Determines the location of the source and sets the SourceDir property if the source has not been resolved yet. + + + + + + + + + + + + + + + + Initiates the internal installation costing process. + + + + + Ends the internal installation costing process begun by the CostInitialize action. + + + + + Use to sequence a custom action. The only custom actions that are allowed in the AdvtExecuteSequence are type 19 (0x013) type 35 (0x023) and type 51 (0x033). + + + + + Verifies that all costed volumes have enough space for the installation. + + + + + Marks the beginning of a sequence of actions that change the system. + + + + + Manages the creation of shortcuts. + + + + + Manages the registration of COM class information with the system. + + + + + Manages the registration of extension related information with the system. + + + + + Registers MIME-related registry information with the system. + + + + + Manages the registration of OLE ProgId information with the system. + + + + + Manages the advertisement of the components from the PublishComponent table. + + + + + Writes each feature's state into the system registry. + + + + + Manages the advertisement of the product information with the system. + + + + + Marks the end of a sequence of actions that change the system. + + + + + + Manages the advertisement of CLR and Win32 assemblies. + + + + + + + + + + Binary data used for CustomAction elements and UI controls. + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + elements at this point in the schema. + + + + + + + The Id cannot be longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters. + + + + + Path to the binary file. + + + + + + + + + + + + + Use to suppress modularization of this Binary identifier in merge modules. + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + Icon used for Shortcut, ProgId, or Class elements (but not UI controls) + + + + How To: Set your installer's icon in Add/Remove Programs + How To: Create a shortcut on the Start Menu + + + + + + The Id cannot be longer than 55 characters. In order to prevent errors in cases where the Id is modularized, it should not be longer than 18 characters. + + + + + Path to the icon file. + + + + + + + + + + + + + + + + + + + + + + + + + + + Element value is the condition. CDATA may be used to when a condition contains many XML characters + that must be escaped. It is important to note that each EmbeddedChainer element must have a mutually exclusive condition + to ensure that only one embedded chainer will execute at a time. If the conditions are not mutually exclusive the chainer + that executes is undeterministic. + + + + + Unique identifier for embedded chainer. + + + + + Value to append to the transaction handle and passed to the chainer executable. + + + + + + Reference to the Binary element that contains the chainer executable. Mutually exclusive with + the FileSource and PropertySource attributes. + + + + + + + Reference to the File element that is the chainer executable. Mutually exclusive with + the BinarySource and PropertySource attributes. + + + + + + + Reference to a Property that resolves to the full path to the chainer executable. Mutually exclusive with + the BinarySource and FileSource attributes. + + + + + + + + + + + Reference to an EmbeddedChainer element. This will force the entire referenced Fragment's contents + to be included in the installer database. + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + Element value is the condition. Use CDATA if message contains delimiter characters. + + + + + + Specifies extra files to be extracted for use by the embedded UI, such as language resources. + + + + + + + Unique identifier for embedded UI.If this attribute is not specified the Name attribute or the file name + portion of the SourceFile attribute will be used. + + + + + + Embedded UI will not recieve any INSTALLLOGMODE_FATALEXIT messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_ERROR messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_WARNING messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_USER messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_INFO messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_FILESINUSE messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_RESOLVESOURCE messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_OUTOFDISKSPACE messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_ACTIONSTART messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_ACTIONDATA messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_PROGRESS messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_COMMONDATA messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_INITIALIZE messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_TERMINATE messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_SHOWDIALOG messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_RMFILESINUSE messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_INSTALLSTART messages. + + + + + Embedded UI will not recieve any INSTALLLOGMODE_INSTALLEND messages. + + + + + + The name for the embedded UI DLL when it is extracted from the Product and executed. (Windows Installer + does not support the typical short filename and long filename combination for embedded UI files as it + does for other kinds of files.) If this attribute is not specified the file name portion of the SourceFile + attribute will be used. + + + + + + + Path to the binary file that is the embedded UI. This must be a DLL that exports the following + three entry points: InitializeEmbeddedUI, EmbeddedUIHandler and ShutdownEmbeddedUI. + + + + + + Set yes to allow the Windows Installer to display the embedded UI during basic UI level installation. + + + + + + + + Defines a resource for use by the embedded UI. + + + + + + + + + + Identifier for the embedded UI resource. + + + + + + The name for the resource when it is extracted from the Product for use by the embedded UI DLL. (Windows + Installer does not support the typical short filename and long filename combination for embedded UI files + as it does for other kinds of files.) If this attribute is not specified the Id attribute will be used. + + + + + + Path to the binary file that is the embedded UI resource. + + + + + + + + + + + + + + + Element value is Message, use CDATA if message contains delimiter characters + + + + Number of the error for which a message is being provided. See MSI SDK for error definitions. + + + + + + + + + + + + + + + + + The element value is the optional Condition expression. + + + + + The parent Control for this Publish element, should only be specified when this element is a child of the UI element. + + + + + + + The parent Dialog for this Publish element, should only be specified when this element is a child of the UI element. + This attribute will create a reference to the specified Dialog, so an additional DialogRef is not necessary. + + + + + + + Set this attribute's value to one of the standard control events to trigger that event. + Either this attribute or the Property attribute must be set, but not both at the same time. + + + + + + + This attribute should only need to be set if this element is nested under a UI element in order to + control the order in which this publish event will be started. + If this element is nested under a Control element, the default value will be one greater than any + previous Publish element's order (the first element's default value is 1). + If this element is nested under a UI element, the default value is always 1 (it does not get a + default value based on any previous Publish elements). + + + + + + + Set this attribute's value to a property name to set that property. + Either this attribute or the Event attribute must be set, but not both at the same time. + + + + + + + If the Property attribute is specified, set the value of this attribute to the new value for the property. + To set a property to null, do not set this attribute (the ControlEvent Argument column will be set to '{}'). + Otherwise, this attribute's value should be the argument for the event specified in the Event attribute. + If the event doesn't take an attribute, a common value to use is "0". + + + + + + + + + + + Sets attributes for events in the EventMapping table + + + + + + + + + must be one of the standard control events' + + + + + if not present can only handle enable, disable, hide, unhide events + + + + + + + + An alternative to using the Text attribute when the value contains special XML characters like <, >, or &. + + + + + + + + Instructs the text to be imported from a file instead of the element value during the binding process. + + + + + + + + + + + + + + + + + + + + + + + + Contains the controls that appear on each dialog. + + + + + + alternative to Text attribute when CDATA is needed to escape XML delimiters + + + + + ComboBox table with ListItem children + + + + + ListBox table with ListItem children + + + + + ListView table with ListItem children + + + + + RadioButton table with RadioButton children + + + + + Property table entry for the Property table column associated with this control + + + + + Icon referenced in icon column of row + + + + + child elements affecting operation of this control + + + + Condition to specify actions for this control based on the outcome of the condition. + + + + + + + + + Combined with the Dialog Id to make up the primary key of the Control table. + + + + + The type of the control. Could be one of the following: Billboard, Bitmap, CheckBox, ComboBox, DirectoryCombo, DirectoryList, Edit, GroupBox, Hyperlink, Icon, Line, ListBox, ListView, MaskedEdit, PathEdit, ProgressBar, PushButton, RadioButtonGroup, ScrollableText, SelectionTree, Text, VolumeCostList, VolumeSelectCombo + + + + + Horizontal coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. + + + + + Vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. + + + + + Width of the rectangular boundary of the control. This must be a non-negative number. + + + + + Height of the rectangular boundary of the control. This must be a non-negative number. + + + + + The name of a defined property to be linked to this control. This column is required for active controls. + + + + + A localizable string used to set the initial text contained in a control. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see Formatted for details. + + + + + This attribute is reserved for future use. There is no need to use this until Windows Installer uses it for something. + + + + + The string used for the Tooltip. + + + + + This attribute is only valid for CheckBox Controls. When set, the linked Property will be set to this value when the check box is checked. + + + + + This attribute is only valid for CheckBox controls. The value is the name of a Property that was already used as the Property for another CheckBox control. The Property attribute cannot be specified. The attribute exists to support multiple checkboxes on different dialogs being tied to the same property. + + + + + + Set this attribute to "yes" to cause this Control to be skipped in the tab sequence. + + + + + Set this attribute to "yes" to cause this Control to be invoked by the return key. + + + + + Set this attribute to "yes" to cause this Control to be invoked by the escape key. + + + + + + Set this attribute to "yes" to cause the Control to be hidden. + + + + + Set this attribute to "yes" to cause the Control to be disabled. + + + + + Set this attribute to "yes" to cause the Control to be sunken. + + + + + Specifies whether the value displayed or changed by this control is referenced indirectly. If this bit is set, the control displays or changes the value of the property that has the identifier listed in the Property column of the Control table. + + + + + Set this attribute to "yes" to cause the linked Property value for the Control to be treated as an integer. Otherwise, the Property will be treated as a string. + + + + + Set this attribute to "yes" to cause the Control to display from right to left. + + + + + Set this attribute to "yes" to cause the Control to be right aligned. + + + + + Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. + + + + + + This attribute is only valid for Text Controls. + + + + + This attribute is only valid for Text Controls. + + + + + This attribute is only valid for Text Controls. + + + + + This attribute is only valid for Text Controls. + + + + + This attribute is only valid for Text Controls. + + + + + This attribute is only valid for Edit Controls. + + + + + This attribute is only valid for Edit Controls. + + + + + This attribute is only valid for ProgressBar Controls. + + + + + This attribute is only valid for Volume and Directory Controls. + + + + + This attribute is only valid for Volume and Directory Controls. + + + + + This attribute is only valid for Volume and Directory Controls. + + + + + This attribute is only valid for Volume and Directory Controls. + + + + + This attribute is only valid for Volume and Directory Controls. + + + + + This attribute is only valid for Volume and Directory Controls. + + + + + This attribute is only valid for VolumeCostList Controls. + + + + + This attribute is only valid for ListBox, ListView, and ComboBox Controls. Set + the value of this attribute to "yes" to have entries appear in the order specified under the Control. + If the attribute value is "no" or absent the entries in the control will appear in alphabetical order. + + + + + + This attribute is only valid for ComboBox Controls. + + + + + This attribute is only valid for RadioButton, PushButton, and Icon Controls. + + + + + This attribute is only valid for RadioButton, PushButton, and Icon Controls. + + + + + + + + + + + + This attribute is only valid for RadioButton, PushButton, and Icon Controls. + + + + + This attribute is only valid for RadioButton and PushButton Controls. + + + + + This attribute is only valid for RadioButton and PushButton Controls. + + + + + This attribute is only valid for RadioButton and Checkbox Controls. + + + + + This attribute is only valid for RadioButton Controls. + + + + + + This attribute is only valid for PushButton controls. + Set this attribute to "yes" to add the User Account Control (UAC) elevation icon (shield icon) to the PushButton control. + If this attribute's value is "yes" and the installation is not yet running with elevated privileges, + the pushbutton control is created using the User Account Control (UAC) elevation icon (shield icon). + If this attribute's value is "yes" and the installation is already running with elevated privileges, + the pushbutton control is created using the other icon attributes. + Otherwise, the pushbutton control is created using the other icon attributes. + + + + + + + + + Billboard to display during install of a Feature + + + + + + + + + + + Only controls of static type such as: Text, Bitmap, Icon, or custom control can be placed on a billboard. + + + + + + Unique identifier for the Billboard. + + + + + Feature whose state determines if the Billboard is shown. + + + + + + + + Billboard action during which child Billboards are displayed + + + + + + + + + + + Order of Billboard elements determines order of display + + + + + + Action name that determines when the Billboard should be shown. + + + + + + + + + + + + + + + + Defines a dialog box in the Dialog Table. + + + + + + + Control elements belonging to this dialog. + + + + + + Unique identifier for the dialog. + + + + + Horizontal placement of the dialog box as a percentage of screen width. The default value is 50. + + + + + Vertical placement of the dialog box as a percentage of screen height. The default value is 50. + + + + + The width of the dialog box in dialog units. + + + + + The height of the dialog box in dialog units. + + + + + The title of the dialog box. + + + + + + Used to hide the dialog. + + + + + Used to set the dialog as modeless. + + + + + Used to specify if the dialog can be minimized. + + + + + Used to set the dialog as system modal. + + + + + Keep modeless dialogs alive when this dialog is created through DoAction. + + + + + Have the dialog periodically call the installer to check if available disk space has changed. + + + + + Used to specify if pictures in the dialog box are rendered with a custom palette. + + + + + Used to specify if the text in the dialog should be displayed in right to left reading order. + + + + + Align text on the right. + + + + + Used to align the scroll bar on the left. + + + + + Specifies this dialog as an error dialog. + + + + + + + + + + + Reference to a Dialog. This will cause the entire referenced section's contents + to be included in the installer database. + + + + + + The identifier of the Dialog to reference. + + + + + + + + + + + + + + + Element value is progress message text for action + + + + + used to format ActionData messages from action processing + + + + + + + + + + + + + + + + + + + 0 to 255 + + + + + 0 to 255 + + + + + 0 to 255 + + + + + + + + + + + + The value (and optional text) associated with an item in a ComboBox, ListBox, or ListView. + + + + + + + + + + + + The value assigned to the associated ComboBox, ListBox, or ListView property if this item is selected. + + + + + + + The localizable, visible text to be assigned to the item. + If not specified, this will default to the value of the Value attribute. + + + + + + + The identifier of the Binary (not Icon) element containing the icon to associate with this item. + This value is only valid when nested under a ListView element. + + + + + + + + + Set of items for a particular ListBox control tied to an install Property + + + + + + + + + + + + entry for ListBox table + + + + + + Property tied to this group + + + + + + + + Set of items for a particular ComboBox control tied to an install Property + + + + + + + + + + + + entry for ComboBox table + + + + + + Property tied to this group + + + + + + + + Set of items for a particular ListView control tied to an install Property + + + + + + + + + + + + entry for ListView table + + + + + + Property tied to this group + + + + + + + + + + + + + Text or Icon plus Value that is assigned to the Property of the parent Control (RadioButtonGroup). + + + + + + This attribute defines the bitmap displayed with the radio button. The value of the attribute creates a reference + to a Binary element that represents the bitmap. This attribute is mutually exclusive with the Icon and Text + attributes. + + + + + + + + + This attribute defines the icon displayed with the radio button. The value of the attribute creates a reference + to a Binary element that represents the icon. This attribute is mutually exclusive with the Bitmap and Text + attributes. + + + + + + Text displayed with the radio button. This attribute is mutually exclusive with the Bitmap and Icon attributes. + + + + + + Value assigned to the associated control Property when this radio button is selected. + + + + + + + + + + + Set of radio buttons tied to the specified Property + + + + + + + + + + + + + + Property tied to this group. + + + + + + + + Text associated with certain controls + + + + + + + + + + Element value is text, may use CDATA if needed to escape XML delimiters + + + + + + + + + + Reference to a UI element. This will force the entire referenced Fragment's contents + to be included in the installer database. + + + + + + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + Enclosing element to compartmentalize UI specifications. + + + + + + + + + + Embedded UI definition with EmbeddedResource children. + + + + + Error text associated with install error + + + + + ActionText entry associated with an action + + + + + Billboard table item with child Controls + + + + + ComboBox table with ListItem children + + + + + ListBox table with ListItem children + + + + + ListView table with ListItem children + + + + + RadioButton table with RadioButton children + + + + + TextStyle entry for use in control text + + + + + values for UIText property, not installer Property + + + + + Dialog specification, called from Sequence + + + + + Reference to a Dialog specification. + + + + + + + + + + + + + + + + + + + + Defines a custom table for use from a custom action. + + + + + + Column definition for the custom table. + + + + + Row definition for the custom table. + + + + + + Identifier for the custom table. + + + + + Indicates the table data is transformed into the bootstrapper application data manifest. + + + + + + + Column definition for a Custom Table + + + + + Identifier for the column. + + + + + Whether this column is a primary key. + + + + + The type of this column. + + + + + + + Column contains a path to a file that will be inserted into the column as a binary object. + If this value is set, the Category attribute must also be set with a value of 'Binary' to pass ICE validation. + + + + + + + Column contains an integer or datetime value (the MinValue and MaxValue attributes should also be set). + + + + + + + Column contains a non-localizable string value. + + + + + + + + + Width of this column. + + + + + Whether this column can be left null. + + + + + Whether this column can be localized. + + + + + Minimum value for a numeric value, date or version in this column. + + + + + Maximum value for a numeric value, date or version in this column. + + + + + Table in which this column is an external key. Can be semicolon delimited. + + + + + Column in the table in KeyTable attribute. + + + + + + Category of this column. + This attribute must be specified with a value of 'Binary' if the Type attribute's value is 'binary'. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Semicolon delimited list of permissible values. + + + + + Description of this column. + + + + + How this column should be modularized, if at all. + + + + + + + Column should not be modularized. This is the default value. + + + + + + + Column should be modularized. + + + + + + + Column is a condition and should be modularized. + + + + + + + When the column is an primary or foreign key to the Icon table it should be modularized special. + + + + + + + Any Properties in the column should be modularized. + + + + + + + Semi-colon list of keys, all of which need to be modularized. + + + + + + + + + + + Row data for a Custom Table + + + + + + + + + + Used for a Custom Table. Specifies the data for the parent Row and specified Column. + + + + + + A data value + + + + Specifies in which column to insert this data. + + + + + + + + + + + Use this element to ensure that a table appears in the installer database, even if its empty. + + + + This element is particularly useful for two problems that may occur while merging merge modules: + + The first likely problem is that in order to properly merge you need to have certain + tables present prior to merging. Using this element is one way to ensure those tables + are present prior to the merging. + + The other common problem is that a merge module has incorrect validation information + about some tables. By ensuring these tables prior to merging, you can avoid this + problem because the correct validation information will go into the installer database + before the merge module has a chance to set it incorrectly. + + + + + + + The name of the table. + + + + + + + + This element exposes advanced WiX functionality. Use this element to declare WiX variables + from directly within your authoring. WiX variables are not resolved until the final msi/msm/pcp + file is actually generated. WiX variables do not persist into the msi/msm/pcp file, so they cannot + be used when an MSI file is being installed; it's a WiX-only concept. + + + + + + The name of the variable. + + + + + + Set this value to 'yes' in order to make the variable's value overridable either by + another WixVariable entry or via the command-line option -d<name>=<value> + for light.exe. If the same variable is declared overridable in multiple places it + will cause an error (since WiX won't know which value is correct). The default value + is 'no'. + + + + + + + The value of the variable. The value cannot be an empty string because that would + make it possible to accidentally set a column to null. + + + + + + + + + Use this element to contain definitions for instance transforms. + + + + + + + + + The Id of the Property who's value should change for each instance. + + + + + + + + Defines an instance transform for your product. + + + + + + + The identity of the instance transform. This value will define the name by which the instance + should be referred to on the command line. In addition, the value of the this attribute will + determine what the value of the property specified in Property attribute on InstanceTransforms + will change to for each instance. + + + + + + The ProductCode for this instance. + + + + + The ProductName for this instance. + + + + + The UpgradeCode for this instance. + + + + + + + + Simplifies authoring for major upgrades, including support for preventing downgrades. + + The parent Product element must have valid UpgradeCode and Version attributes. + + When the FindRelatedProducts action detects a related product installed on the system, + it appends the product code to the property named WIX_UPGRADE_DETECTED. After the + FindRelatedProducts action is run, the value of the WIX_UPGRADE_DETECTED property is a + list of product codes, separated by semicolons (;), detected on the system. + + + + + + + + + + When set to no (the default), products with lower version numbers are blocked from + installing when a product with a higher version is installed; the DowngradeErrorMessage + attribute must also be specified. + + When set to yes, any version can be installed over any other version. + + + + + + + When set to no (the default), installing a product with the same version and upgrade code + (but different product code) is allowed and treated by MSI as two products. When set to yes, + WiX sets the msidbUpgradeAttributesVersionMaxInclusive attribute, which tells MSI to treat + a product with the same version as a major upgrade. + + This is useful when two product versions differ only in the fourth version field. MSI + specifically ignores that field when comparing product versions, so two products that + differ only in the fourth version field are the same product and need this attribute set to + yes to be detected. + + Note that because MSI ignores the fourth product version field, setting this attribute to + yes also allows downgrades when the first three product version fields are identical. + For example, product version 1.0.0.1 will "upgrade" 1.0.0.2998 because they're seen as the + same version (1.0.0). That could reintroduce serious bugs so the safest choice is to change + the first three version fields and omit this attribute to get the default of no. + + This attribute cannot be "yes" when AllowDowngrades is also "yes" -- AllowDowngrades + already allows two products with the same version number to upgrade each other. + + + + + + + When set to yes, products with higer version numbers are blocked from + installing when a product with a lower version is installed; the UpgradeErrorMessage + attribute must also be specified. + + When set to no (the default), any version can be installed over any lower version. + + + + + + + The message displayed if users try to install a product with a lower version number + when a product with a higher version is installed. Used only when AllowDowngrades + is no (the default). + + + + + + + The message displayed if users try to install a product with a higer version number + when a product with a lower version is installed. Used only when Disallow + is yes. + + + + + + + When set to yes (the default), the MigrateFeatureStates standard action will set the + feature states of the upgrade product to those of the installed product. + + When set to no, the installed features have no effect on the upgrade installation. + + + + + + + When set to yes, failures removing the installed product during the upgrade will be + ignored. + + When set to no (the default), failures removing the installed product during the upgrade + will be considered a failure and, depending on the scheduling, roll back the upgrade. + + + + + + + A formatted string that contains the list of features to remove from the installed + product. The default is to remove all features. Note that if you use formatted property + values that evaluate to an empty string, no features will be removed; only omitting + this attribute defaults to removing all features. + + + + + + + Determines the scheduling of the RemoveExistingProducts standard action, which is when + the installed product is removed. The default is "afterInstallValidate" which removes + the installed product entirely before installing the upgrade product. It's slowest but + gives the most flexibility in changing components and features in the upgrade product. + + For more information, see RemoveExistingProducts. + + + + + + + + (Default) Schedules RemoveExistingProducts after the InstallValidate standard + action. This scheduling removes the installed product entirely before installing + the upgrade product. It's slowest but gives the most flexibility in changing + components and features in the upgrade product. Note that if the installation + of the upgrade product fails, the machine will have neither version installed. + + + + + + + Schedules RemoveExistingProducts after the InstallInitialize standard action. + This is similar to the afterInstallValidate scheduling, but if the installation + of the upgrade product fails, Windows Installer also rolls back the removal of + the installed product -- in other words, reinstalls it. + + + + + + + Schedules RemoveExistingProducts between the InstallExecute and InstallFinalize standard actions. + This scheduling installs the upgrade product "on top of" the installed product then lets + RemoveExistingProducts uninstall any components that don't also exist in the upgrade product. + Note that this scheduling requires strict adherence to the component rules because it relies + on component reference counts to be accurate during installation of the upgrade product and + removal of the installed product. For more information, see + + Bob Arnson's blog post "Paying for Upgrades" + for details. If installation of the upgrade product fails, Windows Installer + also rolls back the removal of the installed product -- in other words, reinstalls it. + + + + + + + Schedules RemoveExistingProducts between the InstallExecuteAgain and InstallFinalize standard actions. + This is identical to the afterInstallExecute scheduling but after the InstallExecuteAgain standard + action instead of InstallExecute. + + + + + + + Schedules RemoveExistingProducts after the InstallFinalize standard action. This is similar to the + afterInstallExecute and afterInstallExecuteAgain schedulings but takes place outside the + installation transaction so if installation of the upgrade product fails, Windows Installer does + not roll back the removal of the installed product, so the machine will have both versions + installed. + + + + + + + + + + + + + + + + + + + + Specifies the lower bound on the range of product versions to be detected by FindRelatedProducts. + + + + + Specifies the upper boundary of the range of product versions detected by FindRelatedProducts. + + + + + Specifies the set of languages detected by FindRelatedProducts. Enter a list of numeric language identifiers (LANGID) separated by commas (,). Leave this value null to specify all languages. Set ExcludeLanguages to "yes" in order detect all languages, excluding the languages listed in this value. + + + + + Set to "no" to make the range of versions detected exclude the value specified in Minimum. This attribute is "yes" by default. + + + + + Set to "yes" to make the range of versions detected include the value specified in Maximum. + + + + + Set to "yes" to detect all languages, excluding the languages listed in the Language attribute. + + + + + This value specifies the upgrade code for the products that are to be detected by the FindRelatedProducts action. + + + + + + Extensibility point in the WiX XML Schema. Schema extensions can register additional + attributes at this point in the schema. + + + + + + + + + + + + + Text node specifies the condition of the action. + + + + The name of an action that this action should come after. + + + + + The name of an action that this action should come before. + + + + + + If "yes", the sequencing of this action may be overridden by sequencing elsewhere. + + + + + + A value used to indicate the position of this action in a sequence. + + + + + If yes, this action will not occur. + + + + + + + + + + + A value used to indicate the position of this action in a sequence. + + + + + If yes, this action will not occur. + + + + + + + + + Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples. + + + + + + + + Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". A GUID can be auto-generated by setting the value to "*". Also allows "PUT-GUID-HERE" for use in examples. + + + + + + + + Values of this type will either be "attached" or "detached". + + + + + + + + + The list of communcation protocols with executable packages Burn supports. + + + + + + + The executable package does not support a communication protocol. + + + + + + + The executable package is another Burn bundle and supports the Burn communication protocol. + + + + + + + The executable package implements the .NET Framework v4.0 communication protocol. + + + + + + + + Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}", but also allows "PUT-GUID-HERE" for use in examples. It's also possible to have an empty value "". + + + + + + + + Values of this type must be an integer or the value can be a localization variable with the format !(loc.Variable) where "Variable" is the name of the variable. + + + + + + + + Values of this type will look like: "FileName.ext". Only one period is allowed. The following characters are not allowed: \ ? | > : / * " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE). + + + + + + + + Values of this type will look like: "Long File Name.extension". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ ? | > : / * " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE). + + + + + + + + Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534. + + + + + + + + Values of this type will look like: "File?.*". Only one period is allowed. The following characters are not allowed: \ | > : / " + , ; = [ ] less-than, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE). + + + + + + + + Values of this type will look like: "Long File N?me.extension*". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ | > : / " or less-than. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE). + + + + + + + + This type supports any hexadecimal number. Both upper and lower case is acceptable for letters appearing in the number. This type also includes the empty string: "". + + + + + + + + Values of this type will either be "yes" or "no". + + + + + + Values of this type will either be "yes" or "no". + + + + + + + + + Values of this type will either be "button", "yes" or "no". + + + + + + Values of this type will either be "button", "yes" or "no". + + + + + + + + + + Values of this type will either be "default", "yes", or "no". + + + + + + Values of this type will either be "default", "yes", or "no". + + + + + + + + + + Values of this type will either be "always", "yes", or "no". + + + + + + Values of this type will either be "always", "yes", or "no". + + + + + + + + + + Values of this type represent possible registry roots. + + + + + + A per-user installation will make the operation occur under HKEY_CURRENT_USER. + A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE. + + + + + + + Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value + from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems, + the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations. + + + + + + + Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values + in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer. + + + + + + + Operation occurs under HKEY_LOCAL_MACHINE. + + + + + + + Operation occurs under HKEY_USERS. + + + + + + + + Value indicates that this action is executed if the installer returns the associated exit type. Each exit type can be used with no more than one action. + Multiple actions can have exit types assigned, but every action and exit type must be different. Exit types are typically used with dialog boxes. + + + + + + + + + + + Specifies whether an action occur on install, uninstall or both. + + + + + + The action should happen during install (msiInstallStateLocal or msiInstallStateSource). + + + + + + + The action should happen during uninstall (msiInstallStateAbsent). + + + + + + + The action should happen during both install and uninstall. + + + + + + + + + Controls which sequences the item assignment is sequenced in. + + + + + + + Schedules the assignment in the InstallUISequence and the InstallExecuteSequence. + + + + + + + Schedules the assignment to run in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped. + + + + + + + Schedules the assignment only in the the InstallExecuteSequence. + + + + + + + Schedules the assignment only in the the InstallUISequence. + + + + + + + + + Indicates the compression level for a cabinet. + + + + + + + + Indicates the compression level for a cabinet. + + + + + + + + + + + + + A type that represents that 1 or more preprocessor variables (as they appear in sources on disk, before preprocessor has run). + + + + + + + + Values of this type must be an integer or the value of one or more preprocessor variables with the format $(var.Variable) where "Variable" is the name of the preprocessor variable. + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/wixloc.xsd b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/wixloc.xsd new file mode 100644 index 0000000..a67c34e --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/doc/wixloc.xsd @@ -0,0 +1,134 @@ + + + + + + + + Schema for describing Windows Installer Xml Localization files (.wxl). + + + + + + + + You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252 or iso-8859-1. See Code Pages for more information. + + How To: Build a localized version of your installer + How To: Make your installer localizable + + + + + + + + + + The code page integer value or web name for the resulting database. You can also specify -1 which will not reset the database code page. See remarks for more information. + + + + + Culture of the localization strings. + + + + + The decimal language ID (LCID) for the culture. + + + + + + + + + How To: Build a localized version of your installer + How To: Make your installer localizable + + + + + + Identity of the resource. + + + + + Determines if the localized string may be overridden. + + + + + Indicates whether the string is localizable text or a non-localizable string that must be unique per locale. No WiX tools are affected by the value of this attribute; it used as documentation for localizers to ignore things like GUIDs or identifiers that look like text. + + + + + + + + Allows a localization to override the position, size, and text of dialogs and controls. Override the text by specifying the replacement text in the inner text of the UI element. + + + + + Identifies the dialog to localize or the dialog that a control to localize is in. + + + + + Combined with the Dialog attribute, identifies the control to localize. + + + + + For a dialog, overrides the authored horizontal centering. For a control, overrides the authored horizontal coordinate of the upper-left corner of the rectangular boundary. This must be a non-negative number. + + + + + For a dialog, overrides the authored vertical centering. For a control, overrides the authored vertical coordinate of the upper-left corner of the rectangular boundary of the control. This must be a non-negative number. + + + + + For a dialog, overrides the authored width in dialog units. For a control, overrides the authored width of the rectangular boundary of the control. This must be a non-negative number. + + + + + For a dialog, overrides the authored height in dialog units. For a control, overrides the authored height of the rectangular boundary of the control. This must be a non-negative number. + + + + + Set this attribute to "yes" to cause the Control to display from right to left. Not valid for a dialog. + + + + + Set this attribute to "yes" to cause the Control to be right aligned. Not valid for a dialog. + + + + + Set this attribute to "yes" to cause the scroll bar to display on the left side of the Control. Not valid for a dialog. + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/heat.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/heat.exe new file mode 100644 index 0000000..d7f8a2b Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/heat.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/heat.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/heat.exe.config new file mode 100644 index 0000000..a607f99 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/heat.exe.config @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/insignia.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/insignia.exe new file mode 100644 index 0000000..5b8cf61 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/insignia.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/insignia.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/insignia.exe.config new file mode 100644 index 0000000..700aff6 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/insignia.exe.config @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/light.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/light.exe new file mode 100644 index 0000000..b993446 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/light.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/light.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/light.exe.config new file mode 100644 index 0000000..bbfc736 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/light.exe.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/lit.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lit.exe new file mode 100644 index 0000000..5e342d8 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lit.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/lit.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lit.exe.config new file mode 100644 index 0000000..bbfc736 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lit.exe.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.exe new file mode 100644 index 0000000..abd2f2f Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.exe.config new file mode 100644 index 0000000..7c29d15 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.exe.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.targets b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.targets new file mode 100644 index 0000000..6c87a68 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/lux.targets @@ -0,0 +1,112 @@ + + + + + + + + + + + Compile;_ScanForUnitTests;_GenerateTestConsumer;Link + $(BuildTestPackageDependsOn) + + + + + + + + + + + + + + + + + + + + + $(OutputName)_test + ICE71;$(SuppressIces) + true + + + + + + + + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/melt.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/melt.exe new file mode 100644 index 0000000..21248ce Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/melt.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/melt.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/melt.exe.config new file mode 100644 index 0000000..bbfc736 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/melt.exe.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/mergemod.cub b/PDFWorkflowManager/packages/WiX.3.11.2/tools/mergemod.cub new file mode 100644 index 0000000..2042a99 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/mergemod.cub differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/mergemod.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/mergemod.dll new file mode 100644 index 0000000..cc53b1c Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/mergemod.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/mspatchc.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/mspatchc.dll new file mode 100644 index 0000000..4720f1a Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/mspatchc.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/nit.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/nit.exe new file mode 100644 index 0000000..79ba9a9 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/nit.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/nit.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/nit.exe.config new file mode 100644 index 0000000..bd737ea --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/nit.exe.config @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/pyro.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/pyro.exe new file mode 100644 index 0000000..288f527 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/pyro.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/pyro.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/pyro.exe.config new file mode 100644 index 0000000..bbfc736 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/pyro.exe.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/retina.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/retina.exe new file mode 100644 index 0000000..dde04bd Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/retina.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/retina.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/retina.exe.config new file mode 100644 index 0000000..5d0a22a --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/retina.exe.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.config new file mode 100644 index 0000000..25a30e1 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.config @@ -0,0 +1,26 @@ + + + + + + + +
+ + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.dll new file mode 100644 index 0000000..928992c Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.xml b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.xml new file mode 100644 index 0000000..c184de2 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/BootstrapperCore.xml @@ -0,0 +1,2813 @@ + + + + BootstrapperCore + + + + + The default bootstrapper application. + + + + + Creates a new instance of the class. + + + + + Fired when the engine is starting up the bootstrapper application. + + + + + Fired when the engine is shutting down the bootstrapper application. + + + + + Fired when the system is shutting down or user is logging off. + + + To prevent shutting down or logging off, set to + ; otherwise, set it to . + By default setup will prevent shutting down or logging off between + and . + Derivatives can change this behavior by overriding + or handling . + If contains + the bootstrapper cannot prevent the shutdown and only has a few seconds to save state or perform any other + critical operations before being closed by the operating system. + This event may be fired on a different thread. + + + + + Fired when the overall detection phase has begun. + + + + + Fired when a forward compatible bundle is detected. + + + + + Fired when the update detection phase has begun. + + + + + Fired when the update detection has found a potential update candidate. + + + + + Fired when the update detection phase has completed. + + + + + Fired when the detection for a prior bundle has begun. + + + + + Fired when a related bundle has been detected for a bundle. + + + + + Fired when the detection for a specific package has begun. + + + + + Fired when a package was not detected but a package using the same provider key was. + + + + + Fired when a related MSI package has been detected for a package. + + + + + Fired when an MSP package detects a target MSI has been detected. + + + + + Fired when a feature in an MSI package has been detected. + + + + + Fired when the detection for a specific package has completed. + + + + + Fired when the detection phase has completed. + + + + + Fired when the engine has begun planning the installation. + + + + + Fired when the engine has begun planning for a related bundle. + + + + + Fired when the engine has begun planning the installation of a specific package. + + + + + Fired when the engine plans a new, compatible package using the same provider key. + + + + + Fired when the engine is about to plan the target MSI of a MSP package. + + + + + Fired when the engine is about to plan a feature in an MSI package. + + + + + Fired when the engine has completed planning the installation of a specific package. + + + + + Fired when the engine has completed planning the installation. + + + + + Fired when the engine has begun installing the bundle. + + + + + DEPRECATED: This event will be merged with ApplyBegin in wix4. + Fired right after ApplyBegin, providing the number of phases that the engine will go through in apply. + + + + + Fired when the engine is about to start the elevated process. + + + + + Fired when the engine has begun registering the location and visibility of the bundle. + + + + + Fired when the engine has completed registering the location and visibility of the bundle. + + + + + Fired when the engine has begun removing the registration for the location and visibility of the bundle. + + + + + Fired when the engine has completed removing the registration for the location and visibility of the bundle. + + + + + Fired when the engine has begun caching the installation sources. + + + + + Fired when the engine has begun caching a specific package. + + + + + Fired when the engine has begun acquiring the installation sources. + + + + + Fired when the engine has progress acquiring the installation sources. + + + + + Fired by the engine to allow the user experience to change the source + using or . + + + + + Fired when the engine has completed the acquisition of the installation sources. + + + + + Fired when the engine begins the verification of the acquired installation sources. + + + + + Fired when the engine complete the verification of the acquired installation sources. + + + + + Fired when the engine has completed caching a specific package. + + + + + Fired after the engine has cached the installation sources. + + + + + Fired when the engine has begun installing packages. + + + + + Fired when the engine has begun installing a specific package. + + + + + Fired when the engine executes one or more patches targeting a product. + + + + + Fired when the engine has encountered an error. + + + + + Fired when the engine has changed progress for the bundle installation. + + + + + Fired when Windows Installer sends an installation message. + + + + + Fired when Windows Installer sends a files in use installation message. + + + + + Fired when the engine has completed installing a specific package. + + + + + Fired when the engine has completed installing packages. + + + + + Fired by the engine to request a restart now or inform the user a manual restart is required later. + + + + + Fired when the engine has completed installing the bundle. + + + + + Fired by the engine while executing on payload. + + + + + Fired when the engine is about to launch the preapproved executable. + + + + + Fired when the engine has completed launching the preapproved executable. + + + + + Specifies whether this bootstrapper should run asynchronously. The default is true. + + + + + Gets the information for how the UX should be started. + + + + + Gets the for interaction with the Engine. + + + + + Entry point that is called when the bootstrapper application is ready to run. + + + + + Called by the engine on startup of the bootstrapper application. + + Additional arguments for this event. + + + + Called by the engine to uninitialize the user experience. + + Additional arguments for this event. + + + + Called when the system is shutting down or the user is logging off. + + Additional arguments for this event. + + To prevent shutting down or logging off, set to + ; otherwise, set it to . + By default setup will prevent shutting down or logging off between + and . + Derivatives can change this behavior by overriding + or handling . + If contains + the bootstrapper cannot prevent the shutdown and only has a few seconds to save state or perform any other + critical operations before being closed by the operating system. + This method may be called on a different thread. + + + + + Called when the overall detection phase has begun. + + Additional arguments for this event. + + + + Called when the update detection phase has begun. + + Additional arguments for this event. + + + + Called when the update detection phase has begun. + + Additional arguments for this event. + + + + Fired when the update detection has found a potential update candidate. + + Additional arguments for this event. + + + + Called when the update detection phase has completed. + + Additional arguments for this event. + + + + Called when the detection for a prior bundle has begun. + + Additional arguments for this event. + + + + Called when a related bundle has been detected for a bundle. + + Additional arguments for this event. + + + + Called when the detection for a specific package has begun. + + Additional arguments for this event. + + + + Called when a package was not detected but a package using the same provider key was. + + Additional arguments for this event. + + + + Called when a related MSI package has been detected for a package. + + Additional arguments for this event. + + + + Called when an MSP package detects a target MSI has been detected. + + Additional arguments for this event. + + + + Called when an MSI feature has been detected for a package. + + Additional arguments for this event. + + + + Called when the detection for a specific package has completed. + + Additional arguments for this event. + + + + Called when the detection phase has completed. + + Additional arguments for this event. + + + + Called when the engine has begun planning the installation. + + Additional arguments for this event. + + + + Called when the engine has begun planning for a prior bundle. + + Additional arguments for this event. + + + + Called when the engine has begun planning the installation of a specific package. + + Additional arguments for this event. + + + + Called when the engine plans a new, compatible package using the same provider key. + + Additional arguments for this event. + + + + Called when the engine is about to plan the target MSI of a MSP package. + + Additional arguments for this event. + + + + Called when the engine is about to plan an MSI feature of a specific package. + + Additional arguments for this event. + + + + Called when then engine has completed planning the installation of a specific package. + + Additional arguments for this event. + + + + Called when the engine has completed planning the installation. + + Additional arguments for this event. + + + + Called when the engine has begun installing the bundle. + + Additional arguments for this event. + + + + Called right after OnApplyBegin. + + Additional arguments for this event. + + + + Called when the engine is about to start the elevated process. + + Additional arguments for this event. + + + + Called when the engine has begun registering the location and visibility of the bundle. + + Additional arguments for this event. + + + + Called when the engine has completed registering the location and visilibity of the bundle. + + Additional arguments for this event. + + + + Called when the engine has begun removing the registration for the location and visibility of the bundle. + + Additional arguments for this event. + + + + Called when the engine has completed removing the registration for the location and visibility of the bundle. + + Additional arguments for this event. + + + + Called when the engine begins to cache the installation sources. + + + + + + Called by the engine when it begins to cache a specific package. + + + + + + Called when the engine begins to cache the container or payload. + + + + + + Called when the engine has progressed on caching the container or payload. + + + + + + Called by the engine to allow the user experience to change the source + using or . + + Additional arguments for this event. + + + + Called when the engine complets caching of the container or payload. + + + + + + Called when the engine has started verify the payload. + + + + + + Called when the engine completes verification of the payload. + + + + + + Called when the engine completes caching a specific package. + + + + + + Called after the engine has cached the installation sources. + + Additional arguments for this event. + + + + Called when the engine has begun installing packages. + + Additional arguments for this event. + + + + Called when the engine has begun installing a specific package. + + Additional arguments for this event. + + + + Called when the engine executes one or more patches targeting a product. + + Additional arguments for this event. + + + + Called when the engine has encountered an error. + + Additional arguments for this event. + + + + Called when the engine has changed progress for the bundle installation. + + Additional arguments for this event. + + + + Called when Windows Installer sends an installation message. + + Additional arguments for this event. + + + + Called when Windows Installer sends a file in use installation message. + + Additional arguments for this event. + + + + Called when the engine has completed installing a specific package. + + Additional arguments for this event. + + + + Called when the engine has completed installing packages. + + Additional arguments for this event. + + + + Called by the engine to request a restart now or inform the user a manual restart is required later. + + Additional arguments for this event. + + + + Called when the engine has completed installing the bundle. + + Additional arguments for this event. + + + + Called by the engine while executing on payload. + + Additional arguments for this event. + + + + Called by the engine before trying to launch the preapproved executable. + + Additional arguments for this event. + + + + Called by the engine after trying to launch the preapproved executable. + + Additional arguments for this event. + + + + Identifies the bootstrapper application class. + + + This required assembly attribute identifies the bootstrapper application class. + + + + + Creates a new instance of the class. + + The of the user experience, or null for the default user experience. + + + + Gets the type of the bootstrapper application class to create. + + + + + Class used by the MUX host to create and return the IBootstrapperApplication implementation to the engine. + + + + + Creates a new instance of the class. + + + + + Loads the bootstrapper application assembly and creates an instance of the IBootstrapperApplication. + + IBootstrapperEngine provided for the bootstrapper application. + Command line for the bootstrapper application. + Bootstrapper application via interface. + The bootstrapper application assembly + does not define the . + + + + Locates the and returns the specified type. + + The assembly that defines the user experience class. + The bootstrapper application . + + + + Handler for the wix.bootstrapper configuration section group. + + + + + Creates a new instance of the class. + + + + + Gets the handler for the mux configuration section. + + + + + Handler for the supportedFramework collection. + + + + + Handler for the supportedFramework configuration section. + + + + + Creates a new instance of the class. + + + + + Gets the version of the supported framework. + + + The assembly specified by this name must contain a value matching the NETFX version registry key under + "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP". + + + + + Gets the runtime version required by this supported framework. + + + + + Container class for the interface. + + + + + Creates a new instance of the container class. + + The to contain. + + + + Gets or sets numeric variables for the engine. + + + + + Gets the number of packages in the bundle. + + + + + Gets or sets string variables for the engine using SecureStrings. + + + + + Gets or sets string variables for the engine. + + + + + Gets or sets variables for the engine. + + The class can keep track of when the build and revision fields are undefined, but the engine can't. + Therefore, the build and revision fields must be defined when setting a variable. + Use the NormalizeVersion method to make sure the engine can accept the Version. + + To keep track of versions without build or revision fields, use StringVariables instead. + + The given was invalid. + + + + Install the packages. + + The parent window for the installation user interface. + + + + Close the splash screen if it is still open. Does nothing if the splash screen is not or + never was opened. + + + + + Determine if all installation conditions are fulfilled. + + + + + Determine if all installation conditions are fulfilled. + + The parent window for the installation user interface. + + + + Elevate the install. + + The parent window of the elevation dialog. + true if elevation succeeded; otherwise, false if the user cancelled. + A Win32 error occurred. + + + + Escapes the input string. + + The string to escape. + The escaped string. + A Win32 error occurred. + + + + Evaluates the string. + + The string representing the condition to evaluate. + Whether the condition evaluated to true or false. + + + + Formats the input string. + + The string to format. + The formatted string. + A Win32 error occurred. + + + + Launches a preapproved executable elevated. As long as the engine already elevated, there will be no UAC prompt. + + The parent window of the elevation dialog (if the engine hasn't elevated yet). + Id of the ApprovedExeForElevation element specified when the bundle was authored. + Optional arguments. + + + + Launches a preapproved executable elevated. As long as the engine already elevated, there will be no UAC prompt. + + The parent window of the elevation dialog (if the engine hasn't elevated yet). + Id of the ApprovedExeForElevation element specified when the bundle was authored. + Optional arguments. + Timeout in milliseconds. When set to something other than zero, the engine will call WaitForInputIdle for the new process with this timeout before calling OnLaunchApprovedExeComplete. + + + + Logs the . + + The logging level. + The message to log. + + + + Determine the installation sequencing and costing. + + The action to perform when planning. + + + + Set the update information for a bundle. + + Optional local source path for the update. Default is "update\[OriginalNameOfBundle].exe". + Optional download source for the update. + Size of the expected update. + Type of the hash expected on the update. + Optional hash expected for the update. + + + + Set the local source for a package or container. + + The id that uniquely identifies the package or container. + The id that uniquely identifies the payload. + The new source path. + + + + Set the new download URL for a package or container. + + The id that uniquely identifies the package or container. + The id that uniquely identifies the payload. + The new url. + The user name for proxy authentication. + The password for proxy authentication. + + + + Sends error message when embedded. + + Error code. + Error message. + UI buttons to show on error dialog. + + + + Sends progress percentages when embedded. + + Percentage completed thus far. + Overall percentage completed. + + + + Shuts down the engine. + + Exit code indicating reason for shut down. + + + + An accessor for numeric, string, and version variables for the engine. + + + + + Gets or sets the variable given by . + + The name of the variable to get/set. + The value of the given variable. + An error occurred getting the variable. + + + + Gets whether the variable given by exists. + + The name of the variable to check. + True if the variable given by exists; otherwise, false. + + + + Gets whether the variable given by exists. + + The name of the variable to check. + True if the variable given by exists; otherwise, false. + + + + Gets the variable given by as a string. + + The name of the variable to get. + The length of the Unicode string. + The value by a pointer to a Unicode string. Must be freed by Marshal.FreeCoTaskMem. + An error occurred getting the variable. + + + + Initialize a SecureString with the given Unicode string. + + Pointer to Unicode string. + The string's length. + + + + Verifies that VersionVariables can pass on the given Version to the engine. + If the Build or Revision fields are undefined, they are set to zero. + + + + + Base class for classes that must return a value. + + + + + Creates a new instance of the class. + + + + + Creates a new instance of the class. + + Recommended result from engine. + + + + Gets or sets the of the operation. This is passed back to the engine. + + + + + Base class for classes that receive status from the engine. + + + + + Creates a new instance of the class. + + The return code of the operation. + + + + Gets the return code of the operation. + + + + + Base class for classes that receive status from the engine and return a result. + + + + + Creates a new instance of the class. + + The return code of the operation. + + + + Creates a new instance of the class. + + The return code of the operation. + The recommended result from the engine. + + + + Gets the return code of the operation. + + + + + Additional arguments used when startup has begun. + + + + + Creates a new instance of the class. + + + + + Additional arguments used when shutdown has begun. + + + + + Creates a new instance of the class. + + + + + Additional arguments used when the system is shutting down or the user is logging off. + + + To prevent shutting down or logging off, set to + ; otherwise, set it to . + By default setup will prevent shutting down or logging off between + and . + If contains + the bootstrapper cannot prevent the shutdown and only has a few seconds to save state or perform any other + critical operations before being closed by the operating system. + + + + + Creates a new instance of the class. + + The reason the application is requested to close or being closed. + The recommendation from the engine. + + + + Gets the reason the application is requested to close or being closed. + + + To prevent shutting down or logging off, set to + ; otherwise, set it to . + If contains + the bootstrapper cannot prevent the shutdown and only has a few seconds to save state or perform any other + critical operations before being closed by the operating system. + + + + + Additional arguments used when the overall detection phase has begun. + + + + + Creates a new instance of the class. + + Specifies whether the bundle is installed. + The number of packages to detect. + + + + Gets whether the bundle is installed. + + + + + Gets the number of packages to detect. + + + + + Additional arguments used when detected a forward compatible bundle. + + + + + Creates a new instance of the class. + + The identity of the forward compatible bundle. + Relationship type for this forward compatible bundle. + The tag of the forward compatible bundle. + Whether the detected forward compatible bundle is per machine. + The version of the forward compatible bundle detected. + The recommendation from the engine. + + + + Gets the identity of the forward compatible bundle detected. + + + + + Gets the relationship type of the forward compatible bundle. + + + + + Gets the tag of the forward compatible bundle. + + + + + Gets whether the detected forward compatible bundle is per machine. + + + + + Gets the version of the forward compatible bundle detected. + + + + + Additional arguments used when the detection for an update has begun. + + + + + Creates a new instance of the class. + + The location to check for an updated bundle. + The recommendation from the engine. + + + + Gets the identity of the bundle to detect. + + + + + Additional arguments used when the detection for an update has begun. + + + + + Creates a new instance of the class. + + The location to check for an updated bundle. + The expected size of the updated bundle. + The expected version of the updated bundle. + The title of the updated bundle. + The summary of the updated bundle. + The content type of the content of the updated bundle. + The content of the updated bundle. + The recommendation from the engine. + + + + Gets the size of the updated bundle. + + + + + Gets the version of the updated bundle. + + + + + Gets the title of the the updated bundle. + + + + + Gets the summary of the updated bundle. + + + + + Gets the content type of the content of the updated bundle. + + + + + Gets the content of the updated bundle. + + + + + Additional arguments used when the detection for an update has completed. + + + + + Creates a new instance of the class. + + The return code of the operation. + The location of the updated bundle. + + + + Gets the location of the updated bundle if one was detected. + + + + + Additional arguments used when the detection for a prior bundle has begun. + + + + + Creates a new instance of the class. + + The identity of the bundle to detect. + + + + Gets the identity of the bundle to detect. + + + + + Additional arguments used when a related bundle has been detected for a bundle. + + + + + Creates a new instance of the class. + + The identity of the related package bundle. + Relationship type for this related bundle. + The tag of the related package bundle. + Whether the detected bundle is per machine. + The version of the related bundle detected. + The operation that will be taken on the detected bundle. + + + + Gets the identity of the related bundle detected. + + + + + Gets the relationship type of the related bundle. + + + + + Gets the tag of the related package bundle. + + + + + Gets whether the detected bundle is per machine. + + + + + Gets the version of the related bundle detected. + + + + + Gets the operation that will be taken on the detected bundle. + + + + + Additional arguments used when the detection for a specific package has begun. + + + + + Creates a new instance of the class. + + The identity of the package to detect. + + + + Gets the identity of the package to detect. + + + + + Additional arguments used when a package was not found but a newer package using the same provider key was. + + + + + Creates a new instance of the class. + + The identity of the package that was not detected. + The identity of the compatible package that was detected. + + + + Gets the identity of the package that was not detected. + + + + + Gets the identity of the compatible package that was detected. + + + + + Additional arguments used when a related MSI package has been detected for a package. + + + + + Creates a new instance of the class. + + The identity of the package detecting. + The identity of the related package detected. + Whether the detected package is per machine. + The version of the related package detected. + The operation that will be taken on the detected package. + + + + Gets the identity of the product's package detected. + + + + + Gets the identity of the related package detected. + + + + + Gets whether the detected package is per machine. + + + + + Gets the version of the related package detected. + + + + + Gets the operation that will be taken on the detected package. + + + + + Additional arguments used when a target MSI package has been detected. + + + + + Creates a new instance of the class. + + Detected package identifier. + Detected product code. + Package state detected. + + + + Gets the identity of the target's package detected. + + + + + Gets the product code of the target MSI detected. + + + + + Gets the detected patch package state. + + + + + Additional arguments used when a feature in an MSI package has been detected. + + + + + Creates a new instance of the class. + + Detected package identifier. + Detected feature identifier. + Feature state detected. + + + + Gets the identity of the feature's package detected. + + + + + Gets the identity of the feature detected. + + + + + Gets the detected feature state. + + + + + Additional arguments used when the detection for a specific package has completed. + + + + + Creates a new instance of the class. + + The identity of the package detected. + The return code of the operation. + The state of the specified package. + + + + Gets the identity of the package detected. + + + + + Gets the state of the specified package. + + + + + Additional arguments used when the detection phase has completed. + + + + + Creates a new instance of the class. + + The return code of the operation. + + + + Additional arguments used when the engine has begun planning the installation. + + + + + Creates a new instance of the class. + + The number of packages to plan for. + + + + Gets the number of packages to plan for. + + + + + Additional arguments used when the engine has begun planning for a related bundle. + + + + + Creates a new instance of the class. + + The identity of the bundle to plan for. + The requested state for the bundle. + + + + Gets the identity of the bundle to plan for. + + + + + Gets or sets the requested state for the bundle. + + + + + Additional arguments used when the engine has begun planning the installation of a specific package. + + + + + Creates a new instance of the class. + + The identity of the package to plan for. + The requested state for the package. + + + + Gets the identity of the package to plan for. + + + + + Gets or sets the requested state for the package. + + + + + Additional arguments used when the engine is about to plan a newer package using the same provider key. + + + + + Creates a new instance of the class. + + The identity of the package that was not detected. + The requested state for the compatible package. + + + + Gets the identity of the package that was not detected. + + + + + Gets or sets the state to use for the compatible package for planning. + + + + + Additional arguments used when engine is about to plan a MSP applied to a target MSI package. + + + + + Creates a new instance of the class. + + Package identifier of the patch being planned. + Product code identifier being planned. + Package state of the patch being planned. + + + + Gets the identity of the feature's package to plan. + + + + + Gets the identity of the feature to plan. + + + + + Gets or sets the state of the patch to use by planning. + + + + + Additional arguments used when engine is about to plan a feature in an MSI package. + + + + + Creates a new instance of the class. + + Package identifier being planned. + Feature identifier being planned. + Feature state being planned. + + + + Gets the identity of the feature's package to plan. + + + + + Gets the identity of the feature to plan. + + + + + Gets or sets the feature state to use by planning. + + + + + Additional arguments used when then engine has completed planning the installation of a specific package. + + + + + Creates a new instance of the class. + + The identity of the package planned for. + The return code of the operation. + The current state of the package. + The requested state for the package + The execution action to take. + The rollback action to take. + + + + Gets the identity of the package planned for. + + + + + Gets the current state of the package. + + + + + Gets the requested state for the package. + + + + + Gets the execution action to take. + + + + + Gets the rollback action to take. + + + + + Additional arguments used when the engine has completed planning the installation. + + + + + Creates a new instance of the class. + + The return code of the operation. + + + + Additional arguments used when the engine has begun installing the bundle. + + + + + DEPRECATED: this information will be provided in ApplyBeginEventArgs in wix4. + Additional arguments used when the engine has determined the number of phases in apply. + + + + + DEPRECATED: this information will be provided in ApplyBeginEventArgs in wix4. + Gets the number of phases that the engine will go through in apply. + There are currently two possible phases: cache and execute. + + + + + Additional arguments used when the engine is about to start the elevated process. + + + + + Additional arguments used when the engine has begun registering the location and visibility of the bundle. + + + + + Additional arguments used when the engine has completed registering the location and visilibity of the bundle. + + + + + Creates a new instance of the class. + + The return code of the operation. + + + + Additional arguments used when the engine has begun removing the registration for the location and visibility of the bundle. + + + + + Additional arguments used when the engine has completed removing the registration for the location and visibility of the bundle. + + + + + Creates a new instance of the class. + + The return code of the operation. + + + + Additional arguments used when the engine has begun caching the installation sources. + + + + + Additional arguments used when the engine begins to acquire containers or payloads. + + + + + Creates a new instance of the class. + + + + + Gets the identifier of the container or package. + + + + + Gets the identifier of the payload (if acquiring a payload). + + + + + Gets the cache acquire operation. + + + + + Gets the source of the container or payload. + + + + + Additional arguments used when the engine acquires some part of a container or payload. + + + + + Creates a new instance of the class. + + + + + Gets the identifier of the container or package. + + + + + Gets the identifier of the payload (if acquiring a payload). + + + + + Gets the number of bytes cached thus far. + + + + + Gets the total bytes to cache. + + + + + Gets the overall percentage of progress of caching. + + + + + Additional arguments used when the engine completes the acquisition of a container or payload. + + + + + Creates a new instance of the class. + + + + + Gets the identifier of the container or package. + + + + + Gets the identifier of the payload (if acquiring a payload). + + + + + Additional arguments used when the engine starts the verification of a payload. + + + + + Creates a new instance of the class. + + + + + Gets the identifier of the package. + + + + + Gets the identifier of the payload. + + + + + Additional arguments used when the engine completes the verification of a payload. + + + + + Creates a new instance of the class. + + + + + Gets the identifier of the package. + + + + + Gets the identifier of the payload. + + + + + Additional arguments used after the engine has cached the installation sources. + + + + + Creates a new instance of the class. + + The return code of the operation. + + + + Additional arguments used when the engine has begun installing packages. + + + + + Creates a new instance of the class. + + The number of packages to act on. + + + + Gets the number of packages to act on. + + + + + Additional arguments used when the engine has begun installing a specific package. + + + + + Creates a new instance of the class. + + The identity of the package to act on. + Whether the package should really be acted on. + + + + Gets the identity of the package to act on. + + + + + Gets whether the package should really be acted on. + + + + + Additional arguments used when the engine executes one or more patches targeting a product. + + + + + Creates a new instance of the class. + + The identity of the package to act on. + The product code of the target of the patch. + + + + Gets the identity of the package to act on. + + + + + Gets the product code being targeted. + + + + + Additional arguments used when the engine has encountered an error. + + + + + Creates a new instance of the class. + + The error type. + The identity of the package that yielded the error. + The error code. + The error message. + Recommended display flags for an error dialog. + The exteded data for the error. + Recommended result from engine. + + + + Gets the type of error that occurred. + + + + + Gets the identity of the package that yielded the error. + + + + + Gets the error code. + + + + + Gets the error message. + + + + + Gets the recommended display flags for an error dialog. + + + + + Gets the extended data for the error. + + + + + Additional arguments used when the engine has changed progress for the bundle installation. + + + + + Creates an new instance of the class. + + The percentage from 0 to 100 completed for a package. + The percentage from 0 to 100 completed for the bundle. + + + + Gets the percentage from 0 to 100 completed for a package. + + + + + Gets the percentage from 0 to 100 completed for the bundle. + + + + + Additional arguments used when Windows Installer sends an installation message. + + + + + Creates a new instance of the class. + + The identity of the package that yielded this message. + The type of this message. + Recommended display flags for this message. + The message. + The extended data for the message. + Recommended result from engine. + + + + Gets the identity of the package that yielded this message. + + + + + Gets the type of this message. + + + + + Gets the recommended display flags for this message. + + + + + Gets the message. + + + + + Gets the extended data for the message. + + + + + Additional arugments used for file in use installation messages. + + + + + Creates a new instance of the class. + + The identity of the package that yielded the files in use message. + The list of files in use. + + + + Gets the identity of the package that yielded the files in use message. + + + + + Gets the list of files in use. + + + + + Additional arguments used when the engine has completed installing a specific package. + + + + + Creates a new instance of the class. + + The identity of the packaged that was acted on. + The return code of the operation. + Whether a restart is required. + Recommended result from engine. + + + + Gets the identity of the package that was acted on. + + + + + Gets the package restart state after being applied. + + + + + Additional arguments used when the engine has completed installing packages. + + + + + Creates a new instance of the class. + + The return code of the operation. + + + + Additional arguments used by the engine to request a restart now or inform the user a manual restart is required later. + + + + + Creates a new instance of the class. + + + + + Gets or sets whether the engine should restart now. The default is false. + + + + + Additional arguments used when the engine has completed installing the bundle. + + + + + Creates a new instance of the clas. + + The return code of the operation. + Whether a restart is required. + + + + Gets the apply restart state when complete. + + + + + Additional arguments used by the engine to allow the user experience to change the source + using or . + + + + + Creates a new instance of the class. + + The identity of the package or container that requires source. + The identity of the payload that requires source. + The current path used for source resolution. + Optional URL to download container or payload. + + + + Gets the identity of the package or container that requires source. + + + + + Gets the identity of the payload that requires source. + + + + + Gets the current path used for source resolution. + + + + + Gets the optional URL to download container or payload. + + + + + Additional arguments used by the engine when it has begun caching a specific package. + + + + + Creates a new instance of the class. + + The identity of the package that is being cached. + Number of payloads to be cached. + The size on disk required by the specific package. + + + + Gets the identity of the package that is being cached. + + + + + Gets number of payloads to be cached. + + + + + Gets the size on disk required by the specific package. + + + + + Additional arguments passed by the engine when it has completed caching a specific package. + + + + + Creates a new instance of the class. + + The identity of the package that was cached. + The return code of the operation. + Recommended result from engine. + + + + Gets the identity of the package that was cached. + + + + + Additional arguments passed by the engine when it has begun downloading a specific payload. + + + + + Creates a new instance of the class. + + The identifier of the payload being downloaded. + The file name of the payload being downloaded. + + + + Gets the identifier of the payload being downloaded. + + + + + Gets the file name of the payload being downloaded. + + + + + Additional arguments passed by the engine when it has completed downloading a specific payload. + + + + + Creates a new instance of the class. + + The identifier of the payload that was downloaded. + The file name of the payload that was downloaded. + The return code of the operation. + + + + Gets the identifier of the payload that was downloaded. + + + + + Gets the file name of the payload that was downloaded. + + + + + Additional arguments passed by the engine while downloading payload. + + + + + Creates a new instance of the class. + + The percentage from 0 to 100 of the download progress for a single payload. + The percentage from 0 to 100 of the download progress for all payload. + + + + Gets the percentage from 0 to 100 of the download progress for a single payload. + + + + + Gets the percentage from 0 to 100 of the download progress for all payload. + + + + + Additional arguments passed by the engine while executing on payload. + + + + + Creates a new instance of the class. + + The identifier of the package being executed. + The percentage from 0 to 100 of the execution progress for a single payload. + The percentage from 0 to 100 of the execution progress for all payload. + + + + Gets the identity of the package that was executed. + + + + + Gets the percentage from 0 to 100 of the execution progress for a single payload. + + + + + Gets the percentage from 0 to 100 of the execution progress for all payload. + + + + + Additional arguments passed by the engine before it tries to launch the preapproved executable. + + + + + Additional arguments passed by the engine after it finished trying to launch the preapproved executable. + + + + + Gets the ProcessId of the process that was launched. + This is only valid if the status reports success. + + + + + Base class for exception returned to the bootstrapper application host. + + + + + Creates an instance of the base class with the given HRESULT. + + The HRESULT for the exception that is used by the bootstrapper application host. + + + + Initializes a new instance of the class. + + Exception message. + + + + Initializes a new instance of the class. + + Exception message + Inner exception associated with this one + + + + Initializes a new instance of the class. + + Serialization information for this exception + Streaming context to serialize to + + + + The bootstrapper application loaded by the host does not contain exactly one instance of the + class. + + + + + + Creates a new instance of the class. + + + + + Initializes a new instance of the class. + + Exception message. + + + + Initializes a new instance of the class. + + Exception message + Inner exception associated with this one + + + + Initializes a new instance of the class. + + Serialization information for this exception + Streaming context to serialize to + + + + The bootstrapper application specified by the + does not extend the base class. + + + + + + + Creates a new instance of the class. + + + + + Initializes a new instance of the class. + + Exception message. + + + + Initializes a new instance of the class. + + Exception message + Inner exception associated with this one + + + + Initializes a new instance of the class. + + Serialization information for this exception + Streaming context to serialize to + + + + Handler for the Host configuration section. + + + + + Creates a new instance of the class. + + + + + Gets the name of the assembly that contians the child class. + + + The assembly specified by this name must contain the to identify + the type of the child class. + + + + + Gets the of supported frameworks for the host configuration. + + + + + Allows customization of the bootstrapper application. + + + + + The display level for the UX. + + + + + Messages from Windows Installer. + + + + + The action to perform when a reboot is necessary. + + + + + Result codes. + + + + + Describes why a bundle or packaged is being resumed. + + + + + Resume information exists but is invalid. + + + + + The bundle was re-launched after an unexpected interruption. + + + + + A reboot is pending. + + + + + The bundle was re-launched after a reboot. + + + + + The bundle was re-launched after being suspended. + + + + + The bundle was launched from Add/Remove Programs. + + + + + Indicates what caused the error. + + + + + The error occurred trying to elevate. + + + + + The error came from the Windows Installer. + + + + + The error came from an EXE Package. + + + + + The error came while trying to authenticate with an HTTP server. + + + + + The error came while trying to authenticate with an HTTP proxy. + + + + + The error occurred during apply. + + + + + The related bundle or package will be downgraded. + + + + + The related package will be upgraded as a minor revision. + + + + + The related bundle or package will be upgraded as a major revision. + + + + + The related bundle will be removed. + + + + + The related bundle will be installed. + + + + + The related bundle will be repaired. + + + + + The cache operation used to acquire a container or payload. + + + + + Container or payload is being copied. + + + + + Container or payload is being downloaded. + + + + + Container or payload is being extracted. + + + + + The restart state after a package or all packages were applied. + + + + + Package or chain does not require a restart. + + + + + Package or chain requires a restart but it has not been initiated yet. + + + + + Package or chain has already initiated the restart. + + + + + The relation type for related bundles. + + + + + One or more reasons why the application is requested to be closed or is being closed. + + + + + The system is shutting down or restarting (it is not possible to determine which event is occurring). + + + + + The application is using a file that must be replaced, the system is being serviced, or system resources are exhausted. + + + + + The application is forced to shut down. + + + + + The user is logging off. + + + + + Command information passed from the engine for the user experience to perform. + + + + + Gets the action for the user experience to perform. + + + + + Gets the display level for the user experience. + + + + + Gets the action to perform if a reboot is required. + + + + + Gets command line arguments that weren't processed by the engine. Can be null. + + + + + Gets layout directory. + + + + + Gets the method of how the engine was resumed from a previous installation step. + + + + + Gets the handle to the splash screen window. If no splash screen was displayed this value will be IntPtr.Zero. + + + + + If this was run from a related bundle, specifies the relation type. + + + + + If this was run from a backward compatible bundle. + + + + + Gets the command line arguments as a string array. + + + Array of command line arguments not handled by the engine. + + The command line could not be parsed into an array. + + This method uses the same parsing as the operating system which handles quotes and spaces correctly. + + + + + Allows calls into the bootstrapper engine. + + + + + The installation action for the bundle or current package. + + + + + The action for the BA to perform. + + + + + The message log level. + + + + + No logging level (generic). + + + + + User messages. + + + + + Verbose messages. + + + + + Messages for debugging. + + + + + Error messages. + + + + + Type of hash used for update bundle. + + + + + No hash provided. + + + + + SHA-1 based hash provided. + + + + + Describes the state of an installation package. + + + + + Indicates the state desired for an installation package. + + + + + Indicates the state of a feature. + + + + + Indicates the action for a feature. + + + + + Contains native constants, functions, and structures for this assembly. + + + + + Distribution specific strings. + + + + + News URL for the distribution. + + + + + Short product name for the distribution. + + + + + Support URL for the distribution. + + + + + Telemetry URL format for the distribution. + + + + + VS Extensions Landing page Url for the distribution. + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/DocCompiler.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/DocCompiler.exe new file mode 100644 index 0000000..497418d Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/DocCompiler.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MakeSfxCA.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MakeSfxCA.exe new file mode 100644 index 0000000..bc60937 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MakeSfxCA.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MakeSfxCA.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MakeSfxCA.exe.config new file mode 100644 index 0000000..700aff6 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MakeSfxCA.exe.config @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Cab.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Cab.dll new file mode 100644 index 0000000..acb90dd Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Cab.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Cab.xml b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Cab.xml new file mode 100644 index 0000000..ba23fcc --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Cab.xml @@ -0,0 +1,495 @@ + + + + Microsoft.Deployment.Compression.Cab + + + + + Disposes of resources allocated by the cabinet engine. + + If true, the method has been called directly or indirectly by a user's code, + so managed and unmanaged resources will be disposed. If false, the method has been called by the + runtime from inside the finalizer, and only unmanaged resources will be disposed. + + + + Engine capable of packing and unpacking archives in the cabinet format. + + + + + Creates a new instance of the cabinet engine. + + + + + Disposes of resources allocated by the cabinet engine. + + If true, the method has been called directly + or indirectly by a user's code, so managed and unmanaged resources + will be disposed. If false, the method has been called by the runtime + from inside the finalizer, and only unmanaged resources will be + disposed. + + + + Creates a cabinet or chain of cabinets. + + A context interface to handle opening + and closing of cabinet and file streams. + The paths of the files in the archive (not + external file paths). + The maximum number of bytes for one + cabinet before the contents are chained to the next cabinet, or zero + for unlimited cabinet size. + The cabinet could not be + created. + + The stream context implementation may provide a mapping from the + file paths within the cabinet to the external file paths. + Smaller folder sizes can make it more efficient to extract + individual files out of large cabinet packages. + + + + + Checks whether a Stream begins with a header that indicates + it is a valid cabinet file. + + Stream for reading the cabinet file. + True if the stream is a valid cabinet file + (with no offset); false otherwise. + + + + Gets information about files in a cabinet or cabinet chain. + + A context interface to handle opening + and closing of cabinet and file streams. + A predicate that can determine + which files to process, optional. + Information about files in the cabinet stream. + The cabinet provided + by the stream context is not valid. + + The predicate takes an internal file + path and returns true to include the file or false to exclude it. + + + + + Extracts files from a cabinet or cabinet chain. + + A context interface to handle opening + and closing of cabinet and file streams. + An optional predicate that can determine + which files to process. + The cabinet provided + by the stream context is not valid. + + The predicate takes an internal file + path and returns true to include the file or false to exclude it. + + + + + Disposes of resources allocated by the cabinet engine. + + If true, the method has been called directly or indirectly by a user's code, + so managed and unmanaged resources will be disposed. If false, the method has been called by the + runtime from inside the finalizer, and only unmanaged resources will be disposed. + + + + Exception class for cabinet operations. + + + + + Creates a new CabException with a specified error message and a reference to the + inner exception that is the cause of this exception. + + The message that describes the error. + The exception that is the cause of the current exception. If the + innerException parameter is not a null reference (Nothing in Visual Basic), the current exception + is raised in a catch block that handles the inner exception. + + + + Creates a new CabException with a specified error message. + + The message that describes the error. + + + + Creates a new CabException. + + + + + Initializes a new instance of the CabException class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Gets the FCI or FDI cabinet engine error number. + + A cabinet engine error number, or 0 if the exception was + not related to a cabinet engine error number. + + + + Gets the Win32 error code. + + A Win32 error code, or 0 if the exception was + not related to a Win32 error. + + + + Sets the SerializationInfo with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Disposes of resources allocated by the cabinet engine. + + If true, the method has been called directly or indirectly by a user's code, + so managed and unmanaged resources will be disposed. If false, the method has been called by the + runtime from inside the finalizer, and only unmanaged resources will be disposed. + + + + Object representing a compressed file within a cabinet package; provides operations for getting + the file properties and extracting the file. + + + + + Creates a new CabinetFileInfo object representing a file within a cabinet in a specified path. + + An object representing the cabinet containing the file. + The path to the file within the cabinet. Usually, this is a simple file + name, but if the cabinet contains a directory structure this may include the directory. + + + + Creates a new CabinetFileInfo object with all parameters specified, + used internally when reading the metadata out of a cab. + + The internal path and name of the file in the cab. + The folder number containing the file. + The cabinet number where the file starts. + The stored attributes of the file. + The stored last write time of the file. + The uncompressed size of the file. + + + + Initializes a new instance of the CabinetFileInfo class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Sets the SerializationInfo with information about the archive. + + The SerializationInfo that holds the serialized object data. + The StreamingContext that contains contextual information + about the source or destination. + + + + Gets or sets the cabinet that contains this file. + + + The CabinetInfo instance that retrieved this file information -- this + may be null if the CabinetFileInfo object was returned directly from a + stream. + + + + + Gets the full path of the cabinet that contains this file. + + The full path of the cabinet that contains this file. + + + + Gets the number of the folder containing this file. + + The number of the cabinet folder containing this file. + A single folder or the first folder of a cabinet + (or chain of cabinets) is numbered 0. + + + + Refreshes the information in this object with new data retrieved + from an archive. + + Fresh instance for the same file just + read from the archive. + + This implementation refreshes the . + + + + + Object representing a cabinet file on disk; provides access to + file-based operations on the cabinet file. + + + Generally, the methods on this class are much easier to use than the + stream-based interfaces provided by the class. + + + + + Creates a new CabinetInfo object representing a cabinet file in a specified path. + + The path to the cabinet file. When creating a cabinet file, this file does not + necessarily exist yet. + + + + Initializes a new instance of the CabinetInfo class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Creates a compression engine that does the low-level work for + this object. + + A new instance. + + Each instance will be d + immediately after use. + + + + + Gets information about the files contained in the archive. + + A list of objects, each + containing information about a file in the archive. + + + + Gets information about the certain files contained in the archive file. + + The search string, such as + "*.txt". + A list of objects, each containing + information about a file in the archive. + + + + Generic class for managing allocations of integer handles + for objects of a certain type. + + The type of objects the handles refer to. + + + + Auto-resizing list of objects for which handles have been allocated. + Each handle is just an index into this list. When a handle is freed, + the list item at that index is set to null. + + + + + Creates a new HandleManager instance. + + + + + Gets the object of a handle, or null if the handle is invalid. + + The integer handle previously allocated + for the desired object. + The object for which the handle was allocated. + + + + Allocates a new handle for an object. + + Object that the handle will refer to. + New handle that can be later used to retrieve the object. + + + + Frees a handle that was previously allocated. Afterward the handle + will be invalid and the object it referred to can no longer retrieved. + + Handle to be freed. + + + + Native DllImport methods and related structures and constants used for + cabinet creation and extraction via cabinet.dll. + + + + + A direct import of constants, enums, structures, delegates, and functions from fci.h. + Refer to comments in fci.h for documentation. + + + + + Error codes that can be returned by FCI. + + + + + FCI compression algorithm types and parameters. + + + + + Reason for FCI status callback. + + + + + Cabinet information structure used for FCI initialization and GetNextCabinet callback. + + + + + Ensures that the FCI handle is safely released. + + + + + Creates a new unintialized handle. The handle will be initialized + when it is marshalled back from native code. + + + + + Checks if the handle is invalid. An FCI handle is invalid when it is zero. + + + + + Releases the handle by calling FDIDestroy(). + + True if the release succeeded. + + + + A direct import of constants, enums, structures, delegates, and functions from fdi.h. + Refer to comments in fdi.h for documentation. + + + + + Error codes that can be returned by FDI. + + + + + Type of notification message for the FDI Notify callback. + + + + + Cabinet information structure filled in by FDI IsCabinet. + + + + + Cabinet notification details passed to the FDI Notify callback. + + + + + Ensures that the FDI handle is safely released. + + + + + Creates a new unintialized handle. The handle will be initialized + when it is marshalled back from native code. + + + + + Checks if the handle is invalid. An FDI handle is invalid when it is zero. + + + + + Releases the handle by calling FDIDestroy(). + + True if the release succeeded. + + + + Error info structure for FCI and FDI. + + Before being passed to FCI or FDI, this structure is + pinned in memory via a GCHandle. The pinning is necessary + to be able to read the results, since the ERF structure doesn't + get marshalled back out after an error. + + + + Gets or sets the cabinet error code. + + + + + Gets or sets the Win32 error code. + + + + + GCHandle doesn't like the bool type, so use an int underneath. + + + + + Clears the error information. + + + + + Distribution specific strings. + + + + + News URL for the distribution. + + + + + Short product name for the distribution. + + + + + Support URL for the distribution. + + + + + Telemetry URL format for the distribution. + + + + + VS Extensions Landing page Url for the distribution. + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Zip.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Zip.dll new file mode 100644 index 0000000..88b06a5 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Zip.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Zip.xml b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Zip.xml new file mode 100644 index 0000000..b3f4e6e --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.Zip.xml @@ -0,0 +1,552 @@ + + + + Microsoft.Deployment.Compression.Zip + + + + + Used to trick a DeflateStream into reading from or writing to + a series of (chunked) streams instead of a single steream. + + + + + Wraps a source stream and calcaluates a CRC over all bytes that are read or written. + + + The CRC algorithm matches that used in the standard ZIP file format. + + + + + Creates a new CrcStream instance from a source stream. + + Underlying stream where bytes will be read from or written to. + + + + Gets the current CRC over all bytes that have been read or written + since this instance was created. + + + + + Gets the underlying stream that this stream reads from or writes to. + + + + + Gets a value indicating whether the source stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the source stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + Gets a value indicating whether the source stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + Gets the length of the source stream. + + + + + Gets or sets the position of the source stream. + + + + + Sets the position within the source stream. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating + the reference point used to obtain the new position. + The new position within the source stream. + + Note the CRC is only calculated over bytes that are actually read or + written, so any bytes skipped by seeking will not contribute to the CRC. + + + + + Sets the length of the source stream. + + The desired length of the + stream in bytes. + + + + Reads a sequence of bytes from the source stream and advances + the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer + contains the specified byte array with the values between offset and + (offset + count - 1) replaced by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin + storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less + than the number of bytes requested if that many bytes are not currently available, + or zero (0) if the end of the stream has been reached. + + + + Writes a sequence of bytes to the source stream and advances the + current position within this stream by the number of bytes written. + + An array of bytes. This method copies count + bytes from buffer to the current stream. + The zero-based byte offset in buffer at which + to begin copying bytes to the current stream. + The number of bytes to be written to the + current stream. + + + + Flushes the source stream. + + + + + Closes the underlying stream. + + + + + Updates the CRC with a range of bytes that were read or written. + + + + + Computes a table that speeds up calculation of the CRC. + + + + + Reflects the ordering of certain number of bits. For exmample when reflecting + one byte, bit one is swapped with bit eight, bit two with bit seven, etc. + + + + + Identifies the compression method or "algorithm" + used for a single file within a zip archive. + + + Proprietary zip implementations may define additional compression + methods outside of those included here. + + + + + The file is stored (no compression) + + + + + The file is Shrunk + + + + + The file is Reduced with compression factor 1 + + + + + The file is Reduced with compression factor 2 + + + + + The file is Reduced with compression factor 3 + + + + + The file is Reduced with compression factor 4 + + + + + The file is Imploded + + + + + The file is Deflated; + the most common and widely-compatible form of zip compression. + + + + + The file is Deflated using the enhanced Deflate64 method. + + + + + The file is compressed using the BZIP2 algorithm. + + + + + The file is compressed using the LZMA algorithm. + + + + + The file is compressed using the PPMd algorithm. + + + + + Exception class for zip operations. + + + + + Creates a new ZipException with a specified error message and a reference to the + inner exception that is the cause of this exception. + + The message that describes the error. + The exception that is the cause of the current exception. If the + innerException parameter is not a null reference (Nothing in Visual Basic), the current exception + is raised in a catch block that handles the inner exception. + + + + Creates a new ZipException with a specified error message. + + The message that describes the error. + + + + Creates a new ZipException. + + + + + Initializes a new instance of the ZipException class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Sets the SerializationInfo with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Engine capable of packing and unpacking archives in the zip format. + + + + + Registers a delegate that can create a warpper stream for + compressing or uncompressing the data of a source stream. + + Compression method being registered. + Indicates registration for ether + compress or decompress mode. + Delegate being registered. + + For compression, the delegate accepts a stream that writes to the archive + and returns a wrapper stream that compresses bytes as they are written. + For decompression, the delegate accepts a stream that reads from the archive + and returns a wrapper stream that decompresses bytes as they are read. + This wrapper stream model follows the design used by + System.IO.Compression.DeflateStream, and indeed that class is used + to implement the Deflate compression method by default. + To unregister a delegate, call this method again and pass + null for the delegate parameter. + + + When the ZipEngine class is initialized, the Deflate compression method + is automatically registered like this: + + ZipEngine.RegisterCompressionStreamCreator( + ZipCompressionMethod.Deflate, + CompressionMode.Compress, + delegate(Stream stream) { + return new DeflateStream(stream, CompressionMode.Compress, true); + }); + ZipEngine.RegisterCompressionStreamCreator( + ZipCompressionMethod.Deflate, + CompressionMode.Decompress, + delegate(Stream stream) { + return new DeflateStream(stream, CompressionMode.Decompress, true); + }); + + + + + Creates a new instance of the zip engine. + + + + + Gets the comment from the last-examined archive, + or sets the comment to be added to any created archives. + + + + + Checks whether a Stream begins with a header that indicates + it is a valid archive file. + + Stream for reading the archive file. + True if the stream is a valid zip archive + (with no offset); false otherwise. + + + + Gets the offset of an archive that is positioned 0 or more bytes + from the start of the Stream. + + A stream for reading the archive. + The offset in bytes of the archive, + or -1 if no archive is found in the Stream. + The archive must begin on a 4-byte boundary. + + + + Gets information about files in a zip archive or archive chain. + + A context interface to handle opening + and closing of archive and file streams. + A predicate that can determine + which files to process, optional. + Information about files in the archive stream. + The archive provided + by the stream context is not valid. + + The predicate takes an internal file + path and returns true to include the file or false to exclude it. + + + + + Reads all the file headers from the central directory in the main archive. + + + + + Locates and reads the end of central directory record near the + end of the archive. + + + + + Creates a zip archive or chain of zip archives. + + A context interface to handle opening + and closing of archive and file streams. + An array of file lists. Each list is + compressed into one stream in the archive. + The maximum number of bytes for one archive + before the contents are chained to the next archive, or zero for unlimited + archive size. + The archive could not be + created. + + The stream context implementation may provide a mapping from the file + paths within the archive to the external file paths. + + + + + Moves to the next archive in the sequence if necessary. + + + + + Adds one file to a zip archive in the process of being created. + + + + + Writes compressed bytes of one file to the archive, + keeping track of the CRC and number of bytes written. + + + + + Extracts files from a zip archive or archive chain. + + A context interface to handle opening + and closing of archive and file streams. + An optional predicate that can determine + which files to process. + The archive provided + by the stream context is not valid. + + The predicate takes an internal file + path and returns true to include the file or false to exclude it. + + + + + Unpacks a single file from an archive or archive chain. + + + + + Compares two internal file paths while ignoring case and slash differences. + + The first path to compare. + The second path to compare. + True if the paths are equivalent. + + + + Decompresses bytes for one file from an archive or archive chain, + checking the crc at the end. + + + + + Object representing a compressed file within a zip package; provides operations for getting + the file properties and extracting the file. + + + + + Creates a new ZipFileInfo object representing a file within a zip in a specified path. + + An object representing the zip archive containing the file. + The path to the file within the zip archive. Usually, this is a simple file + name, but if the zip archive contains a directory structure this may include the directory. + + + + Creates a new ZipFileInfo object with all parameters specified, + used internally when reading the metadata out of a zip archive. + + The internal path and name of the file in the zip archive. + The zip archive number where the file starts. + The stored attributes of the file. + The stored last write time of the file. + The uncompressed size of the file. + The compressed size of the file. + Compression algorithm used for this file. + + + + Initializes a new instance of the ZipFileInfo class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Gets the compressed size of the file in bytes. + + + + + Gets the method used to compress this file. + + + + + Sets the SerializationInfo with information about the archive. + + The SerializationInfo that holds the serialized object data. + The StreamingContext that contains contextual information + about the source or destination. + + + + Object representing a zip file on disk; provides access to + file-based operations on the zip file. + + + Generally, the methods on this class are much easier to use than the + stream-based interfaces provided by the class. + + + + + Creates a new CabinetInfo object representing a zip file in a specified path. + + The path to the zip file. When creating a zip file, this file does not + necessarily exist yet. + + + + Initializes a new instance of the CabinetInfo class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Creates a compression engine that does the low-level work for + this object. + + A new instance. + + Each instance will be d + immediately after use. + + + + + Gets information about the files contained in the archive. + + A list of objects, each + containing information about a file in the archive. + + + + Gets information about the certain files contained in the archive file. + + The search string, such as + "*.txt". + A list of objects, each containing + information about a file in the archive. + + + + Distribution specific strings. + + + + + News URL for the distribution. + + + + + Short product name for the distribution. + + + + + Support URL for the distribution. + + + + + Telemetry URL format for the distribution. + + + + + VS Extensions Landing page Url for the distribution. + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.dll new file mode 100644 index 0000000..dd0a730 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.xml b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.xml new file mode 100644 index 0000000..71608c5 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Compression.xml @@ -0,0 +1,1966 @@ + + + + Microsoft.Deployment.Compression + + + + + Base exception class for compression operations. Compression libraries should + derive subclass exceptions with more specific error information relevent to the + file format. + + + + + Creates a new ArchiveException with a specified error message and a reference to the + inner exception that is the cause of this exception. + + The message that describes the error. + The exception that is the cause of the current exception. If the + innerException parameter is not a null reference (Nothing in Visual Basic), the current exception + is raised in a catch block that handles the inner exception. + + + + Creates a new ArchiveException with a specified error message. + + The message that describes the error. + + + + Creates a new ArchiveException. + + + + + Initializes a new instance of the ArchiveException class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Abstract object representing a compressed file within an archive; + provides operations for getting the file properties and unpacking + the file. + + + + + Creates a new ArchiveFileInfo object representing a file within + an archive in a specified path. + + An object representing the archive + containing the file. + The path to the file within the archive. + Usually, this is a simple file name, but if the archive contains + a directory structure this may include the directory. + + + + Creates a new ArchiveFileInfo object with all parameters specified; + used by subclasses when reading the metadata out of an archive. + + The internal path and name of the file in + the archive. + The archive number where the file + starts. + The stored attributes of the file. + The stored last write time of the + file. + The uncompressed size of the file. + + + + Initializes a new instance of the ArchiveFileInfo class with + serialized data. + + The SerializationInfo that holds the serialized + object data about the exception being thrown. + The StreamingContext that contains contextual + information about the source or destination. + + + + Gets the name of the file. + + The name of the file, not including any path. + + + + Gets the internal path of the file in the archive. + + The internal path of the file in the archive, not including + the file name. + + + + Gets the full path to the file. + + The full path to the file, including the full path to the + archive, the internal path in the archive, and the file name. + + For example, the path "C:\archive.cab\file.txt" refers to + a file "file.txt" inside the archive "archive.cab". + + + + + Gets or sets the archive that contains this file. + + + The ArchiveInfo instance that retrieved this file information -- this + may be null if the ArchiveFileInfo object was returned directly from + a stream. + + + + + Gets the full path of the archive that contains this file. + + The full path of the archive that contains this file. + + + + Gets the number of the archive where this file starts. + + The number of the archive where this file starts. + A single archive or the first archive in a chain is + numbered 0. + + + + Checks if the file exists within the archive. + + True if the file exists, false otherwise. + + + + Gets the uncompressed size of the file. + + The uncompressed size of the file in bytes. + + + + Gets the attributes of the file. + + The attributes of the file as stored in the archive. + + + + Gets the last modification time of the file. + + The last modification time of the file as stored in the + archive. + + + + Sets the SerializationInfo with information about the archive. + + The SerializationInfo that holds the serialized + object data. + The StreamingContext that contains contextual + information about the source or destination. + + + + Gets the full path to the file. + + The same as + + + + Deletes the file. NOT SUPPORTED. + + Files cannot be deleted + from an existing archive. + + + + Refreshes the attributes and other cached information about the file, + by re-reading the information from the archive. + + + + + Extracts the file. + + The destination path where the file + will be extracted. + + + + Extracts the file, optionally overwriting any existing file. + + The destination path where the file + will be extracted. + If true, + will be overwritten if it exists. + is false + and exists. + + + + Opens the archive file for reading without actually extracting the + file to disk. + + + A stream for reading directly from the packed file. Like any stream + this should be closed/disposed as soon as it is no longer needed. + + + + + Opens the archive file reading text with UTF-8 encoding without + actually extracting the file to disk. + + + A reader for reading text directly from the packed file. Like any reader + this should be closed/disposed as soon as it is no longer needed. + + + To open an archived text file with different encoding, use the + method and pass the returned stream to one of + the constructor overloads. + + + + + Refreshes the information in this object with new data retrieved + from an archive. + + Fresh instance for the same file just + read from the archive. + + Subclasses may override this method to refresh sublcass fields. + However they should always call the base implementation first. + + + + + Abstract object representing a compressed archive on disk; + provides access to file-based operations on the archive. + + + + + Creates a new ArchiveInfo object representing an archive in a + specified path. + + The path to the archive. When creating an archive, + this file does not necessarily exist yet. + + + + Initializes a new instance of the ArchiveInfo class with serialized data. + + The SerializationInfo that holds the serialized object + data about the exception being thrown. + The StreamingContext that contains contextual + information about the source or destination. + + + + Gets the directory that contains the archive. + + A DirectoryInfo object representing the parent directory of the + archive. + + + + Gets the full path of the directory that contains the archive. + + The full path of the directory that contains the archive. + + + + Gets the size of the archive. + + The size of the archive in bytes. + + + + Gets the file name of the archive. + + The file name of the archive, not including any path. + + + + Checks if the archive exists. + + True if the archive exists; else false. + + + + Gets the full path of the archive. + + The full path of the archive. + + + + Deletes the archive. + + + + + Copies an existing archive to another location. + + The destination file path. + + + + Copies an existing archive to another location, optionally + overwriting the destination file. + + The destination file path. + If true, the destination file will be + overwritten if it exists. + + + + Moves an existing archive to another location. + + The destination file path. + + + + Checks if the archive contains a valid archive header. + + True if the file is a valid archive; false otherwise. + + + + Gets information about the files contained in the archive. + + A list of objects, each + containing information about a file in the archive. + + + + Gets information about the certain files contained in the archive file. + + The search string, such as + "*.txt". + A list of objects, each containing + information about a file in the archive. + + + + Extracts all files from an archive to a destination directory. + + Directory where the files are to be + extracted. + + + + Extracts all files from an archive to a destination directory, + optionally extracting only newer files. + + Directory where the files are to be + extracted. + Handler for receiving progress + information; this may be null if progress is not desired. + + + + Extracts a single file from the archive. + + The name of the file in the archive. Also + includes the internal path of the file, if any. File name matching + is case-insensitive. + The path where the file is to be + extracted on disk. + If already exists, + it will be overwritten. + + + + Extracts multiple files from the archive. + + The names of the files in the archive. + Each name includes the internal path of the file, if any. File name + matching is case-insensitive. + This parameter may be null, but if + specified it is the root directory for any relative paths in + . + The paths where the files are to be + extracted on disk. If this parameter is null, the files will be + extracted with the names from the archive. + + If any extracted files already exist on disk, they will be overwritten. +

The and + parameters cannot both be null.

+
+
+ + + Extracts multiple files from the archive, optionally extracting + only newer files. + + The names of the files in the archive. + Each name includes the internal path of the file, if any. File name + matching is case-insensitive. + This parameter may be null, but if + specified it is the root directory for any relative paths in + . + The paths where the files are to be + extracted on disk. If this parameter is null, the files will be + extracted with the names from the archive. + Handler for receiving progress information; + this may be null if progress is not desired. + + If any extracted files already exist on disk, they will be overwritten. +

The and + parameters cannot both be null.

+
+
+ + + Extracts multiple files from the archive. + + A mapping from internal file paths to + external file paths. Case-senstivity when matching internal paths + depends on the IDictionary implementation. + This parameter may be null, but if + specified it is the root directory for any relative external paths + in . + + If any extracted files already exist on disk, they will be overwritten. + + + + + Extracts multiple files from the archive. + + A mapping from internal file paths to + external file paths. Case-senstivity when matching internal + paths depends on the IDictionary implementation. + This parameter may be null, but if + specified it is the root directory for any relative external + paths in . + Handler for receiving progress + information; this may be null if progress is not desired. + + If any extracted files already exist on disk, they will be overwritten. + + + + + Opens a file inside the archive for reading without actually + extracting the file to disk. + + The name of the file in the archive. Also + includes the internal path of the file, if any. File name matching + is case-insensitive. + + A stream for reading directly from the packed file. Like any stream + this should be closed/disposed as soon as it is no longer needed. + + + + + Opens a file inside the archive for reading text with UTF-8 encoding + without actually extracting the file to disk. + + The name of the file in the archive. Also + includes the internal path of the file, if any. File name matching + is case-insensitive. + + A reader for reading text directly from the packed file. Like any reader + this should be closed/disposed as soon as it is no longer needed. + + + To open an archived text file with different encoding, use the + method and pass the returned stream to one of + the constructor overloads. + + + + + Compresses all files in a directory into the archive. + Does not include subdirectories. + + The directory containing the + files to be included. + + Uses maximum compression level. + + + + + Compresses all files in a directory into the archive, optionally + including subdirectories. + + This is the root directory + for to pack all files. + If true, recursively include + files in subdirectories. + The compression level used when creating + the archive. + Handler for receiving progress information; + this may be null if progress is not desired. + + The files are stored in the archive using their relative file paths in + the directory tree, if supported by the archive file format. + + + + + Compresses files into the archive, specifying the names used to + store the files in the archive. + + This parameter may be null, but + if specified it is the root directory + for any relative paths in . + The list of files to be included in + the archive. + The names of the files as they are stored + in the archive. Each name + includes the internal path of the file, if any. This parameter may + be null, in which case the files are stored in the archive with their + source file names and no path information. + + Uses maximum compression level. +

Duplicate items in the array will cause + an .

+
+
+ + + Compresses files into the archive, specifying the names used to + store the files in the archive. + + This parameter may be null, but if + specified it is the root directory + for any relative paths in . + The list of files to be included in + the archive. + The names of the files as they are stored in + the archive. Each name includes the internal path of the file, if any. + This parameter may be null, in which case the files are stored in the + archive with their source file names and no path information. + The compression level used when creating the + archive. + Handler for receiving progress information; + this may be null if progress is not desired. + + Duplicate items in the array will cause + an . + + + + + Compresses files into the archive, specifying the names used + to store the files in the archive. + + This parameter may be null, but if + specified it is the root directory + for any relative paths in . + A mapping from internal file paths to + external file paths. + + Uses maximum compression level. + + + + + Compresses files into the archive, specifying the names used to + store the files in the archive. + + This parameter may be null, but if + specified it is the root directory + for any relative paths in . + A mapping from internal file paths to + external file paths. + The compression level used when creating + the archive. + Handler for receiving progress information; + this may be null if progress is not desired. + + + + Given a directory, gets the relative paths of all files in the + directory, optionally including all subdirectories. + + The directory to search. + True to include subdirectories + in the search. + A list of file paths relative to the directory. + + + + Retrieves information about one file from this archive. + + Path of the file in the archive. + File information, or null if the file was not found + in the archive. + + + + Creates a compression engine that does the low-level work for + this object. + + A new compression engine instance that matches the specific + subclass of archive. + + Each instance will be d + immediately after use. + + + + + Creates a case-insensitive dictionary mapping from one list of + strings to the other. + + List of keys. + List of values that are mapped 1-to-1 to + the keys. + A filled dictionary of the strings. + + + + Recursive-descent helper function for + GetRelativeFilePathsInDirectoryTree. + + The root directory of the search. + The relative directory to be + processed now. + True to descend into + subdirectories. + List of files found so far. + + + + Uses a CompressionEngine to get ArchiveFileInfo objects from this + archive, and then associates them with this ArchiveInfo instance. + + Optional predicate that can determine + which files to process. + A list of objects, each + containing information about a file in the archive. + + + + Contains the data reported in an archive progress event. + + + + + Creates a new ArchiveProgressEventArgs object from specified event parameters. + + type of status message + name of the file being processed + number of the current file being processed + total number of files to be processed + number of bytes processed so far when compressing or extracting a file + total number of bytes in the current file + name of the current Archive + current Archive number, when processing a chained set of Archives + total number of Archives in a chained set + number of compressed bytes processed so far during an extraction + total number of compressed bytes to be processed during an extraction + number of uncompressed file bytes processed so far + total number of uncompressed file bytes to be processed + + + + Gets the type of status message. + + A value indicating what type of progress event occurred. + + The handler may choose to ignore some types of progress events. + For example, if the handler will only list each file as it is + compressed/extracted, it can ignore events that + are not of type . + + + + + Gets the name of the file being processed. (The name of the file within the Archive; not the external + file path.) Also includes the internal path of the file, if any. Valid for + , , + and messages. + + The name of the file currently being processed, or null if processing + is currently at the stream or archive level. + + + + Gets the number of the current file being processed. The first file is number 0, and the last file + is -1. Valid for , + , and messages. + + The number of the file currently being processed, or the most recent + file processed if processing is currently at the stream or archive level. + + + + Gets the total number of files to be processed. Valid for all message types. + + The total number of files to be processed that are known so far. + + + + Gets the number of bytes processed so far when compressing or extracting a file. Valid for + , , + and messages. + + The number of uncompressed bytes processed so far for the current file, + or 0 if processing is currently at the stream or archive level. + + + + Gets the total number of bytes in the current file. Valid for , + , and messages. + + The uncompressed size of the current file being processed, + or 0 if processing is currently at the stream or archive level. + + + + Gets the name of the current archive. Not necessarily the name of the archive on disk. + Valid for all message types. + + The name of the current archive, or an empty string if no name was specified. + + + + Gets the current archive number, when processing a chained set of archives. Valid for all message types. + + The number of the current archive. + The first archive is number 0, and the last archive is + -1. + + + + Gets the total number of known archives in a chained set. Valid for all message types. + + The total number of known archives in a chained set. + + When using the compression option to auto-split into multiple archives based on data size, + this value will not be accurate until the end. + + + + + Gets the number of compressed bytes processed so far during extraction + of the current archive. Valid for all extraction messages. + + The number of compressed bytes processed so far during extraction + of the current archive. + + + + Gets the total number of compressed bytes to be processed during extraction + of the current archive. Valid for all extraction messages. + + The total number of compressed bytes to be processed during extraction + of the current archive. + + + + Gets the number of uncompressed bytes processed so far among all files. Valid for all message types. + + The number of uncompressed file bytes processed so far among all files. + + When compared to , this can be used as a measure of overall progress. + + + + + Gets the total number of uncompressed file bytes to be processed. Valid for all message types. + + The total number of uncompressed bytes to be processed among all files. + + + + The type of progress event. + + +

PACKING EXAMPLE: The following sequence of events might be received when + extracting a simple archive file with 2 files.

+ + Message TypeDescription + StartArchive Begin extracting archive + StartFile Begin extracting first file + PartialFile Extracting first file + PartialFile Extracting first file + FinishFile Finished extracting first file + StartFile Begin extracting second file + PartialFile Extracting second file + FinishFile Finished extracting second file + FinishArchiveFinished extracting archive + +

+

UNPACKING EXAMPLE: Packing 3 files into 2 archive chunks, where the second file is + continued to the second archive chunk.

+ + Message TypeDescription + StartFile Begin compressing first file + FinishFile Finished compressing first file + StartFile Begin compressing second file + PartialFile Compressing second file + PartialFile Compressing second file + FinishFile Finished compressing second file + StartArchive Begin writing first archive + PartialArchiveWriting first archive + FinishArchive Finished writing first archive + StartFile Begin compressing third file + PartialFile Compressing third file + FinishFile Finished compressing third file + StartArchive Begin writing second archive + PartialArchiveWriting second archive + FinishArchive Finished writing second archive + +
+
+ + Status message before beginning the packing or unpacking an individual file. + + + Status message (possibly reported multiple times) during the process of packing or unpacking a file. + + + Status message after completion of the packing or unpacking an individual file. + + + Status message before beginning the packing or unpacking an archive. + + + Status message (possibly reported multiple times) during the process of packing or unpacking an archiv. + + + Status message after completion of the packing or unpacking of an archive. + + + + Provides a basic implementation of the archive pack and unpack stream context + interfaces, based on a list of archive files, a default directory, and an + optional mapping from internal to external file paths. + + + This class can also handle creating or extracting chained archive packages. + + + + + Creates a new ArchiveFileStreamContext with a archive file and + no default directory or file mapping. + + The path to a archive file that will be + created or extracted. + + + + Creates a new ArchiveFileStreamContext with a archive file, default + directory and mapping from internal to external file paths. + + The path to a archive file that will be + created or extracted. + The default root directory where files will be + located, optional. + A mapping from internal file paths to external file + paths, optional. + + If the mapping is not null and a file is not included in the mapping, + the file will be skipped. + If the external path in the mapping is a simple file name or + relative file path, it will be concatenated onto the default directory, + if one was specified. + For more about how the default directory and files mapping are + used, see and + . + + + + + Creates a new ArchiveFileStreamContext with a list of archive files, + a default directory and a mapping from internal to external file paths. + + A list of paths to archive files that will be + created or extracted. + The default root directory where files will be + located, optional. + A mapping from internal file paths to external file + paths, optional. + + When creating chained archives, the list + should include at least enough archives to handle the entire set of + input files, based on the maximum archive size that is passed to the + .. + If the mapping is not null and a file is not included in the mapping, + the file will be skipped. + If the external path in the mapping is a simple file name or + relative file path, it will be concatenated onto the default directory, + if one was specified. + For more about how the default directory and files mapping are used, + see and + . + + + + + Gets or sets the list of archive files that are created or extracted. + + The list of archive files that are created or extracted. + + + + Gets or sets the default root directory where files are located. + + The default root directory where files are located. + + For details about how the default directory is used, + see and . + + + + + Gets or sets the mapping from internal file paths to external file paths. + + A mapping from internal file paths to external file paths. + + For details about how the files mapping is used, + see and . + + + + + Gets or sets a flag that can prevent extracted files from overwriting + newer files that already exist. + + True to prevent overwriting newer files that already exist + during extraction; false to always extract from the archive regardless + of existing files. + + + + Gets or sets a flag that enables creating or extracting an archive + at an offset within an existing file. (This is typically used to open + archive-based self-extracting packages.) + + True to search an existing package file for an archive offset + or the end of the file;/ false to always create or open a plain + archive file. + + + + Gets the name of the archive with a specified number. + + The 0-based index of the archive within + the chain. + The name of the requested archive. May be an empty string + for non-chained archives, but may never be null. + This method returns the file name of the archive from the + list with the specified index, or an empty + string if the archive number is outside the bounds of the list. The + file name should not include any directory path. + + + + Opens a stream for writing an archive. + + The 0-based index of the archive within + the chain. + The name of the archive that was returned + by . + True if the stream should be truncated when + opened (if it already exists); false if an existing stream is being + re-opened for writing additional data. + Instance of the compression engine + doing the operations. + A writable Stream where the compressed archive bytes will be + written, or null to cancel the archive creation. + + This method opens the file from the list + with the specified index. If the archive number is outside the bounds + of the list, this method returns null. + If the flag is set, this method + will seek to the start of any existing archive in the file, or to the + end of the file if the existing file is not an archive. + + + + + Closes a stream where an archive package was written. + + The 0-based index of the archive within + the chain. + The name of the archive that was previously + returned by . + A stream that was previously returned by + and is now ready to be closed. + + + + Opens a stream to read a file that is to be included in an archive. + + The path of the file within the archive. + The returned attributes of the opened file, + to be stored in the archive. + The returned last-modified time of the + opened file, to be stored in the archive. + A readable Stream where the file bytes will be read from + before they are compressed, or null to skip inclusion of the file and + continue to the next file. + + This method opens a file using the following logic: + + If the and the mapping + are both null, the path is treated as relative to the current directory, + and that file is opened. + If the is not null but the + mapping is null, the path is treated as relative to that directory, and + that file is opened. + If the is null but the + mapping is not null, the path parameter is used as a key into the mapping, + and the resulting value is the file path that is opened, relative to the + current directory (or it may be an absolute path). If no mapping exists, + the file is skipped. + If both the and the + mapping are specified, the path parameter is used as a key into the + mapping, and the resulting value is the file path that is opened, relative + to the specified directory (or it may be an absolute path). If no mapping + exists, the file is skipped. + + + + + + Closes a stream that has been used to read a file. + + The path of the file within the archive; the same as + the path provided when the stream was opened. + A stream that was previously returned by + and is now ready to be closed. + + + + Gets extended parameter information specific to the compression format + being used. + + Name of the option being requested. + Parameters for the option; for per-file options, + the first parameter is typically the internal file path. + Option value, or null to use the default behavior. + + This implementation does not handle any options. Subclasses may override + this method to allow for non-default behavior. + + + + + Opens the archive stream for reading. + + The zero-based index of the archive to + open. + The name of the archive being opened. + Instance of the compression engine + doing the operations. + A stream from which archive bytes are read, or null to cancel + extraction of the archive. + + This method opens the file from the list with + the specified index. If the archive number is outside the bounds of the + list, this method returns null. + If the flag is set, this method will + seek to the start of any existing archive in the file, or to the end of + the file if the existing file is not an archive. + + + + + Closes a stream where an archive was read. + + The archive number of the stream + to close. + The name of the archive being closed. + The stream that was previously returned by + and is now ready to be closed. + + + + Opens a stream for writing extracted file bytes. + + The path of the file within the archive. + The uncompressed size of the file to be + extracted. + The last write time of the file to be + extracted. + A stream where extracted file bytes are to be written, or null + to skip extraction of the file and continue to the next file. + + This method opens a file using the following logic: + + If the and the mapping + are both null, the path is treated as relative to the current directory, + and that file is opened. + If the is not null but the + mapping is null, the path is treated as relative to that directory, and + that file is opened. + If the is null but the + mapping is not null, the path parameter is used as a key into the mapping, + and the resulting value is the file path that is opened, relative to the + current directory (or it may be an absolute path). If no mapping exists, + the file is skipped. + If both the and the + mapping are specified, the path parameter is used as a key into the + mapping, and the resulting value is the file path that is opened, + relative to the specified directory (or it may be an absolute path). + If no mapping exists, the file is skipped. + + If the flag is set, the file + is skipped if a file currently exists in the same path with an equal + or newer write time. + + + + + Closes a stream where an extracted file was written. + + The path of the file within the archive. + The stream that was previously returned by + and is now ready to be closed. + The attributes of the extracted file. + The last write time of the file. + + After closing the extracted file stream, this method applies the date + and attributes to that file. + + + + + Translates an internal file path to an external file path using the + and the mapping, according to + rules documented in and + . + + The path of the file with the archive. + The external path of the file, or null if there is no + valid translation. + + + + Stream context used to extract a single file from an archive into a memory stream. + + + + + Creates a new BasicExtractStreamContext that reads from the specified archive stream. + + Archive stream to read from. + + + + Gets the stream for the extracted file, or null if no file was extracted. + + + + + Opens the archive stream for reading. Returns a DuplicateStream instance, + so the stream may be virtually opened multiple times. + + The archive number to open (ignored; 0 is assumed). + The name of the archive being opened. + Instance of the compression engine doing the operations. + A stream from which archive bytes are read. + + + + Does *not* close the stream. The archive stream should be managed by + the code that invokes the archive extraction. + + The archive number of the stream to close. + The name of the archive being closed. + The stream being closed. + + + + Opens a stream for writing extracted file bytes. The returned stream is a MemoryStream + instance, so the file is extracted straight into memory. + + Path of the file within the archive. + The uncompressed size of the file to be extracted. + The last write time of the file. + A stream where extracted file bytes are to be written. + + + + Does *not* close the file stream. The file stream is saved in memory so it can + be read later. + + Path of the file within the archive. + The file stream to be closed. + The attributes of the extracted file. + The last write time of the file. + + + + Base class for an engine capable of packing and unpacking a particular + compressed file format. + + + + + Creates a new instance of the compression engine base class. + + + + + Disposes the compression engine. + + + + + Occurs when the compression engine reports progress in packing + or unpacking an archive. + + + + + + Gets or sets a flag indicating whether temporary files are created + and used during compression. + + True if temporary files are used; false if compression is done + entirely in-memory. + The value of this property is true by default. Using temporary + files can greatly reduce the memory requirement of compression, + especially when compressing large archives. However, setting this property + to false may yield slightly better performance when creating small + archives. Or it may be necessary if the process does not have sufficient + privileges to create temporary files. + + + + Compression level to use when compressing files. + + A compression level ranging from minimum to maximum compression, + or no compression. + + + + Disposes of resources allocated by the compression engine. + + + + + Creates an archive. + + A context interface to handle opening + and closing of archive and file streams. + The paths of the files in the archive + (not external file paths). + The archive could not be + created. + + The stream context implementation may provide a mapping from the + file paths within the archive to the external file paths. + + + + + Creates an archive or chain of archives. + + A context interface to handle opening + and closing of archive and file streams. + The paths of the files in the archive (not + external file paths). + The maximum number of bytes for one + archive before the contents are chained to the next archive, or zero + for unlimited archive size. + The archive could not be + created. + + The stream context implementation may provide a mapping from the file + paths within the archive to the external file paths. + + + + + Checks whether a Stream begins with a header that indicates + it is a valid archive. + + Stream for reading the archive file. + True if the stream is a valid archive + (with no offset); false otherwise. + + + + Gets the offset of an archive that is positioned 0 or more bytes + from the start of the Stream. + + A stream for reading the archive. + The offset in bytes of the archive, + or -1 if no archive is found in the Stream. + The archive must begin on a 4-byte boundary. + + + + Gets information about all files in an archive stream. + + A stream for reading the archive. + Information about all files in the archive stream. + The stream is not a valid + archive. + + + + Gets information about files in an archive or archive chain. + + A context interface to handle opening + and closing of archive and file streams. + A predicate that can determine + which files to process, optional. + Information about files in the archive stream. + The archive provided + by the stream context is not valid. + + The predicate takes an internal file + path and returns true to include the file or false to exclude it. + + + + + Gets the list of files in an archive Stream. + + A stream for reading the archive. + A list of the paths of all files contained in the + archive. + The stream is not a valid + archive. + + + + Gets the list of files in an archive or archive chain. + + A context interface to handle opening + and closing of archive and file streams. + A predicate that can determine + which files to process, optional. + An array containing the names of all files contained in + the archive or archive chain. + The archive provided + by the stream context is not valid. + + The predicate takes an internal file + path and returns true to include the file or false to exclude it. + + + + + Reads a single file from an archive stream. + + A stream for reading the archive. + The path of the file within the archive + (not the external file path). + A stream for reading the extracted file, or null + if the file does not exist in the archive. + The stream is not a valid + archive. + The entire extracted file is cached in memory, so this + method requires enough free memory to hold the file. + + + + Extracts files from an archive or archive chain. + + A context interface to handle opening + and closing of archive and file streams. + An optional predicate that can determine + which files to process. + The archive provided + by the stream context is not valid. + + The predicate takes an internal file + path and returns true to include the file or false to exclude it. + + + + + Called by sublcasses to distribute a packing or unpacking progress + event to listeners. + + Event details. + + + + Disposes of resources allocated by the compression engine. + + If true, the method has been called + directly or indirectly by a user's code, so managed and unmanaged + resources will be disposed. If false, the method has been called by + the runtime from inside the finalizer, and only unmanaged resources + will be disposed. + + + + Compresion utility function for converting old-style + date and time values to a DateTime structure. + + + + + Compresion utility function for converting a DateTime structure + to old-style date and time values. + + + + + Specifies the compression level ranging from minimum compresion to + maximum compression, or no compression at all. + + + Although only four values are enumerated, any integral value between + and can also be used. + + + + Do not compress files, only store. + + + Minimum compression; fastest. + + + A compromize between speed and compression efficiency. + + + Maximum compression; slowest. + + + + Wraps a source stream and carries additional items that are disposed when the stream is closed. + + + + + Creates a new a cargo stream. + + source of the stream + List of additional items that are disposed when the stream is closed. + The order of the list is the order in which the items are disposed. + + + + Gets the source stream of the cargo stream. + + + + + Gets the list of additional items that are disposed when the stream is closed. + The order of the list is the order in which the items are disposed. The contents can be modified any time. + + + + + Gets a value indicating whether the source stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the source stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + Gets a value indicating whether the source stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + Gets the length of the source stream. + + + + + Gets or sets the position of the source stream. + + + + + Flushes the source stream. + + + + + Sets the length of the source stream. + + The desired length of the stream in bytes. + + + + Closes the source stream and also closes the additional objects that are carried. + + + + + Reads from the source stream. + + An array of bytes. When this method returns, the buffer + contains the specified byte array with the values between offset and + (offset + count - 1) replaced by the bytes read from the source. + The zero-based byte offset in buffer at which to begin + storing the data read from the stream. + The maximum number of bytes to be read from the stream. + The total number of bytes read into the buffer. This can be less + than the number of bytes requested if that many bytes are not currently available, + or zero (0) if the end of the stream has been reached. + + + + Writes to the source stream. + + An array of bytes. This method copies count + bytes from buffer to the stream. + The zero-based byte offset in buffer at which + to begin copying bytes to the stream. + The number of bytes to be written to the stream. + + + + Changes the position of the source stream. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating the reference + point used to obtain the new position. + The new position within the stream. + + + + Duplicates a source stream by maintaining a separate position. + + + WARNING: duplicate streams are not thread-safe with respect to each other or the original stream. + If multiple threads use duplicate copies of the same stream, they must synchronize for any operations. + + + + + Creates a new duplicate of a stream. + + source of the duplicate + + + + Gets the original stream that was used to create the duplicate. + + + + + Gets a value indicating whether the source stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the source stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + Gets a value indicating whether the source stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + Gets the length of the source stream. + + + + + Gets or sets the position of the current stream, + ignoring the position of the source stream. + + + + + Retrieves the original stream from a possible duplicate stream. + + Possible duplicate stream. + If the stream is a DuplicateStream, returns + the duplicate's source; otherwise returns the same stream. + + + + Flushes the source stream. + + + + + Sets the length of the source stream. + + The desired length of the stream in bytes. + + + + Closes the underlying stream, effectively closing ALL duplicates. + + + + + Reads from the source stream while maintaining a separate position + and not impacting the source stream's position. + + An array of bytes. When this method returns, the buffer + contains the specified byte array with the values between offset and + (offset + count - 1) replaced by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin + storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less + than the number of bytes requested if that many bytes are not currently available, + or zero (0) if the end of the stream has been reached. + + + + Writes to the source stream while maintaining a separate position + and not impacting the source stream's position. + + An array of bytes. This method copies count + bytes from buffer to the current stream. + The zero-based byte offset in buffer at which + to begin copying bytes to the current stream. + The number of bytes to be written to the + current stream. + + + + Changes the position of this stream without impacting the + source stream's position. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating the reference + point used to obtain the new position. + The new position within the current stream. + + + + This interface provides the methods necessary for the + to open and close streams for archives + and files. The implementor of this interface can use any kind of logic + to determine what kind of streams to open and where. + + + + + Gets the name of the archive with a specified number. + + The 0-based index of the archive + within the chain. + The name of the requested archive. May be an empty string + for non-chained archives, but may never be null. + The archive name is the name stored within the archive, used for + identification of the archive especially among archive chains. That + name is often, but not necessarily the same as the filename of the + archive package. + + + + Opens a stream for writing an archive package. + + The 0-based index of the archive within + the chain. + The name of the archive that was returned + by . + True if the stream should be truncated when + opened (if it already exists); false if an existing stream is being + re-opened for writing additional data. + Instance of the compression engine + doing the operations. + A writable Stream where the compressed archive bytes will be + written, or null to cancel the archive creation. + + If this method returns null, the archive engine will throw a + FileNotFoundException. + + + + + Closes a stream where an archive package was written. + + The 0-based index of the archive within + the chain. + The name of the archive that was previously + returned by + . + A stream that was previously returned by + and is now ready to be closed. + + If there is another archive package in the chain, then after this stream + is closed a new stream will be opened. + + + + + Opens a stream to read a file that is to be included in an archive. + + The path of the file within the archive. This is often, + but not necessarily, the same as the relative path of the file outside + the archive. + Returned attributes of the opened file, to be + stored in the archive. + Returned last-modified time of the opened file, + to be stored in the archive. + A readable Stream where the file bytes will be read from before + they are compressed, or null to skip inclusion of the file and continue to + the next file. + + + + Closes a stream that has been used to read a file. + + The path of the file within the archive; the same as + the path provided + when the stream was opened. + A stream that was previously returned by + and is now ready to be closed. + + + + Gets extended parameter information specific to the compression + format being used. + + Name of the option being requested. + Parameters for the option; for per-file options, + the first parameter is typically the internal file path. + Option value, or null to use the default behavior. + + This method provides a way to set uncommon options during packaging, or a + way to handle aspects of compression formats not supported by the base library. + For example, this may be used by the zip compression library to + specify different compression methods/levels on a per-file basis. + The available option names, parameters, and expected return values + should be documented by each compression library. + + + + + This interface provides the methods necessary for the to open + and close streams for archives and files. The implementor of this interface can use any + kind of logic to determine what kind of streams to open and where + + + + + Opens the archive stream for reading. + + The zero-based index of the archive to open. + The name of the archive being opened. + Instance of the compression engine doing the operations. + A stream from which archive bytes are read, or null to cancel extraction + of the archive. + + When the first archive in a chain is opened, the name is not yet known, so the + provided value will be an empty string. When opening further archives, the + provided value is the next-archive name stored in the previous archive. This + name is often, but not necessarily, the same as the filename of the archive + package to be opened. + If this method returns null, the archive engine will throw a + FileNotFoundException. + + + + + Closes a stream where an archive package was read. + + The archive number of the stream to close. + The name of the archive being closed. + The stream that was previously returned by + and is now ready to be closed. + + + + Opens a stream for writing extracted file bytes. + + The path of the file within the archive. This is often, but + not necessarily, the same as the relative path of the file outside the archive. + The uncompressed size of the file to be extracted. + The last write time of the file to be extracted. + A stream where extracted file bytes are to be written, or null to skip + extraction of the file and continue to the next file. + + The implementor may use the path, size and date information to dynamically + decide whether or not the file should be extracted. + + + + + Closes a stream where an extracted file was written. + + The path of the file within the archive. + The stream that was previously returned by + and is now ready to be closed. + The attributes of the extracted file. + The last write time of the file. + + The implementor may wish to apply the attributes and date to the newly-extracted file. + + + + + Wraps a source stream and offsets all read/write/seek calls by a given value. + + + This class is used to trick archive an packing or unpacking process + into reading or writing at an offset into a file, primarily for + self-extracting packages. + + + + + Creates a new OffsetStream instance from a source stream + and using a specified offset. + + Underlying stream for which all calls will be offset. + Positive or negative number of bytes to offset. + + + + Gets the underlying stream that this OffsetStream calls into. + + + + + Gets the number of bytes to offset all calls before + redirecting to the underlying stream. + + + + + Gets a value indicating whether the source stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the source stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + Gets a value indicating whether the source stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + Gets the effective length of the stream, which is equal to + the length of the source stream minus the offset. + + + + + Gets or sets the effective position of the stream, which + is equal to the position of the source stream minus the offset. + + + + + Reads a sequence of bytes from the source stream and advances + the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer + contains the specified byte array with the values between offset and + (offset + count - 1) replaced by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin + storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less + than the number of bytes requested if that many bytes are not currently available, + or zero (0) if the end of the stream has been reached. + + + + Writes a sequence of bytes to the source stream and advances the + current position within this stream by the number of bytes written. + + An array of bytes. This method copies count + bytes from buffer to the current stream. + The zero-based byte offset in buffer at which + to begin copying bytes to the current stream. + The number of bytes to be written to the + current stream. + + + + Reads a byte from the stream and advances the position within the + source stream by one byte, or returns -1 if at the end of the stream. + + The unsigned byte cast to an Int32, or -1 if at the + end of the stream. + + + + Writes a byte to the current position in the source stream and + advances the position within the stream by one byte. + + The byte to write to the stream. + + + + Flushes the source stream. + + + + + Sets the position within the current stream, which is + equal to the position within the source stream minus the offset. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating + the reference point used to obtain the new position. + The new position within the current stream. + + + + Sets the effective length of the stream, which is equal to + the length of the source stream minus the offset. + + The desired length of the + current stream in bytes. + + + + Closes the underlying stream. + + + + + Distribution specific strings. + + + + + News URL for the distribution. + + + + + Short product name for the distribution. + + + + + Support URL for the distribution. + + + + + Telemetry URL format for the distribution. + + + + + VS Extensions Landing page Url for the distribution. + + +
+
diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Resources.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Resources.dll new file mode 100644 index 0000000..3a91427 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Resources.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Resources.xml b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Resources.xml new file mode 100644 index 0000000..40396a0 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.Resources.xml @@ -0,0 +1,541 @@ + + + + Microsoft.Deployment.Resources + + + + + A subclass of Resource which provides specific methods for manipulating the resource data. + + + The resource is of type (RT_GROUPICON). + + + + + Creates a new BitmapResource object without any data. The data can be later loaded from a file. + + Name of the resource. For a numeric resource identifier, prefix the decimal number with a "#". + Locale of the resource + + + + Creates a new BitmapResource object with data. The data can be later saved to a file. + + Name of the resource. For a numeric resource identifier, prefix the decimal number with a "#". + Locale of the resource + Raw resource data + + + + Reads the bitmap from a .bmp file. + + Path to a bitmap file (.bmp). + + + + A subclass of Resource which provides specific methods for manipulating the resource data. + + + The resource is of type (RT_GROUPICON). + + + + + Creates a new GroupIconResource object without any data. The data can be later loaded from a file. + + Name of the resource. For a numeric resource identifier, prefix the decimal number with a "#". + Locale of the resource + + + + Creates a new GroupIconResource object with data. The data can be later saved to a file. + + Name of the resource. For a numeric resource identifier, prefix the decimal number with a "#". + Locale of the resource + Raw resource data + + + + Gets or sets the raw data of the resource. The data is in the format of the RT_GROUPICON resource structure. + + + + + Enumerates the the icons in the icon group. + + + + + Reads the icon group from a .ico file. + + Path to an icon file (.ico). + + + + Represents a Win32 resource which can be loaded from and saved to a PE file. + + + + + Creates a new Resource object without any data. The data can be later loaded from a file. + + Type of the resource; may be one of the ResourceType constants or a user-defined type. + Name of the resource. For a numeric resource identifier, prefix the decimal number with a "#". + Locale of the resource + + + + Creates a new Resource object with data. The data can be later saved to a file. + + Type of the resource; may be one of the ResourceType constants or a user-defined type. + Name of the resource. For a numeric resource identifier, prefix the decimal number with a "#". + Locale of the resource + Raw resource data + + + + Gets or sets the type of the resource. This may be one of the ResourceType constants + or a user-defined type name. + + + + + Gets or sets the name of the resource. For a numeric resource identifier, the decimal number is prefixed with a "#". + + + + + Gets or sets the locale of the resource. + + + + + Gets or sets the raw data of the resource. + + + + + Loads the resource data from a file. The file is searched for a resource with matching type, name, and locale. + + Win32 PE file containing the resource + + + + Saves the resource to a file. Any existing resource data with matching type, name, and locale is overwritten. + + Win32 PE file to contain the resource + + + + Tests if type, name, and locale of this Resource object match another Resource object. + + Resource object to be compared + True if the objects represent the same resource; false otherwise. + + + + Gets a hash code for this Resource object. + + Hash code generated from the resource type, name, and locale. + + + + Allows reading and editing of resource data in a Win32 PE file. + + + To use this class: + Create a new ResourceCollection + Locate resources for the collection by calling one of the methods + Load data of one or more s from a file by calling the method of the + Resource class, or load them all at once (more efficient) with the method of the ResourceCollection. + Read and/or edit data of the individual Resource objects using the methods on that class. + Save data of one or more s to a file by calling the method of the + Resource class, or save them all at once (more efficient) with the method of the ResourceCollection. + + + + + + Creates a new, empty ResourceCollection. + + + + + Locates all resources in a file, including all resource types and languages. For each located resource, + a instance (or subclass) is added to the collection. + + The file to be searched for resources. + resources could not be read from the file + + + + Locates all resources in a file of a given type, including all languages. For each located resource, + a instance (or subclass) is added to the collection. + + The file to be searched for resources. + The type of resource to search for; may be one of the ResourceType constants or a user-defined type. + resources could not be read from the file + + + + Locates all resources in a file of a given type and language. For each located resource, + a instance (or subclass) is added to the collection. + + The file to be searched for resources. + The type of resource to search for; may be one of the ResourceType constants or a user-defined type. + The name of the resource to search for. + resources could not be read from the file + + + + For all resources in the collection, loads their data from a resource file. + + The file from which resources are loaded. + + + + For all resources in the collection, saves their data to a resource file. + + The file to which resources are saved. + + + + Gets or sets the element at the specified index. + + + + + Adds a new item to the collection. + + The Resource to add. + + + + Removes an item to the collection. + + The Resource to remove. + + + + Gets the index of an item in the collection. + + The Resource to search for. + The index of the item, or -1 if not found. + + + + Inserts a item into the collection. + + The insertion index. + The Resource to insert. + + + + Tests if the collection contains an item. + + The Resource to search for. + true if the item is found; false otherwise + + + + Copies the collection into an array. + + The array to copy into. + The starting index in the destination array. + + + + Removes all resources from the collection. + + + + + Gets the number of resources in the collection. + + + + + Gets an enumerator over all resources in the collection. + + + + + + Represents either a standard integer resource type or a custom resource type name. + + + + + Creates a new resource type from a string resource name. + + String resource name, + or an integer resource type prefixed by a #. + + + + Creates a new integer resource type. + + Integer value of a well-known resource type. + + + + Gets a flag indicating whether the resource type is an integer type. + + + + + Gets the integer value of the resource type, or -1 if the resource type is not an integer. + + + + + Gets a string representation of the resource type. + + The custom resource name, or the name of a well-known resource type. + + + + Tests whether one resource type equals another object. + + Other object. + True if equal, else false. + + + + Tests whether one resource type equals another. + + Other resource type. + True if equal, else false. + + + + Gets a hash code suitable for using the resource type as a dictionary key. + + Hash code based on the resource type string. + + + + Implicitly converts a string to a ResourceType. + + String resource type to convert. + ResourceType object. + + + + Explicitly converts a ResourceType to a string. + + ResourceType object to convert. + The resource type string. + + Unlike , this conversion does not return + the common name of well-known integer resource types. Therefore, + the returned string is suitable for passing directly to Win32 + resource APIs that accept resource type strings. + + + + + Identifies build types of a versioned file. + + + + + Identifies the type of a versioned file. + + + + + Identifies the sub-type of a versioned file. + + + + + A subclass of Resource which provides specific methods for manipulating the resource data. + + + The resource is of type (RT_VERSION). + + + + + Creates a new VersionResource object without any data. The data can be later loaded from a file. + + Name of the resource. For a numeric resource identifier, prefix the decimal number with a "#". + Locale of the resource + + + + Creates a new VersionResource object with data. The data can be later saved to a file. + + Name of the resource. For a numeric resource identifier, prefix the decimal number with a "#". + Locale of the resource + Raw resource data + + + + Gets or sets the raw data of the resource. The data is in the format of the VS_VERSIONINFO structure. + + + + + Gets or sets the binary locale-independent file version of the version resource. + + + + + Gets or sets the binary locale-independent product version of the version resource. + + + + + Gets or sets a bitmask that specifies the build types of the file. + + + + + Gets or sets the general type of the file. + + + + + Gets or sets the specific type of the file. + + + + + Gets or sets the binary creation date and time. + + + + + Gets the string table for a specific locale, or null if there is no table for that locale. + + + + + + + Adds a new version string table for a locale. + + Locale of the table + The new string table, or the existing table if the locale already existed. + + + + Removes a version string table for a locale. + + Locale of the table + + + + Checks if a version string table exists for a given locale. + + Locale to search for + True if a string table was found for the locale; false otherwise. + + + + Gets the number string tables in the version resource. + + + + + Removes all string tables from the version resource. + + + + + Copies the version string tables to an array, starting at a particular array index. + + The one-dimensional Array that is the destination of the elements copied + from the collection. The Array must have zero-based indexing. + The zero-based index in array at which copying begins. + + + + Gets an enumerator that can iterate over the version string tables in the collection. + + An enumerator that returns objects. + + + + Gets an enumerator that can iterate over the version string tables in the collection. + + An enumerator that returns objects. + + + + Represents a string table of a file version resource. + + + + + Gets the locale (LCID) of the string table. + + + + + Gets or sets a string value. + + Name of the string. + + + + Removes all strings from the string table. + + + + + Gets a collection of all the names of the strings in the table. + + + + + Gets a collection of all the values in the table. + + + + + Gets the number of strings in the table. + + + + + Gets an enumeration over all strings in the table. + + Enumeration of string name and value pairs + + + + Distribution specific strings. + + + + + News URL for the distribution. + + + + + Short product name for the distribution. + + + + + Support URL for the distribution. + + + + + Telemetry URL format for the distribution. + + + + + VS Extensions Landing page Url for the distribution. + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Linq.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Linq.dll new file mode 100644 index 0000000..b11dfc1 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Linq.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Linq.xml b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Linq.xml new file mode 100644 index 0000000..cfe9d97 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Linq.xml @@ -0,0 +1,464 @@ + + + + Microsoft.Deployment.WindowsInstaller.Linq + + + + + Apply to a subclass of QRecord to indicate the name of + the table the record type is to be used with. + + + If this attribute is not used on a record type, the default + table name will be derived from the record type name. (An + optional underscore suffix is stripped.) + + + + + Creates a new DatabaseTableAttribute for the specified table. + + name of the table associated with the record type + + + + Gets or sets the table associated with the record type. + + + + + Apply to a property on a subclass of QRecord to indicate + the name of the column the property is to be associated with. + + + If this attribute is not used on a property, the default + column name will be the same as the property name. + + + + + Creates a new DatabaseColumnAttribute which maps a + record property to a column. + + name of the column associated with the property + + + + Gets or sets the column associated with the record property. + + + + + Allows any Database instance to be converted into a queryable database. + + + + + Converts any Database instance into a queryable database. + + + Queryable database instance that operates on the same + MSI handle. + + This extension method is meant for convenient on-the-fly conversion. + If the existing database instance already happens to be a QDatabase, + then it is returned unchanged. Otherwise since the new database + carries the same MSI handle, only one of the instances needs to be + closed, not both. + + + + + Queryable MSI database - extends the base Database class with + LINQ query functionality along with predefined entity types + for common tables. + + + + + Opens an existing database in read-only mode. + + Path to the database file. + the database could not be created/opened + + Because this constructor initiates database access, it cannot be used with a + running installation. + The Database object should be d after use. + The finalizer will close the handle if it is still open, however due to the nondeterministic + nature of finalization it is best that the handle be closed manually as soon as it is no + longer needed, as leaving lots of unused handles open can degrade performance. + + + + + Opens an existing database with another database as output. + + Path to the database to be read. + Open mode for the database + Database object representing the created or opened database + the database could not be created/opened + + When a database is opened as the output of another database, the summary information stream + of the output database is actually a read-only mirror of the original database and thus cannot + be changed. Additionally, it is not persisted with the database. To create or modify the + summary information for the output database it must be closed and re-opened. + The returned Database object should be d after use. + The finalizer will close the handle if it is still open, however due to the nondeterministic + nature of finalization it is best that the handle be closed manually as soon as it is no + longer needed, as leaving lots of unused handles open can degrade performance. + + + + + Opens an existing database or creates a new one. + + Path to the database file. If an empty string + is supplied, a temporary database is created that is not persisted. + Open mode for the database + the database could not be created/opened + + To make and save changes to a database first open the database in transaction, + create or, or direct mode. After making the changes, always call the Commit method + before closing the database handle. The Commit method flushes all buffers. + Always call the Commit method on a database that has been opened in direct + mode before closing the database. Failure to do this may corrupt the database. + Because this constructor initiates database access, it cannot be used with a + running installation. + The Database object should be d after use. + The finalizer will close the handle if it is still open, however due to the nondeterministic + nature of finalization it is best that the handle be closed manually as soon as it is no + longer needed, as leaving lots of unused handles open can degrade performance. + + + + + Creates a new database from an MSI handle. + + Native MSI database handle. + True if the handle should be closed + when the database object is disposed + Path of the database file, if known + Mode the handle was originally opened in + + + + Gets or sets a log where all MSI SQL queries are written. + + + The log can be useful for debugging, or simply to watch the LINQ magic in action. + + + + + Gets a queryable table from the datbaase. + + name of the table + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + Queryable standard table with predefined specialized record type. + + + + Generic record entity for queryable databases, + and base for strongly-typed entity subclasses. + + + Several predefined specialized subclasses are provided for common + standard tables. Subclasses for additional standard tables + or custom tables are not necessary, but they are easy to create + and make the coding experience much nicer. + When creating subclasses, the following attributes may be + useful: , + + + + + + Do not call. Use QTable.NewRecord() instead. + + + Subclasses must also provide a public parameterless constructor. + QRecord constructors are only public due to implementation + reasons (to satisfy the new() constraint on the QTable generic + class). They are not intended to be called by user code other than + a subclass constructor. If the constructor is invoked directly, + the record instance will not be properly initialized (associated + with a database table) and calls to methods on the instance + will throw a NullReferenceException. + + + + + + Gets the number of fields in the record. + + + + + Gets or sets a record field. + + column name of the field + + Setting a field value will automatically update the database. + + + + + Gets or sets a record field. + + zero-based column index of the field + + Setting a field value will automatically update the database. + + + + + Used by subclasses to get a field as an integer. + + zero-based column index of the field + + + + Used by subclasses to get a field as a nullable integer. + + zero-based column index of the field + + + + Dumps all record fields to a string. + + + + + Update multiple fields in the record (and the database). + + column names of fields to update + new values for each field being updated + + + + Update multiple fields in the record (and the database). + + column indexes of fields to update + new values for each field being updated + + The record (primary keys) must already exist in the table. + Updating primary key fields is not yet implemented; use Delete() + and Insert() instead. + + + + + Inserts the record in the database. + + + The record (primary keys) may not already exist in the table. + Use to get a new + record. Prmary keys and all required fields + must be filled in before insertion. + + + + + Inserts the record into the table. + + true if the record is temporarily + inserted, to be visible only as long as the database is open + + The record (primary keys) may not already exist in the table. + Use to get a new + record. Prmary keys and all required fields + must be filled in before insertion. + + + + + Deletes the record from the table if it exists. + + + + + Not yet implemented. + + + + + Not yet implemented. + + + + + Not yet implemented. + + + + + Not yet implemented. + + + + + Not yet implemented. + + + + + Not yet implemented. + + + + + Not yet implemented. + + + + + Represents one table in a LINQ-queryable Database. + + type that represents one record in the table + + This class is the primary gateway to all LINQ to MSI query functionality. + The TRecord generic parameter may be the general + class, or a specialized subclass of QRecord. + + + + + Infers the name of the table this instance will be + associated with. + + table name + + The table name is retrieved from a DatabaseTableAttribute + on the record type if it exists; otherwise the name is + derived from the name of the record type itself. + (An optional underscore suffix on the record type name is dropped.) + + + + + Creates a new QTable, inferring the table name + from the name of the record type parameter. + + database that contains the table + + + + Creates a new QTable with an explicit table name. + + database that contains the table + name of the table + + + + Gets schema information about the table. + + + + + Gets the database this table is associated with. + + + + + Enumerates over all records in the table. + + + + + + Creates a new record that can be inserted into this table. + + a record with all fields initialized to null + + Primary keys and required fields must be filled in with + non-null values before the record can be inserted. + The record is tied to this table in this database; + it cannot be inserted into another table or database. + + + + + Implements the LINQ to MSI query functionality. + + the result type of the current query -- + either some kind of QRecord, or some projection of record data + + + + Distribution specific strings. + + + + + News URL for the distribution. + + + + + Short product name for the distribution. + + + + + Support URL for the distribution. + + + + + Telemetry URL format for the distribution. + + + + + VS Extensions Landing page Url for the distribution. + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Package.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Package.dll new file mode 100644 index 0000000..a17ac82 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Package.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Package.xml b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Package.xml new file mode 100644 index 0000000..e94bbbe --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.Package.xml @@ -0,0 +1,729 @@ + + + + Microsoft.Deployment.WindowsInstaller.Package + + + + + Handles status messages generated when operations are performed on an + or . + + + installPackage.Message += new InstallPackageMessageHandler(Console.WriteLine); + + + + + Provides access to powerful build, maintenance, and analysis operations on an + installation package (.MSI or .MSM). + + + + + Creates a new InstallPackage object. The file source directory and working + directory are the same as the location as the package file. + + Path to the install package to be created or opened + Open mode for the database + + + + Creates a new InstallPackage object, specifying an alternate file source + directory and/or working directory. + + Path to the install package to be created or opened + Open mode for the database + Location to obtain source files and cabinets when extracting + or updating files in the working directory. This is often the location of an original + copy of the package that is not meant to be modified. If this parameter is null, it + defaults to the directory of . + Location where files will be extracted to/updated from. Also + the location where a temporary folder is created during some operations. If this + parameter is null, it defaults to the directory of . + If the source location is different than the working directory, then + no files will be modified at the source location. + + + + + Handle this event to receive status messages when operations are performed + on the install package. + + + installPackage.Message += new InstallPackageMessageHandler(Console.WriteLine); + + + + + Sends a message to the event-handler. + + Message string, containing 0 or more format items + Items to be formatted + + + + Gets or sets the location to obtain source files and cabinets when + extracting or updating files in the working directory. This is often + the location of an original copy of the package that is not meant + to be modified. + + + + + Gets or sets the location where files will be extracted to/updated from. Also + the location where a temporary folder is created during some operations. + + + + + Gets the list of file keys that have the specified long file name. + + File name to search for (case-insensitive) + Array of file keys, or a 0-length array if none are found + + + + Gets the list of file keys whose long file names match a specified + regular-expression search pattern. + + Regular expression search pattern + Array of file keys, or a 0-length array if none are found + + + + Extracts all files to the . The files are extracted + to the relative directory matching their . + + If any files have the uncompressed attribute, they will be copied + from the . + + + + Extracts a specified list of files to the . The files + are extracted to the relative directory matching their . + + List of file key strings to extract + If any files have the uncompressed attribute, they will be copied + from the . + + + + Provides a key (filename) / value (full path) pair where the Binary files can be worked with + + The path to search for files in. This is NOT recursive. + The explicit names to search for. All will be returned if nothing specified. + A of the filename/fullpath key value pairs of the directory given. + + + + Updates the install package with new files from the . The + files must be in the relative directory matching their . + This method re-compresses and packages the files if necessary, and also updates the + following data: File.FileSize, File.Version, File.Language, MsiFileHash.HashPart* + + + The cabinet compression level used during re-cabbing can be configured with the + property. + + + + + Updates the install package with new files from the . The + files must be in the relative directory matching their . + This method re-compresses and packages the files if necessary, and also updates the + following data: File.FileSize, File.Version, File.Language, MsiFileHash.HashPart?. + + List of file key strings to update + + This method does not change the media structure of the package, so it may require extracting + and re-compressing a large cabinet just to update one file. +

The cabinet compression level used during re-cabbing can be configured with the + property.

+
+
+ + + Consolidates a package by combining and re-compressing all files into a single + internal or external cabinet. + + + If an installation package was built from many merge modules, this + method can somewhat decrease package size, complexity, and installation time. +

This method will also convert a package with all or mostly uncompressed + files into a package where all files are compressed.

+

If the package contains any not-yet-applied binary file patches (for + example, a package generated by a call to ) then + this method will apply the patches before compressing the updated files.

+

This method edits the database summary information and the File, Media + and Patch tables as necessary to maintain a valid installation package.

+

The cabinet compression level used during re-cabbing can be configured with the + property.

+
+
+ + + Clears the +R flag on the specified files in the directory of your choice. + + + This base path is prepended to each item in the collection. + + + A collection of filePaths. If the objects within override ToString to return a valid path relative to + this method will work. + + + + + Rebuilds the cached directory structure information accessed by the + and properties. This + should be done after modifying the File, Component, or Directory + tables, or else the cached information may no longer be accurate. + + + + + Gets a mapping from Directory keys to source/target paths. + + + If the Directory table is modified, this mapping + will be outdated until you call . + + + + + Gets a mapping from File keys to source/target paths. + + + If the File, Component, or Directory tables are modified, this mapping + may be outdated until you call . + + + + + Gets or sets the compression level used by + and . + + + If the Directory table is modified, this mapping will be outdated + until you close and reopen the install package. + + + + + Applies a patch package to the database, resulting in an installation package that + has the patch built-in. + + The patch package to be applied + Optional name of the specific transform to apply. + This parameter is usually left null, which causes the patch to be searched for + a transform that is valid to apply to this database. + + If the patch contains any binary file patches, they will not immediately be applied + to the target files, though they will at installation time. +

After calling this method you can use to apply + the file patches immediately and also discard any outdated files from the package.

+
+
+ + + Accessor for getting and setting properties of the InstallPackage database. + + + + + Accessor for getting and setting properties of the database. + + + + + Gets or sets a property in the database. When getting a property + that does not exist in the database, an empty string is returned. + To remove a property from the database, set it to an empty string. + + + This has the same results as direct SQL queries on the Property table; it's only + meant to be a more convenient way of access. + + + + + Represents the installation path of a file or directory from an installer product database. + + + + + Creates a new InstallPath, specifying a filename. + + The name of the file or directory. Not a full path. + + + + Creates a new InstallPath, parsing out either the short or long filename. + + The name of the file or directory, in short|long syntax for a filename + or targetshort|targetlong:sourceshort|sourcelong syntax for a directory. + true to parse the short part of the combined filename; false to parse the long part + + + + Gets the path of the parent directory. + + + + + Gets the set of child paths if this InstallPath object represents a a directory. + + + + + Gets or sets the source name of the InstallPath. + + + + + Gets or sets the target name of the install path. + + + + + Gets the full source path. + + + + + Gets the full target path. + + + + + Gets the full source path. + + + + + + Represents a collection of InstallPaths that are the child paths of the same parent directory. + + + + + Gets or sets the element at the specified index. + + + + + Adds a new child path to the collection. + + The InstallPath to add. + + + + Removes a child path to the collection. + + The InstallPath to remove. + + + + Gets the index of a child path in the collection. + + The InstallPath to search for. + The index of the item, or -1 if not found. + + + + Inserts a child path into the collection. + + The insertion index. + The InstallPath to insert. + + + + Tests if the collection contains a child path. + + The InstallPath to search for. + true if the item is found; false otherwise + + + + Copies the collection into an array. + + The array to copy into. + The starting index in the destination array. + + + + Removes an item from the collection. + + The index of the item to remove. + + + + Removes all items from the collection. + + + + + Gets the number of items in the collection. + + + + + Gets an enumerator over all items in the collection. + + An enumerator for the collection. + + + + Represents a mapping of install paths for all directories, components, or files in + an installation database. + + + + + Builds a mapping from File keys to installation paths. + + Installation database. + Component mapping returned by . + true to use short file names; false to use long names + An InstallPathMap with the described mapping. + + + + Builds a mapping from Component keys to installation paths. + + Installation database. + Directory mapping returned by + . + An InstallPathMap with the described mapping. + + + + Builds a mapping from Directory keys to installation paths. + + Installation database. + true to use short directory names; false to use long names + An InstallPathMap with the described mapping. + + + + Builds a mapping of Directory keys to directory paths, specifying root directories + for the source and target paths. + + Database containing the Directory table. + true to use short directory names; false to use long names + The root directory path of all source paths, or null to leave them relative. + The root directory path of all source paths, or null to leave them relative. + An InstallPathMap with the described mapping. + + + + Creates a new empty InstallPathMap. + + + + + Gets a mapping from keys to source paths. + + + + + Gets a mapping from keys to target paths. + + + + + Gets or sets an install path for a direcotry, component, or file key. + + Depending on the type of InstallPathMap, this is the primary key from the + either the Directory, Component, or File table. + + Changing an install path does not modify the Database used to generate this InstallPathMap. + + + + + Gets the collection of keys in the InstallPathMap. Depending on the type of InstallPathMap, + they are all directory, component, or file key strings. + + + + + Gets the collection of InstallPath values in the InstallPathMap. + + + + + Sets an install path for a direcotry, component, or file key. + + Depending on the type of InstallPathMap, this is the primary key from the + either the Directory, Component, or File table. + The install path of the key item. + + Changing an install path does not modify the Database used to generate this InstallPathMap. + + + + + Removes an install path from the map. + + Depending on the type of InstallPathMap, this is the primary key from the + either the Directory, Component, or File table. + true if the item was removed, false if it did not exist + + Changing an install path does not modify the Database used to generate this InstallPathMap. + + + + + Tests whether a direcotry, component, or file key exists in the map. + + Depending on the type of InstallPathMap, this is the primary key from the + either the Directory, Component, or File table. + true if the key is found; false otherwise + + + + Attempts to get a value from the dictionary. + + The key to lookup. + Receives the value, or null if they key was not found. + True if the value was found, else false. + + + + Removes all entries from the dictionary. + + + + + Gets the number of entries in the dictionary. + + + + + Gets an enumerator over all entries in the dictionary. + + An enumerator for the dictionary. + + + + Provides access to convenient properties and operations on a patch package (.MSP). + + + + + Creates a new patch package object; opening the patch database in read-only mode. + + Path to the patch package (.MSP) + The PatchPackage object only opens the patch database in read-only mode, because + transforms (sub-storages) cannot be read if the database is open in read-write mode. + + + + Handle this event to receive status messages when operations are performed on the patch package. + + + patchPackage.Message += new InstallPackageMessageHandler(Console.WriteLine); + + + + + Sends a message to the event-handler. + + Message string, containing 0 or more format items + Items to be formatted + + + + Gets the patch code (GUID) of the patch package. + + + The patch code is stored in the RevisionNumber field of the patch summary information. + + + + + Gets the list of patch codes that are replaced by this patch package. + + Array of replaced patch codes (GUIDs) + + The list of replaced patch codes is stored in the RevisionNumber field of the patch summary information. + + + + + Gets the list of product codes of products targeted by this patch package. + + Array of product codes (GUIDs) + + The list of target product codes is stored in the Template field of the patch summary information. + + + + + Gets the names of the transforms included in the patch package. + + Array of transform names + + The returned list does not include the "patch special transforms" that are prefixed with "#" +

The list of transform names is stored in the LastSavedBy field of the patch summary information.

+
+
+ + + Gets the names of the transforms included in the patch package. + + Specifies whether to include the + "patch special transforms" that are prefixed with "#" + Array of transform names + + The list of transform names is stored in the LastSavedBy field of the patch summary information. + + + + + Gets information about the transforms included in the patch package. + + Array containing information about each transform + + The returned info does not include the "patch special transforms" that are prefixed with "#" + + + + + Gets information about the transforms included in the patch package. + + Specifies whether to include the + "patch special transforms" that are prefixed with "#" + Array containing information about each transform + + + + Gets information about a transforms included in the patch package. + + Name of the transform to extract; this may optionally be a + special transform prefixed by "#" + Information about the transform + + + + Analyzes the transforms included in the patch package to find the ones that + are applicable to an install package. + + The install package to validate the transforms against + Array of valid transform names + + The returned list does not include the "patch special transforms" that + are prefixed with "#" If a transform is valid, then its corresponding + special transform is assumed to be valid as well. + + + + + Extracts a transform (.MST) from a patch package. + + Name of the transform to extract; this may optionally be a + special transform prefixed by "#" + Location where the transform will be extracted + + + + Contains properties of a transform package (.MST). + + + + + Reads transform information from a transform package. + + Path to a transform package (.MST file). + + + + Reads transform information from the summary information of a transform package. + + Filename of the transform (optional). + Handle to the summary information of a transform package (.MST file). + + + + Gets the filename of the transform. + + + + + Gets the target product code of the transform. + + + + + Gets the target product version of the transform. + + + + + Gets the upgrade product code of the transform. + + + + + Gets the upgrade product version of the transform. + + + + + Gets the upgrade code of the transform. + + + + + Gets the target platform of the transform. + + + + + Gets the target language of the transform, or 0 if the transform is language-neutral. + + + + + Gets the validation flags specified when the transform was generated. + + + + + Returns the name of the transform. + + + + + Distribution specific strings. + + + + + News URL for the distribution. + + + + + Short product name for the distribution. + + + + + Support URL for the distribution. + + + + + Telemetry URL format for the distribution. + + + + + VS Extensions Landing page Url for the distribution. + + +
+
diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.dll new file mode 100644 index 0000000..8079bec Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.xml b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.xml new file mode 100644 index 0000000..ed23de3 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/Microsoft.Deployment.WindowsInstaller.xml @@ -0,0 +1,7414 @@ + + + + Microsoft.Deployment.WindowsInstaller + + + + + Collection of column information related to a or + . + + + + + Creates a new ColumnCollection based on a specified list of columns. + + columns to be added to the new collection + + + + Creates a new ColumnCollection that is associated with a database table. + + view that contains the columns + + + + Gets the number of columns in the collection. + + number of columns in the collection + + + + Gets a boolean value indicating whether the collection is read-only. + A ColumnCollection is read-only if it is associated with a + or a read-only . + + read-only status of the collection + + + + Gets information about a specific column in the collection. + + 1-based index into the column collection + is less + than 1 or greater than the number of columns in the collection + + + + Gets information about a specific column in the collection. + + case-sensitive name of a column collection + does + not exist in the collection + + + + Not supported because the collection is read-only. + + information about the column being added + the collection is read-only + + + + Not supported because the collection is read-only. + + the collection is read-only + + + + Checks if a column with a given name exists in the collection. + + case-sensitive name of the column to look for + true if the column exists in the collection, false otherwise + + + + Checks if a column with a given name exists in the collection. + + column to look for, with case-sensitive name + true if the column exists in the collection, false otherwise + + + + Gets the index of a column within the collection. + + case-sensitive name of the column to look for + 0-based index of the column, or -1 if not found + + + + Copies the columns from this collection into an array. + + destination array to be filed + offset into the destination array where copying begins + + + + Not supported because the collection is read-only. + + column to remove + true if the column was removed, false if it was not found + the collection is read-only + + + + Gets an enumerator over the columns in the collection. + + An enumerator of ColumnInfo objects. + + + + Gets a string suitable for printing all the values of a record containing these columns. + + + + + Gets an enumerator over the columns in the collection. + + An enumerator of ColumnInfo objects. + + + + Creates ColumnInfo objects for the associated view. + + dynamically-generated list of columns + + + + Gets a list of column names or column-definition-strings for the + associated view. + + the view to that defines the columns + true to return types (column definition strings), + false to return names + list of column names or types + + + + Available values for the Attributes column of the Component table. + + + + + Local only - Component cannot be run from source. + +

+ Set this value for all components belonging to a feature to prevent the feature from being run-from-network or + run-from-source. Note that if a feature has no components, the feature always shows run-from-source and + run-from-my-computer as valid options. +

+
+ + + Component can only be run from source. + +

+ Set this bit for all components belonging to a feature to prevent the feature from being run-from-my-computer. + Note that if a feature has no components, the feature always shows run-from-source and run-from-my-computer + as valid options. +

+
+ + + Component can run locally or from source. + + + + + If this bit is set, the value in the KeyPath column is used as a key into the Registry table. + +

+ If the Value field of the corresponding record in the Registry table is null, the Name field in that record + must not contain "+", "-", or "*". For more information, see the description of the Name field in Registry + table. +

Setting this bit is recommended for registry entries written to the HKCU hive. This ensures the installer + writes the necessary HKCU registry entries when there are multiple users on the same machine.

+

+
+ + + If this bit is set, the installer increments the reference count in the shared DLL registry of the component's + key file. If this bit is not set, the installer increments the reference count only if the reference count + already exists. + + + + + If this bit is set, the installer does not remove the component during an uninstall. The installer registers + an extra system client for the component in the Windows Installer registry settings. + + + + + If this bit is set, the value in the KeyPath column is a key into the ODBCDataSource table. + + + + + If this bit is set, the installer reevaluates the value of the statement in the Condition column upon a reinstall. + If the value was previously False and has changed to true, the installer installs the component. If the value + was previously true and has changed to false, the installer removes the component even if the component has + other products as clients. + + + + + If this bit is set, the installer does not install or reinstall the component if a key path file or a key path + registry entry for the component already exists. The application does register itself as a client of the component. + +

+ Use this flag only for components that are being registered by the Registry table. Do not use this flag for + components registered by the AppId, Class, Extension, ProgId, MIME, and Verb tables. +

+
+ + + Set this bit to mark this as a 64-bit component. This attribute facilitates the installation of packages that + include both 32-bit and 64-bit components. If this bit is not set, the component is registered as a 32-bit component. + +

+ If this is a 64-bit component replacing a 32-bit component, set this bit and assign a new GUID in the + ComponentId column. +

+
+ + + Set this bit to disable registry reflection on all existing and new registry keys affected by this component. + +

+ If this bit is set, the Windows Installer calls the RegDisableReflectionKey on each key being accessed by the component. + This bit is available with Windows Installer version 4.0 and is ignored on 32-bit systems. +

+
+ + + [MSI 4.5] Set this bit for a component in a patch package to prevent leaving orphan components on the computer. + +

+ If a subsequent patch is installed, marked with the SupersedeEarlier flag in its MsiPatchSequence + table to supersede the first patch, Windows Installer 4.5 can unregister and uninstall components marked with the + UninstallOnSupersedence value. If the component is not marked with this bit, installation of a superseding patch can leave + behind an unused component on the computer. +

+
+ + + [MSI 4.5] If a component is marked with this attribute value in at least one package installed on the system, + the installer treats the component as marked in all packages. If a package that shares the marked component + is uninstalled, Windows Installer 4.5 can continue to share the highest version of the component on the system, + even if that highest version was installed by the package that is being uninstalled. + + + + + Defines flags for the Attributes column of the Control table. + + + + If this bit is set, the control is visible on the dialog box. + + + specifies if the given control is enabled or disabled. Most controls appear gray when disabled. + + + If this bit is set, the control is displayed with a sunken, three dimensional look. + + + The Indirect control attribute specifies whether the value displayed or changed by this control is referenced indirectly. + + + If this bit is set on a control, the associated property specified in the Property column of the Control table is an integer. + + + If this bit is set the text in the control is displayed in a right-to-left reading order. + + + If this style bit is set, text in the control is aligned to the right. + + + If this bit is set, the scroll bar is located on the left side of the control, otherwise it is on the right. + + + This is a combination of the RightToLeftReadingOrder, RightAligned, and LeftScroll attributes. + + + If this bit is set on a text control, the control is displayed transparently with the background showing through the control where there are no characters. + + + If this bit is set on a text control, the occurrence of the character "&" in a text string is displayed as itself. + + + If this bit is set the text in the control is displayed on a single line. + + + If this bit is set for a text control, the control will automatically attempt to format the displayed text as a number representing a count of bytes. + + + If this bit is set, fonts are created using the user's default UI code page. Otherwise it is created using the database code page. + + + If this bit is set on an Edit control, the installer creates a multiple line edit control with a vertical scroll bar. + + + This attribute creates an edit control for entering passwords. The control displays each character as an asterisk (*) as they are typed into the control. + + + If this bit is set on a ProgressBar control, the bar is drawn as a series of small rectangles in Microsoft Windows 95-style. Otherwise it is drawn as a single continuous rectangle. + + + If this bit is set, the control shows removable volumes. + + + If this bit is set, the control shows fixed internal hard drives. + + + If this bit is set, the control shows remote volumes. + + + If this bit is set, the control shows CD-ROM volumes. + + + If this bit is set, the control shows RAM disk volumes. + + + If this bit is set, the control shows floppy volumes. + + + Specifies whether or not the rollback backup files are included in the costs displayed by the VolumeCostList control. + + + If this bit is set, the items listed in the control are displayed in a specified order. Otherwise, items are displayed in alphabetical order. + + + If this bit is set on a combo box, the edit field is replaced by a static text field. This prevents a user from entering a new value and requires the user to choose only one of the predefined values. + + + If this bit is set on a check box or a radio button group, the button is drawn with the appearance of a push button, but its logic stays the same. + + + If this bit is set, the text in the control is replaced by a bitmap image. The Text column in the Control table is a foreign key into the Binary table. + + + If this bit is set, text is replaced by an icon image and the Text column in the Control table is a foreign key into the Binary table. + + + If this bit is set, the picture is cropped or centered in the control without changing its shape or size. + + + Specifies which size of the icon image to load. If none of the bits are set, the first image is loaded. + + + Specifies which size of the icon image to load. If none of the bits are set, the first image is loaded. + + + Specifies which size of the icon image to load. If none of the bits are set, the first image is loaded. + + + If this bit is set, and the installation is not yet running with elevated privileges, the control is created with a UAC icon. + + + If this bit is set, the RadioButtonGroup has text and a border displayed around it. + + + + Defines flags for the Type column of the CustomAction table. + + + + Unspecified custom action type. + + + Target = entry point name + + + Target = command line args + + + Target = text string to be formatted and set into property + + + Target = entry point name, null if none to call + + + Target = entry point name, null if none to call + + + Target = property list for nested engine initialization + + + Source = File.File, file part of installation + + + Source = Directory.Directory, folder containing existing file + + + Source = Property.Property, full path to executable + + + Ignore action return status, continue running + + + Run asynchronously + + + Skip if UI sequence already run + + + Skip if UI sequence already run in same process + + + Run on client only if UI already run on client + + + Queue for execution within script + + + In conjunction with InScript: queue in Rollback script + + + In conjunction with InScript: run Commit ops from script on success + + + No impersonation, run in system context + + + Impersonate for per-machine installs on TS machines + + + Script requires 64bit process + + + Don't record the contents of the Target field in the log file + + + The custom action runs only when a patch is being uninstalled + + + + Defines flags for the Attributes column of the Dialog table. + + + + If this bit is set, the dialog is originally created as visible, otherwise it is hidden. + + + If this bit is set, the dialog box is modal, other dialogs of the same application cannot be put on top of it, and the dialog keeps the control while it is running. + + + If this bit is set, the dialog box can be minimized. This bit is ignored for modal dialog boxes, which cannot be minimized. + + + If this style bit is set, the dialog box will stop all other applications and no other applications can take the focus. + + + If this bit is set, the other dialogs stay alive when this dialog box is created. + + + If this bit is set, the dialog box periodically calls the installer. If the property changes, it notifies the controls on the dialog. + + + If this bit is set, the pictures on the dialog box are created with the custom palette (one per dialog received from the first control created). + + + If this style bit is set the text in the dialog box is displayed in right-to-left-reading order. + + + If this style bit is set, the text is aligned on the right side of the dialog box. + + + If this style bit is set, the scroll bar is located on the left side of the dialog box. + + + This is a combination of the RightToLeftReadingOrder, RightAligned, and the LeftScroll dialog style bits. + + + If this bit is set, the dialog box is an error dialog. + + + + Available values for the Attributes column of the Feature table. + + + + + Favor local - Components of this feature that are not marked for installation from source are installed locally. + +

+ A component shared by two or more features, some of which are set to FavorLocal and some to FavorSource, + is installed locally. Components marked in the Component + table are always run from the source CD/server. The bits FavorLocal and FavorSource work with features not + listed by the ADVERTISE property. +

+
+ + + Components of this feature not marked for local installation are installed to run from the source + CD-ROM or server. + +

+ A component shared by two or more features, some of which are set to FavorLocal and some to FavorSource, + is installed to run locally. Components marked (local-only) in the + Component table are always installed locally. The bits FavorLocal and FavorSource work with features + not listed by the ADVERTISE property. +

+
+ + + Set this attribute and the state of the feature is the same as the state of the feature's parent. + You cannot use this option if the feature is located at the root of a feature tree. + +

+ Omit this attribute and the feature state is determined according to DisallowAdvertise and + FavorLocal and FavorSource. +

To guarantee that the child feature's state always follows the state of its parent, even when the + child and parent are initially set to absent in the SelectionTree control, you must include both + FollowParent and UIDisallowAbsent in the attributes of the child feature.

+

Note that if you set FollowParent without setting UIDisallowAbsent, the installer cannot force + the child feature out of the absent state. In this case, the child feature matches the parent's + installation state only if the child is set to something other than absent.

+

Set FollowParent and UIDisallowAbsent to ensure a child feature follows the state of the parent feature.

+

+
+ + + Set this attribute and the feature state is Advertise. + +

+ If the feature is listed by the ADDDEFAULT property this bit is ignored and the feature state is determined + according to FavorLocal and FavorSource. +

Omit this attribute and the feature state is determined according to DisallowAdvertise and FavorLocal + and FavorSource.

+

+
+ + + Set this attribute to prevent the feature from being advertised. + +

+ Note that this bit works only with features that are listed by the ADVERTISE property. +

Set this attribute and if the listed feature is not a parent or child, the feature is installed according to + FavorLocal and FavorSource.

+

Set this attribute for the parent of a listed feature and the parent is installed.

+

Set this attribute for the child of a listed feature and the state of the child is Absent.

+

Omit this attribute and if the listed feature is not a parent or child, the feature state is Advertise.

+

Omit this attribute and if the listed feature is a parent or child, the state of both features is Advertise.

+

+
+ + + Set this attribute and the user interface does not display an option to change the feature state + to Absent. Setting this attribute forces the feature to the installation state, whether or not the + feature is visible in the UI. + +

+ Omit this attribute and the user interface displays an option to change the feature state to Absent. +

Set FollowParent and UIDisallowAbsent to ensure a child feature follows the state of the parent feature.

+

Setting this attribute not only affects the UI, but also forces the feature to the install state whether + the feature is visible in the UI or not.

+

+
+ + + Set this attribute and advertising is disabled for the feature if the operating system shell does not + support Windows Installer descriptors. + + + + + Available values for the Attributes column of the File table. + + + + No attributes. + + + Read-only. + + + Hidden. + + + System. + + + The file is vital for the proper operation of the component to which it belongs. + + + The file contains a valid checksum. A checksum is required to repair a file that has become corrupted. + + + This bit must only be added by a patch and if the file is being added by the patch. + + + + The file's source type is uncompressed. If set, ignore the WordCount summary information property. If neither + Noncompressed nor Compressed are set, the compression state of the file is specified by the WordCount summary + information property. Do not set both Noncompressed and Compressed. + + + + + The file's source type is compressed. If set, ignore the WordCount summary information property. If neither + Noncompressed or Compressed are set, the compression state of the file is specified by the WordCount summary + information property. Do not set both Noncompressed and Compressed. + + + + + Defines values for the Action column of the IniFile and RemoveIniFile tables. + + + + Creates or updates a .ini entry. + + + Creates a .ini entry only if the entry does not already exist. + + + Deletes .ini entry. + + + Creates a new entry or appends a new comma-separated value to an existing entry. + + + Deletes a tag from a .ini entry. + + + + Defines values for the Type column of the CompLocator, IniLocator, and RegLocator tables. + + + + Key path is a directory. + + + Key path is a file name. + + + Key path is a registry value. + + + Set this bit to have the installer search the 64-bit portion of the registry. + + + + Defines values for the Root column of the Registry, RemoveRegistry, and RegLocator tables. + + + + HKEY_CURRENT_USER for a per-user installation, + or HKEY_LOCAL_MACHINE for a per-machine installation. + + + HKEY_CLASSES_ROOT + + + HKEY_CURRENT_USER + + + HKEY_LOCAL_MACHINE + + + HKEY_USERS + + + + Defines values for the InstallMode column of the RemoveFile table. + + + + Never remove. + + + Remove when the associated component is being installed (install state = local or source). + + + Remove when the associated component is being removed (install state = absent). + + + + Defines values for the ServiceType, StartType, and ErrorControl columns of the ServiceInstall table. + + + + No flags. + + + A Win32 service that runs its own process. + + + A Win32 service that shares a process. + + + A Win32 service that interacts with the desktop. + This value cannot be used alone and must be added to either + or . + + + Service starts during startup of the system. + + + Service starts when the service control manager calls the StartService function. + + + Specifies a service that can no longer be started. + + + Logs the error, displays a message box and continues the startup operation. + + + Logs the error if it is possible and the system is restarted with the last configuration + known to be good. If the last-known-good configuration is being started, the startup operation fails. + + + When combined with other error flags, specifies that the overall install should fail if + the service cannot be installed into the system. + + + + Defines values for the Event column of the ServiceControl table. + + + + No control events. + + + During an install, starts the service during the StartServices action. + + + During an install, stops the service during the StopServices action. + + + During an install, deletes the service during the DeleteServices action. + + + During an uninstall, starts the service during the StartServices action. + + + During an uninstall, stops the service during the StopServices action. + + + During an uninstall, deletes the service during the DeleteServices action. + + + + Defines values for the StyleBits column of the TextStyle table. + + + + Bold + + + Italic + + + Underline + + + Strike out + + + + Defines values for the Attributes column of the Upgrade table. + + + + Migrates feature states by enabling the logic in the MigrateFeatureStates action. + + + Detects products and applications but does not remove. + + + Continues installation upon failure to remove a product or application. + + + Detects the range of versions including the value in VersionMin. + + + Dectects the range of versions including the value in VersionMax. + + + Detects all languages, excluding the languages listed in the Language column. + + + + Defines a single column of a table in an installer database. + + Once created, a ColumnInfo object is immutable. + + + + Creates a new ColumnInfo object from a column definition. + + name of the column + column definition string + + + + + Creates a new ColumnInfo object from a list of parameters. + + name of the column + type of the column; must be one of the following: + Int16, Int32, String, or Stream + the maximum number of characters for String columns; + ignored for other column types + true if the column is required to have a non-null value + + + + Creates a new ColumnInfo object from a list of parameters. + + name of the column + type of the column; must be one of the following: + Int16, Int32, String, or Stream + the maximum number of characters for String columns; + ignored for other column types + true if the column is required to have a non-null value + true to if the column is only in-memory and + not persisted with the database + for String columns, indicates the column + is localizable; ignored for other column types + + + + Gets the name of the column. + + name of the column + + + + Gets the type of the column as a System.Type. This is one of the following: Int16, Int32, String, or Stream + + type of the column + + + + Gets the type of the column as an integer that can be cast to a System.Data.DbType. This is one of the following: Int16, Int32, String, or Binary + + equivalent DbType of the column as an integer + + + + Gets the size of the column. + + The size of integer columns this is either 2 or 4. For string columns this is the maximum + recommended length of the string, or 0 for unlimited length. For stream columns, 0 is returned. + + + + Gets a value indicating whether the column must be non-null when inserting a record. + + required status of the column + + + + Gets a value indicating whether the column is temporary. Temporary columns are not persisted + when the database is saved to disk. + + temporary status of the column + + + + Gets a value indicating whether the column is a string column that is localizable. + + localizable status of the column + + + + Gets an SQL fragment that can be used to create this column within a CREATE TABLE statement. + + SQL fragment to be used for creating the column +

+ Examples: + + LONG + SHORT TEMPORARY + CHAR(0) LOCALIZABLE + CHAR(72) NOT NULL LOCALIZABLE + OBJECT + +

+
+ + + Gets a short string defining the type and size of the column. + + + The definition string consists + of a single letter representing the data type followed by the width of the column (in characters + when applicable, bytes otherwise). A width of zero designates an unbounded width (for example, + long text fields and streams). An uppercase letter indicates that null values are allowed in + the column. + +

+ + s? - String, variable length (?=1-255) + s0 - String, variable length + i2 - Short integer + i4 - Long integer + v0 - Binary Stream + g? - Temporary string (?=0-255) + j? - Temporary integer (?=0,1,2,4) + O0 - Temporary object (stream) + l? - Localizable string, variable length (?=1-255) + l0 - Localizable string, variable length + +

+
+ + + Gets the name of the column. + + Name of the column. + + + + Accessor for information about components within the context of an installation session. + + + + + Gets information about a component within the context of an installation session. + + name of the component + component object + + + + Checks if the collection contains a component. + + name of the component + true if the component is in the collection, else false + + + + Copies the features into an array. + + array that receives the features + offset into the array + + + + Gets the number of components defined for the product. + + + + + Enumerates the components in the collection. + + an enumerator over all features in the collection + + + + Provides access to information about a component within the context of an installation session. + + + + + Gets the name of the component (primary key in the Component table). + + + + + Gets the current install state of the designated Component. + + the Session handle is invalid + an unknown Component was requested +

+ Win32 MSI API: + MsiGetComponentState +

+
+ + + Gets or sets the action state of the designated Component. + + the Session handle is invalid + an unknown Component was requested + the user exited the installation +

+ Win32 MSI APIs: + MsiGetComponentState, + MsiSetComponentState +

+
+ + + Gets disk space per drive required to install a component. + + Requested component state + A list of InstallCost structures, specifying the cost for each drive for the component +

+ Win32 MSI API: + MsiEnumComponentCosts +

+
+ + + Represents an instance of a registered component. + + + + + Gets the set of installed components for all products. + + The installer configuration data is corrupt +

+ Win32 MSI API: + MsiEnumComponents +

+
+ + + Gets the set of installed components for products in the indicated context. + + The installer configuration data is corrupt +

+ Win32 MSI API: + MsiEnumComponentsEx +

+
+ + + Creates a new ComponentInstallation, automatically detecting the + product that the component is a part of. + + component GUID +

+ Win32 MSI API: + MsiGetProductCode +

+
+ + + Creates a new ComponentInstallation, automatically detecting the + product that the component is a part of. + + component GUID + context user SID + user contexts + + + + Creates a new ComponentInstallation for a component installed by a + specific product. + + component GUID + ProductCode GUID + + + + Creates a new ComponentInstallation for a component installed by a + specific product. + + component GUID + ProductCode GUID + context user SID + user contexts + + + + Gets the component code (GUID) of the component. + + + + + Gets all client products of a specified component. + + enumeration over all client products of the component + The installer configuration data is corrupt +

+ Because clients are not ordered, any new component has an arbitrary index. + This means that the property may return clients in any order. +

+ Win32 MSI API: + MsiEnumClients, + MsiEnumClientsEx +

+
+ + + Gets the installed state of a component. + + the installed state of the component, or InstallState.Unknown + if this component is not part of a product +

+ Win32 MSI API: + MsiGetComponentPath, + MsiGetComponentPathEx +

+
+ + + Gets the full path to an installed component. If the key path for the component is a + registry key then the registry key is returned. + + The file or registry keypath to the component, or null if the component is not available. + An unknown product or component was specified + The installer configuration data is corrupt +

+ If the component is a registry key, the registry roots are represented numerically. + For example, a registry path of "HKEY_CURRENT_USER\SOFTWARE\Microsoft" would be returned + as "01:\SOFTWARE\Microsoft". The registry roots returned are defined as follows: + HKEY_CLASSES_ROOT=00, HKEY_CURRENT_USER=01, HKEY_LOCAL_MACHINE=02, HKEY_USERS=03, + HKEY_PERFORMANCE_DATA=04 +

+ Win32 MSI APIs: + MsiGetComponentPath, + MsiGetComponentPathEx, + MsiLocateComponent +

+
+ + + Gets the set of registered qualifiers for the component. + + Enumeration of the qulifiers for the component. + The installer configuration data is corrupt +

+ Because qualifiers are not ordered, any new qualifier has an arbitrary index, + meaning the function can return qualifiers in any order. +

+ Win32 MSI API: + MsiEnumComponentQualifiers +

+
+ + + Holds data about a component qualifier. + +

+ Win32 MSI API: + MsiEnumComponentQualifiers +

+
+ + + Gets the qualifier code. + + + + + Gets the qualifier data. + + + + + Marks a method as a custom action entry point. + +

+ A custom action method must be defined as public and static, + take a single object as a parameter, + and return an enumeration value. +

+
+ + + Name of the custom action entrypoint, or null if the same as the method name. + + + + + Marks a method as a custom action entry point. + + + + + Marks a method as a custom action entry point. + + Name of the function to be exported, + defaults to the name of this method + + + + Gets or sets the name of the custom action entrypoint. A null + value defaults to the name of the method. + + name of the custom action entrypoint, or null if none was specified + + + + Contains a collection of key-value pairs suitable for passing between + immediate and deferred/rollback/commit custom actions. + + + Call the method to get a string + suitable for storing in a property and reconstructing the custom action data later. + + + + + + + "CustomActionData" literal property name. + + + + + Creates a new empty custom action data object. + + + + + Reconstructs a custom action data object from data that was previously + persisted in a string. + + Previous output from . + + + + Adds a key and value to the data collection. + + Case-sensitive data key. + Data value (may be null). + the key does not consist solely of letters, + numbers, and the period, underscore, and space characters. + + + + Adds a value to the data collection, using XML serialization to persist the object as a string. + + Case-sensitive data key. + Data value (may be null). + the key does not consist solely of letters, + numbers, and the period, underscore, and space characters. + The value type does not support XML serialization. + The value could not be serialized. + + + + Gets a value from the data collection, using XML serialization to load the object from a string. + + Case-sensitive data key. + The value could not be deserialized. + + + + Determines whether the data contains an item with the specified key. + + Case-sensitive data key. + true if the data contains an item with the key; otherwise, false + + + + Gets a collection object containing all the keys of the data. + + + + + Removes the item with the specified key from the data. + + Case-sensitive data key. + true if the item was successfully removed from the data; + false if an item with the specified key was not found + + + + Gets the value with the specified key. + + Case-sensitive data key. + Value associated with the specified key, or + null if an item with the specified key was not found + true if the data contains an item with the specified key; otherwise, false. + + + + Gets a collection containing all the values of the data. + + + + + Gets or sets a data value with a specified key. + + Case-sensitive data key. + the key does not consist solely of letters, + numbers, and the period, underscore, and space characters. + + + + Adds an item with key and value to the data collection. + + Case-sensitive data key, with a data value that may be null. + the key does not consist solely of letters, + numbers, and the period, underscore, and space characters. + + + + Removes all items from the data. + + + + + Determines whether the data contains a specified item. + + The data item to locate. + true if the data contains the item; otherwise, false + + + + Copies the data to an array, starting at a particular array index. + + Destination array. + Index in the array at which copying begins. + + + + Gets the number of items in the data. + + + + + Gets a value indicating whether the data is read-only. + + + + + Removes an item from the data. + + The item to remove. + true if the item was successfully removed from the data; + false if the item was not found + + + + Returns an enumerator that iterates through the collection. + + An enumerator that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that can be used to iterate through the collection. + + + + Gets a string representation of the data suitable for persisting in a property. + + Data string in the form "Key1=Value1;Key2=Value2" + + + + Ensures that a key contains valid characters. + + key to be validated + the key does not consist solely of letters, + numbers, and the period, underscore, and space characters. + + + + Serializes a value into an XML string. + + Type of the value. + Value to be serialized. + Serialized value data as a string. + + + + Deserializes a value from an XML string. + + Expected type of the value. + Serialized value data. + Deserialized value object. + + + + Escapes a value string by doubling any data-separator (semicolon) characters. + + + Escaped value string + + + + Unescapes a value string by undoubling any doubled data-separator (semicolon) characters. + + + Unescaped value string + + + + Loads key-value pairs from a string into the data collection. + + key-value pair list of the form returned by + + + + Managed-code portion of the custom action proxy. + + + + + Invokes a managed custom action method. + + Integer handle to the installer session. + Name of the custom action entrypoint. This must + either map to an entrypoint definition in the customActions + config section, or be an explicit entrypoint of the form: + "AssemblyName!Namespace.Class.Method" + Pointer to a delegate used to + make remote API calls, if this custom action is running out-of-proc. + The value returned by the custom action method, + or ERROR_INSTALL_FAILURE if the custom action could not be invoked. + + + + Checks the "MMsiBreak" environment variable for any matching custom action names. + + List of names to search for in the environment + variable string. + True if a match was found, else false. + + + + Locates and parses an entrypoint mapping in CustomAction.config. + + Installer session handle, just used for logging. + Custom action entrypoint name: the key value + in an item in the customActions section of the config file. + Returned display name of the assembly from + the entrypoint mapping. + Returned class name of the entrypoint mapping. + Returned method name of the entrypoint mapping. + True if the entrypoint was found, false if not or if some error + occurred. + + + + Uses reflection to load the assembly and class and find the method. + + Installer session handle, just used for logging. + Display name of the assembly containing the + custom action method. + Fully-qualified name of the class containing the + custom action method. + Name of the custom action method. + The method, or null if not found. + + + + Checks if a method has the right return and paramater types + for a custom action, and that it is marked by a CustomActionAttribute. + + Method to be checked. + True if the method is a valid custom action, else false. + + + + Accesses a Windows Installer database. + +

+ The method must be called before the Database is closed to write out all + persistent changes. If the Commit method is not called, the installer performs an implicit + rollback upon object destruction. +

+ The client can use the following procedure for data access: + Obtain a Database object using one of the Database constructors. + Initiate a query using a SQL string by calling the + method of the Database. + Set query parameters in a and execute the database + query by calling the method of the . This + produces a result that can be fetched or updated. + Call the method of the View repeatedly to return + Records. + Update database rows of a Record object obtained by the Fetch method using + one of the methods of the View. + Release the query and any unfetched records by calling the + method of the View. + Persist any database updates by calling the Commit method of the Database. + + +

+
+ + + Opens an existing database in read-only mode. + + Path to the database file. + the database could not be created/opened +

+ Because this constructor initiates database access, it cannot be used with a + running installation. +

+ The Database object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiOpenDatabase +

+
+ + + Opens an existing database with another database as output. + + Path to the database to be read. + Open mode for the database + Database object representing the created or opened database + the database could not be created/opened +

+ When a database is opened as the output of another database, the summary information stream + of the output database is actually a read-only mirror of the original database and thus cannot + be changed. Additionally, it is not persisted with the database. To create or modify the + summary information for the output database it must be closed and re-opened. +

+ The Database object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ The database is opened in mode, and will be + automatically commited when it is closed. +

+ Win32 MSI API: + MsiOpenDatabase +

+
+ + + Opens an existing database or creates a new one. + + Path to the database file. If an empty string + is supplied, a temporary database is created that is not persisted. + Open mode for the database + the database could not be created/opened +

+ Because this constructor initiates database access, it cannot be used with a + running installation. +

+ The database object should be d after use. + The finalizer will close the handle if it is still open, however due to the nondeterministic + nature of finalization it is best that the handle be closed manually as soon as it is no + longer needed, as leaving lots of unused handles open can degrade performance. +

+ A database opened in or + mode will be automatically commited when it is + closed. However a database opened in or + mode must have the method + called before it is closed, otherwise no changes will be persisted. +

+ Win32 MSI API: + MsiOpenDatabase +

+
+ + + Creates a new database from an MSI handle. + + Native MSI database handle. + True if the handle should be closed + when the database object is disposed + Path of the database file, if known + Mode the handle was originally opened in + + + + Gets the file path the Database was originally opened from, or null if not known. + + + + + Gets the open mode for the database. + + + + + Gets a boolean value indicating whether this database was opened in read-only mode. + +

+ Win32 MSI API: + MsiGetDatabaseState +

+
+ + + Gets the collection of tables in the Database. + + + + + Gets or sets the code page of the Database. + + error exporting/importing the codepage data + the Database handle is invalid +

+ Getting or setting the code page is a slow operation because it involves an export or import + of the codepage data to/from a temporary file. +

+
+ + + Gets the SummaryInfo object for this database that can be used to examine and modify properties + to the summary information stream. + + the Database handle is invalid +

+ The object returned from this property does not need to be explicitly persisted or closed. + Any modifications will be automatically saved when the database is committed. +

+ Win32 MSI API: + MsiGetSummaryInformation +

+
+ + + Creates a new Database object from an integer database handle. + +

+ This method is only provided for interop purposes. A Database object + should normally be obtained from or + a public Database constructor. +

+ Integer database handle + true to close the handle when this object is disposed +
+ + + Schedules a file or directory for deletion after the database handle is closed. + + File or directory path to be deleted. All files and subdirectories + under a directory are deleted. +

+ Once an item is scheduled, it cannot be unscheduled. +

+ The items cannot be deleted if the Database object is auto-disposed by the + garbage collector; the handle must be explicitly closed. +

+ Files which are read-only or otherwise locked cannot be deleted, + but they will not cause an exception to be thrown. +

+
+ + + Merges another database with this database. + + The database to be merged into this database + Optional name of table to contain the names of the tables containing + merge conflicts, the number of conflicting rows within the table, and a reference to the table + with the merge conflict. + merge failed due to a schema difference or data conflict + the Database handle is invalid +

+ Merge does not copy over embedded cabinet files or embedded transforms from the + reference database into the target database. Embedded data streams that are listed in the + Binary table or Icon table are copied from the reference database to the target database. + Storage embedded in the reference database are not copied to the target database. +

+ The Merge method merges the data of two databases. These databases must have the same + codepage. The merge fails if any tables or rows in the databases conflict. A conflict exists + if the data in any row in the first database differs from the data in the corresponding row + of the second database. Corresponding rows are in the same table of both databases and have + the same primary key in both databases. The tables of non-conflicting databases must have + the same number of primary keys, same number of columns, same column types, same column names, + and the same data in rows with identical primary keys. Temporary columns however don't matter + in the column count and corresponding tables can have a different number of temporary columns + without creating conflict as long as the persistent columns match. +

+ If the number, type, or name of columns in corresponding tables are different, the + schema of the two databases are incompatible and the installer will stop processing tables + and the merge fails. The installer checks that the two databases have the same schema before + checking for row merge conflicts. If the schemas are incompatible, the databases have be + modified. +

+ If the data in particular rows differ, this is a row merge conflict, the merge fails + and creates a new table with the specified name. The first column of this table is the name + of the table having the conflict. The second column gives the number of rows in the table + having the conflict. +

+ Win32 MSI API: + MsiDatabaseMerge +

+
+ + + Merges another database with this database. + + The database to be merged into this database + merge failed due to a schema difference or data conflict + the Database handle is invalid +

+ MsiDatabaseMerge does not copy over embedded cabinet files or embedded transforms from + the reference database into the target database. Embedded data streams that are listed in + the Binary table or Icon table are copied from the reference database to the target database. + Storage embedded in the reference database are not copied to the target database. +

+ The Merge method merges the data of two databases. These databases must have the same + codepage. The merge fails if any tables or rows in the databases conflict. A conflict exists + if the data in any row in the first database differs from the data in the corresponding row + of the second database. Corresponding rows are in the same table of both databases and have + the same primary key in both databases. The tables of non-conflicting databases must have + the same number of primary keys, same number of columns, same column types, same column names, + and the same data in rows with identical primary keys. Temporary columns however don't matter + in the column count and corresponding tables can have a different number of temporary columns + without creating conflict as long as the persistent columns match. +

+ If the number, type, or name of columns in corresponding tables are different, the + schema of the two databases are incompatible and the installer will stop processing tables + and the merge fails. The installer checks that the two databases have the same schema before + checking for row merge conflicts. If the schemas are incompatible, the databases have be + modified. +

+ Win32 MSI API: + MsiDatabaseMerge +

+
+ + + Checks whether a table exists and is persistent in the database. + + The table to the checked + true if the table exists and is persistent in the database; false otherwise + the table is unknown + the Database handle is invalid +

+ To check whether a table exists regardless of persistence, + use . +

+ Win32 MSI API: + MsiDatabaseIsTablePersistent +

+
+ + + Checks whether a table contains a persistent column with a given name. + + The table to the checked + The name of the column to be checked + true if the column exists in the table; false if the column is temporary or does not exist. + the View could not be executed + the Database handle is invalid +

+ To check whether a column exists regardless of persistence, + use . +

+
+ + + Gets the count of all rows in the table. + + Name of the table whose rows are to be counted + The count of all rows in the table + the View could not be executed + the Database handle is invalid + + + + Gets the count of all rows in the table that satisfy a given condition. + + Name of the table whose rows are to be counted + Conditional expression, such as could be placed on the end of a SQL WHERE clause + The count of all rows in the table satisfying the condition + the SQL WHERE syntax is invalid + the View could not be executed + the Database handle is invalid + + + + Finalizes the persistent form of the database. All persistent data is written + to the writeable database, and no temporary columns or rows are written. + + the Database handle is invalid +

+ For a database open in mode, this method has no effect. +

+ For a database open in or + mode, it is not necessary to call this method because the database will be automatically committed + when it is closed. However this method may be called at any time to persist the current state of tables + loaded into memory. +

+ For a database open in or + mode, no changes will be persisted until this method is called. If the database object is closed without + calling this method, the database file remains unmodified. +

+ Win32 MSI API: + MsiDatabaseCommit +

+
+ + + Copies the structure and data from a specified table to a text archive file. + + Name of the table to be exported + Path to the file to be created + the file path is invalid + the Database handle is invalid +

+ Win32 MSI API: + MsiDatabaseExport +

+
+ + + Imports a database table from a text archive file, dropping any existing table. + + Path to the file to be imported. + The table name is specified within the file. + the file path is invalid + the Database handle is invalid +

+ Win32 MSI API: + MsiDatabaseImport +

+
+ + + Exports all database tables, streams, and summary information to archive files. + + Path to the directory where archive files will be created + the directory path is invalid + the Database handle is invalid +

+ The directory will be created if it does not already exist. +

+ Win32 MSI API: + MsiDatabaseExport +

+
+ + + Imports all database tables, streams, and summary information from archive files. + + Path to the directory from which archive files will be imported + the directory path is invalid + the Database handle is invalid +

+ Win32 MSI API: + MsiDatabaseImport +

+
+ + + Creates a new record object with the requested number of fields. + + Required number of fields, which may be 0. + The maximum number of fields in a record is limited to 65535. + A new record object that can be used with the database. +

+ This method is equivalent to directly calling the + constructor in all cases outside of a custom action context. When in a + custom action session, this method allows creation of a record that can + work with a database other than the session database. +

+ The Record object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiCreateRecord +

+
+ + + Returns the file path of this database, or the handle value if a file path was not specified. + + + + + Closes the database handle. After closing a handle, further method calls may throw . + + If true, the method has been called directly or + indirectly by a user's code, so managed and unmanaged resources will be + disposed. If false, only unmanaged resources will be disposed. + + + + Returns the value of the specified property. + + Name of the property to retrieve. + + + + Gets a View object representing the query specified by a SQL string. + + SQL query string, which may contain format items + Zero or more objects to format + A View object representing the query specified by a SQL string + the SQL syntax is invalid + the Database handle is invalid +

+ The parameter is formatted using . +

+ The View object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiDatabaseOpenView +

+
+ + + Executes the query specified by a SQL string. The query may not be a SELECT statement. + + SQL query string, which may contain format items + Zero or more objects to format + the SQL syntax is invalid + the View could not be executed + the Database handle is invalid +

+ The parameter is formatted using + . +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute +

+
+ + + Executes the query specified by a SQL string. The query may not be a SELECT statement. + + SQL query string + Optional Record object containing the values that replace + the parameter tokens (?) in the SQL query. + the SQL syntax is invalid + the View could not be executed + the Database handle is invalid +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute +

+
+ + + Executes the specified SQL SELECT query and returns all results. + + SQL query string, which may contain format items + Zero or more objects to format + All results combined into an array + the SQL syntax is invalid + the View could not be executed + the Database handle is invalid +

+ The parameter is formatted using + . +

+ Multiple rows columns will be collapsed into a single one-dimensional list. +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute, + MsiViewFetch +

+
+ + + Executes the specified SQL SELECT query and returns all results. + + SQL SELECT query string + Optional Record object containing the values that replace + the parameter tokens (?) in the SQL query. + All results combined into an array + the SQL syntax is invalid + the View could not be executed + the Database handle is invalid +

+ Multiple rows columns will be collapsed into a single one-dimensional list. +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute, + MsiViewFetch +

+
+ + + Executes the specified SQL SELECT query and returns all results as integers. + + SQL query string, which may contain format items + Zero or more objects to format + All results combined into an array + the SQL syntax is invalid + the View could not be executed + the Database handle is invalid +

+ The parameter is formatted using + . +

+ Multiple rows columns will be collapsed into a single one-dimensional list. +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute, + MsiViewFetch +

+
+ + + Executes the specified SQL SELECT query and returns all results as integers. + + SQL SELECT query string + Optional Record object containing the values that replace + the parameter tokens (?) in the SQL query. + All results combined into an array + the SQL syntax is invalid + the View could not be executed + the Database handle is invalid +

+ Multiple rows columns will be collapsed into a single one-dimensional list. +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute, + MsiViewFetch +

+
+ + + Executes the specified SQL SELECT query and returns all results as strings. + + SQL query string, which may contain format items + Zero or more objects to format + All results combined into an array + the SQL syntax is invalid + the View could not be executed + the Database handle is invalid +

+ The parameter is formatted using + . +

+ Multiple rows columns will be collapsed into a single on-dimensional list. +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute, + MsiViewFetch +

+
+ + + Executes the specified SQL SELECT query and returns all results as strings. + + SQL SELECT query string + Optional Record object containing the values that replace + the parameter tokens (?) in the SQL query. + All results combined into an array + the SQL syntax is invalid + the View could not be executed + the Database handle is invalid +

+ Multiple rows columns will be collapsed into a single on-dimensional list. +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute, + MsiViewFetch +

+
+ + + Executes the specified SQL SELECT query and returns a single result. + + SQL query string, which may contain format items + Zero or more objects to format + First field of the first result + the SQL syntax is invalid + the View could not be executed + or the query returned 0 results + the Database handle is invalid +

+ The parameter is formatted using + . +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute, + MsiViewFetch +

+
+ + + Executes the specified SQL SELECT query and returns a single result. + + SQL SELECT query string + Optional Record object containing the values that replace + the parameter tokens (?) in the SQL query. + First field of the first result + the SQL syntax is invalid + the View could not be executed + or the query returned 0 results + the Database handle is invalid +

+ Win32 MSI APIs: + MsiDatabaseOpenView, + MsiViewExecute, + MsiViewFetch +

+
+ + + Creates a transform that, when applied to the object database, results in the reference database. + + Database that does not include the changes + Name of the generated transform file, or null to only + check whether or not the two database are identical + true if a transform is generated, or false if a transform is not generated + because there are no differences between the two databases. + the transform could not be generated + a Database handle is invalid +

+ A transform can add non-primary key columns to the end of a table. A transform cannot + be created that adds primary key columns to a table. A transform cannot be created that + changes the order, names, or definitions of columns. +

+ If the transform is to be applied during an installation you must use the + method to populate the + summary information stream. +

+ Win32 MSI API: + MsiDatabaseGenerateTransform +

+
+ + + Creates and populates the summary information stream of an existing transform file, and + fills in the properties with the base and reference ProductCode and ProductVersion. + + Database that does not include the changes + Name of the generated transform file + Error conditions that should be suppressed + when the transform is applied + Defines which properties should be validated + to verify that this transform can be applied to a database. + the transform summary info could not be + generated + a Database handle is invalid +

+ Win32 MSI API: + MsiCreateTransformSummaryInfo +

+
+ + + Apply a transform to the database, recording the changes in the "_TransformView" table. + + Path to the transform file + the transform could not be applied + the Database handle is invalid +

+ Win32 MSI API: + MsiDatabaseApplyTransform +

+
+ + + Apply a transform to the database, suppressing any error conditions + specified by the transform's summary information. + + Path to the transform file + the transform could not be applied + the Database handle is invalid +

+ Win32 MSI API: + MsiDatabaseApplyTransform +

+
+ + + Apply a transform to the database, specifying error conditions to suppress. + + Path to the transform file + Error conditions that are to be suppressed + the transform could not be applied + the Database handle is invalid +

+ Win32 MSI API: + MsiDatabaseApplyTransform +

+
+ + + Checks whether a transform is valid for this Database, according to its validation data and flags. + + Path to the transform file + true if the transform can be validly applied to this Database; false otherwise + the transform could not be applied + the Database handle is invalid + + + + Checks whether a transform is valid for this Database, according to its SummaryInfo data. + + SummaryInfo data of a transform file + true if the transform can be validly applied to this Database; false otherwise + error processing summary info + the Database or SummaryInfo handle is invalid + + + + Managed-code portion of the embedded UI proxy. + + + + + Initializes managed embedded UI by loading the UI class and invoking its Initialize method. + + Integer handle to the installer session. + Name of the class that implements the embedded UI. This must + be of the form: "AssemblyName!Namespace.Class" + On entry, contains the current UI level for the installation. After this + method returns, the installer resets the UI level to the returned value of this parameter. + 0 if the embedded UI was successfully loaded and initialized, + ERROR_INSTALL_USEREXIT if the user canceled the installation during initialization, + or ERROR_INSTALL_FAILURE if the embedded UI could not be initialized. + + Due to interop limitations, the successful resulting UILevel is actually returned + as the high-word of the return value instead of via a ref parameter. + + + + + Passes a progress message to the UI class. + + Installer message type and message box options. + Handle to a record containing message data. + Return value returned by the UI class. + + + + Passes a shutdown message to the UI class. + + + + + Instantiates a UI class from a given assembly and class name. + + Installer session, for logging. + Name of the class that implements the embedded UI. This must + be of the form: "AssemblyName!Namespace.Class" + Interface on the UI class for handling UI messages. + + + + Specifies a return status value for custom actions. + + + + Action completed successfully. + + + Skip remaining actions, not an error. + + + User terminated prematurely. + + + Unrecoverable error or unhandled exception occurred. + + + Action not executed. + + + + Specifies the open mode for a . + + + + Open a database read-only, no persistent changes. + + + Open a database read/write in transaction mode. + + + Open a database direct read/write without transaction. + + + Create a new database, transact mode read/write. + + + Create a new database, direct mode read/write. + + + + Log modes available for + and . + + + + Disable logging. + + + Log out of memory or fatal exit information. + + + Log error messages. + + + Log warning messages. + + + Log user requests. + + + Log status messages that are not displayed. + + + Log request to determine a valid source location. + + + Log insufficient disk space error. + + + Log the start of installation actions. + + + Log the data record for installation actions. + + + Log parameters for user-interface initialization. + + + Log the property values at termination. + + + + Sends large amounts of information to log file not generally useful to users. + May be used for support. + + + + + Log extra debugging information. + + + + + Log only on error. + + + + + Log progress bar information. This message includes information on units so far and total number + of units. See for an explanation of the message format. This message + is only sent to an external user interface and is not logged. + + + + + If this is not a quiet installation, then the basic UI has been initialized. If this is a full + UI installation, the Full UI is not yet initialized. This message is only sent to an external + user interface and is not logged. + + + + + If a full UI is being used, the full UI has ended. If this is not a quiet installation, the basic + UI has not yet ended. This message is only sent to an external user interface and is not logged. + + + + + Sent prior to display of the Full UI dialog. This message is only sent to an external user + interface and is not logged. + + + + + List of files in use that need to be replaced. + + + + + [MSI 4.0] List of apps that the user can request Restart Manager to shut down and restart. + + + + + Type of message to be processed by , + , or . + + + + Premature termination, possibly fatal OOM. + + + Formatted error message. + + + Formatted warning message. + + + User request message. + + + Informative message for log. + + + List of files in use that need to be replaced. + + + Request to determine a valid source location. + + + Insufficient disk space message. + + + Start of action: action name & description. + + + Formatted data associated with individual action item. + + + Progress gauge info: units so far, total. + + + Product info for dialog: language Id, dialog caption. + + + Sent prior to UI initialization, no string data. + + + Sent after UI termination, no string data. + + + Sent prior to display or authored dialog or wizard. + + + [MSI 4.0] List of apps that the user can request Restart Manager to shut down and restart. + + + [MSI 4.5] Sent prior to install of a product. + + + [MSI 4.5] Sent after install of a product. + + + + Specifies the install mode for or . + + + + Provide the component only if the feature's installation state is . + + + Only check that the component is registered, without verifying that the key file of the component exists. + + + Provide the component only if the feature exists. + + + Provide the component and perform any installation necessary to provide the component. + + + + Specifies the run mode for . + + + + The administrative mode is installing, or the product is installing. + + + The advertisements are installing or the product is installing or updating. + + + An existing installation is being modified or there is a new installation. + + + Rollback is enabled. + + + The log file is active. It was enabled prior to the installation session. + + + Execute operations are spooling or they are in the determination phase. + + + A reboot is necessary after a successful installation (settable). + + + A reboot is necessary to continue the installation (settable). + + + Files from cabinets and Media table files are installing. + + + The source LongFileNames is suppressed through the PID_MSISOURCE summary property. + + + The target LongFileNames is suppressed through the SHORTFILENAMES property. + + + The operating system is Windows 95, Windows 98, or Windows ME. + + + The operating system supports demand installation. + + + A custom action called from install script execution. + + + A custom action called from rollback execution script. + + + A custom action called from commit execution script. + + + + Installed state of a Component or Feature. + + + + The component is disabled. + + + The installation configuration data is corrupt. + + + The installation is suspended or in progress. + + + Component is set to run from source, but source is unavailable. + + + The buffer overflow is returned. + + + An invalid parameter was passed to the function. + + + An unrecognized product or feature name was passed to the function. + + + The component is broken. + + + The feature is advertised. + + + The component is being removed. In action state and not settable. + + + The component is not installed, or action state is absent but clients remain. + + + The component is installed on the local drive. + + + The component will run from the source, CD, or network. + + + The component will be installed in the default location: local or source. + + + + Specifies the type of installation for . + + + + Searches system for products to patch. + + + Indicates a administrative installation. + + + Indicates a particular instance. + + + + Level of the installation user interface, specified with + . + + + + Does not change UI level. + + + Uses Default UI level. + + + Silent installation. + + + Simple progress and error handling. + + + Authored UI, wizard dialogs suppressed. + + + Authored UI with wizards, progress, and errors. + + + + When combined with the value, the installer does not display + the cancel button in the progress dialog. + + + + + When combined with the value, the installer displays progress + dialog boxes but does not display any modal dialog boxes or error dialog boxes. + + + + + When combined with another value, the installer displays a modal dialog + box at the end of a successful installation or if there has been an error. + No dialog box is displayed if the user cancels. + + + + + Forces display of the source resolution dialog even if the UI is otherwise silent. + + + + + [MSI 5.0] Forces display of the UAC dialog even if the UI is otherwise silent. + + + + + Specifies a return status value for message handlers. These values are returned by + , , and . + + + + An error was found in the message handler. + + + No action was taken. + + + IDOK + + + IDCANCEL + + + IDABORT + + + IDRETRY + + + IDIGNORE + + + IDYES + + + IDNO + + + + Specifies constants defining which buttons to display for a message. This can be cast to + the MessageBoxButtons enum in System.Windows.Forms and System.Windows. + + + + + The message contains an OK button. + + + + + The message contains OK and Cancel buttons. + + + + + The message contains Abort, Retry, and Ignore buttons. + + + + + The message contains Yes, No, and Cancel buttons. + + + + + The message contains Yes and No buttons. + + + + + The message contains Retry and Cancel buttons. + + + + + Specifies constants defining which information to display. This can be cast to + the MessageBoxIcon enum in System.Windows.Forms and System.Windows. + + + + + The message contain no symbols. + + + + + The message contains a symbol consisting of white X in a circle with a red background. + + + + + The message contains a symbol consisting of a white X in a circle with a red background. + + + + + The message contains a symbol consisting of white X in a circle with a red background. + + + + + The message contains a symbol consisting of a question mark in a circle. + + + + + The message contains a symbol consisting of an exclamation point in a triangle with a yellow background. + + + + + The message contains a symbol consisting of an exclamation point in a triangle with a yellow background. + + + + + The message contains a symbol consisting of a lowercase letter i in a circle. + + + + + The message contains a symbol consisting of a lowercase letter i in a circle. + + + + + Specifies constants defining the default button on a message. This can be cast to + the MessageBoxDefaultButton enum in System.Windows.Forms and System.Windows. + + + + + The first button on the message is the default button. + + + + + The second button on the message is the default button. + + + + + The third button on the message is the default button. + + + + + Additional styles for use with message boxes. + + + + + The message box is created with the WS_EX_TOPMOST window style. + + + + + The caller is a service notifying the user of an event. + The function displays a message box on the current active desktop, even if there is no user logged on to the computer. + + + + + Specifies the different patch states for . + + + + Invalid value. + + + Patches applied to a product. + + + Patches that are superseded by other patches. + + + Patches that are obsolesced by other patches. + + + Patches that are registered to a product but not applied. + + + All valid patch states. + + + + Specifies the reinstall mode for or . + + + + Reinstall only if file is missing. + + + Reinstall if file is missing, or older version. + + + Reinstall if file is missing, or equal or older version. + + + Reinstall if file is missing, or not exact version. + + + Checksum executables, reinstall if missing or corrupt. + + + Reinstall all files, regardless of version. + + + Insure required machine reg entries. + + + Insure required user reg entries. + + + Validate shortcuts items. + + + Use re-cache source install package. + + + + Attributes for methods. + + + + No attributes. + + + Request that the Windows Installer not shutdown the embedded UI until the transaction is complete. + + + Request that the Windows Installer transfer the embedded UI from the original installation. + + + + Transform error conditions available for or + . + + + + No error conditions. + + + Adding a row that already exists. + + + Deleting a row that doesn't exist. + + + Adding a table that already exists. + + + Deleting a table that doesn't exist. + + + Updating a row that doesn't exist. + + + Transform and database code pages do not match and neither code page is neutral. + + + Create the temporary _TransformView table when applying the transform. + + + + Transform validation flags available for . + + + + Validate no properties. + + + Default language must match base database. + + + Product must match base database. + + + Check major version only. + + + Check major and minor versions only. + + + Check major, minor, and update versions. + + + Installed version < base version. + + + Installed version <= base version. + + + Installed version = base version. + + + Installed version >= base version. + + + Installed version > base version. + + + UpgradeCode must match base database. + + + + Specifies the installation context for s, + es, and + + + + + Not installed. + + + User managed install context. + + + User non-managed context. + + + Per-machine context. + + + All contexts, or all valid values. + + + All user-managed contexts. + + + + Defines the type of error encountered by the , , + or methods of the class. + + + + No error. + + + The new record duplicates primary keys of the existing record in a table. + + + There are no null values allowed, or the column is about to be deleted but is referenced by another row. + + + The corresponding record in a foreign table was not found. + + + The data is greater than the maximum value allowed. + + + The data is less than the minimum value allowed. + + + The data is not a member of the values permitted in the set. + + + An invalid version string was supplied. + + + The case was invalid. The case must be all uppercase or all lowercase. + + + An invalid GUID was supplied. + + + An invalid wildcard file name was supplied, or the use of wildcards was invalid. + + + An invalid identifier was supplied. + + + Invalid language IDs were supplied. + + + An invalid file name was supplied. + + + An invalid path was supplied. + + + An invalid conditional statement was supplied. + + + An invalid format string was supplied. + + + An invalid template string was supplied. + + + An invalid string was supplied in the DefaultDir column of the Directory table. + + + An invalid registry path string was supplied. + + + An invalid string was supplied in the CustomSource column of the CustomAction table. + + + An invalid property string was supplied. + + + The _Validation table is missing a reference to a column. + + + The category column of the _Validation table for the column is invalid. + + + The table in the Keytable column of the _Validation table was not found or loaded. + + + The value in the MaxValue column of the _Validation table is less than the value in the MinValue column. + + + An invalid cabinet name was supplied. + + + An invalid shortcut target name was supplied. + + + The string is too long for the length specified by the column definition. + + + An invalid localization attribute was supplied. (Primary keys cannot be localized.) + + + + Specifies the modify mode for . + + + + + Refreshes the information in the supplied record without changing the position + in the result set and without affecting subsequent fetch operations. + + + + Refreshes the data in a Record. + + + Inserts a Record into the view. + + + Updates the View with new data from the Record. + + + Updates or inserts a Record into the View. + + + Updates or deletes and inserts a Record into the View. + + + Inserts or validates a record. + + + Deletes a Record from the View. + + + Inserts a Record into the View. The inserted data is not persistent. + + + Validates a record. + + + Validates a new record. + + + Validates fields of a fetched or new record. Can validate one or more fields of an incomplete record. + + + Validates a record that will be deleted later. + + + + Base class for Windows Installer exceptions. + + + + + Creates a new InstallerException with a specified error message and a reference to the + inner exception that is the cause of this exception. + + The message that describes the error. + The exception that is the cause of the current exception. If the + innerException parameter is not a null reference (Nothing in Visual Basic), the current exception + is raised in a catch block that handles the inner exception. + + + + Creates a new InstallerException with a specified error message. + + The message that describes the error. + + + + Creates a new InstallerException. + + + + + Initializes a new instance of the InstallerException class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Gets the system error code that resulted in this exception, or 0 if not applicable. + + + + + Gets a message that describes the exception. This message may contain detailed + formatted error data if it was available. + + + + + Sets the SerializationInfo with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Gets extended information about the error, or null if no further information + is available. + + A Record object. Field 1 of the Record contains the installer + message code. Other fields contain data specific to the particular error. +

+ If the record is passed to , it is formatted + by looking up the string in the current database. If there is no installation + session, the formatted error message may be obtained by a query on the Error table using + the error code, followed by a call to . + Alternatively, the standard MSI message can by retrieved by calling the + method. +

+ The following methods and properties may report extended error data: + + (constructor) + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + (constructor) + . + . + . + . + . + . + . + . + . + +

+ The Record object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiGetLastErrorRecord +

+
+ + + User Canceled the installation. + + + + + Creates a new InstallCanceledException with a specified error message and a reference to the + inner exception that is the cause of this exception. + + The message that describes the error. + The exception that is the cause of the current exception. If the + innerException parameter is not a null reference (Nothing in Visual Basic), the current exception + is raised in a catch block that handles the inner exception. + + + + Creates a new InstallCanceledException with a specified error message. + + The message that describes the error. + + + + Creates a new InstallCanceledException. + + + + + Initializes a new instance of the InstallCanceledException class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A bad SQL query string was passed to or . + + + + + Creates a new BadQuerySyntaxException with a specified error message and a reference to the + inner exception that is the cause of this exception. + + The message that describes the error. + The exception that is the cause of the current exception. If the + innerException parameter is not a null reference (Nothing in Visual Basic), the current exception + is raised in a catch block that handles the inner exception. + + + + Creates a new BadQuerySyntaxException with a specified error message. + + The message that describes the error. + + + + Creates a new BadQuerySyntaxException. + + + + + Initializes a new instance of the BadQuerySyntaxException class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A method was called on an invalid installer handle. The handle may have been already closed. + + + + + Creates a new InvalidHandleException with a specified error message and a reference to the + inner exception that is the cause of this exception. + + The message that describes the error. + The exception that is the cause of the current exception. If the + innerException parameter is not a null reference (Nothing in Visual Basic), the current exception + is raised in a catch block that handles the inner exception. + + + + Creates a new InvalidHandleException with a specified error message. + + The message that describes the error. + + + + Creates a new InvalidHandleException. + + + + + Initializes a new instance of the InvalidHandleException class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A failure occurred when executing . The exception may contain + details about the merge conflict. + + + + + Creates a new MergeException with a specified error message and a reference to the + inner exception that is the cause of this exception. + + The message that describes the error. + The exception that is the cause of the current exception. If the + innerException parameter is not a null reference (Nothing in Visual Basic), the current exception + is raised in a catch block that handles the inner exception. + + + + Creates a new MergeException with a specified error message. + + The message that describes the error. + + + + Creates a new MergeException. + + + + + Initializes a new instance of the MergeException class with serialized data. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Gets the number of merge conflicts in each table, corresponding to the tables returned by + . + + + + + Gets the list of tables containing merge conflicts. + + + + + Gets a message that describes the merge conflits. + + + + + Sets the SerializationInfo with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Defines a callback function that the installer calls for progress notification and error messages. + + + + + [MSI 3.1] Defines a callback function that the installer calls for record-based progress notification and error messages. + + + + + Provides static methods for installing and configuring products and patches. + + + + + Enables an external user-interface handler. This external UI handler is called before the + normal internal user-interface handler. The external UI handler has the option to suppress + the internal UI by returning a non-zero value to indicate that it has handled the messages. + + A callback delegate that handles the UI messages + Specifies which messages to handle using the external message handler. + If the external handler returns a non-zero result, then that message will not be sent to the UI, + instead the message will be logged if logging has been enabled. + The previously set external handler, or null if there was no previously set handler +

+ To restore the previous UI handler, a second call is made to SetExternalUI using the + ExternalUIHandler returned by the first call to SetExternalUI and specifying + as the message filter. +

+ The external user interface handler does not have full control over the external user + interface unless is called with the uiLevel parameter set to + . If SetInternalUI is not called, the internal user + interface level defaults to . As a result, any message not + handled by the external user interface handler is handled by Windows Installer. The initial + "Preparing to install..." dialog always appears even if the external user interface + handler handles all messages. +

+ SetExternalUI should only be called from a bootstrapping application. You cannot call + it from a custom action +

+ Win32 MSI API: + MsiSetExternalUI +

+
+ + + [MSI 3.1] Enables a record-based external user-interface handler. This external UI handler is called + before the normal internal user-interface handler. The external UI handler has the option to suppress + the internal UI by returning a non-zero value to indicate that it has handled the messages. + + A callback delegate that handles the UI messages + Specifies which messages to handle using the external message handler. + If the external handler returns a non-zero result, then that message will not be sent to the UI, + instead the message will be logged if logging has been enabled. + The previously set external handler, or null if there was no previously set handler +

+ To restore the previous UI handler, a second call is made to SetExternalUI using the + ExternalUIHandler returned by the first call to SetExternalUI and specifying + as the message filter. +

+ The external user interface handler does not have full control over the external user + interface unless is called with the uiLevel parameter set to + . If SetInternalUI is not called, the internal user + interface level defaults to . As a result, any message not + handled by the external user interface handler is handled by Windows Installer. The initial + "Preparing to install..." dialog always appears even if the external user interface + handler handles all messages. +

+ SetExternalUI should only be called from a bootstrapping application. You cannot call + it from a custom action +

+ Win32 MSI API: + MsiSetExternalUIRecord +

+
+ + + Indicates whether a system reboot is required after running an installation or configuration operation. + + + + + Indicates whether a system reboot has been initiated after running an installation or configuration operation. + + + + + Enables the installer's internal user interface. Then this user interface is used + for all subsequent calls to user-interface-generating installer functions in this process. + + Specifies the level of complexity of the user interface + Handle to a window, which becomes the owner of any user interface created. + A pointer to the previous owner of the user interface is returned. + The previous user interface level +

+ Win32 MSI API: + MsiSetInternalUI +

+
+ + + Enables the installer's internal user interface. Then this user interface is used + for all subsequent calls to user-interface-generating installer functions in this process. + The owner of the user interface does not change. + + Specifies the level of complexity of the user interface + The previous user interface level +

+ Win32 MSI API: + MsiSetInternalUI +

+
+ + + Enables logging of the selected message type for all subsequent install sessions in + the current process space. + + One or more mode flags specifying the type of messages to log + Full path to the log file. A null path disables logging, + in which case the logModes paraneter is ignored. + an invalid log mode was specified + This method takes effect on any new installation processes. Calling this + method from within a custom action will not start logging for that installation. + + + + Enables logging of the selected message type for all subsequent install sessions in + the current process space. + + One or more mode flags specifying the type of messages to log + Full path to the log file. A null path disables logging, + in which case the logModes paraneter is ignored. + If true, the log lines will be appended to any existing file content. + If false, the log file will be truncated if it exists. The default is false. + If true, the log will be flushed after every line. + If false, the log will be flushed every 20 lines. The default is true. + an invalid log mode was specified +

+ This method takes effect on any new installation processes. Calling this + method from within a custom action will not start logging for that installation. +

+ Win32 MSI API: + MsiEnableLog +

+
+ + + increments the usage count for a particular feature and returns the installation state for + that feature. This method should be used to indicate an application's intent to use a feature. + + The product code of the product. + The feature to be used. + Must have the value . + The installed state of the feature. +

+ The UseFeature method should only be used on features known to be published. The application + should determine the status of the feature by calling either the FeatureState method or + Features method. +

+ Win32 MSI APIs: + MsiUseFeature, + MsiUseFeatureEx +

+
+ + + Opens an installer package for use with functions that access the product database and install engine, + returning an Session object. + + Path to the package + Specifies whether or not the create a Session object that ignores the + computer state and that is incapable of changing the current computer state. A value of false yields + the normal behavior. A value of true creates a "safe" Session object that cannot change of the current + machine state. + A Session object allowing access to the product database and install engine + The product could not be opened + The installer configuration data is corrupt +

+ Note that only one Session object can be opened by a single process. OpenPackage cannot be used in a + custom action because the active installation is the only session allowed. +

+ A "safe" Session object ignores the current computer state when opening the package and prevents + changes to the current computer state. +

+ The Session object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI APIs: + MsiOpenPackage, + MsiOpenPackageEx +

+
+ + + Opens an installer package for use with functions that access the product database and install engine, + returning an Session object. + + Database used to create the session + Specifies whether or not the create a Session object that ignores the + computer state and that is incapable of changing the current computer state. A value of false yields + the normal behavior. A value of true creates a "safe" Session object that cannot change of the current + machine state. + A Session object allowing access to the product database and install engine + The product could not be opened + The installer configuration data is corrupt +

+ Note that only one Session object can be opened by a single process. OpenPackage cannot be used in a + custom action because the active installation is the only session allowed. +

+ A "safe" Session object ignores the current computer state when opening the package and prevents + changes to the current computer state. +

+ The Session object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI APIs: + MsiOpenPackage, + MsiOpenPackageEx +

+
+ + + Opens an installer package for an installed product using the product code. + + Product code of the installed product + A Session object allowing access to the product database and install engine, + or null if the specified product is not installed. + An unknown product was requested + The product could not be opened + The installer configuration data is corrupt +

+ Note that only one Session object can be opened by a single process. OpenProduct cannot be + used in a custom action because the active installation is the only session allowed. +

+ The Session object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiOpenProduct +

+
+ + + Gets the full component path, performing any necessary installation. This method prompts for source if + necessary and increments the usage count for the feature. + + Product code for the product that contains the feature with the necessary component + Feature ID of the feature with the necessary component + Component code of the necessary component + Installation mode; this can also include bits from + Path to the component +

+ Win32 MSI API: + MsiProvideComponent +

+
+ + + Gets the full component path for a qualified component that is published by a product and + performs any necessary installation. This method prompts for source if necessary and increments + the usage count for the feature. + + Specifies the component ID for the requested component. This may not be the + GUID for the component itself but rather a server that provides the correct functionality, as in the + ComponentId column of the PublishComponent table. + Specifies a qualifier into a list of advertising components (from PublishComponent Table). + Installation mode; this can also include bits from + Optional; specifies the product to match that has published the qualified component. + Path to the component +

+ Win32 MSI APIs: + MsiProvideQualifiedComponent + MsiProvideQualifiedComponentEx +

+
+ + + Gets the full path to a Windows Installer component containing an assembly. This method prompts for a source and + increments the usage count for the feature. + + Assembly name + Set to null for global assemblies. For private assemblies, set to the full path of the + application configuration file (.cfg file) or executable file (.exe) of the application to which the assembly + has been made private. + Installation mode; this can also include bits from + True if this is a Win32 assembly, false if it is a .NET assembly + Path to the assembly +

+ Win32 MSI API: + MsiProvideAssembly +

+
+ + + Installs files that are unexpectedly missing. + + Product code for the product that owns the component to be installed + Component to be installed + Specifies the way the component should be installed. + the user exited the installation +

+ Win32 MSI API: + MsiInstallMissingComponent +

+
+ + + Installs files that are unexpectedly missing. + + Product code for the product that owns the file to be installed + File to be installed + the user exited the installation +

+ Win32 MSI API: + MsiInstallMissingFile +

+
+ + + Reinstalls a feature. + + Product code for the product containing the feature to be reinstalled + Feature to be reinstalled + Reinstall modes + the user exited the installation +

+ Win32 MSI API: + MsiReinstallFeature +

+
+ + + Reinstalls a product. + + Product code for the product to be reinstalled + Reinstall modes + the user exited the installation +

+ Win32 MSI API: + MsiReinstallProduct +

+
+ + + Opens an installer package and initializes an install session. + + path to the patch package + command line property settings + There was an error installing the product +

+ To completely remove a product, set REMOVE=ALL in . +

+ This method displays the user interface with the current settings and + log mode. You can change user interface settings with the + and functions. You can set the log mode with the + function. +

+ The and properties should be + tested after calling this method. +

+ Win32 MSI API: + MsiInstallProduct +

+
+ + + Installs or uninstalls a product. + + Product code of the product to be configured. + Specifies the default installation configuration of the + product. The parameter is ignored and all features + are installed if the parameter is set to any other + value than . This parameter must be either 0 + (install using authored feature levels), 65535 (install all features), or a value + between 0 and 65535 to install a subset of available features. + Specifies the installation state for the product. + Specifies the command line property settings. This should + be a list of the format Property=Setting Property=Setting. + There was an error configuring the product +

+ This method displays the user interface with the current settings and + log mode. You can change user interface settings with the + and functions. You can set the log mode with the + function. +

+ The and properties should be + tested after calling this method. +

+ Win32 MSI APIs: + MsiConfigureProduct, + MsiConfigureProductEx +

+
+ + + Configures the installed state for a product feature. + + Product code of the product to be configured. + Specifies the feature ID for the feature to be configured. + Specifies the installation state for the feature. + There was an error configuring the feature +

+ The and properties should be + tested after calling this method. +

+ Win32 MSI API: + MsiConfigureFeature +

+
+ + + For each product listed by the patch package as eligible to receive the patch, ApplyPatch invokes + an installation and sets the PATCH property to the path of the patch package. + + path to the patch package + optional command line property settings + There was an error applying the patch +

+ The and properties should be + tested after calling this method. +

+ Win32 MSI API: + MsiApplyPatch +

+
+ + + For each product listed by the patch package as eligible to receive the patch, ApplyPatch invokes + an installation and sets the PATCH property to the path of the patch package. + + path to the patch package + path to the product to be patched, if installType + is set to + type of installation to patch + optional command line property settings + There was an error applying the patch +

+ The and properties should be + tested after calling this method. +

+ Win32 MSI API: + MsiApplyPatch +

+
+ + + Removes one or more patches from a single product. To remove a patch from + multiple products, RemovePatches must be called for each product. + + List of patches to remove. Each patch can be specified by the GUID + of the patch or the full path to the patch package. + The ProductCode (GUID) of the product from which the patches + are removed. This parameter cannot be null. + optional command line property settings + There was an error removing the patches +

+ The and properties should be + tested after calling this method. +

+ Win32 MSI API: + MsiRemovePatches +

+
+ + + Determines which patches apply to a specified product MSI and in what sequence. + + Full path to an MSI file that is the target product + for the set of patches. + An array of strings specifying the patches to be checked. Each item + may be the path to an MSP file, the path an XML file, or just an XML blob. + Callback to be invoked for each inapplicable patch, reporting the + reason the patch is not applicable. This value may be left null if that information is not + desired. + An array of selected patch strings from , indicating + the set of applicable patches. The items are re-ordered to be in the best sequence. +

+ If an item in is a file path but does not end in .MSP or .XML, + it is assumed to be an MSP file. +

+ As this overload uses InstallContext.None, it does not consider the current state of + the system. +

+ Win32 MSI API: + MsiDetermineApplicablePatches +

+
+ + + Determines which patches apply to a specified product and in what sequence. If + the product is installed, this method accounts for patches that have already been applied to + the product and accounts for obsolete and superceded patches. + + The product that is the target for the set of patches. This may be + either a ProductCode (GUID) of a product that is currently installed, or the path to a an + MSI file. + An array of strings specifying the patches to be checked. Each item + may be the path to an MSP file, the path an XML file, or just an XML blob. + Callback to be invoked for each inapplicable patch, reporting the + reason the patch is not applicable. This value may be left null if that information is not + desired. + Specifies a security identifier (SID) of a user. This parameter restricts + the context of enumeration for this user account. This parameter cannot be the special SID + strings s-1-1-0 (everyone) or s-1-5-18 (local system). If is set to + or , then + must be null. For the current user context, + can be null and can be set to + or . + Restricts the enumeration to per-user-unmanaged, per-user-managed, + or per-machine context, or (if referring to an MSI) to no system context at all. This + parameter can be , , + , or . + An array of selected patch strings from , indicating + the set of applicable patches. The items are re-ordered to be in the best sequence. +

+ If an item in is a file path but does not end in .MSP or .XML, + it is assumed to be an MSP file. +

+ Passing an InstallContext of None only analyzes the MSI file; it does not consider the + current state of the system. You cannot use InstallContext.None with a ProductCode GUID. +

+ Win32 MSI APIs: + MsiDetermineApplicablePatches + MsiDeterminePatchSequence +

+
+ + + Applies one or more patches to products that are eligible to receive the patch. + For each product listed by the patch package as eligible to receive the patch, ApplyPatch invokes + an installation and sets the PATCH property to the path of the patch package. + + The set of patch packages to be applied. + Each item is the full path to an MSP file. + Provides the ProductCode of the product being patched. If this parameter + is null, the patches are applied to all products that are eligible to receive these patches. + optional command line property settings +

+ Win32 MSI API: + MsiApplyMultiplePatches +

+
+ + + Extracts information from a patch that can be used to determine whether the patch + applies on a target system. The method returns an XML string that can be provided to + + instead of the full patch file. + + Full path to the patch being queried. + XML string containing patch data. +

+ Win32 MSI API: + MsiExtractPatchXMLData +

+
+ + + [MSI 3.1] Migrates a user's application configuration data to a new SID. + + Previous user SID that data is to be migrated from + New user SID that data is to be migrated to +

+ Win32 MSI API: + MsiNotifySidChange +

+
+ + + Advertises a product to the local computer. + + Path to the package of the product being advertised + True if the product is user-assigned; false if it is machine-assigned. + Semi-colon delimited list of transforms to be applied. This parameter may be null. + The language to use if the source supports multiple languages + the specified package file does not exist + +

+ Win32 MSI APIs: + MsiAdvertiseProduct, + MsiAdvertiseProductEx +

+
+ + + Generates an advertise script. The method enables the installer to write to a + script the registry and shortcut information used to assign or publish a product. + + Path to the package of the product being advertised + path to script file to be created with the advertise information + Semi-colon delimited list of transforms to be applied. This parameter may be null. + The language to use if the source supports multiple languages + the specified package file does not exist + +

+ Win32 MSI APIs: + MsiAdvertiseProduct, + MsiAdvertiseProductEx +

+
+ + + Generates an advertise script. The method enables the installer to write to a + script the registry and shortcut information used to assign or publish a product. + + Path to the package of the product being advertised + path to script file to be created with the advertise information + Semi-colon delimited list of transforms to be applied. This parameter may be null. + The language to use if the source supports multiple languages + Targeted processor architecture. + True to install multiple instances through product code changing transform. + Advertises a new instance of the product. Requires that the parameter + includes the instance transform that changes the product code. + +

+ Win32 MSI APIs: + MsiAdvertiseProduct, + MsiAdvertiseProductEx +

+
+ + + Copies an advertise script file to the local computer. + + Path to a script file generated by + + Flags controlling advertisement + True if specified items are to be removed instead of being created +

+ The process calling this function must be running under the LocalSystem account. To advertise an + application for per-user installation to a targeted user, the thread that calls this function must + impersonate the targeted user. If the thread calling this function is not impersonating a targeted + user, the application is advertised to all users for installation with elevated privileges. +

+
+ + + Processes an advertise script file into the specified locations. + + Path to a script file generated by + + An optional path to a folder in which advertised icon files and transform + files are located. If this parameter is null, no icon or transform files are written. + True if shortcuts should be created + True if specified items are to be removed instead of created +

+ The process calling this function must be running under the LocalSystem account. To advertise an + application for per-user installation to a targeted user, the thread that calls this function must + impersonate the targeted user. If the thread calling this function is not impersonating a targeted + user, the application is advertised to all users for installation with elevated privileges. +

+ Win32 MSI API: + MsiProcessAdvertiseScript +

+
+ + + Gets product information for an installer script file. + + Path to a script file generated by + + ProductInstallation stub with advertise-related properties filled in. + An invalid product property was requested +

+ Only the following properties will be filled in in the returned object:

    +
  • +
  • +
  • +
  • +
  • +
Other properties will be null. +

+ Win32 MSI API: + MsiGetProductInfoFromScript +

+
+ + + Gets the current version of the installer. + + + + + Gets a Windows Installer error message in the system default language. + + The error number. + The message string, or null if the error message is not found. +

+ The returned string may have tokens such as [2] and [3] that are meant to be substituted + with context-specific values. +

+ Error numbers greater than 2000 refer to MSI "internal" errors, and are always + returned in English. +

+
+ + + Gets a Windows Installer error message in a specified language. + + The error number. + The locale for the message. + The message string, or null if the error message or locale is not found. +

+ The returned string may have tokens such as [2] and [3] that are meant to be substituted + with context-specific values. +

+ Error numbers greater than 2000 refer to MSI "internal" errors, and are always + returned in English. +

+
+ + + Gets a formatted Windows Installer error message in the system default language. + + Error record containing the error number in the first field, and + error-specific parameters in the other fields. + The message string, or null if the error message is not found. +

+ Error numbers greater than 2000 refer to MSI "internal" errors, and are always + returned in English. +

+
+ + + Gets a formatted Windows Installer error message in a specified language. + + Error record containing the error number in the first field, and + error-specific parameters in the other fields. + The locale for the message. + The message string, or null if the error message or locale is not found. +

+ Error numbers greater than 2000 refer to MSI "internal" errors, and are always + returned in English. +

+
+ + + Gets the version string of the path specified using the format that the installer + expects to find it in in the database. + + Path to the file + Version string in the "#.#.#.#" format, or an empty string if the file + does not contain version information + the file does not exist or could not be read +

+ Win32 MSI API: + MsiGetFileVersion +

+
+ + + Gets the language string of the path specified using the format that the installer + expects to find them in in the database. + + Path to the file + Language string in the form of a decimal language ID, or an empty string if the file + does not contain a language ID + the file does not exist or could not be read +

+ Win32 MSI API: + MsiGetFileVersion +

+
+ + + Gets a 128-bit hash of the specified file. + + Path to the file + Integer array of length 4 which receives the + four 32-bit parts of the hash value. + the file does not exist or + could not be read +

+ Win32 MSI API: + MsiGetFileHash +

+
+ + + Examines a shortcut and returns its product, feature name, and component if available. + + Full path to a shortcut + ShortcutTarget structure containing target product code, feature, and component code +

+ Win32 MSI API: + MsiGetShortcutTarget +

+
+ + + Verifies that the given file is an installation package. + + Path to the package + True if the file is an installation package; false otherwise. + the specified package file does not exist + the package file could not be opened +

+ Win32 MSI API: + MsiVerifyPackage +

+
+ + + [MSI 4.0] Gets the list of files that can be updated by one or more patches. + + ProductCode (GUID) of the product which is + the target of the patches + list of file paths of one or more patches to be + analyzed + List of absolute paths of files that can be updated when the + patches are applied on this system. +

+ Win32 MSI API: + MsiGetPatchFileList +

+
+ + + Accessor for information about features within the context of an installation session. + + + + + Gets information about a feature within the context of an installation session. + + name of the feature + feature object + + + + Checks if the collection contains a feature. + + name of the feature + true if the feature is in the collection, else false + + + + Copies the features into an array. + + array that receives the features + offset into the array + + + + Gets the number of features defined for the product. + + + + + Enumerates the features in the collection. + + an enumerator over all features in the collection + + + + Provides access to information about a feature within the context of an installation session. + + + + + Gets the name of the feature (primary key in the Feature table). + + + + + Gets the current install state of the feature. + + the Session handle is invalid + an unknown feature was requested +

+ Win32 MSI API: + MsiGetFeatureState +

+
+ + + Gets or sets the action state of the feature. + + the Session handle is invalid + an unknown feature was requested +

+ When changing the feature action, the action state of all the Components linked to the changed + Feature records are also updated appropriately, based on the new feature Select state. + All Features can be configured at once by specifying the keyword ALL instead of a specific feature name. +

+ Win32 MSI APIs: + MsiGetFeatureState, + MsiSetFeatureState +

+
+ + + Gets a list of valid installation states for the feature. + + the Session handle is invalid + an unknown feature was requested +

+ Win32 MSI API: + MsiGetFeatureValidStates +

+
+ + + Gets or sets the attributes of the feature. + + the Session handle is invalid + an unknown feature was requested +

+ Win32 MSI APIs: + MsiGetFeatureInfo, + MsiSetFeatureAttributes +

+ Since the lpAttributes paramter of + MsiGetFeatureInfo + does not contain an equivalent flag for , this flag will + not be retrieved. +

+ Since the dwAttributes parameter of + MsiSetFeatureAttributes + does not contain an equivalent flag for , the presence + of this flag will be ignored. +

+
+ + + Gets the title of the feature. + + the Session handle is invalid + an unknown feature was requested +

+ Win32 MSI API: + MsiGetFeatureInfo +

+
+ + + Gets the description of the feature. + + the Session handle is invalid + an unknown feature was requested +

+ Win32 MSI API: + MsiGetFeatureInfo +

+
+ + + Calculates the disk space required by the feature and its selected children and parent features. + + If true, the parent features are included in the cost. + If true, the child features are included in the cost. + Specifies the installation state. + The disk space requirement in bytes. +

+ Win32 MSI API: + MsiGetFeatureCost +

+
+ + + Represents an instance of a feature of an installed product. + + + + + Creates a new FeatureInstallation instance for a feature of a product. + + feature name + ProductCode GUID + + + + Gets the name of the feature. + + + + + Gets the installed state of the feature. + +

+ Win32 MSI API: + MsiQueryFeatureState +

+
+ + + Gets the parent of the feature, or null if the feature has no parent (it is a root feature). + + + Invocation of this property may be slightly costly for products with many features, + because it involves an enumeration of all the features in the product. + + + + + Gets the usage metrics for the feature. + +

+ If no usage metrics are recorded, the value is 0. +

+ Win32 MSI API: + MsiGetFeatureUsage +

+
+ + + Holds data about the usage of a feature. + + + + + Gets count of the number of times the feature has been used. + + + + + Gets the date the feature was last used. + + + + + Base class for Windows Installer handle types (Database, View, Record, SummaryInfo). + +

+ These classes implement the interface, because they + hold unmanaged resources (MSI handles) that should be properly disposed + when no longer needed. +

+
+ + + Constructs a handle object from a native integer handle. + + Native integer handle. + true to close the handle when this object is disposed or finalized + + + + Gets the native integer handle. + + + + + Checks if the handle is closed. When closed, method calls on the handle object may throw an . + + + + + Closes the handle. After closing a handle, further method calls may throw an . + +

+ The finalizer of this class will NOT close the handle if it is still open, + because finalization can run on a separate thread from the application, + resulting in potential problems if handles are closed from that thread. + It is best that the handle be closed manually as soon as it is no longer needed, + as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiCloseHandle +

+ +
+ + + Closes the handle. After closing a handle, further method calls may throw an . + +

+ The finalizer of this class will NOT close the handle if it is still open, + because finalization can run on a separate thread from the application, + resulting in potential problems if handles are closed from that thread. + It is best that the handle be closed manually as soon as it is no longer needed, + as leaving lots of unused handles open can degrade performance. +

+ This method is merely an alias for the method. +

+ Win32 MSI API: + MsiCloseHandle +

+
+ + + Tests whether this handle object is equal to another handle object. Two handle objects are equal + if their types are the same and their native integer handles are the same. + + The handle object to compare with the current handle object. + true if the specified handle object is equal to the current handle object; otherwise false + + + + Gets a hash value for the handle object. + + A hash code for the handle object. +

+ The hash code is derived from the native integer handle. +

+
+ + + Gets an object that can be used internally for safe syncronization. + + + + + Closes the handle. After closing a handle, further method calls may throw an . + + If true, the method has been called directly or indirectly by a user's code, + so managed and unmanaged resources will be disposed. If false, the method has been called by the + runtime from inside the finalizer, and only unmanaged resources will be disposed. + + + + [MSI 4.5] Interface for an embedded external user interface for an installation. + + + Classes which implement this interface must have a public constructor that takes no parameters. + + + + + Initializes the embedded UI. + + Handle to the installer which can be used to get and set properties. + The handle is only valid for the duration of this method call. + Path to the directory that contains all the files from the MsiEmbeddedUI table. + On entry, contains the current UI level for the installation. After this + method returns, the installer resets the UI level to the returned value of this parameter. + True if the embedded UI was successfully initialized; false if the installation + should continue without the embedded UI. + The installation was canceled by the user. + The embedded UI failed to initialize and + causes the installation to fail. +

+ Win32 MSI API: + InitializeEmbeddedUI +

+
+ + + Processes information and progress messages sent to the user interface. + + Message type. + Record that contains message data. + Message buttons. + Message box icon. + Message box default button. + Result of processing the message. +

+ Win32 MSI API: + EmbeddedUIHandler +

+
+ + + Shuts down the embedded UI at the end of the installation. + + + If the installation was canceled during initialization, this method will not be called. + If the installation was canceled or failed at any later point, this method will be called at the end. +

+ Win32 MSI API: + ShutdownEmbeddedUI +

+
+ + + Subclasses of this abstract class represent a unique instance of a + registered product or patch installation. + + + + + Gets the user security identifier (SID) under which this product or patch + installation is available. + + + + + Gets the user context of this product or patch installation. + + + + + Gets the source list of this product or patch installation. + + + + + Gets a value indicating whether this product or patch is installed on the current system. + + + + + Gets a property about the product or patch installation. + + Name of the property being retrieved. + + + + + Subclasses of this abstract class represent an instance + of a registered feature or component. + + + + + Gets the product that this item is a part of. + + + + + Gets the current installation state of the item. + + + + + Represents a per-drive disk space cost for an installation. + + + + + Creates a new InstallCost object. + + name of the drive this cost data applies to + installation cost on this drive, as a number of bytes + temporary disk space required on this drive, as a number of bytes + + + + The name of the drive this cost data applies to. + + + + + The installation cost on this drive, as a number of bytes. + + + + + The temporary disk space required on this drive, as a number of bytes. + +

+ This temporary space requirement is space needed only for the duration + of the installation, over the final footprint on disk. +

+
+ + + Receives an exception from + + indicating the reason a particular patch is not applicable to a product. + + MSP file path, XML file path, or XML blob that was passed to + + exception indicating the reason the patch is not applicable +

+ If is an or subclass, then + its and + properties will indicate a more specific reason the patch was not applicable. +

+ The could also be a FileNotFoundException if the + patch string was a file path. +

+
+ + + [MSI 4.5] Handle to a multi-session install transaction. + +

+ Win32 MSI APIs: + MsiBeginTransaction + MsiJoinTransaction + MsiEndTransaction +

+
+ + + [MSI 4.5] Begins transaction processing of a multi-package installation. + + Name of the multi-package installation. + Select optional behavior when beginning the transaction. + The transaction could not be initialized. +

+ Win32 MSI API: + MsiBeginTransaction +

+
+ + + Internal constructor. + + + The second parameter is an array in order to receive multiple values from the initialization method. + + + + + Creates a new Transaction object from an integer handle. + + Integer transaction handle + true to close the handle when this object is disposed + + + + Gets the name of the transaction. + + + + + Notifies listeners when the process that owns the transaction changed. + + + + + Makes the current process the owner of the multi-package installation transaction. + + Select optional behavior when joining the transaction. + The transaction handle is not valid. + The transaction could not be joined. +

+ Win32 MSI API: + MsiJoinTransaction +

+
+ + + Ends the install transaction and commits all changes to the system belonging to the transaction. + + The transaction could not be committed. +

+ Runs any Commit Custom Actions and commits to the system any changes to Win32 or common language + runtime assemblies. Deletes the rollback script, and after using this option, the transaction's + changes can no longer be undone with a Rollback Installation. +

+ This method can only be called by the current owner of the transaction. +

+ Win32 MSI API: + MsiEndTransaction +

+
+ + + Ends the install transaction and undoes changes to the system belonging to the transaction. + + The transaction could not be rolled back. +

+ This method can only be called by the current owner of the transaction. +

+ Win32 MSI API: + MsiEndTransaction +

+
+ + + Represents a media disk source of a product or a patch. + + + + + Creates a new media disk. + + + + + + + + Gets or sets the disk id of the media disk. + + + + + Gets or sets the volume label of the media disk. + + + + + Gets or sets the disk prompt of the media disk. + + + + + The Patch object represents a unique instance of a patch that has been + registered or applied. + + + + + Enumerates all patch installations on the system. + + Enumeration of patch objects. +

+ Win32 MSI API: + MsiEnumPatches +

+
+ + + Enumerates patch installations based on certain criteria. + + PatchCode (GUID) of the patch to be enumerated. Only + instances of patches within the scope of the context specified by the + and parameters will be + enumerated. This parameter may be set to null to enumerate all patches in the specified + context. + ProductCode (GUID) product whose patches are to be + enumerated. If non-null, patch enumeration is restricted to instances of this product + within the specified context. If null, the patches for all products under the specified + context are enumerated. + Specifies a security identifier (SID) that restricts the context + of enumeration. A SID value other than s-1-1-0 is considered a user SID and restricts + enumeration to the current user or any user in the system. The special SID string + s-1-1-0 (Everyone) specifies enumeration across all users in the system. This parameter + can be set to null to restrict the enumeration scope to the current user. When + must be null. + Specifies the user context. + The of patches to return. +

+ Win32 MSI APIs: + MsiEnumPatchesEx +

+
+ + + Creates a new object for accessing information about a patch installation on the current system. + + Patch code (GUID) of the patch. + ProductCode (GUID) the patch has been applied to. + This parameter may be null for patches that are registered only and not yet + applied to any product. +

+ All available user contexts will be queried. +

+
+ + + Creates a new object for accessing information about a patch installation on the current system. + + Registered patch code (GUID) of the patch. + ProductCode (GUID) the patch has been applied to. + This parameter may be null for patches that are registered only and not yet + applied to any product. + The specific user, when working in a user context. This + parameter may be null to indicate the current user. The parameter must be null + when working in a machine context. + The user context. The calling process must have administrative + privileges to get information for a product installed for a user other than the + current user. +

+ If the is null, the Patch object may + only be used to read and update the patch's SourceList information. +

+
+ + + Gets the patch code (GUID) of the patch. + + + + + Gets the ProductCode (GUID) of the product. + + + + + Gets a value indicating whether this patch is currently installed. + + + + + Gets a value indicating whether this patch is marked as obsolte. + + + + + Gets a value indicating whether this patch is present but has been + superseded by a more recent installed patch. + + + + + Gets the installation state of this instance of the patch. + + An unknown patch was requested + The installer configuration data is corrupt + + + + Gets the cached patch file that the product uses. + + + + + Gets the set of patch transforms that the last patch + installation applied to the product. + +

+ This value may not be available for per-user, non-managed applications + if the user is not logged on. +

+
+ + + Gets the date and time when the patch is applied to the product. + + + + + True patch is marked as possible to uninstall from the product. + +

+ Even if this property is true, the installer can still block the + uninstallation if this patch is required by another patch that + cannot be uninstalled. +

+
+ + + Get the registered display name for the patch. + + + + + Gets the registered support information URL for the patch. + + + + + Gets information about a specific patch installation. + + The property being retrieved; see remarks for valid properties. + The property value, or an empty string if the property is not set for the patch. + An unknown patch or property was requested + The installer configuration data is corrupt +

+ Win32 MSI APIs: + MsiGetPatchInfo, + MsiGetPatchInfoEx +

+
+ + + Represents a unique instance of a product that + is either advertised, installed or unknown. + + + + + Gets the set of all products with a specified upgrade code. This method lists the + currently installed and advertised products that have the specified UpgradeCode + property in their Property table. + + Upgrade code of related products + Enumeration of product codes +

+ Win32 MSI API: + MsiEnumRelatedProducts +

+
+ + + Enumerates all product installations on the system. + + An enumeration of product objects. +

+ Win32 MSI API: + MsiEnumProducts, +

+
+ + + Enumerates product installations based on certain criteria. + + ProductCode (GUID) of the product instances to be enumerated. Only + instances of products within the scope of the context specified by the + and parameters will be + enumerated. This parameter may be set to null to enumerate all products in the specified + context. + Specifies a security identifier (SID) that restricts the context + of enumeration. A SID value other than s-1-1-0 is considered a user SID and restricts + enumeration to the current user or any user in the system. The special SID string + s-1-1-0 (Everyone) specifies enumeration across all users in the system. This parameter + can be set to null to restrict the enumeration scope to the current user. When + is set to the machine context only, + must be null. + Specifies the user context. + An enumeration of product objects for enumerated product instances. +

+ Win32 MSI API: + MsiEnumProductsEx +

+
+ + + Creates a new object for accessing information about a product installation on the current system. + + ProductCode (GUID) of the product. +

+ All available user contexts will be queried. +

+
+ + + Creates a new object for accessing information about a product installation on the current system. + + ProductCode (GUID) of the product. + The specific user, when working in a user context. This + parameter may be null to indicate the current user. The parameter must be null + when working in a machine context. + The user context. The calling process must have administrative + privileges to get information for a product installed for a user other than the + current user. + + + + Gets the set of published features for the product. + + Enumeration of published features for the product. + The installer configuration data is corrupt +

+ Because features are not ordered, any new feature has an arbitrary index, meaning + this property can return features in any order. +

+ Win32 MSI API: + MsiEnumFeatures +

+
+ + + Gets the ProductCode (GUID) of the product. + + + + + Gets a value indicating whether this product is installed on the current system. + + + + + Gets a value indicating whether this product is advertised on the current system. + + + + + Checks whether the product is installed with elevated privileges. An application is called + a "managed application" if elevated (system) privileges are used to install the application. + + True if the product is elevated; false otherwise +

+ Note that this property does not take into account policies such as AlwaysInstallElevated, + but verifies that the local system owns the product's registry data. +

+
+ + + Gets the source list of this product installation. + + + + + The support link. + + + + + The support telephone. + + + + + Date and time the product was installed. + + + + + The installed product name. + + + + + The installation location. + + + + + The installation source. + + + + + The local cached package. + + + + + The publisher. + + + + + URL about information. + + + + + The URL update information. + + + + + The product version. + + + + + The product identifier. + +

+ For more information, see + ProductID +

+
+ + + The company that is registered to use the product. + + + + + The owner who is registered to use the product. + + + + + Transforms. + + + + + Product language. + + + + + Human readable product name. + + + + + True if the product is advertised per-machine; + false if it is per-user or not advertised. + + + + + Identifier of the package that a product is installed from. + + + + + Version of the advertised product. + + + + + Primary icon for the package. + + + + + Name of the installation package for the advertised product. + + + + + True if the advertised product can be serviced by + non-administrators without elevation. + + + + + Gets information about an installation of a product. + + Name of the property being retrieved. + An unknown product or property was requested + The installer configuration data is corrupt +

+ Win32 MSI APIs: + MsiGetProductInfo, + MsiGetProductInfoEx +

+
+ + + Gets the installed state for a product feature. + + The feature being queried; identifier from the + Feature table + Installation state of the feature for the product instance: either + , , + or . +

+ Win32 MSI APIs: + MsiQueryFeatureState, + MsiQueryFeatureStateEx +

+
+ + + Gets the installed state for a product component. + + The component being queried; GUID of the component + as found in the ComponentId column of the Component table. + Installation state of the component for the product instance: either + or . +

+ Win32 MSI API: + MsiQueryComponentState +

+
+ + + Obtains and stores the user information and product ID from an installation wizard. + +

+ This method is typically called by an application during the first run of the application. The application + first gets the or . + If those properties are missing, the application calls CollectUserInfo. + CollectUserInfo opens the product's installation package and invokes a wizard sequence that collects + user information. Upon completion of the sequence, user information is registered. Since this API requires + an authored user interface, the user interface level should be set to full by calling + as . +

+ The CollectUserInfo method invokes a FirstRun dialog from the product installation database. +

+ Win32 MSI API: + MsiCollectUserInfo +

+
+ + + Some products might write some invalid/nonstandard version strings to the registry. + This method tries to get the best data it can. + + Version string retrieved from the registry. + Version object, or null if the version string is completely invalid. + + + + The Record object is a container for holding and transferring a variable number of values. + Fields within the record are numerically indexed and can contain strings, integers, streams, + and null values. Record fields are indexed starting with 1. Field 0 is a special format field. + +

+ Most methods on the Record class have overloads that allow using either a number + or a name to designate a field. However note that field names only exist when the + Record is directly returned from a query on a database. For other records, attempting + to access a field by name will result in an InvalidOperationException. +

+
+ + + IsFormatStringInvalid is set from several View methods that invalidate the FormatString + and used to determine behavior during Record.ToString(). + + + + + Creates a new record object with the requested number of fields. + + Required number of fields, which may be 0. + The maximum number of fields in a record is limited to 65535. +

+ The Record object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiCreateRecord +

+
+ + + Creates a new record object, providing values for an arbitrary number of fields. + + The values of the record fields. The parameters should be of type Int16, Int32 or String +

+ The Record object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiCreateRecord +

+
+ + + Gets the number of fields in a record. + +

+ Win32 MSI API: + MsiRecordGetFieldCount +

+
+ + + Gets or sets field 0 of the Record, which is the format string. + + + + + Gets or sets a record field value. + + Specifies the name of the field of the Record to get or set. + The name does not match any known field of the Record. +

+ When getting a field, the type of the object returned depends on the type of the Record field. + The object will be one of: Int16, Int32, String, Stream, or null. +

+ When setting a field, the type of the object provided will be converted to match the View + query that returned the record, or if Record was not returned from a view then the type of + the object provided will determine the type of the Record field. The object should be one of: + Int16, Int32, String, Stream, or null. +

+
+ + + Gets or sets a record field value. + + Specifies the field of the Record to get or set. + The field is less than 0 or greater than the + number of fields in the Record. +

+ Record fields are indexed starting with 1. Field 0 is a special format field. +

+ When getting a field, the type of the object returned depends on the type of the Record field. + The object will be one of: Int16, Int32, String, Stream, or null. If the Record was returned + from a View, the type will match that of the field from the View query. Otherwise, the type + will match the type of the last value set for the field. +

+ When setting a field, the type of the object provided will be converted to match the View + query that returned the Record, or if Record was not returned from a View then the type of + the object provided will determine the type of the Record field. The object should be one of: + Int16, Int32, String, Stream, or null. +

+ The type-specific getters and setters are slightly more efficient than this property, since + they don't have to do the extra work to infer the value's type every time. +

+ Win32 MSI APIs: + MsiRecordGetInteger, + MsiRecordGetString, + MsiRecordSetInteger, + MsiRecordSetString +

+
+ + + Creates a new Record object from an integer record handle. + +

+ This method is only provided for interop purposes. A Record object + should normally be obtained by calling + other methods. +

The handle will be closed when this object is disposed or finalized.

+

+ Integer record handle + true to close the handle when this object is disposed or finalized +
+ + + Sets all fields in a record to null. + +

+ Win32 MSI API: + MsiRecordClearData +

+
+ + + Reports whether a record field is null. + + Specifies the field to check. + True if the field is null, false otherwise. + The field is less than 0 or greater than the + number of fields in the Record. +

+ Win32 MSI API: + MsiRecordIsNull +

+
+ + + Reports whether a record field is null. + + Specifies the field to check. + True if the field is null, false otherwise. + The field name does not match any + of the named fields in the Record. + + + + Gets the length of a record field. The count does not include the terminating null. + + The field is less than 0 or greater than the + number of fields in the Record. +

+ The returned data size is 0 if the field is null, non-existent, + or an internal object pointer. The method also returns 0 if the handle is not a valid + Record handle. +

+ If the data is in integer format, the property returns 2 or 4. +

+ If the data is in string format, the property returns the character count + (not including the NULL terminator). +

+ If the data is in stream format, the property returns the byte count. +

+ Win32 MSI API: + MsiRecordDataSize +

+
+ + + Gets the length of a record field. The count does not include the terminating null. + + Specifies the field to check. + The field name does not match any + of the named fields in the Record. +

The returned data size is 0 if the field is null, non-existent, + or an internal object pointer. The method also returns 0 if the handle is not a valid + Record handle. +

+ If the data is in integer format, the property returns 2 or 4. +

+ If the data is in string format, the property returns the character count + (not including the NULL terminator). +

+ If the data is in stream format, the property returns the byte count. +

+
+ + + Gets a field value as an integer. + + Specifies the field to retrieve. + Integer value of the field, or 0 if the field is null. + The field is less than 0 or greater than the + number of fields in the Record. +

+ Win32 MSI API: + MsiRecordGetInteger +

+ +
+ + + Gets a field value as an integer. + + Specifies the field to retrieve. + Integer value of the field, or 0 if the field is null. + The field name does not match any + of the named fields in the Record. + + + + + Gets a field value as an integer. + + Specifies the field to retrieve. + Integer value of the field, or null if the field is null. + The field is less than 0 or greater than the + number of fields in the Record. +

+ Win32 MSI API: + MsiRecordGetInteger +

+ +
+ + + Gets a field value as an integer. + + Specifies the field to retrieve. + Integer value of the field, or null if the field is null. + The field name does not match any + of the named fields in the Record. + + + + + Sets the value of a field to an integer. + + Specifies the field to set. + new value of the field + The field is less than 0 or greater than the + number of fields in the Record. +

+ Win32 MSI API: + MsiRecordSetInteger +

+ +
+ + + Sets the value of a field to an integer. + + Specifies the field to set. + new value of the field + The field name does not match any + of the named fields in the Record. + + + + + Sets the value of a field to a nullable integer. + + Specifies the field to set. + new value of the field + The field is less than 0 or greater than the + number of fields in the Record. +

+ Win32 MSI API: + MsiRecordSetInteger +

+ +
+ + + Sets the value of a field to a nullable integer. + + Specifies the field to set. + new value of the field + The field name does not match any + of the named fields in the Record. + + + + + Gets a field value as a string. + + Specifies the field to retrieve. + String value of the field, or an empty string if the field is null. + The field is less than 0 or greater than the + number of fields in the Record. +

+ Win32 MSI API: + MsiRecordGetString +

+
+ + + Gets a field value as a string. + + Specifies the field to retrieve. + String value of the field, or an empty string if the field is null. + The field name does not match any + of the named fields in the Record. + + + + Sets the value of a field to a string. + + Specifies the field to set. + new value of the field + The field is less than 0 or greater than the + number of fields in the Record. +

+ Win32 MSI API: + MsiRecordSetString +

+
+ + + Sets the value of a field to a string. + + Specifies the field to set. + new value of the field + The field name does not match any + of the named fields in the Record. + + + + Reads a record stream field into a file. + + Specifies the field of the Record to get. + Specifies the path to the file to contain the stream. + The field is less than 0 or greater than the + number of fields in the Record. + Attempt to extract a storage from a database open + in read-write mode, or from a database without an associated file path +

+ This method is capable of directly extracting substorages. To do so, first select both the + `Name` and `Data` column of the `_Storages` table, then get the stream of the `Data` field. + However, substorages may only be extracted from a database that is open in read-only mode. +

+ Win32 MSI API: + MsiRecordReadStream +

+
+ + + Reads a record stream field into a file. + + Specifies the field of the Record to get. + Specifies the path to the file to contain the stream. + The field name does not match any + of the named fields in the Record. + Attempt to extract a storage from a database open + in read-write mode, or from a database without an associated file path +

+ This method is capable of directly extracting substorages. To do so, first select both the + `Name` and `Data` column of the `_Storages` table, then get the stream of the `Data` field. + However, substorages may only be extracted from a database that is open in read-only mode. +

+
+ + + Gets a record stream field. + + Specifies the field of the Record to get. + A Stream that reads the field data. + The field is less than 0 or greater than the + number of fields in the Record. +

+ This method is not capable of reading substorages. To extract a substorage, + use . +

+ Win32 MSI API: + MsiRecordReadStream +

+
+ + + Gets a record stream field. + + Specifies the field of the Record to get. + A Stream that reads the field data. + The field name does not match any + of the named fields in the Record. +

+ This method is not capable of reading substorages. To extract a substorage, + use . +

+
+ + + Sets a record stream field from a file. Stream data cannot be inserted into temporary fields. + + Specifies the field of the Record to set. + Specifies the path to the file containing the stream. + The field is less than 0 or greater than the + number of fields in the Record. +

+ The contents of the specified file are read into a stream object. The stream persists if + the Record is inserted into the Database and the Database is committed. +

+ To reset the stream to its beginning you must pass in null for filePath. + Do not pass an empty string, "", to reset the stream. +

+ Setting a stream with this method is more efficient than setting a field to a + FileStream object. +

+ Win32 MSI API: + MsiRecordsetStream +

+
+ + + Sets a record stream field from a file. Stream data cannot be inserted into temporary fields. + + Specifies the field name of the Record to set. + Specifies the path to the file containing the stream. + The field name does not match any + of the named fields in the Record. +

+ The contents of the specified file are read into a stream object. The stream persists if + the Record is inserted into the Database and the Database is committed. + To reset the stream to its beginning you must pass in null for filePath. + Do not pass an empty string, "", to reset the stream. +

+ Setting a stream with this method is more efficient than setting a field to a + FileStream object. +

+
+ + + Sets a record stream field from a Stream object. Stream data cannot be inserted into temporary fields. + + Specifies the field of the Record to set. + Specifies the stream data. + The field is less than 0 or greater than the + number of fields in the Record. +

+ The stream persists if the Record is inserted into the Database and the Database is committed. +

+ Win32 MSI API: + MsiRecordsetStream +

+
+ + + Sets a record stream field from a Stream object. Stream data cannot be inserted into temporary fields. + + Specifies the field name of the Record to set. + Specifies the stream data. + The field name does not match any + of the named fields in the Record. +

+ The stream persists if the Record is inserted into the Database and the Database is committed. +

+
+ + + Gets a formatted string representation of the Record. + + A formatted string representation of the Record. +

+ If field 0 of the Record is set to a nonempty string, it is used to format the data in the Record. +

+ Win32 MSI API: + MsiFormatRecord +

+ + +
+ + + Gets a formatted string representation of the Record, optionally using a Session to format properties. + + an optional Session instance that will be used to lookup any + properties in the Record's format string + A formatted string representation of the Record. +

+ If field 0 of the Record is set to a nonempty string, it is used to format the data in the Record. +

+ Win32 MSI API: + MsiFormatRecord +

+ + +
+ + + Gets a formatted string representation of the Record. + + String to be used to format the data in the Record, + instead of the Record's format string. + A formatted string representation of the Record. +

+ Win32 MSI API: + MsiFormatRecord +

+
+ + + Gets a formatted string representation of the Record, optionally using a Session to format properties. + + String to be used to format the data in the Record, + instead of the Record's format string. + an optional Session instance that will be used to lookup any + properties in the Record's format string + A formatted string representation of the Record. +

+ Win32 MSI API: + MsiFormatRecord +

+ + +
+ + + Assigns ID numbers to the MSI APIs that are remotable. + +

+ This enumeration MUST stay in sync with the + unmanaged equivalent in RemoteMsiSession.h! +

+
+ + + Defines the signature of the native function + in SfxCA.dll that implements the remoting call. + + + + + Redirects native API calls to either the normal NativeMethods class + or to out-of-proc calls via the remoting channel. + + + + + Checks if the current process is using remoting to access the + MSI session and database APIs. + + + + + Sets a delegate that is used to make remote API calls. + +

+ The implementation of this delegate is provided by the + custom action host DLL. +

+
+ + + The Session object controls the installation process. It opens the + install database, which contains the installation tables and data. + +

+ This object is associated with a standard set of action functions, + each performing particular operations on data from one or more tables. Additional + custom actions may be added for particular product installations. The basic engine + function is a sequencer that fetches sequential records from a designated sequence + table, evaluates any specified condition expression, and executes the designated + action. Actions not recognized by the engine are deferred to the UI handler object + for processing, usually dialog box sequences. +

+ Note that only one Session object can be opened by a single process. +

+
+ + + Gets the Database for the install session. + + the Session handle is invalid + the Database cannot be accessed +

+ Normally there is no need to close this Database object. The same object can be + used throughout the lifetime of the Session, and it will be closed when the Session + is closed. +

+ Win32 MSI API: + MsiGetActiveDatabase +

+
+ + + Gets the numeric language ID used by the current install session. + +

+ Win32 MSI API: + MsiGetLanguage +

+
+ + + Gets or sets the string value of a named installer property, as maintained by the + Session object in the in-memory Property table, or, if it is prefixed with a percent + sign (%), the value of a system environment variable for the current process. + + the Session handle is invalid +

+ Win32 MSI APIs: + MsiGetProperty, + MsiSetProperty +

+
+ + + Creates a new Session object from an integer session handle. + + Integer session handle + true to close the handle when this object is disposed or finalized +

+ This method is only provided for interop purposes. A Session object + should normally be obtained by calling + or . +

+
+ + + Performs any enabled logging operations and defers execution to the UI handler + object associated with the engine. + + Type of message to be processed + Contains message-specific fields + A message-dependent return value + the Session or Record handle is invalid + an invalid message kind is specified + the user exited the installation + the message-handler failed for an unknown reason +

+ Logging may be selectively enabled for the various message types. + See the method. +

+ If record field 0 contains a formatting string, it is used to format the data in + the other fields. Else if the message is an error, warning, or user message, an attempt + is made to find a message template in the Error table for the current database using the + error number found in field 1 of the record for message types and return values. +

+ The parameter may also include message-box flags from + the following enumerations: System.Windows.Forms.MessageBoxButtons, + System.Windows.Forms.MessageBoxDefaultButton, System.Windows.Forms.MessageBoxIcon. These + flags can be combined with the InstallMessage with a bitwise OR. +

+ Note, this method never returns Cancel or Error values. Instead, appropriate + exceptions are thrown in those cases. +

+ Win32 MSI API: + MsiProcessMessage +

+
+ + + Writes a message to the log, if logging is enabled. + + The line to be written to the log +

+ Win32 MSI API: + MsiProcessMessage +

+
+ + + Writes a formatted message to the log, if logging is enabled. + + The line to be written to the log, containing 0 or more format specifiers + An array containing 0 or more objects to be formatted +

+ Win32 MSI API: + MsiProcessMessage +

+
+ + + Evaluates a logical expression containing symbols and values. + + conditional expression + The result of the condition evaluation + the Session handle is invalid + the condition is null or empty + the conditional expression is invalid +

+ Win32 MSI API: + MsiEvaluateCondition +

+
+ + + Evaluates a logical expression containing symbols and values, specifying a default + value to be returned in case the condition is empty. + + conditional expression + value to return if the condition is empty + The result of the condition evaluation + the Session handle is invalid + the conditional expression is invalid +

+ Win32 MSI API: + MsiEvaluateCondition +

+
+ + + Formats a string containing installer properties. + + A format string containing property tokens + A formatted string containing property data + the Record handle is invalid +

+ Win32 MSI API: + MsiFormatRecord +

+
+ + + Returns a formatted string from record data. + + Record object containing a template and data to be formatted. + The template string must be set in field 0 followed by any referenced data parameters. + A formatted string containing the record data + the Record handle is invalid +

+ Win32 MSI API: + MsiFormatRecord +

+
+ + + Returns a formatted string from record data using a specified format. + + Record object containing a template and data to be formatted + Format string to be used instead of field 0 of the Record + A formatted string containing the record data + the Record handle is invalid +

+ Win32 MSI API: + MsiFormatRecord +

+
+ + + Retrieves product properties (not session properties) from the product database. + + Value of the property, or an empty string if the property is not set. +

+ Note this is not the correct method for getting ordinary session properties. For that, + see the indexer on the Session class. +

+ Win32 MSI API: + MsiGetProductProperty +

+
+ + + Gets an accessor for components in the current session. + + + + + Gets an accessor for features in the current session. + + + + + Checks to see if sufficient disk space is present for the current installation. + + True if there is sufficient disk space; false otherwise. +

+ Win32 MSI API: + MsiVerifyDiskSpace +

+
+ + + Gets the total disk space per drive required for the installation. + + A list of InstallCost structures, specifying the cost for each drive +

+ Win32 MSI API: + MsiEnumComponentCosts +

+
+ + + Gets the designated mode flag for the current install session. + + The type of mode to be checked. + The value of the designated mode flag. + the Session handle is invalid + an invalid mode flag was specified +

+ Note that only the following run modes are available to read from + a deferred custom action: + + + + +

+ Win32 MSI API: + MsiGetMode +

+
+ + + Sets the designated mode flag for the current install session. + + The type of mode to be set. + The desired value of the mode. + the Session handle is invalid + an invalid mode flag was specified + the mode cannot not be set +

+ Win32 MSI API: + MsiSetMode +

+
+ + + Gets the full path to the designated folder on the source media or server image. + + the folder was not found in the Directory table + the Session handle is invalid +

+ Win32 MSI API: + MsiGetSourcePath +

+
+ + + Gets the full path to the designated folder on the installation target drive. + + the folder was not found in the Directory table + the Session handle is invalid +

+ Win32 MSI API: + MsiGetTargetPath +

+
+ + + Sets the full path to the designated folder on the installation target drive. + + the folder was not found in the Directory table + the Session handle is invalid +

+ Setting the target path of a directory changes the path specification for the directory + in the in-memory Directory table. Also, the path specifications of all other path objects + in the table that are either subordinate or equivalent to the changed path are updated + to reflect the change. The properties for each affected path are also updated. +

+ If an error occurs in this function, all updated paths and properties revert to + their previous values. Therefore, it is safe to treat errors returned by this function + as non-fatal. +

+ Do not attempt to configure the target path if the components using those paths + are already installed for the current user or for a different user. Check the + ProductState property before setting the target path to determine if the product + containing this component is installed. +

+ Win32 MSI API: + MsiSetTargetPath +

+
+ + + Sets the install level for the current installation to a specified value and + recalculates the Select and Installed states for all features in the Feature + table. Also sets the Action state of each component in the Component table based + on the new level. + + New install level + the Session handle is invalid +

+ The SetInstallLevel method sets the following: + The installation level for the current installation to a specified value + The Select and Installed states for all features in the Feature table + The Action state of each component in the Component table, based on the new level + + If 0 or a negative number is passed in the ilnstallLevel parameter, + the current installation level does not change, but all features are still + updated based on the current installation level. +

+ Win32 MSI API: + MsiSetInstallLevel +

+
+ + + Executes a built-in action, custom action, or user-interface wizard action. + + Name of the action to execute. Case-sensitive. + the Session handle is invalid + the user exited the installation +

+ The DoAction method executes the action that corresponds to the name supplied. If the + name is not recognized by the installer as a built-in action or as a custom action in + the CustomAction table, the name is passed to the user-interface handler object, which + can invoke a function or a dialog box. If a null action name is supplied, the installer + uses the upper-case value of the ACTION property as the action to perform. If no property + value is defined, the default action is performed, defined as "INSTALL". +

+ Actions that update the system, such as the InstallFiles and WriteRegistryValues + actions, cannot be run by calling MsiDoAction. The exception to this rule is if DoAction + is called from a custom action that is scheduled in the InstallExecuteSequence table + between the InstallInitialize and InstallFinalize actions. Actions that do not update the + system, such as AppSearch or CostInitialize, can be called. +

+ Win32 MSI API: + MsiDoAction +

+
+ + + Executes a built-in action, custom action, or user-interface wizard action. + + Name of the action to execute. Case-sensitive. + Optional data to be passed to a deferred custom action. + the Session handle is invalid + the user exited the installation +

+ The DoAction method executes the action that corresponds to the name supplied. If the + name is not recognized by the installer as a built-in action or as a custom action in + the CustomAction table, the name is passed to the user-interface handler object, which + can invoke a function or a dialog box. If a null action name is supplied, the installer + uses the upper-case value of the ACTION property as the action to perform. If no property + value is defined, the default action is performed, defined as "INSTALL". +

+ Actions that update the system, such as the InstallFiles and WriteRegistryValues + actions, cannot be run by calling MsiDoAction. The exception to this rule is if DoAction + is called from a custom action that is scheduled in the InstallExecuteSequence table + between the InstallInitialize and InstallFinalize actions. Actions that do not update the + system, such as AppSearch or CostInitialize, can be called. +

+ If the called action is a deferred, rollback, or commit custom action, then the supplied + will be available via the + property of that custom action's session. +

+ Win32 MSI API: + MsiDoAction +

+
+ + + Executes an action sequence described in the specified table. + + Name of the table containing the action sequence. + the Session handle is invalid + the user exited the installation +

+ This method queries the specified table, ordering the actions by the numbers in the Sequence column. + For each row retrieved, an action is executed, provided that any supplied condition expression does + not evaluate to FALSE. +

+ An action sequence containing any actions that update the system, such as the InstallFiles and + WriteRegistryValues actions, cannot be run by calling DoActionSequence. The exception to this rule is if + DoActionSequence is called from a custom action that is scheduled in the InstallExecuteSequence table + between the InstallInitialize and InstallFinalize actions. Actions that do not update the system, such + as AppSearch or CostInitialize, can be called. +

+ Win32 MSI API: + MsiSequence +

+
+ + + Gets custom action data for the session that was supplied by the caller. + + + + + + Implements formatting for data. + + Type of format object to get. + The the current instance, if is the same type + as the current instance; otherwise, null. + + + + Closes the session handle. Also closes the active database handle, if it is open. + After closing a handle, further method calls may throw an . + + If true, the method has been called directly + or indirectly by a user's code, so managed and unmanaged resources will + be disposed. If false, only unmanaged resources will be disposed. + + + + Gets the (short) list of properties that are available from non-immediate custom actions. + + + + + Throws an exception if the custom action is not able to access immedate session details. + + + + + Holds information about the target of a shortcut file. + + + + + Gets the target product code of the shortcut, or null if not available. + + + + + Gets the name of the target feature of the shortcut, or null if not available. + + + + + Gets the target component code of the shortcut, or null if not available. + + + + + Tests whether two shortcut targets have the same product code, feature, and/or component code. + + The first shortcut target to compare. + The second shortcut target to compare. + True if all parts of the targets are the same, else false. + + + + Tests whether two shortcut targets have the same product code, feature, and/or component code. + + The first shortcut target to compare. + The second shortcut target to compare. + True if any parts of the targets are different, else false. + + + + Tests whether two shortcut targets have the same product code, feature, and/or component code. + + The shortcut target to compare to the current object. + True if is a shortcut target and all parts of the targets are the same, else false. + + + + Generates a hash code using all parts of the shortcut target. + + An integer suitable for hashing the shortcut target. + + + + A list of sources for an installed product or patch. + + + + + Gets the list of disks registered for the media source of + the patch or product installation. + + + + + Gets the number of network and URL sources in the list. + + + + + Gets a boolean value indicating whether the list is read-only. + A SourceList is never read-only. + + read-only status of the list + + + + Adds a network or URL source to the source list of the installed product. + + Path to the source to be added. This parameter is + expected to contain only the path without the filename. +

+ If this method is called with a new source, the installer adds the source + to the end of the source list. +

+ If this method is called with a source already existing in the source + list, it has no effect. +

+ Win32 MSI APIs: + MsiSourceListAddSource, + MsiSourceListAddSourceEx +

+ +
+ + + Adds or reorders a network or URL source for the product or patch. + + Path to the source to be added. This parameter is + expected to contain only the path without the filename. + Specifies the priority order in which the source + will be inserted +

+ If this method is called with a new source and + is set to 0, the installer adds the source to the end of the source list. +

+ If this method is called with a source already existing in the source + list and is set to 0, the installer retains the + source's existing index. +

+ If the method is called with an existing source in the source list + and is set to a non-zero value, the source is + removed from its current location in the list and inserted at the position + specified by Index, before any source that already exists at that position. +

+ If the method is called with a new source and Index is set to a + non-zero value, the source is inserted at the position specified by + , before any source that already exists at + that position. The index value for all sources in the list after the + index specified by Index are updated to ensure unique index values and + the pre-existing order is guaranteed to remain unchanged. +

+ If is greater than the number of sources + in the list, the source is placed at the end of the list with an index + value one larger than any existing source. +

+ Win32 MSI API: + MsiSourceListAddSourceEx +

+
+ + + Clears sources of all types: network, url, and media. + +

+ Win32 MSI API: + MsiSourceListClearAll +

+
+ + + Removes all network sources from the list. URL sources are not affected. + +

+ Win32 MSI API: + MsiSourceListClearAllEx +

+
+ + + Removes all URL sources from the list. Network sources are not affected. + +

+ Win32 MSI API: + MsiSourceListClearAllEx +

+
+ + + Checks if the specified source exists in the list. + + case-insensitive source to look for + true if the source exists in the list, false otherwise + + + + Copies the network and URL sources from this list into an array. + + destination array to be filed + offset into the destination array where copying begins + + + + Removes a network or URL source. + +

+ Win32 MSI API: + MsiSourceListClearSource +

+
+ + + Enumerates the network and URL sources in the source list of the patch or product installation. + +

+ Win32 MSI API: + MsiSourceListEnumSources +

+
+ + + Forces the installer to search the source list for a valid + source the next time a source is required. For example, when the + installer performs an installation or reinstallation, or when it + requires the path for a component that is set to run from source. + +

+ Win32 MSI APIs: + MsiSourceListForceResolution, + MsiSourceListForceResolutionEx +

+
+ + + Gets or sets the path relative to the root of the installation media. + + + + + Gets or sets the prompt template that is used when prompting the user + for installation media. + + + + + Gets or sets the most recently used source location for the product. + + + + + Gets or sets the name of the Windows Installer package or patch package + on the source. + + + + + Gets the type of the last-used source. + +

+

    +
  • "n" = network location
  • +
  • "u" = URL location
  • +
  • "m" = media location
  • +
  • (empty string) = no last used source
  • +
+

+
+ + + Gets or sets source list information properties of a product or patch installation. + + The source list information property name. + An unknown product, patch, or property was requested +

+ Win32 MSI API: + MsiSourceListGetInfo +

+
+ + + A list of source media for an installed product or patch. + + + + + Gets the number of source media in the list. + + + + + Gets a boolean value indicating whether the list is read-only. + A SourceMediaList is never read-only. + + read-only status of the list + + + + Adds or updates a disk of the media source for the product or patch. + +

+ Win32 MSI API: + MsiSourceListAddMediaDisk +

+
+ + + Removes all source media from the list. + +

+ Win32 MSI API: + MsiSourceListClearAllEx +

+
+ + + Checks if the specified media disk id exists in the list. + + disk id of the media to look for + true if the media exists in the list, false otherwise + + + + Copies the source media info from this list into an array. + + destination array to be filed + offset into the destination array where copying begins + + + + Removes a specified disk from the set of registered disks. + + ID of the disk to remove +

+ Win32 MSI API: + MsiSourceListClearMediaDisk +

+
+ + + Enumerates the source media in the source list of the patch or product installation. + +

+ Win32 MSI API: + MsiSourceListEnumMediaDisks +

+
+ + + Provides access to summary information of a Windows Installer database. + + + + + Gets a SummaryInfo object that can be used to examine, update, and add + properties to the summary information stream of a package or transform. + + Path to the package (database) or transform + True to reserve resources for writing summary information properties. + the package does not exist or could not be read + the package is an invalid format +

+ The SummaryInfo object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiGetSummaryInformation +

+
+ + Gets or sets the Title summary information property. +

+ The Title summary information property briefly describes the type of installer package. Phrases + such as "Installation Database" or "Transform" or "Patch" may be used for this property. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the Subject summary information property. +

+ The Subject summary information property conveys to a file browser the product that can be installed using + the logic and data in this installer database. For example, the value of the summary property for + Microsoft Office 97 would be "Microsoft Office 97 Professional". This value is typically set from the + installer property ProductName. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the Author summary information property. +

+ The Author summary information property conveys to a file browser the manufacturer of the installation + database. This value is typically set from the installer property Manufacturer. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the Keywords summary information property. +

+ The Keywords summary information property is used by file browsers to hold keywords that permit the + database file to be found in a keyword search. The set of keywords typically includes "Installer" as + well as product-specific keywords, and may be localized. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the Comments summary information property. +

+ The Comments summary information property conveys the general purpose of the installer database. By convention, + the value for this summary property is set to the following: +

+ "This installer database contains the logic and data required to install <product name>." +

+ where <product name> is the name of the product being installed. In general the value for this summary + property only changes in the product name, nothing else. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the Template summary information property. +

+ The Template summary information propery indicates the platform and language versions supported by the database. +

+ The syntax of the Template Summary property information is: + [platform property][,platform property][,...];[language id][,language id][,...] +

+ For example, the following are all valid values for the Template Summary property: + + Intel;1033 + Intel64;1033 + ;1033 + ; + Intel ;1033,2046 + Intel64;1033,2046 + Intel;0 + +

+ If this is a 64-bit Windows Installer, enter Intel64 in the Template summary information property. Note that an + installation package cannot have both the Intel and Intel64 properties set. +

+ If the current platform does not match one of the platforms specified then the installer will not process the + package. Not specifying a platform implies that the package is platform-independent. +

+ Entering 0 in the language ID field of the Template summary information property, or leaving this field empty, + indicates that the package is language neutral. +

+ There are variations of this property depending on whether it is in a source installer database or a transform. +

+ Source Installer Database - Only one language can be specified in a source installer database. Merge Modules are + the only packages that may have multiple languages. For more information, see Multiple Language Merge Modules. +

+ Transform - In a transform file, only one language may be specified. The specified platform and language determine + whether a transform can be applied to a particular database. The platform property and the language property can + be left blank if no transform restriction relies on them to validate the transform. +

+ This summary property is REQUIRED. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the LastSavedBy summary information property. +

+ The installer sets the Last Saved By summary information property to the value of the LogonUser property during + an administrative installation. The installer never uses this property and a user never needs to modify it. + Developers of a database editing tool may use this property to track the last person to modify the database. + This property should be left set to null in a final shipping database. +

+ In a transform, this summary property contains the platform and language ID(s) that a database should have + after it has been transformed. The property specifies to what the Template should be set in the new database. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the RevisionNumber summary information property. +

+ The Revision Number summary information property contains the package code for the installer package. The + package code is a unique identifier of the installer package. +

+ The Revision Number summary information property of a patch package specifies the GUID patch code for + the patch. This is followed by a list of patch code GUIDs for obsolete patches that are removed when this + patch is applied. The patch codes are concatenated with no delimiters separating GUIDs in the list. +

+ The Revision Number summary information property of a transform package lists the product code GUIDs + and version of the new and original products and the upgrade code GUID. The list is separated with + semicolons as follows. +

+ Original-Product-Code Original-Product-Version ; New-Product Code New-Product-Version; Upgrade-Code +

+ This summary property is REQUIRED. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the CreatingApp summary information property. +

+ The CreatingApp summary information property conveys which application created the installer database. + In general the value for this summary property is the name of the software used to author this database. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the LastPrintTime summary information property. +

+ The LastPrintTime summary information property can be set to the date and time during an administrative + installation to record when the administrative image was created. For non-administrative installations + this property is the same as the CreateTime summary information property. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the CreateTime summary information property. +

+ The CreateTime summary information property conveys when the installer database was created. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the LastSaveTime summary information property. +

+ The LastSaveTime summary information property conveys when the last time the installer database was + modified. Each time a user changes an installation the value for this summary property is updated to + the current system time/date at the time the installer database was saved. Initially the value for + this summary property is set to null to indicate that no changes have yet been made. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the CodePage summary information property. +

+ The Codepage summary information property is the numeric value of the ANSI code page used for any + strings that are stored in the summary information. Note that this is not the same code page for + strings in the installation database. The Codepage summary information property is used to translate + the strings in the summary information into Unicode when calling the Unicode API functions. The + Codepage summary information property must be set before any string properties are set in the + summary information. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the PageCount summary information property. +

+ For an installation package, the PageCount summary information property contains the minimum + installer version required. For Windows Installer version 1.0, this property must be set to the + integer 100. For 64-bit Windows Installer Packages, this property must be set to the integer 200. +

+ For a transform package, the PageCount summary information property contains minimum installer + version required to process the transform. Set to the greater of the two PageCount summary information + property values belonging to the databases used to generate the transform. +

+ The PageCount summary information property is set to null in patch packages. +

+ This summary property is REQUIRED. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the WordCount summary information property. +

+ The WordCount summary information property indicates the type of source file image. If this property is + not present, it defaults to 0. Note that this property is stored in place of the standard Count property. +

+ This property is a bit field. New bits may be added in the future. At present the following bits are + available: + + Bit 0: 0 = long file names, 1 = short file names + Bit 1: 0 = source is uncompressed, 1 = source is compressed + Bit 2: 0 = source is original media, 1 = source is administrative installation + [MSI 4.0] Bit 3: 0 = elevated privileges can be required to install, 1 = elevated privileges are not required to install + +

+ These are combined to give the WordCount summary information property one of the following values + indicating a type of source file image: + + 0 - Original source using long file names. Matches tree in Directory table. + 1 - Original source using short file names. Matches tree in Directory table. + 2 - Compressed source files using long file names. Matches cabinets and files in the Media table. + 3 - Compressed source files using short file names. Matches cabinets and files in the Media table. + 4 - Administrative image using long file names. Matches tree in Directory table. + 5 - Administrative image using short file names. Matches tree in Directory table. + +

+ Note that if the package is marked as compressed (bit 1 is set), the installer only installs files + located at the root of the source. In this case, even files marked as uncompressed in the File table must + be located at the root to be installed. To specify a source image that has both a cabinet file (compressed + files) and uncompressed files that match the tree in the Directory table, mark the package as uncompressed + by leaving bit 1 unset (value=0) in the WordCount summary information property and set + (value=16384) in the Attributes column of the File table + for each file in the cabinet. +

+ For a patch package, the WordCount summary information property specifies the patch engine that was used + to create the patch files. The default value is 1 and indicates that MSPATCH was used to create the patch + A value of "2" means that the patch is using smaller, optimized, files available only with Windows Installer + version 1.2 or later. A patch with a WordCount of "2" fails immediately if used with a Windows Installer + version earlier than 1.2. A patch with a WordCount of "3" fails immediately if used with a Windows Installer + version earlier than 2.0. +

+ This summary property is REQUIRED. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the CharacterCount summary information property. +

+ The CharacterCount summary information property is only used in transforms. This part of the summary + information stream is divided into two 16-bit words. The upper word contains the transform validation + flags. The lower word contains the transform error condition flags. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + Gets or sets the Security summary information property. +

+ The Security summary information property conveys whether the package should be opened as read-only. The database + editing tool should not modify a read-only enforced database and should issue a warning at attempts to modify a + read-only recommended database. The following values of this property are applicable to Windows Installer files: + + 0 - no restriction + 2 - read only recommended + 4 - read only enforced + +

+ This property should be set to read-only recommended (2) for an installation database and to read-only + enforced (4) for a transform or patch. +

+ Win32 MSI APIs: + MsiSummaryInfoGetProperty, + MsiSummaryInfoSetProperty +

+
+ + + Formats and writes the previously stored properties into the standard summary information stream. + + The stream cannot be successfully written. +

+ This method may only be called once after all the property values have been set. Properties may + still be read after the stream is written. +

+ Win32 MSI API: + MsiSummaryInfoPersist +

+
+ + + Contains information about all the tables in a Windows Installer database. + + + + + Gets the number of tables in the database. + + + + + Gets a boolean value indicating whether the collection is read-only. + A TableCollection is read-only when the database is read-only. + + read-only status of the collection + + + + Gets information about a given table. + + case-sensitive name of the table + information about the requested table, or null if the table does not exist in the database + + + + Adds a new table to the database. + + information about the table to be added + a table with the same name already exists in the database + + + + Removes all tables (and all data) from the database. + + + + + Checks if the database contains a table with the given name. + + case-sensitive name of the table to search for + True if the table exists, false otherwise. + + + + Copies the table information from this collection into an array. + + destination array to be filed + offset into the destination array where copying begins + + + + Removes a table from the database. + + case-sensitive name of the table to be removed + true if the table was removed, false if the table did not exist + + + + Enumerates the tables in the database. + + + + + Defines a table in an installation database. + + + + + Creates a table definition. + + Name of the table. + Columns in the table. + The primary keys of the table. + + + + Gets the name of the table. + + + + + Gets information about the columns in this table. + +

+ This property queries the database every time it is called, + to ensure the returned values are up-to-date. For best performance, + hold onto the returned collection if using it more than once. +

+
+ + + Gets the names of the columns that are primary keys of the table. + + + + + Gets an SQL CREATE string that can be used to create the table. + + + + + Gets an SQL INSERT string that can be used insert a new record into the table. + +

+ The values are expressed as question-mark tokens, to be supplied by the record. +

+
+ + + Gets an SQL SELECT string that can be used to select all columns of the table. + +

+ The columns are listed explicitly in the SELECT string, as opposed to using "SELECT *". +

+
+ + + Gets a string representation of the table. + + The name of the table. + + + + Contains specific information about an error encountered by the , + , or methods of the + class. + + + + + Gets the type of validation error encountered. + + + + + Gets the column containing the error, or null if the error applies to the whole row. + + + + + A View represents a result set obtained when processing a query using the + method of a + . Before any data can be transferred, + the query must be executed using the method, passing to + it all replaceable parameters designated within the SQL query string. + + + + + Gets the Database on which this View was opened. + + + + + Gets the SQL query string used to open this View. + + + + + Gets the set of tables that were included in the SQL query for this View. + + + + + Gets the set of columns that were included in the query for this View, + or null if this view is not a SELECT query. + + the View is not in an active state + the View handle is invalid +

+ Win32 MSI API: + MsiViewGetColumnInfo +

+
+ + + Executes a SQL View query and supplies any required parameters. The query uses the + question mark token to represent parameters as described in SQL Syntax. The values of + these parameters are passed in as the corresponding fields of a parameter record. + + Optional Record that supplies the parameters. This + Record contains values to replace the parameter tokens in the SQL query. + the View could not be executed + the View handle is invalid +

+ Win32 MSI API: + MsiViewExecute +

+
+ + + Executes a SQL View query. + + the View could not be executed + the View handle is invalid +

+ Win32 MSI API: + MsiViewExecute +

+
+ + + Fetches the next sequential record from the view, or null if there are no more records. + + the View is not in an active state + the View handle is invalid +

+ The Record object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. +

+ Win32 MSI API: + MsiViewFetch +

+
+ + + Updates a fetched Record. + + specifies the modify mode + the Record to modify + the modification failed, + or a validation was requested and the data did not pass + the View handle is invalid +

+ You can update or delete a record immediately after inserting, or seeking provided you + have NOT modified the 0th field of the inserted or sought record. +

+ To execute any SQL statement, a View must be created. However, a View that does not + create a result set, such as CREATE TABLE, or INSERT INTO, cannot be used with any of + the Modify methods to update tables though the view. +

+ You cannot fetch a record containing binary data from one database and then use + that record to insert the data into another database. To move binary data from one database + to another, you should export the data to a file and then import it into the new database + using a query and the . This ensures that each database has + its own copy of the binary data. +

+ Note that custom actions can only add, modify, or remove temporary rows, columns, + or tables from a database. Custom actions cannot modify persistent data in a database, + such as data that is a part of the database stored on disk. +

+ Win32 MSI API: + MsiViewModify +

+ + + + + + + + + + + + + +
+ + + Refreshes the data in a Record. + + the Record to be refreshed + the refresh failed + the View handle is invalid +

+ The Record must have been obtained by calling . Fails with + a deleted Record. Works only with read-write Records. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Inserts a Record into the view. + + the Record to be inserted + the insertion failed + the View handle is invalid +

+ Fails if a row with the same primary keys exists. Fails with a read-only database. + This method cannot be used with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Updates the View with new data from the Record. + + the new data + the update failed + the View handle is invalid +

+ Only non-primary keys can be updated. The Record must have been obtained by calling + . Fails with a deleted Record. Works only with read-write Records. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Updates or inserts a Record into the View. + + the Record to be assigned + the assignment failed + the View handle is invalid +

+ Updates record if the primary keys match an existing row and inserts if they do not match. + Fails with a read-only database. This method cannot be used with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Updates or deletes and inserts a Record into the View. + + the Record to be replaced + the replacement failed + the View handle is invalid +

+ The Record must have been obtained by calling . Updates record if the + primary keys are unchanged. Deletes old row and inserts new if primary keys have changed. + Fails with a read-only database. This method cannot be used with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Deletes a Record from the View. + + the Record to be deleted + the deletion failed + the View handle is invalid +

+ The Record must have been obtained by calling . Fails if the row has been + deleted. Works only with read-write records. This method cannot be used with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Inserts a Record into the View. The inserted data is not persistent. + + the Record to be inserted + the insertion failed + the View handle is invalid +

+ Fails if a row with the same primary key exists. Works only with read-write records. + This method cannot be used with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Refreshes the information in the supplied record without changing the position + in the result set and without affecting subsequent fetch operations. + + the Record to be filled with the result of the seek + the seek failed + the View handle is invalid +

+ After seeking, the Record may then be used for subsequent Update, Delete, and Refresh + operations. All primary key columns of the table must be in the query and the Record must + have at least as many fields as the query. Seek cannot be used with multi-table queries. + This method cannot be used with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Inserts or validates a record. + + the Record to be merged + true if the record was inserted or validated, false if there is an existing + record with the same primary keys that is not identical + the merge failed (for a reason other than invalid data) + the View handle is invalid +

+ Works only with read-write records. This method cannot be used with a + View containing joins. +

+ See for more remarks. +

+ Win32 MSI API: + MsiViewModify +

+
+ + + Validates a record, returning information about any errors. + + the Record to be validated + null if the record was validated; if there is an existing record with + the same primary keys that has conflicting data then error information is returned + the validation failed (for a reason other than invalid data) + the View handle is invalid +

+ The Record must have been obtained by calling . + Works with read-write and read-only records. This method cannot be used + with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI APIs: + MsiViewModify, + MsiViewGetError +

+
+ + + Validates a new record, returning information about any errors. + + the Record to be validated + null if the record was validated; if there is an existing + record with the same primary keys then error information is returned + the validation failed (for a reason other than invalid data) + the View handle is invalid +

+ Checks for duplicate keys. The Record must have been obtained by + calling . Works with read-write and read-only records. + This method cannot be used with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI APIs: + MsiViewModify, + MsiViewGetError +

+
+ + + Validates fields of a fetched or new record, returning information about any errors. + Can validate one or more fields of an incomplete record. + + the Record to be validated + null if the record was validated; if there is an existing record with + the same primary keys that has conflicting data then error information is returned + the validation failed (for a reason other than invalid data) + the View handle is invalid +

+ Works with read-write and read-only records. This method cannot be used with + a View containing joins. +

+ See for more remarks. +

+ Win32 MSI APIs: + MsiViewModify, + MsiViewGetError +

+
+ + + Validates a record that will be deleted later, returning information about any errors. + + the Record to be validated + null if the record is safe to delete; if another row refers to + the primary keys of this row then error information is returned + the validation failed (for a reason other than invalid data) + the View handle is invalid +

+ Validation does not check for the existence of the primary keys of this row in properties + or strings. Does not check if a column is a foreign key to multiple tables. Works with + read-write and read-only records. This method cannot be used with a View containing joins. +

+ See for more remarks. +

+ Win32 MSI APIs: + MsiViewModify, + MsiViewGetError +

+
+ + + Enumerates over the Records retrieved by the View. + + An enumerator of Record objects. + The View was not d before attempting the enumeration. +

+ Each Record object should be d after use. + It is best that the handle be closed manually as soon as it is no longer + needed, as leaving lots of unused handles open can degrade performance. + However, note that it is not necessary to complete the enumeration just + for the purpose of closing handles, because Records are fetched lazily + on each step of the enumeration. +

+ Win32 MSI API: + MsiViewFetch +

+
+ + + Distribution specific strings. + + + + + News URL for the distribution. + + + + + Short product name for the distribution. + + + + + Support URL for the distribution. + + + + + Telemetry URL format for the distribution. + + + + + VS Extensions Landing page Url for the distribution. + + +
+
diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MsgGen.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MsgGen.exe new file mode 100644 index 0000000..bc8532b Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/MsgGen.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/XsdGen.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/XsdGen.exe new file mode 100644 index 0000000..b63effc Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/XsdGen.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/XsdStitch.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/XsdStitch.exe new file mode 100644 index 0000000..76bce2d Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/XsdStitch.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/BalBaseBootstrapperApplication.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/BalBaseBootstrapperApplication.h new file mode 100644 index 0000000..9b31ee4 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/BalBaseBootstrapperApplication.h @@ -0,0 +1,695 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +#include +#include + +#include "IBootstrapperEngine.h" +#include "IBootstrapperApplication.h" + +#include "balutil.h" +#include "balretry.h" + +class CBalBaseBootstrapperApplication : public IBootstrapperApplication +{ +public: // IUnknown + virtual STDMETHODIMP QueryInterface( + __in REFIID riid, + __out LPVOID *ppvObject + ) + { + if (!ppvObject) + { + return E_INVALIDARG; + } + + *ppvObject = NULL; + + if (::IsEqualIID(__uuidof(IBootstrapperApplication), riid)) + { + *ppvObject = static_cast(this); + } + else if (::IsEqualIID(IID_IUnknown, riid)) + { + *ppvObject = static_cast(this); + } + else // no interface for requested iid + { + return E_NOINTERFACE; + } + + AddRef(); + return S_OK; + } + + virtual STDMETHODIMP_(ULONG) AddRef() + { + return ::InterlockedIncrement(&this->m_cReferences); + } + + virtual STDMETHODIMP_(ULONG) Release() + { + long l = ::InterlockedDecrement(&this->m_cReferences); + if (0 < l) + { + return l; + } + + delete this; + return 0; + } + +public: // IBootstrapperApplication + virtual STDMETHODIMP OnStartup() + { + return S_OK; + } + + virtual STDMETHODIMP_(int) OnShutdown() + { + return IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnSystemShutdown( + __in DWORD dwEndSession, + __in int /*nRecommendation*/ + ) + { + // Allow requests to shut down when critical or not applying. + if (ENDSESSION_CRITICAL & dwEndSession || !m_fApplying) + { + return IDOK; + } + + return IDCANCEL; + } + + virtual STDMETHODIMP_(int) OnDetectBegin( + __in BOOL /*fInstalled*/, + __in DWORD /*cPackages*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnDetectForwardCompatibleBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, + __in_z LPCWSTR /*wzBundleTag*/, + __in BOOL /*fPerMachine*/, + __in DWORD64 /*dw64Version*/, + __in int nRecommendation + ) + { + return CheckCanceled() ? IDCANCEL : nRecommendation; + } + + virtual STDMETHODIMP_(int) OnDetectUpdateBegin( + __in_z LPCWSTR /*wzUpdateLocation*/, + __in int nRecommendation + ) + { + return CheckCanceled() ? IDCANCEL : nRecommendation; + } + + virtual STDMETHODIMP_(int) OnDetectUpdate( + __in_z LPCWSTR /*wzUpdateLocation*/, + __in DWORD64 /*dw64Size*/, + __in DWORD64 /*dw64Version*/, + __in_z LPCWSTR /*wzTitle*/, + __in_z LPCWSTR /*wzSummary*/, + __in_z LPCWSTR /*wzContentType*/, + __in_z LPCWSTR /*wzContent*/, + __in int nRecommendation + ) + { + return CheckCanceled() ? IDCANCEL : nRecommendation; + } + + virtual STDMETHODIMP_(void) OnDetectUpdateComplete( + __in HRESULT /*hrStatus*/, + __in_z_opt LPCWSTR /*wzUpdateLocation*/ + ) + { + } + + virtual STDMETHODIMP_(int) OnDetectCompatiblePackage( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzCompatiblePackageId*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnDetectPriorBundle( + __in_z LPCWSTR /*wzBundleId*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnDetectPackageBegin( + __in_z LPCWSTR /*wzPackageId*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnDetectRelatedBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, + __in_z LPCWSTR /*wzBundleTag*/, + __in BOOL /*fPerMachine*/, + __in DWORD64 /*dw64Version*/, + __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnDetectRelatedMsiPackage( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzProductCode*/, + __in BOOL /*fPerMachine*/, + __in DWORD64 /*dw64Version*/, + __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnDetectTargetMsiPackage( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzProductCode*/, + __in BOOTSTRAPPER_PACKAGE_STATE /*patchState*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnDetectMsiFeature( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzFeatureId*/, + __in BOOTSTRAPPER_FEATURE_STATE /*state*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(void) OnDetectPackageComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_PACKAGE_STATE /*state*/ + ) + { + } + + virtual STDMETHODIMP_(void) OnDetectComplete( + __in HRESULT /*hrStatus*/ + ) + { + } + + virtual STDMETHODIMP_(int) OnPlanBegin( + __in DWORD /*cPackages*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnPlanRelatedBundle( + __in_z LPCWSTR /*wzBundleId*/, + __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnPlanPackageBegin( + __in_z LPCWSTR /*wzPackageId*/, + __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnPlanCompatiblePackage( + __in_z LPCWSTR /*wzPackageId*/, + __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnPlanTargetMsiPackage( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzProductCode*/, + __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnPlanMsiFeature( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzFeatureId*/, + __inout BOOTSTRAPPER_FEATURE_STATE* /*pRequestedState*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(void) OnPlanPackageComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, + __in BOOTSTRAPPER_REQUEST_STATE /*requested*/, + __in BOOTSTRAPPER_ACTION_STATE /*execute*/, + __in BOOTSTRAPPER_ACTION_STATE /*rollback*/ + ) + { + } + + virtual STDMETHODIMP_(void) OnPlanComplete( + __in HRESULT /*hrStatus*/ + ) + { + } + + virtual STDMETHODIMP_(int) OnApplyBegin() + { + m_fApplying = TRUE; + + m_dwProgressPercentage = 0; + m_dwOverallProgressPercentage = 0; + + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + // DEPRECATED: this will be merged with OnApplyBegin in wix4. + virtual STDMETHODIMP_(void) OnApplyPhaseCount( + __in DWORD /*dwPhaseCount*/ + ) + { + } + + virtual STDMETHODIMP_(int) OnElevate() + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnRegisterBegin() + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(void) OnRegisterComplete( + __in HRESULT /*hrStatus*/ + ) + { + return; + } + + virtual STDMETHODIMP_(void) OnUnregisterBegin() + { + return; + } + + virtual STDMETHODIMP_(void) OnUnregisterComplete( + __in HRESULT /*hrStatus*/ + ) + { + return; + } + + virtual STDMETHODIMP_(int) OnApplyComplete( + __in HRESULT /*hrStatus*/, + __in BOOTSTRAPPER_APPLY_RESTART restart + ) + { + m_fApplying = FALSE; + return BOOTSTRAPPER_APPLY_RESTART_REQUIRED == restart ? IDRESTART : CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnCacheBegin() + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnCachePackageBegin( + __in_z LPCWSTR /*wzPackageId*/, + __in DWORD /*cCachePayloads*/, + __in DWORD64 /*dw64PackageCacheSize*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnCacheAcquireBegin( + __in_z LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in BOOTSTRAPPER_CACHE_OPERATION /*operation*/, + __in_z LPCWSTR /*wzSource*/ + ) + { + BalRetryStartPackage(BALRETRY_TYPE_CACHE, wzPackageOrContainerId, wzPayloadId); + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnCacheAcquireProgress( + __in_z LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in DWORD64 /*dw64Progress*/, + __in DWORD64 /*dw64Total*/, + __in DWORD /*dwOverallPercentage*/ + ) + { + HRESULT hr = S_OK; + int nResult = IDNOACTION; + + // Send progress even though we don't update the numbers to at least give the caller an opportunity + // to cancel. + if (BOOTSTRAPPER_DISPLAY_EMBEDDED == m_display) + { + hr = m_pEngine->SendEmbeddedProgress(m_dwProgressPercentage, m_dwOverallProgressPercentage, &nResult); + BalExitOnFailure(hr, "Failed to send embedded cache progress."); + } + + LExit: + return FAILED(hr) ? IDERROR : CheckCanceled() ? IDCANCEL : nResult; + } + + virtual STDMETHODIMP_(int) OnCacheAcquireComplete( + __in_z LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in HRESULT hrStatus, + __in int nRecommendation + ) + { + int nResult = CheckCanceled() ? IDCANCEL : BalRetryEndPackage(BALRETRY_TYPE_CACHE, wzPackageOrContainerId, wzPayloadId, hrStatus); + return IDNOACTION == nResult ? nRecommendation : nResult; + } + + virtual STDMETHODIMP_(int) OnCacheVerifyBegin( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzPayloadId*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnCacheVerifyComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzPayloadId*/, + __in HRESULT /*hrStatus*/, + __in int nRecommendation + ) + { + return CheckCanceled() ? IDCANCEL : nRecommendation; + } + + virtual STDMETHODIMP_(int) OnCachePackageComplete( + __in_z LPCWSTR /*wzPackageId*/, + __in HRESULT /*hrStatus*/, + __in int nRecommendation + ) + { + return CheckCanceled() ? IDCANCEL : nRecommendation; + } + + virtual STDMETHODIMP_(void) OnCacheComplete( + __in HRESULT /*hrStatus*/ + ) + { + } + + virtual STDMETHODIMP_(int) OnExecuteBegin( + __in DWORD /*cExecutingPackages*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnExecutePackageBegin( + __in_z LPCWSTR wzPackageId, + __in BOOL fExecute + ) + { + // Only track retry on execution (not rollback). + if (fExecute) + { + BalRetryStartPackage(BALRETRY_TYPE_EXECUTE, wzPackageId, NULL); + } + + m_fRollingBack = !fExecute; + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnExecutePatchTarget( + __in_z LPCWSTR /*wzPackageId*/, + __in_z LPCWSTR /*wzTargetProductCode*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnError( + __in BOOTSTRAPPER_ERROR_TYPE errorType, + __in_z LPCWSTR wzPackageId, + __in DWORD dwCode, + __in_z LPCWSTR /*wzError*/, + __in DWORD /*dwUIHint*/, + __in DWORD /*cData*/, + __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, + __in int nRecommendation + ) + { + BalRetryErrorOccurred(wzPackageId, dwCode); + + if (BOOTSTRAPPER_DISPLAY_FULL == m_display) + { + if (BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER == errorType ||BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY == errorType) + { + nRecommendation = IDTRYAGAIN; + } + } + + return CheckCanceled() ? IDCANCEL : nRecommendation; + } + + virtual STDMETHODIMP_(int) OnProgress( + __in DWORD dwProgressPercentage, + __in DWORD dwOverallProgressPercentage + ) + { + HRESULT hr = S_OK; + int nResult = IDNOACTION; + + m_dwProgressPercentage = dwProgressPercentage; + m_dwOverallProgressPercentage = dwOverallProgressPercentage; + + if (BOOTSTRAPPER_DISPLAY_EMBEDDED == m_display) + { + hr = m_pEngine->SendEmbeddedProgress(m_dwProgressPercentage, m_dwOverallProgressPercentage, &nResult); + BalExitOnFailure(hr, "Failed to send embedded overall progress."); + } + + LExit: + return FAILED(hr) ? IDERROR : CheckCanceled() ? IDCANCEL : nResult; + } + + virtual STDMETHODIMP_(int) OnDownloadPayloadBegin( + __in_z LPCWSTR /*wzPayloadId*/, + __in_z LPCWSTR /*wzPayloadFileName*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnDownloadPayloadComplete( + __in_z LPCWSTR /*wzPayloadId*/, + __in_z LPCWSTR /*wzPayloadFileName*/, + __in HRESULT /*hrStatus*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnExecuteProgress( + __in_z LPCWSTR /*wzPackageId*/, + __in DWORD /*dwProgressPercentage*/, + __in DWORD /*dwOverallProgressPercentage*/ + ) + { + HRESULT hr = S_OK; + int nResult = IDNOACTION; + + // Send progress even though we don't update the numbers to at least give the caller an opportunity + // to cancel. + if (BOOTSTRAPPER_DISPLAY_EMBEDDED == m_display) + { + hr = m_pEngine->SendEmbeddedProgress(m_dwProgressPercentage, m_dwOverallProgressPercentage, &nResult); + BalExitOnFailure(hr, "Failed to send embedded execute progress."); + } + + LExit: + return FAILED(hr) ? IDERROR : CheckCanceled() ? IDCANCEL : nResult; + } + + virtual STDMETHODIMP_(int) OnExecuteMsiMessage( + __in_z LPCWSTR /*wzPackageId*/, + __in INSTALLMESSAGE /*mt*/, + __in UINT /*uiFlags*/, + __in_z LPCWSTR /*wzMessage*/, + __in DWORD /*cData*/, + __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, + __in int nRecommendation + ) + { + return CheckCanceled() ? IDCANCEL : nRecommendation; + } + + virtual STDMETHODIMP_(int) OnExecuteFilesInUse( + __in_z LPCWSTR /*wzPackageId*/, + __in DWORD /*cFiles*/, + __in_ecount_z(cFiles) LPCWSTR* /*rgwzFiles*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnExecutePackageComplete( + __in_z LPCWSTR wzPackageId, + __in HRESULT hrExitCode, + __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, + __in int nRecommendation + ) + { + int nResult = CheckCanceled() ? IDCANCEL : CheckCanceled() ? IDCANCEL : BalRetryEndPackage(BALRETRY_TYPE_EXECUTE, wzPackageId, NULL, hrExitCode); + return IDNOACTION == nResult ? nRecommendation : nResult; + } + + virtual STDMETHODIMP_(void) OnExecuteComplete( + __in HRESULT /*hrStatus*/ + ) + { + } + + virtual STDMETHODIMP_(int) OnResolveSource( + __in_z LPCWSTR /*wzPackageOrContainerId*/, + __in_z_opt LPCWSTR /*wzPayloadId*/, + __in_z LPCWSTR /*wzLocalSource*/, + __in_z_opt LPCWSTR /*wzDownloadSource*/ + ) + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(int) OnLaunchApprovedExeBegin() + { + return CheckCanceled() ? IDCANCEL : IDNOACTION; + } + + virtual STDMETHODIMP_(void) OnLaunchApprovedExeComplete( + __in HRESULT /*hrStatus*/, + __in DWORD /*dwProcessId*/ + ) + { + } + +protected: + // + // PromptCancel - prompts the user to close (if not forced). + // + virtual BOOL PromptCancel( + __in HWND hWnd, + __in BOOL fForceCancel, + __in_z_opt LPCWSTR wzMessage, + __in_z_opt LPCWSTR wzCaption + ) + { + ::EnterCriticalSection(&m_csCanceled); + + // Only prompt the user to close if we have not canceled already. + if (!m_fCanceled) + { + if (fForceCancel) + { + m_fCanceled = TRUE; + } + else + { + m_fCanceled = (IDYES == ::MessageBoxW(hWnd, wzMessage, wzCaption, MB_YESNO | MB_ICONEXCLAMATION)); + } + } + + ::LeaveCriticalSection(&m_csCanceled); + + return m_fCanceled; + } + + // + // CheckCanceled - waits if the cancel dialog is up and checks to see if the user canceled the operation. + // + BOOL CheckCanceled() + { + ::EnterCriticalSection(&m_csCanceled); + ::LeaveCriticalSection(&m_csCanceled); + return m_fRollingBack ? FALSE : m_fCanceled; + } + + BOOL IsRollingBack() + { + return m_fRollingBack; + } + + BOOL IsCanceled() + { + return m_fCanceled; + } + + CBalBaseBootstrapperApplication( + __in IBootstrapperEngine* pEngine, + __in const BOOTSTRAPPER_COMMAND* pCommand, + __in DWORD dwRetryCount = 0, + __in DWORD dwRetryTimeout = 1000 + ) + { + m_cReferences = 1; + m_display = pCommand->display; + m_restart = pCommand->restart; + + pEngine->AddRef(); + m_pEngine = pEngine; + + ::InitializeCriticalSection(&m_csCanceled); + m_fCanceled = FALSE; + m_fApplying = FALSE; + m_fRollingBack = FALSE; + + BalRetryInitialize(dwRetryCount, dwRetryTimeout); + } + + virtual ~CBalBaseBootstrapperApplication() + { + BalRetryUninitialize(); + ::DeleteCriticalSection(&m_csCanceled); + + ReleaseNullObject(m_pEngine); + } + +protected: + CRITICAL_SECTION m_csCanceled; + BOOL m_fCanceled; + +private: + long m_cReferences; + BOOTSTRAPPER_DISPLAY m_display; + BOOTSTRAPPER_RESTART m_restart; + IBootstrapperEngine* m_pEngine; + + BOOL m_fApplying; + BOOL m_fRollingBack; + + DWORD m_dwProgressPercentage; + DWORD m_dwOverallProgressPercentage; +}; diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperApplication.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperApplication.h new file mode 100644 index 0000000..0b8393c --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperApplication.h @@ -0,0 +1,755 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +enum BOOTSTRAPPER_DISPLAY +{ + BOOTSTRAPPER_DISPLAY_UNKNOWN, + BOOTSTRAPPER_DISPLAY_EMBEDDED, + BOOTSTRAPPER_DISPLAY_NONE, + BOOTSTRAPPER_DISPLAY_PASSIVE, + BOOTSTRAPPER_DISPLAY_FULL, +}; + + +enum BOOTSTRAPPER_RESTART +{ + BOOTSTRAPPER_RESTART_UNKNOWN, + BOOTSTRAPPER_RESTART_NEVER, + BOOTSTRAPPER_RESTART_PROMPT, + BOOTSTRAPPER_RESTART_AUTOMATIC, + BOOTSTRAPPER_RESTART_ALWAYS, +}; + + +enum BOOTSTRAPPER_RESUME_TYPE +{ + BOOTSTRAPPER_RESUME_TYPE_NONE, + BOOTSTRAPPER_RESUME_TYPE_INVALID, // resume information is present but invalid + BOOTSTRAPPER_RESUME_TYPE_INTERRUPTED, // relaunched after an unexpected interruption + BOOTSTRAPPER_RESUME_TYPE_REBOOT_PENDING, // reboot has not taken place yet + BOOTSTRAPPER_RESUME_TYPE_REBOOT, // relaunched after reboot + BOOTSTRAPPER_RESUME_TYPE_SUSPEND, // relaunched after suspend + BOOTSTRAPPER_RESUME_TYPE_ARP, // launched from ARP +}; + + +enum BOOTSTRAPPER_ERROR_TYPE +{ + BOOTSTRAPPER_ERROR_TYPE_ELEVATE, // error occurred trying to elevate. + BOOTSTRAPPER_ERROR_TYPE_WINDOWS_INSTALLER, // error came from windows installer. + BOOTSTRAPPER_ERROR_TYPE_EXE_PACKAGE, // error came from an exe package. + BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER, // error occurred trying to authenticate with HTTP server. + BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY, // error occurred trying to authenticate with HTTP proxy. + BOOTSTRAPPER_ERROR_TYPE_APPLY, // error occurred during apply. +}; + + +enum BOOTSTRAPPER_RELATED_OPERATION +{ + BOOTSTRAPPER_RELATED_OPERATION_NONE, + BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE, + BOOTSTRAPPER_RELATED_OPERATION_MINOR_UPDATE, + BOOTSTRAPPER_RELATED_OPERATION_MAJOR_UPGRADE, + BOOTSTRAPPER_RELATED_OPERATION_REMOVE, + BOOTSTRAPPER_RELATED_OPERATION_INSTALL, + BOOTSTRAPPER_RELATED_OPERATION_REPAIR, +}; + + +enum BOOTSTRAPPER_CACHE_OPERATION +{ + BOOTSTRAPPER_CACHE_OPERATION_COPY, + BOOTSTRAPPER_CACHE_OPERATION_DOWNLOAD, + BOOTSTRAPPER_CACHE_OPERATION_EXTRACT, +}; + + +enum BOOTSTRAPPER_APPLY_RESTART +{ + BOOTSTRAPPER_APPLY_RESTART_NONE, + BOOTSTRAPPER_APPLY_RESTART_REQUIRED, + BOOTSTRAPPER_APPLY_RESTART_INITIATED, +}; + + +enum BOOTSTRAPPER_RELATION_TYPE +{ + BOOTSTRAPPER_RELATION_NONE, + BOOTSTRAPPER_RELATION_DETECT, + BOOTSTRAPPER_RELATION_UPGRADE, + BOOTSTRAPPER_RELATION_ADDON, + BOOTSTRAPPER_RELATION_PATCH, + BOOTSTRAPPER_RELATION_DEPENDENT, + BOOTSTRAPPER_RELATION_UPDATE, +}; + + +struct BOOTSTRAPPER_COMMAND +{ + BOOTSTRAPPER_ACTION action; + BOOTSTRAPPER_DISPLAY display; + BOOTSTRAPPER_RESTART restart; + + LPWSTR wzCommandLine; + int nCmdShow; + + BOOTSTRAPPER_RESUME_TYPE resumeType; + HWND hwndSplashScreen; + + // If this was run from a related bundle, specifies the relation type + BOOTSTRAPPER_RELATION_TYPE relationType; + BOOL fPassthrough; + + LPWSTR wzLayoutDirectory; +}; + + +DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-AB06-099D717C67FE") +{ + // OnStartup - called when the engine is ready for the bootstrapper application to start. + // + STDMETHOD(OnStartup)() = 0; + + // OnShutdown - called after the bootstrapper application quits the engine. + // + // Return: + // IDRESTART instructs the engine to restart. The engine will not launch again after the machine + // is rebooted. Ignored if reboot was already initiated by OnExecutePackageComplete(). + // + // IDRELOAD_BOOTSTRAPPER instructs the engine to unload the bootstrapper application and restart + // the engine which will load the bootstrapper application again. Typically + // used to switch from a native bootstrapper application to a managed one. + // + // All other return codes are ignored. + STDMETHOD_(int, OnShutdown)() = 0; + + // OnSystemShutdown - called when the operating system is instructed to shutdown the machine. + // + // Return: + // IDCANCEL instructs the engine to block the shutdown of the machine. + // + // All other return codes allow the shutdown to commence. + STDMETHOD_(int, OnSystemShutdown)( + __in DWORD dwEndSession, + __in int nRecommendation + ) = 0; + + // OnDetectBegin - called when the engine begins detection. + // + // Return: + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnDetectBegin)( + __in BOOL fInstalled, + __in DWORD cPackages + ) = 0; + + // OnDetectForwardCompatibleBundle - called when the engine detects a forward compatible bundle. + // + // Return: + // IDOK instructs the engine to use the forward compatible bundle. + // + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to not use the forward compatible bundle. + STDMETHOD_(int, OnDetectForwardCompatibleBundle)( + __in_z LPCWSTR wzBundleId, + __in BOOTSTRAPPER_RELATION_TYPE relationType, + __in_z LPCWSTR wzBundleTag, + __in BOOL fPerMachine, + __in DWORD64 dw64Version, + __in int nRecommendation + ) = 0; + + // OnDetectUpdateBegin - called when the engine begins detection for bundle update. + // + // Return: + // IDOK instructs the engine to attempt update detection. + // + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to skip update detection. + STDMETHOD_(int, OnDetectUpdateBegin)( + __in_z LPCWSTR wzUpdateLocation, + __in int nRecommendation + ) = 0; + + // OnDetectUpdate - called when the engine has an update candidate for bundle update. + // + // Return: + // IDOK instructs the engine to stop further update detection. + // + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to process further update candidates. + STDMETHOD_(int, OnDetectUpdate)( + __in_z_opt LPCWSTR wzUpdateLocation, + __in DWORD64 dw64Size, + __in DWORD64 dw64Version, + __in_z_opt LPCWSTR wzTitle, + __in_z_opt LPCWSTR wzSummary, + __in_z_opt LPCWSTR wzContentType, + __in_z_opt LPCWSTR wzContent, + __in int nRecommendation + ) = 0; + + // OnDetectUpdateComplete - called when the engine completes detection for bundle update. + // + // Remarks: + // wzUpdateLocation is null if no update was available. + STDMETHOD_(void, OnDetectUpdateComplete)( + __in HRESULT hrStatus, + __in_z_opt LPCWSTR wzUpdateLocation + ) = 0; + + // OnDetectRelatedBundle - called when the engine detects a related bundle. + // + // Return: + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnDetectRelatedBundle)( + __in_z LPCWSTR wzBundleId, + __in BOOTSTRAPPER_RELATION_TYPE relationType, + __in_z LPCWSTR wzBundleTag, + __in BOOL fPerMachine, + __in DWORD64 dw64Version, + __in BOOTSTRAPPER_RELATED_OPERATION operation + ) = 0; + + // OnDetectPackageBegin - called when the engine begins detecting a package. + // + // Return: + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnDetectPackageBegin)( + __in_z LPCWSTR wzPackageId + ) = 0; + + // OnDetectCompatiblePackage - called when the engine detects that a package is not installed but a newer package using the same provider key is. + // + // Return: + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnDetectCompatiblePackage)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzCompatiblePackageId + ) = 0; + + // OnDetectRelatedMsiPackage - called when the engine begins detects a related package. + // + // Return: + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnDetectRelatedMsiPackage)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzProductCode, + __in BOOL fPerMachine, + __in DWORD64 dw64Version, + __in BOOTSTRAPPER_RELATED_OPERATION operation + ) = 0; + + // OnDetectTargetMsiPackage - called when the engine detects a target MSI package for + // an MSP package. + // + // Return: + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnDetectTargetMsiPackage)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzProductCode, + __in BOOTSTRAPPER_PACKAGE_STATE patchState + ) = 0; + + // OnDetectMsiFeature - called when the engine detects a feature in an MSI package. + // + // Return: + // IDCANCEL instructs the engine to stop detection. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnDetectMsiFeature)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzFeatureId, + __in BOOTSTRAPPER_FEATURE_STATE state + ) = 0; + + // OnDetectPackageComplete - called after the engine detects a package. + // + STDMETHOD_(void, OnDetectPackageComplete)( + __in_z LPCWSTR wzPackageId, + __in HRESULT hrStatus, + __in BOOTSTRAPPER_PACKAGE_STATE state + ) = 0; + + // OnDetectPackageComplete - called after the engine completes detection. + // + STDMETHOD_(void, OnDetectComplete)( + __in HRESULT hrStatus + ) = 0; + + // OnPlanBegin - called when the engine begins planning. + // + // Return: + // IDCANCEL instructs the engine to stop planning. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnPlanBegin)( + __in DWORD cPackages + ) = 0; + + // OnPlanRelatedBundle - called when the engine begins planning a related bundle. + // + // Return: + // IDCANCEL instructs the engine to stop planning. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnPlanRelatedBundle)( + __in_z LPCWSTR wzBundleId, + __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState + ) = 0; + + // OnPlanPackageBegin - called when the engine begins planning a package. + // + // Return: + // IDCANCEL instructs the engine to stop planning. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnPlanPackageBegin)( + __in_z LPCWSTR wzPackageId, + __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState + ) = 0; + + // OnPlanCompatiblePackage - called when the engine plans a newer, compatible package using the same provider key. + // + // Return: + // IDCANCEL instructs the engine to stop planning. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnPlanCompatiblePackage)( + __in_z LPCWSTR wzPackageId, + __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState + ) = 0; + + // OnPlanTargetMsiPackage - called when the engine plans an MSP package + // to apply to an MSI package. + // + // Return: + // IDCANCEL instructs the engine to stop planning. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnPlanTargetMsiPackage)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzProductCode, + __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState + ) = 0; + + // OnPlanMsiFeature - called when the engine plans a feature in an + // MSI package. + // + // Return: + // IDCANCEL instructs the engine to stop planning. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnPlanMsiFeature)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzFeatureId, + __inout BOOTSTRAPPER_FEATURE_STATE* pRequestedState + ) = 0; + + // OnPlanPackageComplete - called after the engine plans a package. + // + STDMETHOD_(void, OnPlanPackageComplete)( + __in_z LPCWSTR wzPackageId, + __in HRESULT hrStatus, + __in BOOTSTRAPPER_PACKAGE_STATE state, + __in BOOTSTRAPPER_REQUEST_STATE requested, + __in BOOTSTRAPPER_ACTION_STATE execute, + __in BOOTSTRAPPER_ACTION_STATE rollback + ) = 0; + + // OnPlanComplete - called when the engine completes planning. + // + STDMETHOD_(void, OnPlanComplete)( + __in HRESULT hrStatus + ) = 0; + + // OnApplyBegin - called when the engine begins applying the plan. + // + // Return: + // IDCANCEL instructs the engine to stop applying. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnApplyBegin)() = 0; + + // DEPRECATED: In wix4, this will be merged with OnApplyBegin. + // OnApplyPhaseCount - called right after OnApplyBegin. + // + STDMETHOD_(void, OnApplyPhaseCount)( + __in DWORD dwPhaseCount + ) = 0; + + // OnElevate - called before the engine displays an elevation prompt. + // Will only happen once per execution of the engine. + // + // Return: + // IDCANCEL instructs the engine to abort elevation and stop applying. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnElevate)() = 0; + + // OnProgress - called when the engine makes progress. + // + // Return: + // IDCANCEL instructs the engine to stop applying. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnProgress)( + __in DWORD dwProgressPercentage, + __in DWORD dwOverallPercentage + ) = 0; + + // OnError - called when the engine encounters an error. + // + // Return: + // uiFlags is a combination of valid ID* return values appropriate for + // the error. + // + // IDNOACTION instructs the engine to pass the error through to default + // handling which usually results in the apply failing. + STDMETHOD_(int, OnError)( + __in BOOTSTRAPPER_ERROR_TYPE errorType, + __in_z_opt LPCWSTR wzPackageId, + __in DWORD dwCode, + __in_z_opt LPCWSTR wzError, + __in DWORD uiFlags, + __in DWORD cData, + __in_ecount_z_opt(cData) LPCWSTR* rgwzData, + __in int nRecommendation + ) = 0; + + // OnRegisterBegin - called when the engine registers the bundle. + // + // Return: + // IDCANCEL instructs the engine to stop applying. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnRegisterBegin)() = 0; + + // OnRegisterComplete - called when the engine registration is + // complete. + // + STDMETHOD_(void, OnRegisterComplete)( + __in HRESULT hrStatus + ) = 0; + + // OnCacheBegin - called when the engine begins caching. + // + // Return: + // IDCANCEL instructs the engine to stop caching. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnCacheBegin)() = 0; + + // OnCachePackageBegin - called when the engine begins caching + // a package. + // + // Return: + // IDCANCEL instructs the engine to stop caching. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnCachePackageBegin)( + __in_z LPCWSTR wzPackageId, + __in DWORD cCachePayloads, + __in DWORD64 dw64PackageCacheSize + ) = 0; + + // OnCacheAcquireBegin - called when the engine begins copying or + // downloading a payload to the working folder. + // + // Return: + // IDCANCEL instructs the engine to stop caching. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnCacheAcquireBegin)( + __in_z_opt LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in BOOTSTRAPPER_CACHE_OPERATION operation, + __in_z LPCWSTR wzSource + ) = 0; + + // OnCacheAcquireProgress - called when the engine makes progresss copying + // or downloading a payload to the working folder. + // + // Return: + // IDCANCEL instructs the engine to stop caching. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnCacheAcquireProgress)( + __in_z_opt LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in DWORD64 dw64Progress, + __in DWORD64 dw64Total, + __in DWORD dwOverallPercentage + ) = 0; + + // OnResolveSource - called when a payload or container cannot be found locally. + // + // Parameters: + // wzPayloadId will be NULL when resolving a container. + // wzDownloadSource will be NULL if the container or payload does not provide a DownloadURL. + // + // Return: + // IDRETRY instructs the engine to try the local source again. + // + // IDDOWNLOAD instructs the engine to try the download source. + // + // All other return codes result in an error. + // + // Notes: + // It is expected the BA may call IBurnCore::SetLocalSource() or IBurnCore::SetDownloadSource() + // to update the source location before returning IDRETRY or IDDOWNLOAD. + STDMETHOD_(int, OnResolveSource)( + __in_z LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in_z LPCWSTR wzLocalSource, + __in_z_opt LPCWSTR wzDownloadSource + ) = 0; + + // OnCacheAcquireComplete - called after the engine copied or downloaded + // a payload to the working folder. + // + // Return: + // IDRETRY instructs the engine to try the copy or download of the payload again. + // + // All other return codes are ignored. + STDMETHOD_(int, OnCacheAcquireComplete)( + __in_z_opt LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in HRESULT hrStatus, + __in int nRecommendation + ) = 0; + + // OnCacheVerifyBegin - called when the engine begins to verify then copy + // a payload or container to the package cache folder. + // + // Return: + // IDCANCEL instructs the engine to stop caching. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnCacheVerifyBegin)( + __in_z_opt LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId + ) = 0; + + // OnCacheVerifyComplete - called after the engine verifies and copies + // a payload or container to the package cache folder. + // + // Return: + // IDRETRY instructs the engine to try the verification of the payload again. + // Ignored if hrStatus is success. + // + // IDTRYAGAIN instructs the engine to acquire the payload again. Ignored if + // hrStatus is success. + // + // All other return codes are ignored. + STDMETHOD_(int, OnCacheVerifyComplete)( + __in_z_opt LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in HRESULT hrStatus, + __in int nRecommendation + ) = 0; + + // OnCachePackageComplete - called after the engine attempts to copy or download all + // payloads of a package into the package cache folder. + // + // Return: + // IDIGNORE instructs the engine to ignore non-vital package failures and continue with the + // caching. Ignored if hrStatus is a success or the package is vital. + // + // IDRETRY instructs the engine to try the acquisition and verification of the package + // again. Ignored if hrStatus is a success. + // + // All other return codes are ignored. + STDMETHOD_(int, OnCachePackageComplete)( + __in_z LPCWSTR wzPackageId, + __in HRESULT hrStatus, + __in int nRecommendation + ) = 0; + + // OnCacheComplete - called when the engine caching is complete. + // + STDMETHOD_(void, OnCacheComplete)( + __in HRESULT hrStatus + ) = 0; + + // OnExecuteBegin - called when the engine begins executing the plan. + // + // Return: + // IDCANCEL instructs the engine to stop applying. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnExecuteBegin)( + __in DWORD cExecutingPackages + ) = 0; + + // OnExecuteBegin - called when the engine begins executing a package. + // + // Return: + // IDCANCEL instructs the engine to stop applying. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnExecutePackageBegin)( + __in_z LPCWSTR wzPackageId, + __in BOOL fExecute + ) = 0; + + // OnExecutePatchTarget - called when the engine executes one or more patches targeting + // a product. + // + // Return: + // IDCANCEL instructs the engine to stop applying. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnExecutePatchTarget)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzTargetProductCode + ) = 0; + + // OnExecuteProgress - called when the engine makes progress executing a package. + // + // Return: + // IDCANCEL instructs the engine to stop applying. + // + // IDNOACTION instructs the engine to continue. + STDMETHOD_(int, OnExecuteProgress)( + __in_z LPCWSTR wzPackageId, + __in DWORD dwProgressPercentage, + __in DWORD dwOverallPercentage + ) = 0; + + // OnExecuteMsiMessage - called when the engine receives an MSI package message. + // + // Return: + // uiFlags is a combination of valid ID* return values appropriate for + // the message. + // + // IDNOACTION instructs the engine to pass the message through to default + // handling which usually results in the execution continuing. + STDMETHOD_(int, OnExecuteMsiMessage)( + __in_z LPCWSTR wzPackageId, + __in INSTALLMESSAGE mt, + __in UINT uiFlags, + __in_z LPCWSTR wzMessage, + __in DWORD cData, + __in_ecount_z_opt(cData) LPCWSTR* rgwzData, + __in int nRecommendation + ) = 0; + + // OnExecuteFilesInUse - called when the engine encounters files in use while + // executing a package. + // + // Return: + // IDOK instructs the engine to let the Restart Manager attempt to close the + // applications to avoid a restart. + // + // IDCANCEL instructs the engine to abort the execution and start rollback. + // + // IDIGNORE instructs the engine to ignore the running applications. A restart will be + // required. + // + // IDRETRY instructs the engine to check if the applications are still running again. + // + // IDNOACTION is equivalent to ignoring the running applications. A restart will be + // required. + STDMETHOD_(int, OnExecuteFilesInUse)( + __in_z LPCWSTR wzPackageId, + __in DWORD cFiles, + __in_ecount_z(cFiles) LPCWSTR* rgwzFiles + ) = 0; + + // OnExecutePackageComplete - called when a package execution is complete. + // + // Parameters: + // restart will indicate whether this package requires a reboot or initiated the reboot already. + // + // Return: + // IDIGNORE instructs the engine to ignore non-vital package failures and continue with the + // install. Ignored if hrStatus is a success or the package is vital. + // + // IDRETRY instructs the engine to try the execution of the package again. Ignored if hrStatus + // is a success. + // + // IDRESTART instructs the engine to stop processing the chain and restart. The engine will + // launch again after the machine is restarted. + // + // IDSUSPEND instructs the engine to stop processing the chain and suspend the current state. + // + // All other return codes are ignored. + STDMETHOD_(int, OnExecutePackageComplete)( + __in_z LPCWSTR wzPackageId, + __in HRESULT hrStatus, + __in BOOTSTRAPPER_APPLY_RESTART restart, + __in int nRecommendation + ) = 0; + + // OnExecuteComplete - called when the engine execution is complete. + // + STDMETHOD_(void, OnExecuteComplete)( + __in HRESULT hrStatus + ) = 0; + + // OnUnregisterBegin - called when the engine unregisters the bundle. + // + STDMETHOD_(void, OnUnregisterBegin)() = 0; + + // OnUnregisterComplete - called when the engine unregistration is complete. + // + STDMETHOD_(void, OnUnregisterComplete)( + __in HRESULT hrStatus + ) = 0; + + // OnApplyComplete - called after the plan has been applied. + // + // Parameters: + // restart will indicate whether any package required a reboot or initiated the reboot already. + // + // Return: + // IDRESTART instructs the engine to restart. The engine will not launch again after the machine + // is rebooted. Ignored if reboot was already initiated by OnExecutePackageComplete(). + // + // All other return codes are ignored. + STDMETHOD_(int, OnApplyComplete)( + __in HRESULT hrStatus, + __in BOOTSTRAPPER_APPLY_RESTART restart + ) = 0; + + // OnLaunchApprovedExeBegin - called before trying to launch the preapproved executable. + // + STDMETHOD_(int, OnLaunchApprovedExeBegin)() = 0; + + + // OnLaunchApprovedExeComplete - called after trying to launch the preapproved executable. + // + // Parameters: + // dwProcessId is only valid if the operation succeeded. + // + STDMETHOD_(void, OnLaunchApprovedExeComplete)( + __in HRESULT hrStatus, + __in DWORD dwProcessId + ) = 0; +}; + + +extern "C" typedef HRESULT (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)( + __in IBootstrapperEngine* pEngine, + __in const BOOTSTRAPPER_COMMAND* pCommand, + __out IBootstrapperApplication** ppApplication + ); + +extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)(); diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperBAFunction.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperBAFunction.h new file mode 100644 index 0000000..ff9ec24 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperBAFunction.h @@ -0,0 +1,29 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include + +#include "IBootstrapperEngine.h" + +interface IBootstrapperBAFunction +{ + STDMETHOD(OnDetect)() = 0; + STDMETHOD(OnDetectComplete)() = 0; + STDMETHOD(OnPlan)() = 0; + STDMETHOD(OnPlanComplete)() = 0; +}; + +#ifdef __cplusplus +extern "C" { +#endif + +typedef HRESULT (WINAPI *PFN_BOOTSTRAPPER_BA_FUNCTION_CREATE)( + __in IBootstrapperEngine* pEngine, + __in HMODULE hModule, + __out IBootstrapperBAFunction** ppBAFunction + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperEngine.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperEngine.h new file mode 100644 index 0000000..4de57e2 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/IBootstrapperEngine.h @@ -0,0 +1,221 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#define IDERROR -1 +#define IDNOACTION 0 + +#define IDDOWNLOAD 101 // Only valid as a return code from OnResolveSource() to instruct the engine to use the download source. +#define IDRESTART 102 +#define IDSUSPEND 103 +#define IDRELOAD_BOOTSTRAPPER 104 + +// Note that ordering of the enumeration values is important. +// Some code paths use < or > comparisions and simply reording values will break those comparisons. +enum BOOTSTRAPPER_ACTION +{ + BOOTSTRAPPER_ACTION_UNKNOWN, + BOOTSTRAPPER_ACTION_HELP, + BOOTSTRAPPER_ACTION_LAYOUT, + BOOTSTRAPPER_ACTION_UNINSTALL, + BOOTSTRAPPER_ACTION_CACHE, + BOOTSTRAPPER_ACTION_INSTALL, + BOOTSTRAPPER_ACTION_MODIFY, + BOOTSTRAPPER_ACTION_REPAIR, + BOOTSTRAPPER_ACTION_UPDATE_REPLACE, + BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED, +}; + +enum BOOTSTRAPPER_ACTION_STATE +{ + BOOTSTRAPPER_ACTION_STATE_NONE, + BOOTSTRAPPER_ACTION_STATE_UNINSTALL, + BOOTSTRAPPER_ACTION_STATE_INSTALL, + BOOTSTRAPPER_ACTION_STATE_ADMIN_INSTALL, + BOOTSTRAPPER_ACTION_STATE_MODIFY, + BOOTSTRAPPER_ACTION_STATE_REPAIR, + BOOTSTRAPPER_ACTION_STATE_MINOR_UPGRADE, + BOOTSTRAPPER_ACTION_STATE_MAJOR_UPGRADE, + BOOTSTRAPPER_ACTION_STATE_PATCH, +}; + +enum BOOTSTRAPPER_PACKAGE_STATE +{ + BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN, + BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE, + BOOTSTRAPPER_PACKAGE_STATE_ABSENT, + BOOTSTRAPPER_PACKAGE_STATE_CACHED, + BOOTSTRAPPER_PACKAGE_STATE_PRESENT, + BOOTSTRAPPER_PACKAGE_STATE_SUPERSEDED, +}; + +enum BOOTSTRAPPER_REQUEST_STATE +{ + BOOTSTRAPPER_REQUEST_STATE_NONE, + BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT, + BOOTSTRAPPER_REQUEST_STATE_ABSENT, + BOOTSTRAPPER_REQUEST_STATE_CACHE, + BOOTSTRAPPER_REQUEST_STATE_PRESENT, + BOOTSTRAPPER_REQUEST_STATE_REPAIR, +}; + +enum BOOTSTRAPPER_FEATURE_STATE +{ + BOOTSTRAPPER_FEATURE_STATE_UNKNOWN, + BOOTSTRAPPER_FEATURE_STATE_ABSENT, + BOOTSTRAPPER_FEATURE_STATE_ADVERTISED, + BOOTSTRAPPER_FEATURE_STATE_LOCAL, + BOOTSTRAPPER_FEATURE_STATE_SOURCE, +}; + +enum BOOTSTRAPPER_FEATURE_ACTION +{ + BOOTSTRAPPER_FEATURE_ACTION_NONE, + BOOTSTRAPPER_FEATURE_ACTION_ADDLOCAL, + BOOTSTRAPPER_FEATURE_ACTION_ADDSOURCE, + BOOTSTRAPPER_FEATURE_ACTION_ADDDEFAULT, + BOOTSTRAPPER_FEATURE_ACTION_REINSTALL, + BOOTSTRAPPER_FEATURE_ACTION_ADVERTISE, + BOOTSTRAPPER_FEATURE_ACTION_REMOVE, +}; + +enum BOOTSTRAPPER_LOG_LEVEL +{ + BOOTSTRAPPER_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel()) + BOOTSTRAPPER_LOG_LEVEL_STANDARD, // written if reporting is on + BOOTSTRAPPER_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on + BOOTSTRAPPER_LOG_LEVEL_DEBUG, // reporting useful when debugging code + BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified +}; + +enum BOOTSTRAPPER_UPDATE_HASH_TYPE +{ + BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE, + BOOTSTRAPPER_UPDATE_HASH_TYPE_SHA1, +}; + + +DECLARE_INTERFACE_IID_(IBootstrapperEngine, IUnknown, "6480D616-27A0-44D7-905B-81512C29C2FB") +{ + STDMETHOD(GetPackageCount)( + __out DWORD* pcPackages + ) = 0; + + STDMETHOD(GetVariableNumeric)( + __in_z LPCWSTR wzVariable, + __out LONGLONG* pllValue + ) = 0; + + STDMETHOD(GetVariableString)( + __in_z LPCWSTR wzVariable, + __out_ecount_opt(*pcchValue) LPWSTR wzValue, + __inout DWORD* pcchValue + ) = 0; + + STDMETHOD(GetVariableVersion)( + __in_z LPCWSTR wzVariable, + __out DWORD64* pqwValue + ) = 0; + + STDMETHOD(FormatString)( + __in_z LPCWSTR wzIn, + __out_ecount_opt(*pcchOut) LPWSTR wzOut, + __inout DWORD* pcchOut + ) = 0; + + STDMETHOD(EscapeString)( + __in_z LPCWSTR wzIn, + __out_ecount_opt(*pcchOut) LPWSTR wzOut, + __inout DWORD* pcchOut + ) = 0; + + STDMETHOD(EvaluateCondition)( + __in_z LPCWSTR wzCondition, + __out BOOL* pf + ) = 0; + + STDMETHOD(Log)( + __in BOOTSTRAPPER_LOG_LEVEL level, + __in_z LPCWSTR wzMessage + ) = 0; + + STDMETHOD(SendEmbeddedError)( + __in DWORD dwErrorCode, + __in_z_opt LPCWSTR wzMessage, + __in DWORD dwUIHint, + __out int* pnResult + ) = 0; + + STDMETHOD(SendEmbeddedProgress)( + __in DWORD dwProgressPercentage, + __in DWORD dwOverallProgressPercentage, + __out int* pnResult + ) = 0; + + STDMETHOD(SetUpdate)( + __in_z_opt LPCWSTR wzLocalSource, + __in_z_opt LPCWSTR wzDownloadSource, + __in DWORD64 qwSize, + __in BOOTSTRAPPER_UPDATE_HASH_TYPE hashType, + __in_bcount_opt(cbHash) BYTE* rgbHash, + __in DWORD cbHash + ) = 0; + + STDMETHOD(SetLocalSource)( + __in_z LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in_z LPCWSTR wzPath + ) = 0; + + STDMETHOD(SetDownloadSource)( + __in_z LPCWSTR wzPackageOrContainerId, + __in_z_opt LPCWSTR wzPayloadId, + __in_z LPCWSTR wzUrl, + __in_z_opt LPCWSTR wzUser, + __in_z_opt LPCWSTR wzPassword + ) = 0; + + STDMETHOD(SetVariableNumeric)( + __in_z LPCWSTR wzVariable, + __in LONGLONG llValue + ) = 0; + + STDMETHOD(SetVariableString)( + __in_z LPCWSTR wzVariable, + __in_z_opt LPCWSTR wzValue + ) = 0; + + STDMETHOD(SetVariableVersion)( + __in_z LPCWSTR wzVariable, + __in DWORD64 qwValue + ) = 0; + + STDMETHOD(CloseSplashScreen)() = 0; + + STDMETHOD(Detect)( + __in_opt HWND hwndParent = NULL + ) = 0; + + STDMETHOD(Plan)( + __in BOOTSTRAPPER_ACTION action + ) = 0; + + STDMETHOD(Elevate)( + __in_opt HWND hwndParent + ) = 0; + + STDMETHOD(Apply)( + __in_opt HWND hwndParent + ) = 0; + + STDMETHOD(Quit)( + __in DWORD dwExitCode + ) = 0; + + STDMETHOD(LaunchApprovedExe)( + __in_opt HWND hwndParent, + __in_z LPCWSTR wzApprovedExeForElevationId, + __in_z_opt LPCWSTR wzArguments, + __in DWORD dwWaitForInputIdleTimeout + ) = 0; +}; diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/aclutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/aclutil.h new file mode 100644 index 0000000..02d60af --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/aclutil.h @@ -0,0 +1,153 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include +#include + +#define ReleaseSid(x) if (x) { AclFreeSid(x); } +#define ReleaseNullSid(x) if (x) { AclFreeSid(x); x = NULL; } + +#ifdef __cplusplus +extern "C" { +#endif + +// structs +struct ACL_ACCESS +{ + BOOL fDenyAccess; + DWORD dwAccessMask; + + // TODO: consider using a union + LPCWSTR pwzAccountName; // NOTE: the last three items in this structure are ignored if this is not NULL + + SID_IDENTIFIER_AUTHORITY sia; // used if pwzAccountName is NULL + BYTE nSubAuthorityCount; + DWORD nSubAuthority[8]; +}; + +struct ACL_ACE +{ + DWORD dwFlags; + DWORD dwMask; + PSID psid; +}; + + +// functions +HRESULT DAPI AclCheckAccess( + __in HANDLE hToken, + __in ACL_ACCESS* paa + ); +HRESULT DAPI AclCheckAdministratorAccess( + __in HANDLE hToken + ); +HRESULT DAPI AclCheckLocalSystemAccess( + __in HANDLE hToken + ); + +HRESULT DAPI AclGetWellKnownSid( + __in WELL_KNOWN_SID_TYPE wkst, + __deref_out PSID* ppsid + ); +HRESULT DAPI AclGetAccountSid( + __in_opt LPCWSTR wzSystem, + __in_z LPCWSTR wzAccount, + __deref_out PSID* ppsid + ); +HRESULT DAPI AclGetAccountSidString( + __in_z LPCWSTR wzSystem, + __in_z LPCWSTR wzAccount, + __deref_out_z LPWSTR* ppwzSid + ); + +HRESULT DAPI AclCreateDacl( + __in_ecount(cDeny) ACL_ACE rgaaDeny[], + __in DWORD cDeny, + __in_ecount(cAllow) ACL_ACE rgaaAllow[], + __in DWORD cAllow, + __deref_out ACL** ppAcl + ); +HRESULT DAPI AclAddToDacl( + __in ACL* pAcl, + __in_ecount_opt(cDeny) const ACL_ACE rgaaDeny[], + __in DWORD cDeny, + __in_ecount_opt(cAllow) const ACL_ACE rgaaAllow[], + __in DWORD cAllow, + __deref_out ACL** ppAclNew + ); +HRESULT DAPI AclMergeDacls( + __in const ACL* pAcl1, + __in const ACL* pAcl2, + __deref_out ACL** ppAclNew + ); +HRESULT DAPI AclCreateDaclOld( + __in_ecount(cAclAccesses) ACL_ACCESS* paa, + __in DWORD cAclAccesses, + __deref_out ACL** ppAcl + ); +HRESULT DAPI AclCreateSecurityDescriptor( + __in_ecount(cAclAccesses) ACL_ACCESS* paa, + __in DWORD cAclAccesses, + __deref_out SECURITY_DESCRIPTOR** ppsd + ); +HRESULT DAPI AclCreateSecurityDescriptorFromDacl( + __in ACL* pACL, + __deref_out SECURITY_DESCRIPTOR** ppsd + ); +HRESULT __cdecl AclCreateSecurityDescriptorFromString( + __deref_out SECURITY_DESCRIPTOR** ppsd, + __in_z __format_string LPCWSTR wzSddlFormat, + ... + ); +HRESULT DAPI AclDuplicateSecurityDescriptor( + __in SECURITY_DESCRIPTOR* psd, + __deref_out SECURITY_DESCRIPTOR** ppsd + ); +HRESULT DAPI AclGetSecurityDescriptor( + __in_z LPCWSTR wzObject, + __in SE_OBJECT_TYPE sot, + __in SECURITY_INFORMATION securityInformation, + __deref_out SECURITY_DESCRIPTOR** ppsd + ); +HRESULT DAPI AclSetSecurityWithRetry( + __in_z LPCWSTR wzObject, + __in SE_OBJECT_TYPE sot, + __in SECURITY_INFORMATION securityInformation, + __in_opt PSID psidOwner, + __in_opt PSID psidGroup, + __in_opt PACL pDacl, + __in_opt PACL pSacl, + __in DWORD cRetry, + __in DWORD dwWaitMilliseconds + ); + +HRESULT DAPI AclFreeSid( + __in PSID psid + ); +HRESULT DAPI AclFreeDacl( + __in ACL* pACL + ); +HRESULT DAPI AclFreeSecurityDescriptor( + __in SECURITY_DESCRIPTOR* psd + ); + +HRESULT DAPI AclAddAdminToSecurityDescriptor( + __in SECURITY_DESCRIPTOR* pSecurity, + __deref_out SECURITY_DESCRIPTOR** ppSecurityNew + ); + +// Following code in acl2util.cpp due to dependency on crypt32.dll. +HRESULT DAPI AclCalculateServiceSidString( + __in LPCWSTR wzServiceName, + __in int cchServiceName, + __deref_out_z LPWSTR* psczSid + ); +HRESULT DAPI AclGetAccountSidStringEx( + __in_z LPCWSTR wzSystem, + __in_z LPCWSTR wzAccount, + __deref_out_z LPWSTR* psczSid + ); +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/apputil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/apputil.h new file mode 100644 index 0000000..1a1e14f --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/apputil.h @@ -0,0 +1,45 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +// functions + +/******************************************************************** +AppFreeCommandLineArgs - frees argv from AppParseCommandLine. + +********************************************************************/ +void DAPI AppFreeCommandLineArgs( + __in LPWSTR* argv + ); + +void DAPI AppInitialize( + __in_ecount(cSafelyLoadSystemDlls) LPCWSTR rgsczSafelyLoadSystemDlls[], + __in DWORD cSafelyLoadSystemDlls + ); + +/******************************************************************** +AppInitializeUnsafe - initializes without the full standard safety + precautions for an application. + +********************************************************************/ +void DAPI AppInitializeUnsafe(); + +/******************************************************************** +AppParseCommandLine - parses the command line using CommandLineToArgvW. + The caller must free the value of pArgv on success + by calling AppFreeCommandLineArgs. + +********************************************************************/ +DAPI_(HRESULT) AppParseCommandLine( + __in LPCWSTR wzCommandLine, + __in int* argc, + __in LPWSTR** pArgv + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/apuputil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/apuputil.h new file mode 100644 index 0000000..6764bde --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/apuputil.h @@ -0,0 +1,86 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseApupChain(p) if (p) { ApupFreeChain(p); p = NULL; } +#define ReleaseNullApupChain(p) if (p) { ApupFreeChain(p); p = NULL; } + + +const LPCWSTR APPLICATION_SYNDICATION_NAMESPACE = L"http://appsyndication.org/2006/appsyn"; + +typedef enum APUP_HASH_ALGORITHM +{ + APUP_HASH_ALGORITHM_UNKNOWN, + APUP_HASH_ALGORITHM_MD5, + APUP_HASH_ALGORITHM_SHA1, + APUP_HASH_ALGORITHM_SHA256, +} APUP_HASH_ALGORITHM; + + +struct APPLICATION_UPDATE_ENCLOSURE +{ + LPWSTR wzUrl; + LPWSTR wzLocalName; + DWORD64 dw64Size; + + BYTE* rgbDigest; + DWORD cbDigest; + APUP_HASH_ALGORITHM digestAlgorithm; + + BOOL fInstaller; +}; + + +struct APPLICATION_UPDATE_ENTRY +{ + LPWSTR wzApplicationId; + LPWSTR wzApplicationType; + LPWSTR wzTitle; + LPWSTR wzSummary; + LPWSTR wzContentType; + LPWSTR wzContent; + + LPWSTR wzUpgradeId; + BOOL fUpgradeExclusive; + DWORD64 dw64Version; + DWORD64 dw64UpgradeVersion; + + DWORD64 dw64TotalSize; + + DWORD cEnclosures; + APPLICATION_UPDATE_ENCLOSURE* rgEnclosures; +}; + + +struct APPLICATION_UPDATE_CHAIN +{ + LPWSTR wzDefaultApplicationId; + LPWSTR wzDefaultApplicationType; + + DWORD cEntries; + APPLICATION_UPDATE_ENTRY* rgEntries; +}; + + +HRESULT DAPI ApupAllocChainFromAtom( + __in ATOM_FEED* pFeed, + __out APPLICATION_UPDATE_CHAIN** ppChain + ); + +HRESULT DAPI ApupFilterChain( + __in APPLICATION_UPDATE_CHAIN* pChain, + __in DWORD64 dw64Version, + __out APPLICATION_UPDATE_CHAIN** ppFilteredChain + ); + +void DAPI ApupFreeChain( + __in APPLICATION_UPDATE_CHAIN* pChain + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/atomutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/atomutil.h new file mode 100644 index 0000000..ff869c4 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/atomutil.h @@ -0,0 +1,146 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseAtomFeed(p) if (p) { AtomFreeFeed(p); } +#define ReleaseNullAtomFeed(p) if (p) { AtomFreeFeed(p); p = NULL; } + + +struct ATOM_UNKNOWN_ATTRIBUTE +{ + LPWSTR wzNamespace; + LPWSTR wzAttribute; + LPWSTR wzValue; + + ATOM_UNKNOWN_ATTRIBUTE* pNext; +}; + +struct ATOM_UNKNOWN_ELEMENT +{ + LPWSTR wzNamespace; + LPWSTR wzElement; + LPWSTR wzValue; + + ATOM_UNKNOWN_ATTRIBUTE* pAttributes; + ATOM_UNKNOWN_ELEMENT* pNext; +}; + +struct ATOM_LINK +{ + LPWSTR wzRel; + LPWSTR wzTitle; + LPWSTR wzType; + LPWSTR wzUrl; + LPWSTR wzValue; + DWORD64 dw64Length; + + ATOM_UNKNOWN_ATTRIBUTE* pUnknownAttributes; + ATOM_UNKNOWN_ELEMENT* pUnknownElements; +}; + +struct ATOM_CONTENT +{ + LPWSTR wzType; + LPWSTR wzUrl; + LPWSTR wzValue; + + ATOM_UNKNOWN_ELEMENT* pUnknownElements; +}; + +struct ATOM_AUTHOR +{ + LPWSTR wzName; + LPWSTR wzEmail; + LPWSTR wzUrl; +}; + +struct ATOM_CATEGORY +{ + LPWSTR wzLabel; + LPWSTR wzScheme; + LPWSTR wzTerm; + + ATOM_UNKNOWN_ELEMENT* pUnknownElements; +}; + +struct ATOM_ENTRY +{ + LPWSTR wzId; + LPWSTR wzSummary; + LPWSTR wzTitle; + FILETIME ftPublished; + FILETIME ftUpdated; + + ATOM_CONTENT* pContent; + + DWORD cAuthors; + ATOM_AUTHOR* rgAuthors; + + DWORD cCategories; + ATOM_CATEGORY* rgCategories; + + DWORD cLinks; + ATOM_LINK* rgLinks; + + IXMLDOMNode* pixn; + ATOM_UNKNOWN_ELEMENT* pUnknownElements; +}; + +struct ATOM_FEED +{ + LPWSTR wzGenerator; + LPWSTR wzIcon; + LPWSTR wzId; + LPWSTR wzLogo; + LPWSTR wzSubtitle; + LPWSTR wzTitle; + FILETIME ftUpdated; + + DWORD cAuthors; + ATOM_AUTHOR* rgAuthors; + + DWORD cCategories; + ATOM_CATEGORY* rgCategories; + + DWORD cEntries; + ATOM_ENTRY* rgEntries; + + DWORD cLinks; + ATOM_LINK* rgLinks; + + IXMLDOMNode* pixn; + ATOM_UNKNOWN_ELEMENT* pUnknownElements; +}; + +HRESULT DAPI AtomInitialize( + ); + +void DAPI AtomUninitialize( + ); + +HRESULT DAPI AtomParseFromString( + __in_z LPCWSTR wzAtomString, + __out ATOM_FEED **ppFeed + ); + +HRESULT DAPI AtomParseFromFile( + __in_z LPCWSTR wzAtomFile, + __out ATOM_FEED **ppFeed + ); + +HRESULT DAPI AtomParseFromDocument( + __in IXMLDOMDocument* pixdDocument, + __out ATOM_FEED **ppFeed + ); + +void DAPI AtomFreeFeed( + __in_xcount(pFeed->cItems) ATOM_FEED *pFEED + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balcondition.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balcondition.h new file mode 100644 index 0000000..677c593 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balcondition.h @@ -0,0 +1,58 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _BAL_CONDITION +{ + LPWSTR sczCondition; + LPWSTR sczMessage; +} BAL_CONDITION; + + +typedef struct _BAL_CONDITIONS +{ + BAL_CONDITION* rgConditions; + DWORD cConditions; +} BAL_CONDITIONS; + + +/******************************************************************* + BalConditionsParseFromXml - loads the conditions from the UX manifest. + +********************************************************************/ +DAPI_(HRESULT) BalConditionsParseFromXml( + __in BAL_CONDITIONS* pConditions, + __in IXMLDOMDocument* pixdManifest, + __in_opt WIX_LOCALIZATION* pWixLoc + ); + + +/******************************************************************* + BalConditionEvaluate - evaluates condition against the provided IBurnCore. + + NOTE: psczMessage is optional. +********************************************************************/ +DAPI_(HRESULT) BalConditionEvaluate( + __in BAL_CONDITION* pCondition, + __in IBootstrapperEngine* pEngine, + __out BOOL* pfResult, + __out_z_opt LPWSTR* psczMessage + ); + + +/******************************************************************* + BalConditionsUninitialize - uninitializes any conditions previously loaded. + +********************************************************************/ +DAPI_(void) BalConditionsUninitialize( + __in BAL_CONDITIONS* pConditions + ); + + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balinfo.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balinfo.h new file mode 100644 index 0000000..be4b75d --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balinfo.h @@ -0,0 +1,107 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum BAL_INFO_PACKAGE_TYPE +{ + BAL_INFO_PACKAGE_TYPE_UNKNOWN, + BAL_INFO_PACKAGE_TYPE_EXE, + BAL_INFO_PACKAGE_TYPE_MSI, + BAL_INFO_PACKAGE_TYPE_MSP, + BAL_INFO_PACKAGE_TYPE_MSU, + BAL_INFO_PACKAGE_TYPE_BUNDLE_UPGRADE, + BAL_INFO_PACKAGE_TYPE_BUNDLE_ADDON, + BAL_INFO_PACKAGE_TYPE_BUNDLE_PATCH, +} BAL_INFO_PACKAGE_TYPE; + +typedef enum BAL_INFO_CACHE_TYPE +{ + BAL_INFO_CACHE_TYPE_NO, + BAL_INFO_CACHE_TYPE_YES, + BAL_INFO_CACHE_TYPE_ALWAYS, +} BAL_INFO_CACHE_TYPE; + + +typedef struct _BAL_INFO_PACKAGE +{ + LPWSTR sczId; + LPWSTR sczDisplayName; + LPWSTR sczDescription; + BAL_INFO_PACKAGE_TYPE type; + BOOL fPermanent; + BOOL fVital; + BOOL fDisplayInternalUI; + LPWSTR sczProductCode; + LPWSTR sczUpgradeCode; + LPWSTR sczVersion; + LPWSTR sczInstallCondition; + BAL_INFO_CACHE_TYPE cacheType; +} BAL_INFO_PACKAGE; + + +typedef struct _BAL_INFO_PACKAGES +{ + BAL_INFO_PACKAGE* rgPackages; + DWORD cPackages; +} BAL_INFO_PACKAGES; + + +typedef struct _BAL_INFO_BUNDLE +{ + BOOL fPerMachine; + LPWSTR sczName; + LPWSTR sczLogVariable; + BAL_INFO_PACKAGES packages; +} BAL_INFO_BUNDLE; + + +/******************************************************************* + BalInfoParseFromXml - loads the bundle and package info from the UX + manifest. + +********************************************************************/ +DAPI_(HRESULT) BalInfoParseFromXml( + __in BAL_INFO_BUNDLE* pBundle, + __in IXMLDOMDocument* pixdManifest + ); + + +/******************************************************************* + BalInfoAddRelatedBundleAsPackage - adds a related bundle as a package. + + ********************************************************************/ +DAPI_(HRESULT) BalInfoAddRelatedBundleAsPackage( + __in BAL_INFO_PACKAGES* pPackages, + __in LPCWSTR wzId, + __in BOOTSTRAPPER_RELATION_TYPE relationType, + __in BOOL fPerMachine + ); + + +/******************************************************************* + BalInfoFindPackageById - finds a package by its id. + + ********************************************************************/ +DAPI_(HRESULT) BalInfoFindPackageById( + __in BAL_INFO_PACKAGES* pPackages, + __in LPCWSTR wzId, + __out BAL_INFO_PACKAGE** ppPackage + ); + + +/******************************************************************* + BalInfoUninitialize - uninitializes any info previously loaded. + +********************************************************************/ +DAPI_(void) BalInfoUninitialize( + __in BAL_INFO_BUNDLE* pBundle + ); + + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balretry.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balretry.h new file mode 100644 index 0000000..9222453 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balretry.h @@ -0,0 +1,64 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum BALRETRY_TYPE +{ + BALRETRY_TYPE_CACHE, + BALRETRY_TYPE_EXECUTE, +} BALRETRY_TYPE; + +/******************************************************************* + BalRetryInitialize - initialize the retry count and timeout between + retries (in milliseconds). +********************************************************************/ +DAPI_(void) BalRetryInitialize( + __in DWORD dwMaxRetries, + __in DWORD dwTimeout + ); + +/******************************************************************* + BalRetryUninitialize - call to cleanup any memory allocated during + use of the retry utility. +********************************************************************/ +DAPI_(void) BalRetryUninitialize(); + +/******************************************************************* + BalRetryStartPackage - call when a package begins to be modified. If + the package is being retried, the function will + wait the specified timeout. +********************************************************************/ +DAPI_(void) BalRetryStartPackage( + __in BALRETRY_TYPE type, + __in_z_opt LPCWSTR wzPackageId, + __in_z_opt LPCWSTR wzPayloadId + ); + +/******************************************************************* + BalRetryErrorOccured - call when an error occurs for the retry utility + to consider. +********************************************************************/ +DAPI_(void) BalRetryErrorOccurred( + __in_z_opt LPCWSTR wzPackageId, + __in DWORD dwError + ); + +/******************************************************************* + BalRetryEndPackage - returns IDRETRY is a retry is recommended or + IDNOACTION if a retry is not recommended. +********************************************************************/ +DAPI_(int) BalRetryEndPackage( + __in BALRETRY_TYPE type, + __in_z_opt LPCWSTR wzPackageId, + __in_z_opt LPCWSTR wzPayloadId, + __in HRESULT hrError + ); + + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balutil.h new file mode 100644 index 0000000..99ff0df --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/balutil.h @@ -0,0 +1,116 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include "dutil.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +#define BalExitOnFailure(x, f) if (FAILED(x)) { BalLogError(x, f); ExitTrace(x, f); goto LExit; } +#define BalExitOnFailure1(x, f, s) if (FAILED(x)) { BalLogError(x, f, s); ExitTrace1(x, f, s); goto LExit; } +#define BalExitOnFailure2(x, f, s, t) if (FAILED(x)) { BalLogError(x, f, s, t); ExitTrace2(x, f, s, t); goto LExit; } +#define BalExitOnFailure3(x, f, s, t, u) if (FAILED(x)) { BalLogError(x, f, s, t, u); ExitTrace3(x, f, s, t, u); goto LExit; } + +#define BalExitOnRootFailure(x, f) if (FAILED(x)) { BalLogError(x, f); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, f); goto LExit; } +#define BalExitOnRootFailure1(x, f, s) if (FAILED(x)) { BalLogError(x, f, s); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } +#define BalExitOnRootFailure2(x, f, s, t) if (FAILED(x)) { BalLogError(x, f, s, t); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } +#define BalExitOnRootFailure3(x, f, s, t, u) if (FAILED(x)) { BalLogError(x, f, s, t, u); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace3(x, f, s, t, u); goto LExit; } + +#define BalExitOnNullWithLastError(p, x, f) if (NULL == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } BalLogError(x, f); ExitTrace(x, f); goto LExit; } +#define BalExitOnNullWithLastError1(p, x, f, s) if (NULL == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } BalLogError(x, f, s); ExitTrace1(x, f, s); goto LExit; } + +#define FACILITY_WIX 500 + +static const HRESULT E_WIXSTDBA_CONDITION_FAILED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIX, 1); + +static const HRESULT E_MBAHOST_NET452_ON_WIN7RTM = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIX, 1000); + + +/******************************************************************* + BalInitialize - remembers the engine interface to enable logging and + other functions. + +********************************************************************/ +DAPI_(void) BalInitialize( + __in IBootstrapperEngine* pEngine + ); + +/******************************************************************* + BalUninitialize - cleans up utility layer internals. + +********************************************************************/ +DAPI_(void) BalUninitialize(); + +/******************************************************************* + BalManifestLoad - loads the Application manifest into an XML document. + +********************************************************************/ +DAPI_(HRESULT) BalManifestLoad( + __in HMODULE hUXModule, + __out IXMLDOMDocument** ppixdManifest + ); + +/******************************************************************* +BalFormatString - formats a string using variables in the engine. + + Note: Use StrFree() to release psczOut. +********************************************************************/ +DAPI_(HRESULT) BalFormatString( + __in_z LPCWSTR wzFormat, + __inout LPWSTR* psczOut + ); + +/******************************************************************* +BalGetNumericVariable - gets a number from a variable in the engine. + + Note: Returns E_NOTFOUND if variable does not exist. +********************************************************************/ +DAPI_(HRESULT) BalGetNumericVariable( + __in_z LPCWSTR wzVariable, + __out LONGLONG* pllValue + ); + +/******************************************************************* +BalStringVariableExists - checks if a string variable exists in the engine. + +********************************************************************/ +DAPI_(BOOL) BalStringVariableExists( + __in_z LPCWSTR wzVariable + ); + +/******************************************************************* +BalGetStringVariable - gets a string from a variable in the engine. + + Note: Use StrFree() to release psczValue. +********************************************************************/ +DAPI_(HRESULT) BalGetStringVariable( + __in_z LPCWSTR wzVariable, + __inout LPWSTR* psczValue + ); + +/******************************************************************* + BalLog - logs a message with the engine. + +********************************************************************/ +DAPIV_(HRESULT) BalLog( + __in BOOTSTRAPPER_LOG_LEVEL level, + __in_z __format_string LPCSTR szFormat, + ... + ); + +/******************************************************************* + BalLogError - logs an error message with the engine. + +********************************************************************/ +DAPIV_(HRESULT) BalLogError( + __in HRESULT hr, + __in_z __format_string LPCSTR szFormat, + ... + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/buffutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/buffutil.h new file mode 100644 index 0000000..e61cdb5 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/buffutil.h @@ -0,0 +1,80 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + + +// macro definitions + +#define ReleaseBuffer ReleaseMem +#define ReleaseNullBuffer ReleaseNullMem +#define BuffFree MemFree + + +// function declarations + +HRESULT BuffReadNumber( + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer, + __inout SIZE_T* piBuffer, + __out DWORD* pdw + ); +HRESULT BuffReadNumber64( + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer, + __inout SIZE_T* piBuffer, + __out DWORD64* pdw64 + ); +HRESULT BuffReadString( + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer, + __inout SIZE_T* piBuffer, + __deref_out_z LPWSTR* pscz + ); +HRESULT BuffReadStringAnsi( + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer, + __inout SIZE_T* piBuffer, + __deref_out_z LPSTR* pscz + ); +HRESULT BuffReadStream( + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer, + __inout SIZE_T* piBuffer, + __deref_out_bcount(*pcbStream) BYTE** ppbStream, + __out SIZE_T* pcbStream + ); + +HRESULT BuffWriteNumber( + __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, + __inout SIZE_T* piBuffer, + __in DWORD dw + ); +HRESULT BuffWriteNumber64( + __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, + __inout SIZE_T* piBuffer, + __in DWORD64 dw64 + ); +HRESULT BuffWriteString( + __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, + __inout SIZE_T* piBuffer, + __in_z_opt LPCWSTR scz + ); +HRESULT BuffWriteStringAnsi( + __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, + __inout SIZE_T* piBuffer, + __in_z_opt LPCSTR scz + ); +HRESULT BuffWriteStream( + __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, + __inout SIZE_T* piBuffer, + __in_bcount(cbStream) const BYTE* pbStream, + __in SIZE_T cbStream + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/butil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/butil.h new file mode 100644 index 0000000..a42cac1 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/butil.h @@ -0,0 +1,31 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +enum BUNDLE_INSTALL_CONTEXT +{ + BUNDLE_INSTALL_CONTEXT_MACHINE, + BUNDLE_INSTALL_CONTEXT_USER, +}; + +HRESULT DAPI BundleGetBundleInfo( + __in LPCWSTR szBundleId, // Bundle code + __in LPCWSTR szAttribute, // attribute name + __out_ecount_opt(*pcchValueBuf) LPWSTR lpValueBuf, // returned value, NULL if not desired + __inout_opt LPDWORD pcchValueBuf // in/out buffer character count + ); + +HRESULT DAPI BundleEnumRelatedBundle( + __in LPCWSTR lpUpgradeCode, + __in BUNDLE_INSTALL_CONTEXT context, + __inout PDWORD pdwStartIndex, + __out_ecount(MAX_GUID_CHARS+1) LPWSTR lpBundleIdBuf + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cabcutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cabcutil.h new file mode 100644 index 0000000..4f0c7b1 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cabcutil.h @@ -0,0 +1,62 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include +#include +#include + +// Callback from PFNFCIGETNEXTCABINET CabCGetNextCabinet method +// First argument is the name of splitting cabinet without extension e.g. "cab1" +// Second argument is name of the new cabinet that would be formed by splitting e.g. "cab1b.cab" +// Third argument is the file token of the first file present in the splitting cabinet +typedef void (__stdcall * FileSplitCabNamesCallback)(LPWSTR, LPWSTR, LPWSTR); + +#define CAB_MAX_SIZE 0x7FFFFFFF // (see KB: Q174866) + +#ifdef __cplusplus +extern "C" { +#endif + +extern const int CABC_HANDLE_BYTES; + +// time vs. space trade-off +typedef enum COMPRESSION_TYPE +{ + COMPRESSION_TYPE_NONE, // fastest + COMPRESSION_TYPE_LOW, + COMPRESSION_TYPE_MEDIUM, + COMPRESSION_TYPE_HIGH, // smallest + COMPRESSION_TYPE_MSZIP +} COMPRESSION_TYPE; + +// functions +HRESULT DAPI CabCBegin( + __in_z LPCWSTR wzCab, + __in_z LPCWSTR wzCabDir, + __in DWORD dwMaxFiles, + __in DWORD dwMaxSize, + __in DWORD dwMaxThresh, + __in COMPRESSION_TYPE ct, + __out_bcount(CABC_HANDLE_BYTES) HANDLE *phContext + ); +HRESULT DAPI CabCNextCab( + __in_bcount(CABC_HANDLE_BYTES) HANDLE hContext + ); +HRESULT DAPI CabCAddFile( + __in_z LPCWSTR wzFile, + __in_z_opt LPCWSTR wzToken, + __in_opt PMSIFILEHASHINFO pmfHash, + __in_bcount(CABC_HANDLE_BYTES) HANDLE hContext + ); +HRESULT DAPI CabCFinish( + __in_bcount(CABC_HANDLE_BYTES) HANDLE hContext, + __in_opt FileSplitCabNamesCallback fileSplitCabNamesCallback + ); +void DAPI CabCCancel( + __in_bcount(CABC_HANDLE_BYTES) HANDLE hContext + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cabutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cabutil.h new file mode 100644 index 0000000..0bedba8 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cabutil.h @@ -0,0 +1,56 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// structs + + +// callback function prototypes +typedef HRESULT (*CAB_CALLBACK_OPEN_FILE)(LPCWSTR wzFile, INT_PTR* ppFile); +typedef HRESULT (*CAB_CALLBACK_READ_FILE)(INT_PTR pFile, LPVOID pvData, DWORD cbData, DWORD* pcbRead); +typedef HRESULT (*CAB_CALLBACK_WRITE_FILE)(INT_PTR pFile, LPVOID pvData, DWORD cbData, DWORD* pcbRead); +typedef LONG (*CAB_CALLBACK_SEEK_FILE)(INT_PTR pFile, DWORD dwMove, DWORD dwMoveMethod); +typedef HRESULT (*CAB_CALLBACK_CLOSE_FILE)(INT_PTR pFile); + +typedef HRESULT (*CAB_CALLBACK_BEGIN_FILE)(LPCWSTR wzFileId, FILETIME* pftFileTime, DWORD cbFileSize, LPVOID pvContext, INT_PTR* ppFile); +typedef HRESULT (*CAB_CALLBACK_END_FILE)(LPCWSTR wzFileId, LPVOID pvContext, INT_PTR pFile); +typedef HRESULT (*CAB_CALLBACK_PROGRESS)(BOOL fBeginFile, LPCWSTR wzFileId, LPVOID pvContext); + +// function type with calling convention of __stdcall that .NET 1.1 understands only +// .NET 2.0 will not need this +typedef INT_PTR (FAR __stdcall *STDCALL_PFNFDINOTIFY)(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION pfdin); + + +// functions +HRESULT DAPI CabInitialize( + __in BOOL fDelayLoad + ); +void DAPI CabUninitialize( + ); + +HRESULT DAPI CabExtract( + __in_z LPCWSTR wzCabinet, + __in_z LPCWSTR wzExtractFile, + __in_z LPCWSTR wzExtractDir, + __in_opt CAB_CALLBACK_PROGRESS pfnProgress, + __in_opt LPVOID pvContext, + __in DWORD64 dw64EmbeddedOffset + ); + +HRESULT DAPI CabEnumerate( + __in_z LPCWSTR wzCabinet, + __in_z LPCWSTR wzEnumerateFile, + __in STDCALL_PFNFDINOTIFY pfnNotify, + __in DWORD64 dw64EmbeddedOffset + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/certutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/certutil.h new file mode 100644 index 0000000..8565c1c --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/certutil.h @@ -0,0 +1,66 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#define ReleaseCertStore(p) if (p) { ::CertCloseStore(p, 0); p = NULL; } +#define ReleaseCertContext(p) if (p) { ::CertFreeCertificateContext(p); p = NULL; } +#define ReleaseCertChain(p) if (p) { ::CertFreeCertificateChain(p); p = NULL; } + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT DAPI CertReadProperty( + __in PCCERT_CONTEXT pCertContext, + __in DWORD dwProperty, + __out_bcount(*pcbValue) LPVOID pvValue, + __out_opt DWORD* pcbValue + ); + +HRESULT DAPI CertGetAuthenticodeSigningTimestamp( + __in CMSG_SIGNER_INFO* pSignerInfo, + __out FILETIME* pft + ); + +HRESULT DAPI GetCryptProvFromCert( + __in_opt HWND hwnd, + __in PCCERT_CONTEXT pCert, + __out HCRYPTPROV *phCryptProv, + __out DWORD *pdwKeySpec, + __in BOOL *pfDidCryptAcquire, + __deref_opt_out LPWSTR *ppwszTmpContainer, + __deref_opt_out LPWSTR *ppwszProviderName, + __out DWORD *pdwProviderType + ); + +HRESULT DAPI FreeCryptProvFromCert( + __in BOOL fAcquired, + __in HCRYPTPROV hProv, + __in_opt LPWSTR pwszCapiProvider, + __in DWORD dwProviderType, + __in_opt LPWSTR pwszTmpContainer + ); + +HRESULT DAPI GetProvSecurityDesc( + __in HCRYPTPROV hProv, + __deref_out SECURITY_DESCRIPTOR** pSecurity + ); + +HRESULT DAPI SetProvSecurityDesc( + __in HCRYPTPROV hProv, + __in SECURITY_DESCRIPTOR* pSecurity + ); + +BOOL DAPI CertHasPrivateKey( + __in PCCERT_CONTEXT pCertContext, + __out_opt DWORD* pdwKeySpec + ); + +HRESULT DAPI CertInstallSingleCertificate( + __in HCERTSTORE hStore, + __in PCCERT_CONTEXT pCertContext, + __in LPCWSTR wzName + ); +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/conutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/conutil.h new file mode 100644 index 0000000..1f5f3fe --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/conutil.h @@ -0,0 +1,97 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ConsoleExitOnFailure(x, c, f, ...) if (FAILED(x)) { ConsoleWriteError(x, c, f, __VA_ARGS__); ExitTrace(x, f, __VA_ARGS__); goto LExit; } +#define ConsoleExitOnFailure1 ConsoleExitOnFailure +#define ConsoleExitOnFailure2 ConsoleExitOnFailure +#define ConsoleExitOnFailure3 ConsoleExitOnFailure + +#define ConsoleExitOnLastError(x, c, f, ...) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ConsoleWriteError(x, c, f, __VA_ARGS__); ExitTrace(x, f, __VA_ARGS__); goto LExit; } } +#define ConsoleExitOnLastError1 ConsoleExitOnLastError +#define ConsoleExitOnLastError2 ConsoleExitOnLastError +#define ConsoleExitOnLastError3 ConsoleExitOnLastError + +#define ConsoleExitOnNull(p, x, e, c, f, ...) if (NULL == p) { x = e; ConsoleWriteError(x, c, f, __VA_ARGS__); ExitTrace(x, f, __VA_ARGS__); goto LExit; } + + +// the following macros need to go away +#define ConsoleTrace(l, f, ...) { ConsoleWriteLine(CONSOLE_COLOR_NORMAL, f, __VA_ARGS__); Trace(l, f, __VA_ARGS__); } +#define ConsoleTrace1 ConsoleTrace +#define ConsoleTrace2 ConsoleTrace +#define ConsoleTrace3 ConsoleTrace + +#define ConsoleWarning(f, ...) { ConsoleWriteLine(CONSOLE_COLOR_YELLOW, f, __VA_ARGS__); Trace(REPORT_STANDARD, f, __VA_ARGS__); } +#define ConsoleWarning1 ConsoleWarning +#define ConsoleWarning2 ConsoleWarning +#define ConsoleWarning3 ConsoleWarning + +#define ConsoleError(x, f, ...) { ConsoleWriteError(x, CONSOLE_COLOR_RED, f, __VA_ARGS__); TraceError(x, f, __VA_ARGS__); } +#define ConsoleError1 ConsoleError +#define ConsoleError2 ConsoleError +#define ConsoleError3 ConsoleError + + +// enums +typedef enum CONSOLE_COLOR { CONSOLE_COLOR_NORMAL, CONSOLE_COLOR_RED, CONSOLE_COLOR_YELLOW, CONSOLE_COLOR_GREEN } CONSOLE_COLOR; + +// structs + +// functions +HRESULT DAPI ConsoleInitialize(); +void DAPI ConsoleUninitialize(); + +void DAPI ConsoleGreen(); +void DAPI ConsoleRed(); +void DAPI ConsoleYellow(); +void DAPI ConsoleNormal(); + +HRESULT DAPI ConsoleWrite( + CONSOLE_COLOR cc, + __in_z __format_string LPCSTR szFormat, + ... + ); +HRESULT DAPI ConsoleWriteLine( + CONSOLE_COLOR cc, + __in_z __format_string LPCSTR szFormat, + ... + ); +HRESULT DAPI ConsoleWriteError( + HRESULT hrError, + CONSOLE_COLOR cc, + __in_z __format_string LPCSTR szFormat, + ... + ); + +HRESULT DAPI ConsoleReadW( + __deref_out_z LPWSTR* ppwzBuffer + ); + +HRESULT DAPI ConsoleReadStringA( + __deref_out_ecount_part(cchCharBuffer,*pcchNumCharReturn) LPSTR* szCharBuffer, + CONST DWORD cchCharBuffer, + __out DWORD* pcchNumCharReturn + ); +HRESULT DAPI ConsoleReadStringW( + __deref_out_ecount_part(cchCharBuffer,*pcchNumCharReturn) LPWSTR* szCharBuffer, + CONST DWORD cchCharBuffer, + __out DWORD* pcchNumCharReturn + ); + +HRESULT DAPI ConsoleReadNonBlockingW( + __deref_out_ecount_opt(*pcchSize) LPWSTR* ppwzBuffer, + __out DWORD* pcchSize, + BOOL fReadLine + ); + +HRESULT DAPI ConsoleSetReadHidden(void); +HRESULT DAPI ConsoleSetReadNormal(void); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cryputil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cryputil.h new file mode 100644 index 0000000..88aa784 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/cryputil.h @@ -0,0 +1,103 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#define ReleaseCryptMsg(p) if (p) { ::CryptMsgClose(p); p = NULL; } + +#ifdef __cplusplus +extern "C" { +#endif + + +// Use CRYPTPROTECTMEMORY_BLOCK_SIZE, because it's larger and thus more restrictive than RTL_ENCRYPT_MEMORY_SIZE. +#define CRYP_ENCRYPT_MEMORY_SIZE CRYPTPROTECTMEMORY_BLOCK_SIZE +#define SHA1_HASH_LEN 20 + +typedef NTSTATUS (APIENTRY *PFN_RTLENCRYPTMEMORY)( + __inout PVOID Memory, + __in ULONG MemoryLength, + __in ULONG OptionFlags + ); + +typedef NTSTATUS (APIENTRY *PFN_RTLDECRYPTMEMORY)( + __inout PVOID Memory, + __in ULONG MemoryLength, + __in ULONG OptionFlags + ); + +typedef BOOL (APIENTRY *PFN_CRYPTPROTECTMEMORY)( + __inout LPVOID pData, + __in DWORD cbData, + __in DWORD dwFlags + ); + +typedef BOOL (APIENTRY *PFN_CRYPTUNPROTECTMEMORY)( + __inout LPVOID pData, + __in DWORD cbData, + __in DWORD dwFlags + ); + +// function declarations + +HRESULT DAPI CrypInitialize(); +void DAPI CrypUninitialize(); + +HRESULT DAPI CrypDecodeObject( + __in_z LPCSTR szStructType, + __in_ecount(cbData) const BYTE* pbData, + __in DWORD cbData, + __in DWORD dwFlags, + __out LPVOID* ppvObject, + __out_opt DWORD* pcbObject + ); + +HRESULT DAPI CrypMsgGetParam( + __in HCRYPTMSG hCryptMsg, + __in DWORD dwType, + __in DWORD dwIndex, + __out LPVOID* ppvData, + __out_opt DWORD* pcbData + ); + +HRESULT DAPI CrypHashFile( + __in_z LPCWSTR wzFilePath, + __in DWORD dwProvType, + __in ALG_ID algid, + __out_bcount(cbHash) BYTE* pbHash, + __in DWORD cbHash, + __out_opt DWORD64* pqwBytesHashed + ); + +HRESULT DAPI CrypHashFileHandle( + __in HANDLE hFile, + __in DWORD dwProvType, + __in ALG_ID algid, + __out_bcount(cbHash) BYTE* pbHash, + __in DWORD cbHash, + __out_opt DWORD64* pqwBytesHashed + ); + +HRESULT DAPI CrypHashBuffer( + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer, + __in DWORD dwProvType, + __in ALG_ID algid, + __out_bcount(cbHash) BYTE* pbHash, + __in DWORD cbHash + ); + +HRESULT DAPI CrypEncryptMemory( + __inout LPVOID pData, + __in DWORD cbData, + __in DWORD dwFlags + ); + +HRESULT DAPI CrypDecryptMemory( + __inout LPVOID pData, + __in DWORD cbData, + __in DWORD dwFlags + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/custommsierrors.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/custommsierrors.h new file mode 100644 index 0000000..f149fb3 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/custommsierrors.h @@ -0,0 +1,130 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#define GLOBAL_ERROR_BASE 25501 + +#define msierrSecureObjectsFailedCreateSD 25520 +#define msierrSecureObjectsFailedSet 25521 +#define msierrSecureObjectsUnknownType 25522 + +#define msierrXmlFileFailedRead 25530 +#define msierrXmlFileFailedOpen 25531 +#define msierrXmlFileFailedSelect 25532 +#define msierrXmlFileFailedSave 25533 + +#define msierrXmlConfigFailedRead 25540 +#define msierrXmlConfigFailedOpen 25541 +#define msierrXmlConfigFailedSelect 25542 +#define msierrXmlConfigFailedSave 25543 + +#define msierrFirewallCannotConnect 25580 + +//--------------------------------------------------------------------------- +// Server CustomAction Errors +// SERVER range: 26001-26100 +#define SERVER_ERROR_BASE 26000 + +#define msierrIISCannotConnect 26001 +#define msierrIISFailedReadWebSite 26002 +#define msierrIISFailedReadWebDirs 26003 +#define msierrIISFailedReadVDirs 26004 +#define msierrIISFailedReadFilters 26005 +#define msierrIISFailedReadAppPool 26006 +#define msierrIISFailedReadMimeMap 26007 +#define msierrIISFailedReadProp 26008 +#define msierrIISFailedReadWebSvcExt 26009 +#define msierrIISFailedReadWebError 26010 +#define msierrIISFailedReadHttpHeader 26011 + +#define msierrIISFailedSchedTransaction 26031 +#define msierrIISFailedSchedInstallWebs 26032 +#define msierrIISFailedSchedInstallWebDirs 26033 +#define msierrIISFailedSchedInstallVDirs 26034 +#define msierrIISFailedSchedInstallFilters 26035 +#define msierrIISFailedSchedInstallAppPool 26036 +#define msierrIISFailedSchedInstallProp 26037 +#define msierrIISFailedSchedInstallWebSvcExt 26038 + +#define msierrIISFailedSchedUninstallWebs 26051 +#define msierrIISFailedSchedUninstallWebDirs 26052 +#define msierrIISFailedSchedUninstallVDirs 26053 +#define msierrIISFailedSchedUninstallFilters 26054 +#define msierrIISFailedSchedUninstallAppPool 26055 +#define msierrIISFailedSchedUninstallProp 26056 +#define msierrIISFailedSchedUninstallWebSvcExt 26057 + +#define msierrIISFailedStartTransaction 26101 +#define msierrIISFailedOpenKey 26102 +#define msierrIISFailedCreateKey 26103 +#define msierrIISFailedWriteData 26104 +#define msierrIISFailedCreateApp 26105 +#define msierrIISFailedDeleteKey 26106 +#define msierrIISFailedDeleteApp 26107 +#define msierrIISFailedDeleteValue 26108 +#define msierrIISFailedCommitInUse 26109 + +#define msierrSQLFailedCreateDatabase 26201 +#define msierrSQLFailedDropDatabase 26202 +#define msierrSQLFailedConnectDatabase 26203 +#define msierrSQLFailedExecString 26204 +#define msierrSQLDatabaseAlreadyExists 26205 + +#define msierrPERFMONFailedRegisterDLL 26251 +#define msierrPERFMONFailedUnregisterDLL 26252 +#define msierrInstallPerfCounterData 26253 +#define msierrUninstallPerfCounterData 26254 + +#define msierrSMBFailedCreate 26301 +#define msierrSMBFailedDrop 26302 + +#define msierrCERTFailedOpen 26351 +#define msierrCERTFailedAdd 26352 + +#define msierrUSRFailedUserCreate 26401 +#define msierrUSRFailedUserCreatePswd 26402 +#define msierrUSRFailedUserGroupAdd 26403 +#define msierrUSRFailedUserCreateExists 26404 +#define msierrUSRFailedGrantLogonAsService 26405 + +#define msierrDependencyMissingDependencies 26451 +#define msierrDependencyHasDependents 26452 + +//-------------------------------------------------------------------------- +// Managed code CustomAction Errors +// MANAGED range: 27000-27100 +#define MANAGED_ERROR_BASE 27000 + +#define msierrDotNetRuntimeRequired 27000 +//--------------------------------------------------------------------------- +// Public CustomAction Errors +// PUBLIC range: 28001-28100 +#define PUBLIC_ERROR_BASE 28000 + +#define msierrComPlusCannotConnect 28001 +#define msierrComPlusPartitionReadFailed 28002 +#define msierrComPlusPartitionRoleReadFailed 28003 +#define msierrComPlusUserInPartitionRoleReadFailed 28004 +#define msierrComPlusPartitionUserReadFailed 28005 +#define msierrComPlusApplicationReadFailed 28006 +#define msierrComPlusApplicationRoleReadFailed 28007 +#define msierrComPlusUserInApplicationRoleReadFailed 28008 +#define msierrComPlusAssembliesReadFailed 28009 +#define msierrComPlusSubscriptionReadFailed 28010 +#define msierrComPlusPartitionDependency 28011 +#define msierrComPlusPartitionNotFound 28012 +#define msierrComPlusPartitionIdConflict 28013 +#define msierrComPlusPartitionNameConflict 28014 +#define msierrComPlusApplicationDependency 28015 +#define msierrComPlusApplicationNotFound 28016 +#define msierrComPlusApplicationIdConflict 28017 +#define msierrComPlusApplicationNameConflict 28018 +#define msierrComPlusApplicationRoleDependency 28019 +#define msierrComPlusApplicationRoleNotFound 28020 +#define msierrComPlusApplicationRoleConflict 28021 +#define msierrComPlusAssemblyDependency 28022 +#define msierrComPlusSubscriptionIdConflict 28023 +#define msierrComPlusSubscriptionNameConflict 28024 +#define msierrComPlusFailedLookupNames 28025 + +#define msierrMsmqCannotConnect 28101 diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/deputil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/deputil.h new file mode 100644 index 0000000..a08d2eb --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/deputil.h @@ -0,0 +1,147 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseDependencyArray(rg, c) if (rg) { DepDependencyArrayFree(rg, c); } +#define ReleaseNullDependencyArray(rg, c) if (rg) { DepDependencyArrayFree(rg, c); rg = NULL; } + +typedef struct _DEPENDENCY +{ + LPWSTR sczKey; + LPWSTR sczName; +} DEPENDENCY; + + +/*************************************************************************** + DepGetProviderInformation - gets the various pieces of data registered + with a dependency. + + Note: Returns E_NOTFOUND if the dependency was not found. +***************************************************************************/ +DAPI_(HRESULT) DepGetProviderInformation( + __in HKEY hkHive, + __in_z LPCWSTR wzProviderKey, + __deref_out_z_opt LPWSTR* psczId, + __deref_out_z_opt LPWSTR* psczName, + __out_opt DWORD64* pqwVersion + ); + +/*************************************************************************** + DepCheckDependency - Checks that the dependency is registered and within + the proper version range. + + Note: Returns E_NOTFOUND if the dependency was not found. +***************************************************************************/ +DAPI_(HRESULT) DepCheckDependency( + __in HKEY hkHive, + __in_z LPCWSTR wzProviderKey, + __in_z_opt LPCWSTR wzMinVersion, + __in_z_opt LPCWSTR wzMaxVersion, + __in int iAttributes, + __in STRINGDICT_HANDLE sdDependencies, + __deref_inout_ecount_opt(*pcDependencies) DEPENDENCY** prgDependencies, + __inout LPUINT pcDependencies + ); + +/*************************************************************************** + DepCheckDependents - Checks if any dependents are still installed for the + given provider key. + +***************************************************************************/ +DAPI_(HRESULT) DepCheckDependents( + __in HKEY hkHive, + __in_z LPCWSTR wzProviderKey, + __in int iAttributes, + __in C_STRINGDICT_HANDLE sdIgnoredDependents, + __deref_inout_ecount_opt(*pcDependents) DEPENDENCY** prgDependents, + __inout LPUINT pcDependents + ); + +/*************************************************************************** + DepRegisterDependency - Registers the dependency provider. + +***************************************************************************/ +DAPI_(HRESULT) DepRegisterDependency( + __in HKEY hkHive, + __in_z LPCWSTR wzProviderKey, + __in_z LPCWSTR wzVersion, + __in_z LPCWSTR wzDisplayName, + __in_z_opt LPCWSTR wzId, + __in int iAttributes + ); + +/*************************************************************************** + DepDependentExists - Determines if a dependent is registered. + + Note: Returns S_OK if dependent is registered. + Returns E_FILENOTFOUND if dependent is not registered +***************************************************************************/ +DAPI_(HRESULT) DepDependentExists( + __in HKEY hkHive, + __in_z LPCWSTR wzDependencyProviderKey, + __in_z LPCWSTR wzProviderKey + ); + +/*************************************************************************** + DepRegisterDependent - Registers a dependent under the dependency provider. + +***************************************************************************/ +DAPI_(HRESULT) DepRegisterDependent( + __in HKEY hkHive, + __in_z LPCWSTR wzDependencyProviderKey, + __in_z LPCWSTR wzProviderKey, + __in_z_opt LPCWSTR wzMinVersion, + __in_z_opt LPCWSTR wzMaxVersion, + __in int iAttributes + ); + +/*************************************************************************** + DepUnregisterDependency - Removes the dependency provider. + + Note: Caller should call CheckDependents prior to remove a dependency. + Returns E_FILENOTFOUND if the dependency is not registered. +***************************************************************************/ +DAPI_(HRESULT) DepUnregisterDependency( + __in HKEY hkHive, + __in_z LPCWSTR wzProviderKey + ); + +/*************************************************************************** + DepUnregisterDependent - Removes a dependent under the dependency provider. + + Note: Returns E_FILENOTFOUND if neither the dependency or dependent are + registered. + ***************************************************************************/ +DAPI_(HRESULT) DepUnregisterDependent( + __in HKEY hkHive, + __in_z LPCWSTR wzDependencyProviderKey, + __in_z LPCWSTR wzProviderKey + ); + +/*************************************************************************** + DependencyArrayAlloc - Allocates or expands an array of DEPENDENCY structs. + +***************************************************************************/ +DAPI_(HRESULT) DepDependencyArrayAlloc( + __deref_inout_ecount_opt(*pcDependencies) DEPENDENCY** prgDependencies, + __inout LPUINT pcDependencies, + __in_z LPCWSTR wzKey, + __in_z_opt LPCWSTR wzName + ); + +/*************************************************************************** + DepDependencyArrayFree - Frees an array of DEPENDENCY structs. + +***************************************************************************/ +DAPI_(void) DepDependencyArrayFree( + __in_ecount(cDependencies) DEPENDENCY* rgDependencies, + __in UINT cDependencies + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dictutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dictutil.h new file mode 100644 index 0000000..f0a3bb5 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dictutil.h @@ -0,0 +1,69 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseDict(sdh) if (sdh) { DictDestroy(sdh); } +#define ReleaseNullDict(sdh) if (sdh) { DictDestroy(sdh); sdh = NULL; } + +typedef void* STRINGDICT_HANDLE; +typedef const void* C_STRINGDICT_HANDLE; + +extern const int STRINGDICT_HANDLE_BYTES; + +typedef enum DICT_FLAG +{ + DICT_FLAG_NONE = 0, + DICT_FLAG_CASEINSENSITIVE = 1 +} DICT_FLAG; + +HRESULT DAPI DictCreateWithEmbeddedKey( + __out_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE* psdHandle, + __in DWORD dwNumExpectedItems, + __in_opt void **ppvArray, + __in size_t cByteOffset, + __in DICT_FLAG dfFlags + ); +HRESULT DAPI DictCreateStringList( + __out_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE* psdHandle, + __in DWORD dwNumExpectedItems, + __in DICT_FLAG dfFlags + ); +HRESULT DAPI DictCreateStringListFromArray( + __out_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE* psdHandle, + __in_ecount(cStringArray) const LPCWSTR* rgwzStringArray, + __in const DWORD cStringArray, + __in DICT_FLAG dfFlags + ); +HRESULT DAPI DictCompareStringListToArray( + __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdStringList, + __in_ecount(cStringArray) const LPCWSTR* rgwzStringArray, + __in const DWORD cStringArray + ); +HRESULT DAPI DictAddKey( + __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdHandle, + __in_z LPCWSTR szString + ); +HRESULT DAPI DictAddValue( + __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdHandle, + __in void *pvValue + ); +HRESULT DAPI DictKeyExists( + __in_bcount(STRINGDICT_HANDLE_BYTES) C_STRINGDICT_HANDLE sdHandle, + __in_z LPCWSTR szString + ); +HRESULT DAPI DictGetValue( + __in_bcount(STRINGDICT_HANDLE_BYTES) C_STRINGDICT_HANDLE sdHandle, + __in_z LPCWSTR szString, + __out void **ppvValue + ); +void DAPI DictDestroy( + __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdHandle + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dirutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dirutil.h new file mode 100644 index 0000000..539b3a7 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dirutil.h @@ -0,0 +1,59 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +typedef enum DIR_DELETE +{ + DIR_DELETE_FILES = 1, + DIR_DELETE_RECURSE = 2, + DIR_DELETE_SCHEDULE = 4, +} DIR_DELETE; + +#ifdef __cplusplus +extern "C" { +#endif + +BOOL DAPI DirExists( + __in_z LPCWSTR wzPath, + __out_opt DWORD *pdwAttributes + ); + +HRESULT DAPI DirCreateTempPath( + __in_z LPCWSTR wzPrefix, + __out_ecount_z(cchPath) LPWSTR wzPath, + __in DWORD cchPath + ); + +HRESULT DAPI DirEnsureExists( + __in_z LPCWSTR wzPath, + __in_opt LPSECURITY_ATTRIBUTES psa + ); + +HRESULT DAPI DirEnsureDelete( + __in_z LPCWSTR wzPath, + __in BOOL fDeleteFiles, + __in BOOL fRecurse + ); + +HRESULT DAPI DirEnsureDeleteEx( + __in_z LPCWSTR wzPath, + __in DWORD dwFlags + ); + +DWORD DAPI DirDeleteEmptyDirectoriesToRoot( + __in_z LPCWSTR wzPath, + __in DWORD dwFlags + ); + +HRESULT DAPI DirGetCurrent( + __deref_out_z LPWSTR* psczCurrentDirectory + ); + +HRESULT DAPI DirSetCurrent( + __in_z LPCWSTR wzDirectory + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dlutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dlutil.h new file mode 100644 index 0000000..3e95103 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dlutil.h @@ -0,0 +1,59 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef HRESULT (WINAPI *LPAUTHENTICATION_ROUTINE)( + __in LPVOID pVoid, + __in HINTERNET hUrl, + __in long lHttpCode, + __out BOOL* pfRetrySend, + __out BOOL* pfRetry + ); + +typedef int (WINAPI *LPCANCEL_ROUTINE)( + __in HRESULT hrError, + __in_z_opt LPCWSTR wzError, + __in BOOL fAllowRetry, + __in_opt LPVOID pvContext + ); + +// structs +typedef struct _DOWNLOAD_SOURCE +{ + LPWSTR sczUrl; + LPWSTR sczUser; + LPWSTR sczPassword; +} DOWNLOAD_SOURCE; + +typedef struct _DOWNLOAD_CACHE_CALLBACK +{ + LPPROGRESS_ROUTINE pfnProgress; + LPCANCEL_ROUTINE pfnCancel; + LPVOID pv; +} DOWNLOAD_CACHE_CALLBACK; + +typedef struct _DOWNLOAD_AUTHENTICATION_CALLBACK +{ + LPAUTHENTICATION_ROUTINE pfnAuthenticate; + LPVOID pv; +} DOWNLOAD_AUTHENTICATION_CALLBACK; + + +// functions + +HRESULT DAPI DownloadUrl( + __in DOWNLOAD_SOURCE* pDownloadSource, + __in DWORD64 dw64AuthoredDownloadSize, + __in LPCWSTR wzDestinationPath, + __in_opt DOWNLOAD_CACHE_CALLBACK* pCache, + __in_opt DOWNLOAD_AUTHENTICATION_CALLBACK* pAuthenticate + ); + + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dutil.h new file mode 100644 index 0000000..4e26a77 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/dutil.h @@ -0,0 +1,214 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#define DAPI __stdcall +#define DAPIV __cdecl // used only for functions taking variable length arguments + +#define DAPI_(type) EXTERN_C type DAPI +#define DAPIV_(type) EXTERN_C type DAPIV + + +// enums +typedef enum REPORT_LEVEL +{ + REPORT_NONE, // turns off report (only valid for XXXSetLevel()) + REPORT_WARNING, // written if want only warnings or reporting is on in general + REPORT_STANDARD, // written if reporting is on + REPORT_VERBOSE, // written only if verbose reporting is on + REPORT_DEBUG, // reporting useful when debugging code + REPORT_ERROR, // always gets reported, but can never be specified +} REPORT_LEVEL; + +// asserts and traces +typedef BOOL (DAPI *DUTIL_ASSERTDISPLAYFUNCTION)(__in_z LPCSTR sz); + +#ifdef __cplusplus +extern "C" { +#endif + +void DAPI Dutil_SetAssertModule(__in HMODULE hAssertModule); +void DAPI Dutil_SetAssertDisplayFunction(__in DUTIL_ASSERTDISPLAYFUNCTION pfn); +void DAPI Dutil_Assert(__in_z LPCSTR szFile, __in int iLine); +void DAPI Dutil_AssertSz(__in_z LPCSTR szFile, __in int iLine, __in_z LPCSTR szMessage); + +void DAPI Dutil_TraceSetLevel(__in REPORT_LEVEL ll, __in BOOL fTraceFilenames); +REPORT_LEVEL DAPI Dutil_TraceGetLevel(); +void __cdecl Dutil_Trace(__in_z LPCSTR szFile, __in int iLine, __in REPORT_LEVEL rl, __in_z __format_string LPCSTR szMessage, ...); +void __cdecl Dutil_TraceError(__in_z LPCSTR szFile, __in int iLine, __in REPORT_LEVEL rl, __in HRESULT hr, __in_z __format_string LPCSTR szMessage, ...); +void DAPI Dutil_RootFailure(__in_z LPCSTR szFile, __in int iLine, __in HRESULT hrError); + +#ifdef __cplusplus +} +#endif + + +#ifdef DEBUG + +#define AssertSetModule(m) (void)Dutil_SetAssertModule(m) +#define AssertSetDisplayFunction(pfn) (void)Dutil_SetAssertDisplayFunction(pfn) +#define Assert(f) ((f) ? (void)0 : (void)Dutil_Assert(__FILE__, __LINE__)) +#define AssertSz(f, sz) ((f) ? (void)0 : (void)Dutil_AssertSz(__FILE__, __LINE__, sz)) + +#define TraceSetLevel(l, f) (void)Dutil_TraceSetLevel(l, f) +#define TraceGetLevel() (REPORT_LEVEL)Dutil_TraceGetLevel() +#define Trace(l, f, ...) (void)Dutil_Trace(__FILE__, __LINE__, l, f, __VA_ARGS__) +#define TraceError(x, f, ...) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_ERROR, x, f, __VA_ARGS__) +#define TraceErrorDebug(x, f, ...) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_DEBUG, x, f, __VA_ARGS__) + +#else // !DEBUG + +#define AssertSetModule(m) +#define AssertSetDisplayFunction(pfn) +#define Assert(f) +#define AssertSz(f, sz) + +#define TraceSetLevel(l, f) +#define Trace(l, f, ...) +#define TraceError(x, f, ...) +#define TraceErrorDebug(x, f, ...) + +#endif // DEBUG + +#define Trace1 Trace +#define Trace2 Trace +#define Trace3 Trace + +#define TraceError1 TraceError +#define TraceError2 TraceError +#define TraceError3 TraceError + +#define TraceErrorDebug1 TraceErrorDebug +#define TraceErrorDebug2 TraceErrorDebug +#define TraceErrorDebug3 TraceErrorDebug + +// ExitTrace can be overriden +#ifndef ExitTrace +#define ExitTrace TraceError +#endif +#ifndef ExitTrace1 +#define ExitTrace1 TraceError1 +#endif +#ifndef ExitTrace2 +#define ExitTrace2 TraceError2 +#endif +#ifndef ExitTrace3 +#define ExitTrace3 TraceError3 +#endif + +// Exit macros +#define ExitFunction() { goto LExit; } +#define ExitFunction1(x) { x; goto LExit; } + +#define ExitFunctionWithLastError(x) { x = HRESULT_FROM_WIN32(::GetLastError()); goto LExit; } + +#define ExitOnLastError(x, s, ...) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s, __VA_ARGS__); goto LExit; } } +#define ExitOnLastError1 ExitOnLastError +#define ExitOnLastError2 ExitOnLastError + +#define ExitOnLastErrorDebugTrace(x, s, ...) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); TraceErrorDebug(x, s, __VA_ARGS__); goto LExit; } } +#define ExitOnLastErrorDebugTrace1 ExitOnLastErrorDebugTrace +#define ExitOnLastErrorDebugTrace2 ExitOnLastErrorDebugTrace + +#define ExitWithLastError(x, s, ...) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s, __VA_ARGS__); goto LExit; } +#define ExitWithLastError1 ExitWithLastError +#define ExitWithLastError2 ExitWithLastError +#define ExitWithLastError3 ExitWithLastError + +#define ExitOnFailure(x, s, ...) if (FAILED(x)) { ExitTrace(x, s, __VA_ARGS__); goto LExit; } +#define ExitOnFailure1 ExitOnFailure +#define ExitOnFailure2 ExitOnFailure +#define ExitOnFailure3 ExitOnFailure + +#define ExitOnRootFailure(x, s, ...) if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s, __VA_ARGS__); goto LExit; } +#define ExitOnRootFailure1 ExitOnRootFailure +#define ExitOnRootFailure2 ExitOnRootFailure +#define ExitOnRootFailure3 ExitOnRootFailure + +#define ExitOnFailureDebugTrace(x, s, ...) if (FAILED(x)) { TraceErrorDebug(x, s, __VA_ARGS__); goto LExit; } +#define ExitOnFailureDebugTrace1 ExitOnFailureDebugTrace +#define ExitOnFailureDebugTrace2 ExitOnFailureDebugTrace +#define ExitOnFailureDebugTrace3 ExitOnFailureDebugTrace + +#define ExitOnNull(p, x, e, s, ...) if (NULL == p) { x = e; Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s, __VA_ARGS__); goto LExit; } +#define ExitOnNull1 ExitOnNull +#define ExitOnNull2 ExitOnNull + +#define ExitOnNullWithLastError(p, x, s, ...) if (NULL == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s, __VA_ARGS__); goto LExit; } +#define ExitOnNullWithLastError1 ExitOnNullWithLastError + +#define ExitOnNullDebugTrace(p, x, e, s, ...) if (NULL == p) { x = e; Dutil_RootFailure(__FILE__, __LINE__, x); TraceErrorDebug(x, s, __VA_ARGS__); goto LExit; } +#define ExitOnNullDebugTrace1 ExitOnNullDebugTrace + +#define ExitOnInvalidHandleWithLastError(p, x, s, ...) if (INVALID_HANDLE_VALUE == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s, __VA_ARGS__); goto LExit; } +#define ExitOnInvalidHandleWithLastError1 ExitOnInvalidHandleWithLastError + +#define ExitOnWin32Error(e, x, s, ...) if (ERROR_SUCCESS != e) { x = HRESULT_FROM_WIN32(e); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s, __VA_ARGS__); goto LExit; } +#define ExitOnWin32Error1 ExitOnWin32Error +#define ExitOnWin32Error2 ExitOnWin32Error + +// release macros +#define ReleaseObject(x) if (x) { x->Release(); } +#define ReleaseObjectArray(prg, cel) if (prg) { for (DWORD Dutil_ReleaseObjectArrayIndex = 0; Dutil_ReleaseObjectArrayIndex < cel; ++Dutil_ReleaseObjectArrayIndex) { ReleaseObject(prg[Dutil_ReleaseObjectArrayIndex]); } ReleaseMem(prg); } +#define ReleaseVariant(x) { ::VariantClear(&x); } +#define ReleaseNullObject(x) if (x) { (x)->Release(); x = NULL; } +#define ReleaseCertificate(x) if (x) { ::CertFreeCertificateContext(x); x=NULL; } +#define ReleaseHandle(x) if (x) { ::CloseHandle(x); x = NULL; } + + +// useful defines and macros +#define Unused(x) ((void)x) + +#ifndef countof +#if 1 +#define countof(ary) (sizeof(ary) / sizeof(ary[0])) +#else +#ifndef __cplusplus +#define countof(ary) (sizeof(ary) / sizeof(ary[0])) +#else +template static char countofVerify(void const *, T) throw() { return 0; } +template static void countofVerify(T *const, T *const *) throw() {}; +#define countof(arr) (sizeof(countofVerify(arr,&(arr))) * sizeof(arr)/sizeof(*(arr))) +#endif +#endif +#endif + +#define roundup(x, n) roundup_typed(x, n, DWORD) +#define roundup_typed(x, n, t) (((t)(x) + ((t)(n) - 1)) & ~((t)(n) - 1)) + +#define HRESULT_FROM_RPC(x) ((HRESULT) ((x) | FACILITY_RPC)) + +#ifndef MAXSIZE_T +#define MAXSIZE_T ((SIZE_T)~((SIZE_T)0)) +#endif + +typedef const BYTE* LPCBYTE; + +#define E_FILENOTFOUND HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) +#define E_PATHNOTFOUND HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) +#define E_INVALIDDATA HRESULT_FROM_WIN32(ERROR_INVALID_DATA) +#define E_INVALIDSTATE HRESULT_FROM_WIN32(ERROR_INVALID_STATE) +#define E_INSUFFICIENT_BUFFER HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) +#define E_MOREDATA HRESULT_FROM_WIN32(ERROR_MORE_DATA) +#define E_NOMOREITEMS HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS) +#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND) +#define E_MODNOTFOUND HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND) +#define E_BADCONFIGURATION HRESULT_FROM_WIN32(ERROR_BAD_CONFIGURATION) + +#define AddRefAndRelease(x) { x->AddRef(); x->Release(); } + +#define MAKEDWORD(lo, hi) ((DWORD)MAKELONG(lo, hi)) +#define MAKEQWORDVERSION(mj, mi, b, r) (((DWORD64)MAKELONG(r, b)) | (((DWORD64)MAKELONG(mi, mj)) << 32)) + + +#ifdef __cplusplus +extern "C" { +#endif + +// other functions +HRESULT DAPI LoadSystemLibrary(__in_z LPCWSTR wzModuleName, __out HMODULE *phModule); +HRESULT DAPI LoadSystemLibraryWithPath(__in_z LPCWSTR wzModuleName, __out HMODULE *phModule, __deref_out_z_opt LPWSTR* psczPath); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/eseutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/eseutil.h new file mode 100644 index 0000000..1c40892 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/eseutil.h @@ -0,0 +1,223 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseEseQuery(pqh) if (pqh) { EseFinishQuery(pqh); } +#define ReleaseNullEseQuery(pqh) if (pqh) { EseFinishQuery(pqh); pqh = NULL; } + +struct ESE_COLUMN_SCHEMA +{ + JET_COLUMNID jcColumn; + LPCWSTR pszName; + JET_COLTYP jcColumnType; + BOOL fKey; // If this column is part of the key of the table + BOOL fFixed; + BOOL fNullable; + BOOL fAutoIncrement; +}; + +struct ESE_TABLE_SCHEMA +{ + JET_TABLEID jtTable; + LPCWSTR pszName; + DWORD dwColumns; + ESE_COLUMN_SCHEMA *pcsColumns; +}; + +struct ESE_DATABASE_SCHEMA +{ + DWORD dwTables; + ESE_TABLE_SCHEMA *ptsTables; +}; + +typedef enum ESE_QUERY_TYPE +{ + ESE_QUERY_EXACT, + ESE_QUERY_FROM_TOP, + ESE_QUERY_FROM_BOTTOM +} ESE_QUERY_TYPE; + +typedef void* ESE_QUERY_HANDLE; + +HRESULT DAPI EseBeginSession( + __out JET_INSTANCE *pjiInstance, + __out JET_SESID *pjsSession, + __in_z LPCWSTR pszInstance, + __in_z LPCWSTR pszPath + ); +HRESULT DAPI EseEndSession( + __in JET_INSTANCE jiInstance, + __in JET_SESID jsSession + ); +HRESULT DAPI EseEnsureDatabase( + __in JET_SESID jsSession, + __in_z LPCWSTR pszFile, + __in ESE_DATABASE_SCHEMA *pdsSchema, + __out JET_DBID* pjdbDb, + __in BOOL fExclusive, + __in BOOL fReadonly + ); +HRESULT DAPI EseCloseDatabase( + __in JET_SESID jsSession, + __in JET_DBID jdbDb + ); +HRESULT DAPI EseCreateTable( + __in JET_SESID jsSession, + __in JET_DBID jdbDb, + __in_z LPCWSTR pszTable, + __out JET_TABLEID *pjtTable + ); +HRESULT DAPI EseOpenTable( + __in JET_SESID jsSession, + __in JET_DBID jdbDb, + __in_z LPCWSTR pszTable, + __out JET_TABLEID *pjtTable + ); +HRESULT DAPI EseCloseTable( + __in JET_SESID jsSession, + __in JET_TABLEID jtTable + ); +HRESULT DAPI EseEnsureColumn( + __in JET_SESID jsSession, + __in JET_TABLEID jtTable, + __in_z LPCWSTR pszColumnName, + __in JET_COLTYP jcColumnType, + __in ULONG ulColumnSize, + __in BOOL fFixed, + __in BOOL fNullable, + __out_opt JET_COLUMNID *pjcColumn + ); +HRESULT DAPI EseGetColumn( + __in JET_SESID jsSession, + __in JET_TABLEID jtTable, + __in_z LPCWSTR pszColumnName, + __out JET_COLUMNID *pjcColumn + ); +HRESULT DAPI EseMoveCursor( + __in JET_SESID jsSession, + __in JET_TABLEID jtTable, + __in LONG lRow + ); +HRESULT DAPI EseDeleteRow( + __in JET_SESID jsSession, + __in JET_TABLEID jtTable + ); +HRESULT DAPI EseBeginTransaction( + __in JET_SESID jsSession + ); +HRESULT DAPI EseRollbackTransaction( + __in JET_SESID jsSession, + __in BOOL fAll + ); +HRESULT DAPI EseCommitTransaction( + __in JET_SESID jsSession + ); +HRESULT DAPI EsePrepareUpdate( + __in JET_SESID jsSession, + __in JET_TABLEID jtTable, + __in ULONG ulPrep + ); +HRESULT DAPI EseFinishUpdate( + __in JET_SESID jsSession, + __in JET_TABLEID jtTable, + __in BOOL fSeekToInsertedRecord + ); +HRESULT DAPI EseSetColumnBinary( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn, + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer + ); +HRESULT DAPI EseSetColumnDword( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn, + __in DWORD dwValue + ); +HRESULT DAPI EseSetColumnBool( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn, + __in BOOL fValue + ); +HRESULT DAPI EseSetColumnString( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn, + __in_z LPCWSTR pszValue + ); +HRESULT DAPI EseSetColumnEmpty( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn + ); +HRESULT DAPI EseGetColumnBinary( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn, + __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, + __inout SIZE_T* piBuffer + ); +HRESULT DAPI EseGetColumnDword( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn, + __out DWORD *pdwValue + ); +HRESULT DAPI EseGetColumnBool( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn, + __out BOOL *pfValue + ); +HRESULT DAPI EseGetColumnString( + __in JET_SESID jsSession, + __in ESE_TABLE_SCHEMA tsTable, + __in DWORD dwColumn, + __out LPWSTR *ppszValue + ); + +// Call this once for each key column in the table +HRESULT DAPI EseBeginQuery( + __in JET_SESID jsSession, + __in JET_TABLEID jtTable, + __in ESE_QUERY_TYPE qtQueryType, + __out ESE_QUERY_HANDLE *peqhHandle + ); +HRESULT DAPI EseSetQueryColumnBinary( + __in ESE_QUERY_HANDLE eqhHandle, + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer, + __in BOOL fFinal // If this is true, all other key columns in the query will be set to "*" + ); +HRESULT DAPI EseSetQueryColumnDword( + __in ESE_QUERY_HANDLE eqhHandle, + __in DWORD dwData, + __in BOOL fFinal // If this is true, all other key columns in the query will be set to "*" + ); +HRESULT DAPI EseSetQueryColumnBool( + __in ESE_QUERY_HANDLE eqhHandle, + __in BOOL fValue, + __in BOOL fFinal // If this is true, all other key columns in the query will be set to "*" + ); +HRESULT DAPI EseSetQueryColumnString( + __in ESE_QUERY_HANDLE eqhHandle, + __in_z LPCWSTR pszString, + __in BOOL fFinal // If this is true, all other key columns in the query will be set to "*" + ); +HRESULT DAPI EseFinishQuery( + __in ESE_QUERY_HANDLE eqhHandle + ); +// Once all columns have been set up, call this and read the result +HRESULT DAPI EseRunQuery( + __in ESE_QUERY_HANDLE eqhHandle + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/fileutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/fileutil.h new file mode 100644 index 0000000..3f660b2 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/fileutil.h @@ -0,0 +1,219 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseFile(h) if (INVALID_HANDLE_VALUE != h) { ::CloseHandle(h); h = INVALID_HANDLE_VALUE; } +#define ReleaseFileHandle(h) if (INVALID_HANDLE_VALUE != h) { ::CloseHandle(h); h = INVALID_HANDLE_VALUE; } +#define ReleaseFileFindHandle(h) if (INVALID_HANDLE_VALUE != h) { ::FindClose(h); h = INVALID_HANDLE_VALUE; } + +#define FILEMAKEVERSION(major, minor, build, revision) static_cast((static_cast(major & 0xFFFF) << 48) \ + | (static_cast(minor & 0xFFFF) << 32) \ + | (static_cast(build & 0xFFFF) << 16) \ + | (static_cast(revision & 0xFFFF))) + +typedef enum FILE_ARCHITECTURE +{ + FILE_ARCHITECTURE_UNKNOWN, + FILE_ARCHITECTURE_X86, + FILE_ARCHITECTURE_X64, + FILE_ARCHITECTURE_IA64, +} FILE_ARCHITECTURE; + +typedef enum FILE_ENCODING +{ + FILE_ENCODING_UNSPECIFIED = 0, + // TODO: distinguish between non-BOM utf-8 and ANSI in the future? + FILE_ENCODING_UTF8, + FILE_ENCODING_UTF8_WITH_BOM, + FILE_ENCODING_UTF16, + FILE_ENCODING_UTF16_WITH_BOM, +} FILE_ENCODING; + + +LPWSTR DAPI FileFromPath( + __in_z LPCWSTR wzPath + ); +HRESULT DAPI FileResolvePath( + __in_z LPCWSTR wzRelativePath, + __out LPWSTR *ppwzFullPath + ); +HRESULT DAPI FileStripExtension( + __in_z LPCWSTR wzFileName, + __out LPWSTR *ppwzFileNameNoExtension + ); +HRESULT DAPI FileChangeExtension( + __in_z LPCWSTR wzFileName, + __in_z LPCWSTR wzNewExtension, + __out LPWSTR *ppwzFileNameNewExtension + ); +HRESULT DAPI FileAddSuffixToBaseName( + __in_z LPCWSTR wzFileName, + __in_z LPCWSTR wzSuffix, + __out_z LPWSTR* psczNewFileName + ); +HRESULT DAPI FileVersionFromString( + __in_z LPCWSTR wzVersion, + __out DWORD *pdwVerMajor, + __out DWORD* pdwVerMinor + ); +HRESULT DAPI FileVersionFromStringEx( + __in_z LPCWSTR wzVersion, + __in DWORD cchVersion, + __out DWORD64* pqwVersion + ); +HRESULT DAPI FileVersionToStringEx( + __in DWORD64 qwVersion, + __out LPWSTR* psczVersion + ); +HRESULT DAPI FileSetPointer( + __in HANDLE hFile, + __in DWORD64 dw64Move, + __out_opt DWORD64* pdw64NewPosition, + __in DWORD dwMoveMethod + ); +HRESULT DAPI FileSize( + __in_z LPCWSTR pwzFileName, + __out LONGLONG* pllSize + ); +HRESULT DAPI FileSizeByHandle( + __in HANDLE hFile, + __out LONGLONG* pllSize + ); +BOOL DAPI FileExistsEx( + __in_z LPCWSTR wzPath, + __out_opt DWORD *pdwAttributes + ); +BOOL DAPI FileExistsAfterRestart( + __in_z LPCWSTR wzPath, + __out_opt DWORD *pdwAttributes + ); +HRESULT DAPI FileRemoveFromPendingRename( + __in_z LPCWSTR wzPath + ); +HRESULT DAPI FileRead( + __deref_out_bcount_full(*pcbDest) LPBYTE* ppbDest, + __out DWORD* pcbDest, + __in_z LPCWSTR wzSrcPath + ); +HRESULT DAPI FileReadUntil( + __deref_out_bcount_full(*pcbDest) LPBYTE* ppbDest, + __out_range(<=, cbMaxRead) DWORD* pcbDest, + __in_z LPCWSTR wzSrcPath, + __in DWORD cbMaxRead + ); +HRESULT DAPI FileReadPartial( + __deref_out_bcount_full(*pcbDest) LPBYTE* ppbDest, + __out_range(<=, cbMaxRead) DWORD* pcbDest, + __in_z LPCWSTR wzSrcPath, + __in BOOL fSeek, + __in DWORD cbStartPosition, + __in DWORD cbMaxRead, + __in BOOL fPartialOK + ); +HRESULT DAPI FileWrite( + __in_z LPCWSTR pwzFileName, + __in DWORD dwFlagsAndAttributes, + __in_bcount_opt(cbData) LPCBYTE pbData, + __in DWORD cbData, + __out_opt HANDLE* pHandle + ); +HRESULT DAPI FileWriteHandle( + __in HANDLE hFile, + __in_bcount_opt(cbData) LPCBYTE pbData, + __in DWORD cbData + ); +HRESULT DAPI FileCopyUsingHandles( + __in HANDLE hSource, + __in HANDLE hTarget, + __in DWORD64 cbCopy, + __out_opt DWORD64* pcbCopied + ); +HRESULT DAPI FileEnsureCopy( + __in_z LPCWSTR wzSource, + __in_z LPCWSTR wzTarget, + __in BOOL fOverwrite + ); +HRESULT DAPI FileEnsureCopyWithRetry( + __in LPCWSTR wzSource, + __in LPCWSTR wzTarget, + __in BOOL fOverwrite, + __in DWORD cRetry, + __in DWORD dwWaitMilliseconds + ); +HRESULT DAPI FileEnsureMove( + __in_z LPCWSTR wzSource, + __in_z LPCWSTR wzTarget, + __in BOOL fOverwrite, + __in BOOL fAllowCopy + ); +HRESULT DAPI FileEnsureMoveWithRetry( + __in LPCWSTR wzSource, + __in LPCWSTR wzTarget, + __in BOOL fOverwrite, + __in BOOL fAllowCopy, + __in DWORD cRetry, + __in DWORD dwWaitMilliseconds + ); +HRESULT DAPI FileCreateTemp( + __in_z LPCWSTR wzPrefix, + __in_z LPCWSTR wzExtension, + __deref_opt_out_z LPWSTR* ppwzTempFile, + __out_opt HANDLE* phTempFile + ); +HRESULT DAPI FileCreateTempW( + __in_z LPCWSTR wzPrefix, + __in_z LPCWSTR wzExtension, + __deref_opt_out_z LPWSTR* ppwzTempFile, + __out_opt HANDLE* phTempFile + ); +HRESULT DAPI FileVersion( + __in_z LPCWSTR wzFilename, + __out DWORD *pdwVerMajor, + __out DWORD* pdwVerMinor + ); +HRESULT DAPI FileIsSame( + __in_z LPCWSTR wzFile1, + __in_z LPCWSTR wzFile2, + __out LPBOOL lpfSameFile + ); +HRESULT DAPI FileEnsureDelete( + __in_z LPCWSTR wzFile + ); +HRESULT DAPI FileGetTime( + __in_z LPCWSTR wzFile, + __out_opt LPFILETIME lpCreationTime, + __out_opt LPFILETIME lpLastAccessTime, + __out_opt LPFILETIME lpLastWriteTime + ); +HRESULT DAPI FileSetTime( + __in_z LPCWSTR wzFile, + __in_opt const FILETIME *lpCreationTime, + __in_opt const FILETIME *lpLastAccessTime, + __in_opt const FILETIME *lpLastWriteTime + ); +HRESULT DAPI FileResetTime( + __in_z LPCWSTR wzFile + ); +HRESULT DAPI FileExecutableArchitecture( + __in_z LPCWSTR wzFile, + __out FILE_ARCHITECTURE *pArchitecture + ); +HRESULT DAPI FileToString( + __in_z LPCWSTR wzFile, + __out LPWSTR *psczString, + __out_opt FILE_ENCODING *pfeEncoding + ); +HRESULT DAPI FileFromString( + __in_z LPCWSTR wzFile, + __in DWORD dwFlagsAndAttributes, + __in_z LPCWSTR sczString, + __in FILE_ENCODING feEncoding + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/gdiputil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/gdiputil.h new file mode 100644 index 0000000..35af588 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/gdiputil.h @@ -0,0 +1,30 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#define ExitOnGdipFailure(g, x, s) { x = GdipHresultFromStatus(g); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } } +#define ExitOnGdipFailure1(g, x, f, s) { x = GdipHresultFromStatus(g); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } } +#define ExitOnGdipFailure2(g, x, f, s, t) { x = GdipHresultFromStatus(g); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } } + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT DAPI GdipBitmapFromResource( + __in_opt HINSTANCE hinst, + __in_z LPCSTR szId, + __out Gdiplus::Bitmap **ppBitmap + ); + +HRESULT DAPI GdipBitmapFromFile( + __in_z LPCWSTR wzFileName, + __out Gdiplus::Bitmap **ppBitmap + ); + +HRESULT DAPI GdipHresultFromStatus( + __in Gdiplus::Status gs + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/iis7util.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/iis7util.h new file mode 100644 index 0000000..3572b4e --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/iis7util.h @@ -0,0 +1,222 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +// IIS Config schema names +#define IIS_CONFIG_ADD L"add" +#define IIS_CONFIG_ALLOWED L"allowed" +#define IIS_CONFIG_APPHOST_ROOT L"MACHINE/WEBROOT/APPHOST" +#define IIS_CONFIG_APPLICATION L"application" +#define IIS_CONFIG_APPPOOL L"applicationPool" +#define IIS_CONFIG_APPPOOL_AUTO L"autoStart" +#define IIS_CONFIG_APPPOOL_SECTION L"system.applicationHost/applicationPools" +#define IIS_CONFIG_AUTOSTART L"serverAutoStart" +#define IIS_CONFIG_BINDING L"binding" +#define IIS_CONFIG_BINDINGINFO L"bindingInformation" +#define IIS_CONFIG_BINDINGS L"bindings" +#define IIS_CONFIG_DESC L"description" +#define IIS_CONFIG_EXECUTABLE L"scriptProcessor" +#define IIS_CONFIG_ENABLED L"enabled" +#define IIS_CONFIG_ENABLE32 L"enable32BitAppOnWin64" +#define IIS_CONFIG_FILEEXT L"fileExtension" +#define IIS_CONFIG_FILTER L"filter" +#define IIS_CONFIG_GROUPID L"groupId" +#define IIS_CONFIG_HEADERS L"customHeaders" +#define IIS_CONFIG_HTTPERRORS_SECTION L"system.webServer/httpErrors" +#define IIS_CONFIG_ID L"id" +#define IIS_CONFIG_ISAPI_SECTION L"system.webServer/isapiFilters" +#define IIS_CONFIG_HTTPPROTO_SECTION L"system.webServer/httpProtocol" +#define IIS_CONFIG_LOG_SECTION L"system.applicationHost/log" +#define IIS_CONFIG_LOG_UTF8 L"logInUTF8" +#define IIS_CONFIG_LIMITS L"limits" +#define IIS_CONFIG_PIPELINEMODE L"managedPipelineMode" +#define IIS_CONFIG_MANAGEDRUNTIMEVERSION L"managedRuntimeVersion" +#define IIS_CONFIG_WEBLOG L"logFile" +#define IIS_CONFIG_LOGFORMAT L"logFormat" +#define IIS_CONFIG_MIMEMAP L"mimeMap" +#define IIS_CONFIG_MIMETYPE L"mimeType" +#define IIS_CONFIG_MODULES L"modules" +#define IIS_CONFIG_NAME L"name" +#define IIS_CONFIG_PATH L"path" +#define IIS_CONFIG_PHYSPATH L"physicalPath" +#define IIS_CONFIG_PROTOCOL L"protocol" +#define IIS_CONFIG_RESTRICTION_SECTION L"system.webServer/security/isapiCgiRestriction" +#define IIS_CONFIG_SITE L"site" +#define IIS_CONFIG_SITE_ID L"id" +#define IIS_CONFIG_SITES_SECTION L"system.applicationHost/sites" +#define IIS_CONFIG_CONNECTTIMEOUT L"connectionTimeout" +#define IIS_CONFIG_VDIR L"virtualDirectory" +#define IIS_CONFIG_VALUE L"value" +#define IIS_CONFIG_VERBS L"verb" +#define IIS_CONFIG_WEBLIMITS_SECTION L"system.applicationHost/webLimits" +#define IIS_CONFIG_WEBLIMITS_MAXBAND L"maxGlobalBandwidth" +#define IIS_CONFIG_TRUE L"true" +#define IIS_CONFIG_FALSE L"false" +#define IIS_CONFIG_ERROR L"error" +#define IIS_CONFIG_STATUSCODE L"statusCode" +#define IIS_CONFIG_SUBSTATUS L"subStatusCode" +#define IIS_CONFIG_LANGPATH L"prefixLanguageFilePath" +#define IIS_CONFIG_RESPMODE L"responseMode" +#define IIS_CONFIG_CLEAR L"clear" +#define IIS_CONFIG_RECYCLING L"recycling" +#define IIS_CONFIG_PEROIDRESTART L"periodicRestart" +#define IIS_CONFIG_TIME L"time" +#define IIS_CONFIG_REQUESTS L"requests" +#define IIS_CONFIG_SCHEDULE L"schedule" +#define IIS_CONFIG_MEMORY L"memory" +#define IIS_CONFIG_PRIVMEMORY L"privateMemory" +#define IIS_CONFIG_PROCESSMODEL L"processModel" +#define IIS_CONFIG_IDLETIMEOUT L"idleTimeout" +#define IIS_CONFIG_QUEUELENGTH L"queueLength" +#define IIS_CONFIG_IDENITITYTYPE L"identityType" +#define IIS_CONFIG_LOCALSYSTEM L"LocalSystem" +#define IIS_CONFIG_LOCALSERVICE L"LocalService" +#define IIS_CONFIG_NETWORKSERVICE L"NetworkService" +#define IIS_CONFIG_SPECIFICUSER L"SpecificUser" +#define IIS_CONFIG_APPLICATIONPOOLIDENTITY L"ApplicationPoolIdentity" +#define IIS_CONFIG_USERNAME L"userName" +#define IIS_CONFIG_PASSWORD L"password" +#define IIS_CONFIG_CPU L"cpu" +#define IIS_CONFIG_LIMIT L"limit" +#define IIS_CONFIG_CPU_ACTION L"action" +#define IIS_CONFIG_KILLW3WP L"KillW3wp" +#define IIS_CONFIG_NOACTION L"NoAction" +#define IIS_CONFIG_RESETINTERVAL L"resetInterval" +#define IIS_CONFIG_MAXWRKPROCESSES L"maxProcesses" +#define IIS_CONFIG_HANDLERS_SECTION L"system.webServer/handlers" +#define IIS_CONFIG_DEFAULTDOC_SECTION L"system.webServer/defaultDocument" +#define IIS_CONFIG_ASP_SECTION L"system.webServer/asp" +#define IIS_CONFIG_SCRIPTERROR L"scriptErrorSentToBrowser" +#define IIS_CONFIG_STATICCONTENT_SECTION L"system.webServer/staticContent" +#define IIS_CONFIG_HTTPEXPIRES L"httpExpires" +#define IIS_CONFIG_MAXAGE L"cacheControlMaxAge" +#define IIS_CONFIG_CLIENTCACHE L"clientCache" +#define IIS_CONFIG_CACHECONTROLMODE L"cacheControlMode" +#define IIS_CONFIG_USEMAXAGE L"UseMaxAge" +#define IIS_CONFIG_USEEXPIRES L"UseExpires" +#define IIS_CONFIG_CACHECUST L"cacheControlCustom" +#define IIS_CONFIG_ASP_SECTION L"system.webServer/asp" +#define IIS_CONFIG_SESSION L"session" +#define IIS_CONFIG_ALLOWSTATE L"allowSessionState" +#define IIS_CONFIG_TIMEOUT L"timeout" +#define IIS_CONFIG_BUFFERING L"bufferingOn" +#define IIS_CONFIG_PARENTPATHS L"enableParentPaths" +#define IIS_CONFIG_SCRIPTLANG L"scriptLanguage" +#define IIS_CONFIG_SCRIPTTIMEOUT L"scriptTimeout" +#define IIS_CONFIG_LIMITS L"limits" +#define IIS_CONFIG_ALLOWDEBUG L"appAllowDebugging" +#define IIS_CONFIG_ALLOWCLIENTDEBUG L"appAllowClientDebug" +#define IIS_CONFIG_CERTIFICATEHASH L"certificateHash" +#define IIS_CONFIG_CERTIFICATESTORENAME L"certificateStoreName" +#define IIS_CONFIG_HTTPLOGGING_SECTION L"system.webServer/httpLogging" +#define IIS_CONFIG_DONTLOG L"dontLog" + +typedef BOOL (CALLBACK* ENUMAPHOSTELEMENTPROC)(IAppHostElement*, LPVOID); +typedef BOOL (CALLBACK* VARIANTCOMPARATORPROC)(VARIANT*, VARIANT*); + +HRESULT DAPI Iis7PutPropertyVariant( + __in IAppHostElement *pElement, + __in LPCWSTR wzPropName, + __in VARIANT vtPut + ); + +HRESULT DAPI Iis7PutPropertyInteger( + __in IAppHostElement *pElement, + __in LPCWSTR wzPropName, + __in DWORD dValue + ); + +HRESULT DAPI Iis7PutPropertyString( + __in IAppHostElement *pElement, + __in LPCWSTR wzPropName, + __in LPCWSTR wzString + ); + +HRESULT DAPI Iis7PutPropertyBool( + __in IAppHostElement *pElement, + __in LPCWSTR wzPropName, + __in BOOL fValue); + +HRESULT DAPI Iis7GetPropertyVariant( + __in IAppHostElement *pElement, + __in LPCWSTR wzPropName, + __in VARIANT* vtGet + ); + +HRESULT DAPI Iis7GetPropertyString( + __in IAppHostElement *pElement, + __in LPCWSTR wzPropName, + __in LPWSTR* psczGet + ); + +struct IIS7_APPHOSTELEMENTCOMPARISON +{ + LPCWSTR sczElementName; + LPCWSTR sczAttributeName; + VARIANT* pvAttributeValue; + VARIANTCOMPARATORPROC pComparator; +}; + +BOOL DAPI Iis7IsMatchingAppHostElement( + __in IAppHostElement *pElement, + __in IIS7_APPHOSTELEMENTCOMPARISON* pComparison + ); + +HRESULT DAPI Iis7FindAppHostElementString( + __in IAppHostElementCollection *pCollection, + __in LPCWSTR wzElementName, + __in LPCWSTR wzAttributeName, + __in LPCWSTR wzAttributeValue, + __out IAppHostElement** ppElement, + __out DWORD* pdwIndex + ); + +HRESULT DAPI Iis7FindAppHostElementPath( + __in IAppHostElementCollection *pCollection, + __in LPCWSTR wzElementName, + __in LPCWSTR wzAttributeName, + __in LPCWSTR wzAttributeValue, + __out IAppHostElement** ppElement, + __out DWORD* pdwIndex + ); + +HRESULT DAPI Iis7FindAppHostElementInteger( + __in IAppHostElementCollection *pCollection, + __in LPCWSTR wzElementName, + __in LPCWSTR wzAttributeName, + __in DWORD dwAttributeValue, + __out IAppHostElement** ppElement, + __out DWORD* pdwIndex + ); + +HRESULT DAPI Iis7FindAppHostElementVariant( + __in IAppHostElementCollection *pCollection, + __in LPCWSTR wzElementName, + __in LPCWSTR wzAttributeName, + __in VARIANT* pvAttributeValue, + __out IAppHostElement** ppElement, + __out DWORD* pdwIndex + ); + +HRESULT DAPI Iis7EnumAppHostElements( + __in IAppHostElementCollection *pCollection, + __in ENUMAPHOSTELEMENTPROC pCallback, + __in LPVOID pContext, + __out IAppHostElement** ppElement, + __out DWORD* pdwIndex + ); + +HRESULT DAPI Iis7FindAppHostMethod( + __in IAppHostMethodCollection *pCollection, + __in LPCWSTR wzMethodName, + __out IAppHostMethod** ppMethod, + __out DWORD* pdwIndex + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/inetutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/inetutil.h new file mode 100644 index 0000000..4cbf510 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/inetutil.h @@ -0,0 +1,39 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseInternet(h) if (h) { ::InternetCloseHandle(h); h = NULL; } +#define ReleaseNullInternet(h) if (h) { ::InternetCloseHandle(h); h = NULL; } + + +// functions +HRESULT DAPI InternetGetSizeByHandle( + __in HINTERNET hiFile, + __out LONGLONG* pllSize + ); + +HRESULT DAPI InternetGetCreateTimeByHandle( + __in HINTERNET hiFile, + __out LPFILETIME pft + ); + +HRESULT DAPI InternetQueryInfoString( + __in HINTERNET h, + __in DWORD dwInfo, + __deref_out_z LPWSTR* psczValue + ); + +HRESULT DAPI InternetQueryInfoNumber( + __in HINTERNET h, + __in DWORD dwInfo, + __out LONG* plInfo + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/iniutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/iniutil.h new file mode 100644 index 0000000..d089c24 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/iniutil.h @@ -0,0 +1,73 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseIni(ih) if (ih) { IniUninitialize(ih); } +#define ReleaseNullIni(ih) if (ih) { IniUninitialize(ih); ih = NULL; } + +typedef void* INI_HANDLE; +typedef const void* C_INI_HANDLE; + +extern const int INI_HANDLE_BYTES; + +struct INI_VALUE +{ + LPCWSTR wzName; + LPCWSTR wzValue; + + DWORD dwLineNumber; +}; + +HRESULT DAPI IniInitialize( + __out_bcount(INI_HANDLE_BYTES) INI_HANDLE* piHandle + ); +void DAPI IniUninitialize( + __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle + ); +HRESULT DAPI IniSetOpenTag( + __inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, + __in_z_opt LPCWSTR wzOpenTagPrefix, + __in_z_opt LPCWSTR wzOpenTagPostfix + ); +HRESULT DAPI IniSetValueStyle( + __inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, + __in_z_opt LPCWSTR wzValuePrefix, + __in_z_opt LPCWSTR wzValueSeparator + ); +HRESULT DAPI IniSetCommentStyle( + __inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, + __in_z_opt LPCWSTR wzLinePrefix + ); +HRESULT DAPI IniParse( + __inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, + __in LPCWSTR wzPath, + __out_opt FILE_ENCODING *pfeEncodingFound + ); +HRESULT DAPI IniGetValueList( + __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, + __deref_out_ecount_opt(pcValues) INI_VALUE** prgivValues, + __out DWORD *pcValues + ); +HRESULT DAPI IniGetValue( + __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, + __in LPCWSTR wzValueName, + __deref_out_z LPWSTR* psczValue + ); +HRESULT DAPI IniSetValue( + __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, + __in LPCWSTR wzValueName, + __in_z_opt LPCWSTR wzValue + ); +HRESULT DAPI IniWriteFile( + __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, + __in_z_opt LPCWSTR wzPath, + __in FILE_ENCODING feOverrideEncoding + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/jsonutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/jsonutil.h new file mode 100644 index 0000000..b05e997 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/jsonutil.h @@ -0,0 +1,112 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum JSON_TOKEN +{ + JSON_TOKEN_NONE, + JSON_TOKEN_ARRAY_START, + JSON_TOKEN_ARRAY_VALUE, + JSON_TOKEN_ARRAY_END, + JSON_TOKEN_OBJECT_START, + JSON_TOKEN_OBJECT_KEY, + JSON_TOKEN_OBJECT_VALUE, + JSON_TOKEN_OBJECT_END, + JSON_TOKEN_VALUE, +} JSON_TOKEN; + +typedef struct _JSON_VALUE +{ +} JSON_VALUE; + +typedef struct _JSON_READER +{ + CRITICAL_SECTION cs; + LPWSTR sczJson; + + LPWSTR pwz; + JSON_TOKEN token; +} JSON_READER; + +typedef struct _JSON_WRITER +{ + CRITICAL_SECTION cs; + LPWSTR sczJson; + + JSON_TOKEN* rgTokenStack; + DWORD cTokens; + DWORD cMaxTokens; +} JSON_WRITER; + + +DAPI_(HRESULT) JsonInitializeReader( + __in_z LPCWSTR wzJson, + __in JSON_READER* pReader + ); + +DAPI_(void) JsonUninitializeReader( + __in JSON_READER* pReader + ); + +DAPI_(HRESULT) JsonReadNext( + __in JSON_READER* pReader, + __out JSON_TOKEN* pToken, + __out JSON_VALUE* pValue + ); + +DAPI_(HRESULT) JsonReadValue( + __in JSON_READER* pReader, + __in JSON_VALUE* pValue + ); + +DAPI_(HRESULT) JsonInitializeWriter( + __in JSON_WRITER* pWriter + ); + +DAPI_(void) JsonUninitializeWriter( + __in JSON_WRITER* pWriter + ); + +DAPI_(HRESULT) JsonWriteBool( + __in JSON_WRITER* pWriter, + __in BOOL fValue + ); + +DAPI_(HRESULT) JsonWriteNumber( + __in JSON_WRITER* pWriter, + __in DWORD dwValue + ); + +DAPI_(HRESULT) JsonWriteString( + __in JSON_WRITER* pWriter, + __in_z LPCWSTR wzValue + ); + +DAPI_(HRESULT) JsonWriteArrayStart( + __in JSON_WRITER* pWriter + ); + +DAPI_(HRESULT) JsonWriteArrayEnd( + __in JSON_WRITER* pWriter + ); + +DAPI_(HRESULT) JsonWriteObjectStart( + __in JSON_WRITER* pWriter + ); + +DAPI_(HRESULT) JsonWriteObjectKey( + __in JSON_WRITER* pWriter, + __in_z LPCWSTR wzKey + ); + +DAPI_(HRESULT) JsonWriteObjectEnd( + __in JSON_WRITER* pWriter + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/locutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/locutil.h new file mode 100644 index 0000000..7f3c7aa --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/locutil.h @@ -0,0 +1,132 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +struct LOC_STRING +{ + LPWSTR wzId; + LPWSTR wzText; + BOOL bOverridable; +}; + +const int LOC_CONTROL_NOT_SET = INT_MAX; + +struct LOC_CONTROL +{ + LPWSTR wzControl; + int nX; + int nY; + int nWidth; + int nHeight; + LPWSTR wzText; +}; + +const int WIX_LOCALIZATION_LANGUAGE_NOT_SET = INT_MAX; + +struct WIX_LOCALIZATION +{ + DWORD dwLangId; + + DWORD cLocStrings; + LOC_STRING* rgLocStrings; + + DWORD cLocControls; + LOC_CONTROL* rgLocControls; +}; + +/******************************************************************** + LocProbeForFile - Searches for a localization file on disk. + +*******************************************************************/ +HRESULT DAPI LocProbeForFile( + __in_z LPCWSTR wzBasePath, + __in_z LPCWSTR wzLocFileName, + __in_z_opt LPCWSTR wzLanguage, + __inout LPWSTR* psczPath + ); + +/******************************************************************** + LocProbeForFileEx - Searches for a localization file on disk. + useUILanguage should be set to TRUE. +*******************************************************************/ +extern "C" HRESULT DAPI LocProbeForFileEx( + __in_z LPCWSTR wzBasePath, + __in_z LPCWSTR wzLocFileName, + __in_z_opt LPCWSTR wzLanguage, + __inout LPWSTR* psczPath, + __in BOOL useUILanguage + ); + +/******************************************************************** + LocLoadFromFile - Loads a localization file + +*******************************************************************/ +HRESULT DAPI LocLoadFromFile( + __in_z LPCWSTR wzWxlFile, + __out WIX_LOCALIZATION** ppWixLoc + ); + +/******************************************************************** + LocLoadFromResource - loads a localization file from a module's data + resource. + + NOTE: The resource data must be UTF-8 encoded. +*******************************************************************/ +HRESULT DAPI LocLoadFromResource( + __in HMODULE hModule, + __in_z LPCSTR szResource, + __out WIX_LOCALIZATION** ppWixLoc + ); + +/******************************************************************** + LocFree - free memory allocated when loading a localization file + +*******************************************************************/ +void DAPI LocFree( + __in_opt WIX_LOCALIZATION* pWixLoc + ); + +/******************************************************************** + LocLocalizeString - replace any #(loc.id) in a string with the + correct sub string +*******************************************************************/ +HRESULT DAPI LocLocalizeString( + __in const WIX_LOCALIZATION* pWixLoc, + __inout LPWSTR* psczInput + ); + +/******************************************************************** + LocGetControl - returns a control's localization information +*******************************************************************/ +HRESULT DAPI LocGetControl( + __in const WIX_LOCALIZATION* pWixLoc, + __in_z LPCWSTR wzId, + __out LOC_CONTROL** ppLocControl + ); + +/******************************************************************** +LocGetString - returns a string's localization information +*******************************************************************/ +extern "C" HRESULT DAPI LocGetString( + __in const WIX_LOCALIZATION* pWixLoc, + __in_z LPCWSTR wzId, + __out LOC_STRING** ppLocString + ); + +/******************************************************************** +LocAddString - adds a localization string +*******************************************************************/ +extern "C" HRESULT DAPI LocAddString( + __in WIX_LOCALIZATION* pWixLoc, + __in_z LPCWSTR wzId, + __in_z LPCWSTR wzLocString, + __in BOOL bOverridable + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/logutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/logutil.h new file mode 100644 index 0000000..4f1f55c --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/logutil.h @@ -0,0 +1,200 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define LogExitOnFailure(x, i, f) if (FAILED(x)) { LogErrorId(x, i, NULL, NULL, NULL); ExitTrace(x, f); goto LExit; } +#define LogExitOnFailure1(x, i, f, s) if (FAILED(x)) { LogErrorId(x, i, s, NULL, NULL); ExitTrace1(x, f, s); goto LExit; } +#define LogExitOnFailure2(x, i, f, s, t) if (FAILED(x)) { LogErrorId(x, i, s, t, NULL); ExitTrace2(x, f, s, t); goto LExit; } +#define LogExitOnFailure3(x, i, f, s, t, u) if (FAILED(x)) { LogErrorId(x, i, s, t, u); ExitTrace3(x, f, s, t, u); goto LExit; } + +#define LogExitOnRootFailure(x, i, f) if (FAILED(x)) { LogErrorId(x, i, NULL, NULL, NULL); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, f); goto LExit; } +#define LogExitOnRootFailure1(x, i, f, s) if (FAILED(x)) { LogErrorId(x, i, s, NULL, NULL); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } +#define LogExitOnRootFailure2(x, i, f, s, t) if (FAILED(x)) { LogErrorId(x, i, s, t, NULL); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } +#define LogExitOnRootFailure3(x, i, f, s, t, u) if (FAILED(x)) { LogErrorId(x, i, s, t, u); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace3(x, f, s, t, u); goto LExit; } + +typedef HRESULT (DAPI *PFN_LOGSTRINGWORKRAW)( + __in_z LPCSTR szString, + __in_opt LPVOID pvContext + ); + +// enums + +// structs + +// functions +BOOL DAPI IsLogInitialized(); + +BOOL DAPI IsLogOpen(); + +void DAPI LogInitialize( + __in HMODULE hModule + ); + +HRESULT DAPI LogOpen( + __in_z_opt LPCWSTR wzDirectory, + __in_z LPCWSTR wzLog, + __in_z_opt LPCWSTR wzPostfix, + __in_z_opt LPCWSTR wzExt, + __in BOOL fAppend, + __in BOOL fHeader, + __out_z_opt LPWSTR* psczLogPath + ); + +void DAPI LogDisable(); + +void DAPI LogRedirect( + __in_opt PFN_LOGSTRINGWORKRAW vpfLogStringWorkRaw, + __in_opt LPVOID pvContext + ); + +HRESULT DAPI LogRename( + __in_z LPCWSTR wzNewPath + ); + +void DAPI LogClose( + __in BOOL fFooter + ); + +void DAPI LogUninitialize( + __in BOOL fFooter + ); + +BOOL DAPI LogIsOpen(); + +HRESULT DAPI LogSetSpecialParams( + __in_z_opt LPCWSTR wzSpecialBeginLine, + __in_z_opt LPCWSTR wzSpecialAfterTimeStamp, + __in_z_opt LPCWSTR wzSpecialEndLine + ); + +REPORT_LEVEL DAPI LogSetLevel( + __in REPORT_LEVEL rl, + __in BOOL fLogChange + ); + +REPORT_LEVEL DAPI LogGetLevel(); + +HRESULT DAPI LogGetPath( + __out_ecount_z(cchLogPath) LPWSTR pwzLogPath, + __in DWORD cchLogPath + ); + +HANDLE DAPI LogGetHandle(); + +HRESULT DAPIV LogString( + __in REPORT_LEVEL rl, + __in_z __format_string LPCSTR szFormat, + ... + ); + +HRESULT DAPI LogStringArgs( + __in REPORT_LEVEL rl, + __in_z __format_string LPCSTR szFormat, + __in va_list args + ); + +HRESULT DAPIV LogStringLine( + __in REPORT_LEVEL rl, + __in_z __format_string LPCSTR szFormat, + ... + ); + +HRESULT DAPI LogStringLineArgs( + __in REPORT_LEVEL rl, + __in_z __format_string LPCSTR szFormat, + __in va_list args + ); + +HRESULT DAPI LogIdModuleArgs( + __in REPORT_LEVEL rl, + __in DWORD dwLogId, + __in_opt HMODULE hModule, + __in va_list args + ); + +/* + * Wraps LogIdModuleArgs, so inline to save the function call + */ + +inline HRESULT LogId( + __in REPORT_LEVEL rl, + __in DWORD dwLogId, + ... + ) +{ + HRESULT hr = S_OK; + va_list args; + + va_start(args, dwLogId); + hr = LogIdModuleArgs(rl, dwLogId, NULL, args); + va_end(args); + + return hr; +} + + +/* + * Wraps LogIdModuleArgs, so inline to save the function call + */ + +inline HRESULT LogIdArgs( + __in REPORT_LEVEL rl, + __in DWORD dwLogId, + __in va_list args + ) +{ + return LogIdModuleArgs(rl, dwLogId, NULL, args); +} + +HRESULT DAPIV LogErrorString( + __in HRESULT hrError, + __in_z __format_string LPCSTR szFormat, + ... + ); + +HRESULT DAPI LogErrorStringArgs( + __in HRESULT hrError, + __in_z __format_string LPCSTR szFormat, + __in va_list args + ); + +HRESULT DAPI LogErrorIdModule( + __in HRESULT hrError, + __in DWORD dwLogId, + __in_opt HMODULE hModule, + __in_z_opt LPCWSTR wzString1, + __in_z_opt LPCWSTR wzString2, + __in_z_opt LPCWSTR wzString3 + ); + +inline HRESULT LogErrorId( + __in HRESULT hrError, + __in DWORD dwLogId, + __in_z_opt LPCWSTR wzString1, + __in_z_opt LPCWSTR wzString2, + __in_z_opt LPCWSTR wzString3 + ) +{ + return LogErrorIdModule(hrError, dwLogId, NULL, wzString1, wzString2, wzString3); +} + +HRESULT DAPI LogHeader(); + +HRESULT DAPI LogFooter(); + +HRESULT LogStringWorkRaw( + __in_z LPCSTR szLogData + ); + +// begin the switch of LogXXX to LogStringXXX +#define Log LogString +#define LogLine LogStringLine + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/memutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/memutil.h new file mode 100644 index 0000000..0030260 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/memutil.h @@ -0,0 +1,55 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseMem(p) if (p) { MemFree(p); } +#define ReleaseNullMem(p) if (p) { MemFree(p); p = NULL; } + +HRESULT DAPI MemInitialize(); +void DAPI MemUninitialize(); + +LPVOID DAPI MemAlloc( + __in SIZE_T cbSize, + __in BOOL fZero + ); +LPVOID DAPI MemReAlloc( + __in LPVOID pv, + __in SIZE_T cbSize, + __in BOOL fZero + ); +HRESULT DAPI MemReAllocSecure( + __in LPVOID pv, + __in SIZE_T cbSize, + __in BOOL fZero, + __deref_out LPVOID* ppvNew + ); +HRESULT DAPI MemEnsureArraySize( + __deref_out_bcount(cArray * cbArrayType) LPVOID* ppvArray, + __in DWORD cArray, + __in SIZE_T cbArrayType, + __in DWORD dwGrowthCount + ); +HRESULT DAPI MemInsertIntoArray( + __deref_out_bcount((cExistingArray + cNumInsertItems) * cbArrayType) LPVOID* ppvArray, + __in DWORD dwInsertIndex, + __in DWORD cNumInsertItems, + __in DWORD cExistingArray, + __in SIZE_T cbArrayType, + __in DWORD dwGrowthCount + ); + +HRESULT DAPI MemFree( + __in LPVOID pv + ); +SIZE_T DAPI MemSize( + __in LPCVOID pv + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/metautil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/metautil.h new file mode 100644 index 0000000..31f9ff5 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/metautil.h @@ -0,0 +1,52 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// structs + +// prototypes +HRESULT DAPI MetaFindWebBase( + __in IMSAdminBaseW* piMetabase, + __in_z LPCWSTR wzIP, + __in int iPort, + __in_z LPCWSTR wzHeader, + __in BOOL fSecure, + __out_ecount(cchWebBase) LPWSTR wzWebBase, + __in DWORD cchWebBase + ); +HRESULT DAPI MetaFindFreeWebBase( + __in IMSAdminBaseW* piMetabase, + __out_ecount(cchWebBase) LPWSTR wzWebBase, + __in DWORD cchWebBase + ); + +HRESULT DAPI MetaOpenKey( + __in IMSAdminBaseW* piMetabase, + __in METADATA_HANDLE mhKey, + __in_z LPCWSTR wzKey, + __in DWORD dwAccess, + __in DWORD cRetries, + __out METADATA_HANDLE* pmh + ); +HRESULT DAPI MetaGetValue( + __in IMSAdminBaseW* piMetabase, + __in METADATA_HANDLE mhKey, + __in_z LPCWSTR wzKey, + __inout METADATA_RECORD* pmr + ); +void DAPI MetaFreeValue( + __in METADATA_RECORD* pmr + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/osutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/osutil.h new file mode 100644 index 0000000..01f8d9c --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/osutil.h @@ -0,0 +1,39 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum OS_VERSION +{ + OS_VERSION_UNKNOWN, + OS_VERSION_WINNT, + OS_VERSION_WIN2000, + OS_VERSION_WINXP, + OS_VERSION_WIN2003, + OS_VERSION_VISTA, + OS_VERSION_WIN2008, + OS_VERSION_WIN7, + OS_VERSION_WIN2008_R2, + OS_VERSION_FUTURE +} OS_VERSION; + +void DAPI OsGetVersion( + __out OS_VERSION* pVersion, + __out DWORD* pdwServicePack + ); +HRESULT DAPI OsCouldRunPrivileged( + __out BOOL* pfPrivileged + ); +HRESULT DAPI OsIsRunningPrivileged( + __out BOOL* pfPrivileged + ); +HRESULT DAPI OsIsUacEnabled( + __out BOOL* pfUacEnabled + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/pathutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/pathutil.h new file mode 100644 index 0000000..99a1522 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/pathutil.h @@ -0,0 +1,228 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum PATH_EXPAND +{ + PATH_EXPAND_ENVIRONMENT = 0x0001, + PATH_EXPAND_FULLPATH = 0x0002, +} PATH_EXPAND; + + +/******************************************************************* + PathCommandLineAppend - appends a command line argument on to a + string such that ::CommandLineToArgv() will shred them correctly + (i.e. quote arguments with spaces in them). +********************************************************************/ +DAPI_(HRESULT) PathCommandLineAppend( + __deref_out_z LPWSTR* psczCommandLine, + __in_z LPCWSTR wzArgument + ); + +/******************************************************************* + PathFile - returns a pointer to the file part of the path. +********************************************************************/ +DAPI_(LPWSTR) PathFile( + __in_z LPCWSTR wzPath + ); + +/******************************************************************* + PathExtension - returns a pointer to the extension part of the path + (including the dot). +********************************************************************/ +DAPI_(LPCWSTR) PathExtension( + __in_z LPCWSTR wzPath + ); + +/******************************************************************* + PathGetDirectory - extracts the directory from a path. +********************************************************************/ +DAPI_(HRESULT) PathGetDirectory( + __in_z LPCWSTR wzPath, + __out LPWSTR *psczDirectory + ); + +/******************************************************************* +PathGetParentPath - extracts the parent directory from a full path. +********************************************************************/ +DAPI_(HRESULT) PathGetParentPath( + __in_z LPCWSTR wzPath, + __out LPWSTR *psczDirectory + ); + +/******************************************************************* + PathExpand - gets the full path to a file resolving environment + variables along the way. +********************************************************************/ +DAPI_(HRESULT) PathExpand( + __out LPWSTR *psczFullPath, + __in_z LPCWSTR wzRelativePath, + __in DWORD dwResolveFlags + ); + +/******************************************************************* + PathPrefix - prefixes a full path with \\?\ or \\?\UNC as + appropriate. +********************************************************************/ +DAPI_(HRESULT) PathPrefix( + __inout LPWSTR *psczFullPath + ); + +/******************************************************************* + PathFixedBackslashTerminate - appends a \ if path does not have it + already, but fails if the buffer is + insufficient. +********************************************************************/ +DAPI_(HRESULT) PathFixedBackslashTerminate( + __inout_ecount_z(cchPath) LPWSTR wzPath, + __in DWORD_PTR cchPath + ); + +/******************************************************************* + PathBackslashTerminate - appends a \ if path does not have it + already. +********************************************************************/ +DAPI_(HRESULT) PathBackslashTerminate( + __inout LPWSTR* psczPath + ); + +/******************************************************************* + PathForCurrentProcess - gets the full path to the currently executing + process or (optionally) a module inside the process. +********************************************************************/ +DAPI_(HRESULT) PathForCurrentProcess( + __inout LPWSTR *psczFullPath, + __in_opt HMODULE hModule + ); + +/******************************************************************* + PathRelativeToModule - gets the name of a file in the same + directory as the current process or (optionally) a module inside + the process +********************************************************************/ +DAPI_(HRESULT) PathRelativeToModule( + __inout LPWSTR *psczFullPath, + __in_opt LPCWSTR wzFileName, + __in_opt HMODULE hModule + ); + +/******************************************************************* + PathCreateTempFile + + Note: if wzDirectory is null, ::GetTempPath() will be used instead. + if wzFileNameTemplate is null, GetTempFileName() will be used instead. +*******************************************************************/ +DAPI_(HRESULT) PathCreateTempFile( + __in_opt LPCWSTR wzDirectory, + __in_opt __format_string LPCWSTR wzFileNameTemplate, + __in DWORD dwUniqueCount, + __in DWORD dwFileAttributes, + __out_opt LPWSTR* psczTempFile, + __out_opt HANDLE* phTempFile + ); + +/******************************************************************* + PathCreateTimeBasedTempFile - creates an empty temp file based on current + system time +********************************************************************/ +DAPI_(HRESULT) PathCreateTimeBasedTempFile( + __in_z_opt LPCWSTR wzDirectory, + __in_z LPCWSTR wzPrefix, + __in_z_opt LPCWSTR wzPostfix, + __in_z LPCWSTR wzExtension, + __deref_opt_out_z LPWSTR* psczTempFile, + __out_opt HANDLE* phTempFile + ); + +/******************************************************************* + PathCreateTempDirectory + + Note: if wzDirectory is null, ::GetTempPath() will be used instead. +*******************************************************************/ +DAPI_(HRESULT) PathCreateTempDirectory( + __in_opt LPCWSTR wzDirectory, + __in __format_string LPCWSTR wzDirectoryNameTemplate, + __in DWORD dwUniqueCount, + __out LPWSTR* psczTempDirectory + ); + +/******************************************************************* + PathGetKnownFolder - returns the path to a well-known shell folder + +*******************************************************************/ +DAPI_(HRESULT) PathGetKnownFolder( + __in int csidl, + __out LPWSTR* psczKnownFolder + ); + +/******************************************************************* + PathIsAbsolute - returns true if the path is absolute; false + otherwise. +*******************************************************************/ +DAPI_(BOOL) PathIsAbsolute( + __in_z LPCWSTR wzPath + ); + +/******************************************************************* + PathConcat - like .NET's Path.Combine, lets you build up a path + one piece -- file or directory -- at a time. +*******************************************************************/ +DAPI_(HRESULT) PathConcat( + __in_opt LPCWSTR wzPath1, + __in_opt LPCWSTR wzPath2, + __deref_out_z LPWSTR* psczCombined + ); + +/******************************************************************* + PathEnsureQuoted - ensures that a path is quoted; optionally, + this function also terminates a directory with a backslash + if it is not already. +*******************************************************************/ +DAPI_(HRESULT) PathEnsureQuoted( + __inout LPWSTR* ppszPath, + __in BOOL fDirectory + ); + +/******************************************************************* + PathCompare - compares the fully expanded path of the two paths using + ::CompareStringW(). +*******************************************************************/ +DAPI_(HRESULT) PathCompare( + __in_z LPCWSTR wzPath1, + __in_z LPCWSTR wzPath2, + __out int* pnResult + ); + +/******************************************************************* + PathCompress - sets the compression state on an existing file or + directory. A no-op on file systems that don't + support compression. +*******************************************************************/ +DAPI_(HRESULT) PathCompress( + __in_z LPCWSTR wzPath + ); + +/******************************************************************* +PathCanonicalizePath - wrapper around PathCanonicalizeW. +*******************************************************************/ +DAPI_(HRESULT) PathCanonicalizePath( + __in_z LPCWSTR wzPath, + __deref_out_z LPWSTR* psczCanonicalized + ); + +/******************************************************************* +PathDirectoryContainsPath - checks if wzPath is located inside + wzDirectory. +*******************************************************************/ +DAPI_(HRESULT) PathDirectoryContainsPath( + __in_z LPCWSTR wzDirectory, + __in_z LPCWSTR wzPath + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/perfutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/perfutil.h new file mode 100644 index 0000000..7557511 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/perfutil.h @@ -0,0 +1,24 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +// structs + + +// functions +void DAPI PerfInitialize( + ); +void DAPI PerfClickTime( + __out_opt LARGE_INTEGER* pliElapsed + ); +double DAPI PerfConvertToSeconds( + __in const LARGE_INTEGER* pli + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/polcutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/polcutil.h new file mode 100644 index 0000000..1361804 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/polcutil.h @@ -0,0 +1,39 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +const LPCWSTR POLICY_BURN_REGISTRY_PATH = L"WiX\\Burn"; + +/******************************************************************** +PolcReadNumber - reads a number from policy. + +NOTE: S_FALSE returned if policy not set. +NOTE: out is set to default on S_FALSE or any error. +********************************************************************/ +HRESULT DAPI PolcReadNumber( + __in_z LPCWSTR wzPolicyPath, + __in_z LPCWSTR wzPolicyName, + __in DWORD dwDefault, + __out DWORD* pdw + ); + +/******************************************************************** +PolcReadString - reads a string from policy. + +NOTE: S_FALSE returned if policy not set. +NOTE: out is set to default on S_FALSE or any error. +********************************************************************/ +HRESULT DAPI PolcReadString( + __in_z LPCWSTR wzPolicyPath, + __in_z LPCWSTR wzPolicyName, + __in_z_opt LPCWSTR wzDefault, + __deref_out_z LPWSTR* pscz + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/procutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/procutil.h new file mode 100644 index 0000000..00f3f35 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/procutil.h @@ -0,0 +1,75 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +// structs +typedef struct _PROC_FILESYSTEMREDIRECTION +{ + BOOL fDisabled; + LPVOID pvRevertState; +} PROC_FILESYSTEMREDIRECTION; + +HRESULT DAPI ProcElevated( + __in HANDLE hProcess, + __out BOOL* pfElevated + ); + +HRESULT DAPI ProcWow64( + __in HANDLE hProcess, + __out BOOL* pfWow64 + ); +HRESULT DAPI ProcDisableWowFileSystemRedirection( + __in PROC_FILESYSTEMREDIRECTION* pfsr + ); +HRESULT DAPI ProcRevertWowFileSystemRedirection( + __in PROC_FILESYSTEMREDIRECTION* pfsr + ); + +HRESULT DAPI ProcExec( + __in_z LPCWSTR wzExecutablePath, + __in_z_opt LPCWSTR wzCommandLine, + __in int nCmdShow, + __out HANDLE *phProcess + ); +HRESULT DAPI ProcExecute( + __in_z LPWSTR wzCommand, + __out HANDLE *phProcess, + __out_opt HANDLE *phChildStdIn, + __out_opt HANDLE *phChildStdOutErr + ); +HRESULT DAPI ProcWaitForCompletion( + __in HANDLE hProcess, + __in DWORD dwTimeout, + __out DWORD *pReturnCode + ); +HRESULT DAPI ProcWaitForIds( + __in_ecount(cProcessIds) const DWORD* pdwProcessIds, + __in DWORD cProcessIds, + __in DWORD dwMilliseconds + ); +HRESULT DAPI ProcCloseIds( + __in_ecount(cProcessIds) const DWORD* pdwProcessIds, + __in DWORD cProcessIds + ); + +// following code in proc2utl.cpp due to dependency on PSAPI.DLL. +HRESULT DAPI ProcFindAllIdsFromExeName( + __in_z LPCWSTR wzExeName, + __out DWORD** ppdwProcessIds, + __out DWORD* pcProcessIds + ); + +// following code in proc3utl.cpp due to dependency on Wtsapi32.DLL. +HRESULT DAPI ProcExecuteAsInteractiveUser( + __in_z LPCWSTR wzExecutablePath, + __in_z LPCWSTR wzCommand, + __out HANDLE *phProcess + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/regutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/regutil.h new file mode 100644 index 0000000..897b9d0 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/regutil.h @@ -0,0 +1,233 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + + +#define ReleaseRegKey(h) if (h) { ::RegCloseKey(h); h = NULL; } + +typedef enum REG_KEY_BITNESS +{ + REG_KEY_DEFAULT = 0, + REG_KEY_32BIT = 1, + REG_KEY_64BIT = 2 +} REG_KEY_BITNESS; + +typedef LSTATUS (APIENTRY *PFN_REGCREATEKEYEXW)( + __in HKEY hKey, + __in LPCWSTR lpSubKey, + __reserved DWORD Reserved, + __in_opt LPWSTR lpClass, + __in DWORD dwOptions, + __in REGSAM samDesired, + __in_opt CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes, + __out PHKEY phkResult, + __out_opt LPDWORD lpdwDisposition + ); +typedef LSTATUS (APIENTRY *PFN_REGOPENKEYEXW)( + __in HKEY hKey, + __in_opt LPCWSTR lpSubKey, + __reserved DWORD ulOptions, + __in REGSAM samDesired, + __out PHKEY phkResult + ); +typedef LSTATUS (APIENTRY *PFN_REGDELETEKEYEXW)( + __in HKEY hKey, + __in LPCWSTR lpSubKey, + __in REGSAM samDesired, + __reserved DWORD Reserved + ); +typedef LSTATUS (APIENTRY *PFN_REGDELETEKEYW)( + __in HKEY hKey, + __in LPCWSTR lpSubKey + ); +typedef LSTATUS (APIENTRY *PFN_REGENUMKEYEXW)( + __in HKEY hKey, + __in DWORD dwIndex, + __out LPWSTR lpName, + __inout LPDWORD lpcName, + __reserved LPDWORD lpReserved, + __inout LPWSTR lpClass, + __inout_opt LPDWORD lpcClass, + __out_opt PFILETIME lpftLastWriteTime + ); +typedef LSTATUS (APIENTRY *PFN_REGENUMVALUEW)( + __in HKEY hKey, + __in DWORD dwIndex, + __out LPWSTR lpValueName, + __inout LPDWORD lpcchValueName, + __reserved LPDWORD lpReserved, + __out_opt LPDWORD lpType, + __out_opt LPBYTE lpData, + __out_opt LPDWORD lpcbData + ); +typedef LSTATUS (APIENTRY *PFN_REGQUERYINFOKEYW)( + __in HKEY hKey, + __out LPWSTR lpClass, + __inout_opt LPDWORD lpcClass, + __reserved LPDWORD lpReserved, + __out_opt LPDWORD lpcSubKeys, + __out_opt LPDWORD lpcMaxSubKeyLen, + __out_opt LPDWORD lpcMaxClassLen, + __out_opt LPDWORD lpcValues, + __out_opt LPDWORD lpcMaxValueNameLen, + __out_opt LPDWORD lpcMaxValueLen, + __out_opt LPDWORD lpcbSecurityDescriptor, + __out_opt PFILETIME lpftLastWriteTime + ); +typedef LSTATUS (APIENTRY *PFN_REGQUERYVALUEEXW)( + __in HKEY hKey, + __in_opt LPCWSTR lpValueName, + __reserved LPDWORD lpReserved, + __out_opt LPDWORD lpType, + __out_bcount_part_opt(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData, + __inout_opt LPDWORD lpcbData + ); +typedef LSTATUS (APIENTRY *PFN_REGSETVALUEEXW)( + __in HKEY hKey, + __in_opt LPCWSTR lpValueName, + __reserved DWORD Reserved, + __in DWORD dwType, + __in_bcount_opt(cbData) CONST BYTE* lpData, + __in DWORD cbData + ); +typedef LSTATUS (APIENTRY *PFN_REGDELETEVALUEW)( + __in HKEY hKey, + __in_opt LPCWSTR lpValueName + ); + +HRESULT DAPI RegInitialize(); +void DAPI RegUninitialize(); + +void DAPI RegFunctionOverride( + __in_opt PFN_REGCREATEKEYEXW pfnRegCreateKeyExW, + __in_opt PFN_REGOPENKEYEXW pfnRegOpenKeyExW, + __in_opt PFN_REGDELETEKEYEXW pfnRegDeleteKeyExW, + __in_opt PFN_REGENUMKEYEXW pfnRegEnumKeyExW, + __in_opt PFN_REGENUMVALUEW pfnRegEnumValueW, + __in_opt PFN_REGQUERYINFOKEYW pfnRegQueryInfoKeyW, + __in_opt PFN_REGQUERYVALUEEXW pfnRegQueryValueExW, + __in_opt PFN_REGSETVALUEEXW pfnRegSetValueExW, + __in_opt PFN_REGDELETEVALUEW pfnRegDeleteValueW + ); +HRESULT DAPI RegCreate( + __in HKEY hkRoot, + __in_z LPCWSTR wzSubKey, + __in DWORD dwAccess, + __out HKEY* phk + ); +HRESULT DAPI RegCreateEx( + __in HKEY hkRoot, + __in_z LPCWSTR wzSubKey, + __in DWORD dwAccess, + __in BOOL fVolatile, + __in_opt SECURITY_ATTRIBUTES* pSecurityAttributes, + __out HKEY* phk, + __out_opt BOOL* pfCreated + ); +HRESULT DAPI RegOpen( + __in HKEY hkRoot, + __in_z LPCWSTR wzSubKey, + __in DWORD dwAccess, + __out HKEY* phk + ); +HRESULT DAPI RegDelete( + __in HKEY hkRoot, + __in_z LPCWSTR wzSubKey, + __in REG_KEY_BITNESS kbKeyBitness, + __in BOOL fDeleteTree + ); +HRESULT DAPI RegKeyEnum( + __in HKEY hk, + __in DWORD dwIndex, + __deref_out_z LPWSTR* psczKey + ); +HRESULT DAPI RegValueEnum( + __in HKEY hk, + __in DWORD dwIndex, + __deref_out_z LPWSTR* psczName, + __out_opt DWORD *pdwType + ); +HRESULT DAPI RegGetType( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __out DWORD *pdwType + ); +HRESULT DAPI RegReadBinary( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __deref_out_bcount_opt(*pcbBuffer) BYTE** ppbBuffer, + __out SIZE_T *pcbBuffer + ); +HRESULT DAPI RegReadString( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __deref_out_z LPWSTR* psczValue + ); +HRESULT DAPI RegReadStringArray( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __deref_out_ecount_opt(pcStrings) LPWSTR** prgsczStrings, + __out DWORD *pcStrings + ); +HRESULT DAPI RegReadVersion( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __out DWORD64* pdw64Version + ); +HRESULT DAPI RegReadNumber( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __out DWORD* pdwValue + ); +HRESULT DAPI RegReadQword( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __out DWORD64* pqwValue + ); +HRESULT DAPI RegWriteBinary( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __in_bcount(cbBuffer) const BYTE *pbBuffer, + __in DWORD cbBuffer + ); +HRESULT DAPI RegWriteString( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __in_z_opt LPCWSTR wzValue + ); +HRESULT DAPI RegWriteStringArray( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __in_ecount(cValues) LPWSTR *rgwzStrings, + __in DWORD cStrings + ); +HRESULT DAPI RegWriteStringFormatted( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __in __format_string LPCWSTR szFormat, + ... + ); +HRESULT DAPI RegWriteNumber( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __in DWORD dwValue + ); +HRESULT DAPI RegWriteQword( + __in HKEY hk, + __in_z_opt LPCWSTR wzName, + __in DWORD64 qwValue + ); +HRESULT DAPI RegQueryKey( + __in HKEY hk, + __out_opt DWORD* pcSubKeys, + __out_opt DWORD* pcValues + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/resrutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/resrutil.h new file mode 100644 index 0000000..1f4d8e1 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/resrutil.h @@ -0,0 +1,43 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT DAPI ResGetStringLangId( + __in_opt LPCWSTR wzPath, + __in UINT uID, + __out WORD *pwLangId + ); + +HRESULT DAPI ResReadString( + __in HINSTANCE hinst, + __in UINT uID, + __deref_out_z LPWSTR* ppwzString + ); + +HRESULT DAPI ResReadStringAnsi( + __in HINSTANCE hinst, + __in UINT uID, + __deref_out_z LPSTR* ppszString + ); + +HRESULT DAPI ResReadData( + __in_opt HINSTANCE hinst, + __in_z LPCSTR szDataName, + __deref_out_bcount(*pcb) PVOID *ppv, + __out DWORD *pcb + ); + +HRESULT DAPI ResExportDataToFile( + __in_z LPCSTR szDataName, + __in_z LPCWSTR wzTargetFile, + __in DWORD dwCreationDisposition + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/reswutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/reswutil.h new file mode 100644 index 0000000..31435ae --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/reswutil.h @@ -0,0 +1,31 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT DAPI ResWriteString( + __in_z LPCWSTR wzResourceFile, + __in DWORD dwDataId, + __in_z LPCWSTR wzData, + __in WORD wLangId + ); + +HRESULT DAPI ResWriteData( + __in_z LPCWSTR wzResourceFile, + __in_z LPCSTR szDataName, + __in PVOID pData, + __in DWORD cbData + ); + +HRESULT DAPI ResImportDataFromFile( + __in_z LPCWSTR wzTargetFile, + __in_z LPCWSTR wzSourceFile, + __in_z LPCSTR szDataName + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rexutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rexutil.h new file mode 100644 index 0000000..77f5604 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rexutil.h @@ -0,0 +1,54 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// defines +#define FILETABLESIZE 40 + +// structs +struct MEM_FILE +{ + LPCBYTE vpStart; + UINT uiCurrent; + UINT uiLength; +}; + +typedef enum FAKE_FILE_TYPE { NORMAL_FILE, MEMORY_FILE } FAKE_FILE_TYPE; + +typedef HRESULT (*REX_CALLBACK_PROGRESS)(BOOL fBeginFile, LPCWSTR wzFileId, LPVOID pvContext); +typedef VOID (*REX_CALLBACK_WRITE)(UINT cb); + + +struct FAKE_FILE // used __in internal file table +{ + BOOL fUsed; + FAKE_FILE_TYPE fftType; + MEM_FILE mfFile; // State for memory file + HANDLE hFile; // Handle for disk file +}; + +// functions +HRESULT RexInitialize(); +void RexUninitialize(); + +HRESULT RexExtract( + __in_z LPCSTR szResource, + __in_z LPCWSTR wzExtractId, + __in_z LPCWSTR wzExtractDir, + __in_z LPCWSTR wzExtractName, + __in REX_CALLBACK_PROGRESS pfnProgress, + __in REX_CALLBACK_WRITE pfnWrite, + __in LPVOID pvContext + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rmutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rmutil.h new file mode 100644 index 0000000..ce7bf25 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rmutil.h @@ -0,0 +1,46 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _RMU_SESSION *PRMU_SESSION; + +HRESULT DAPI RmuJoinSession( + __out PRMU_SESSION *ppSession, + __in_z LPCWSTR wzSessionKey + ); + +HRESULT DAPI RmuAddFile( + __in PRMU_SESSION pSession, + __in_z LPCWSTR wzPath + ); + +HRESULT DAPI RmuAddProcessById( + __in PRMU_SESSION pSession, + __in DWORD dwProcessId + ); + +HRESULT DAPI RmuAddProcessesByName( + __in PRMU_SESSION pSession, + __in_z LPCWSTR wzProcessName + ); + +HRESULT DAPI RmuAddService( + __in PRMU_SESSION pSession, + __in_z LPCWSTR wzServiceName + ); + +HRESULT DAPI RmuRegisterResources( + __in PRMU_SESSION pSession + ); + +HRESULT DAPI RmuEndSession( + __in PRMU_SESSION pSession + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rssutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rssutil.h new file mode 100644 index 0000000..064ab14 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/rssutil.h @@ -0,0 +1,89 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseRssChannel(p) if (p) { RssFreeChannel(p); } +#define ReleaseNullRssChannel(p) if (p) { RssFreeChannel(p); p = NULL; } + + +struct RSS_UNKNOWN_ATTRIBUTE +{ + LPWSTR wzNamespace; + LPWSTR wzAttribute; + LPWSTR wzValue; + + RSS_UNKNOWN_ATTRIBUTE* pNext; +}; + +struct RSS_UNKNOWN_ELEMENT +{ + LPWSTR wzNamespace; + LPWSTR wzElement; + LPWSTR wzValue; + + RSS_UNKNOWN_ATTRIBUTE* pAttributes; + RSS_UNKNOWN_ELEMENT* pNext; +}; + +struct RSS_ITEM +{ + LPWSTR wzTitle; + LPWSTR wzLink; + LPWSTR wzDescription; + + LPWSTR wzGuid; + FILETIME ftPublished; + + LPWSTR wzEnclosureUrl; + DWORD dwEnclosureSize; + LPWSTR wzEnclosureType; + + RSS_UNKNOWN_ELEMENT* pUnknownElements; +}; + +struct RSS_CHANNEL +{ + LPWSTR wzTitle; + LPWSTR wzLink; + LPWSTR wzDescription; + DWORD dwTimeToLive; + + RSS_UNKNOWN_ELEMENT* pUnknownElements; + + DWORD cItems; + RSS_ITEM rgItems[1]; +}; + +HRESULT DAPI RssInitialize( + ); + +void DAPI RssUninitialize( + ); + +HRESULT DAPI RssParseFromString( + __in_z LPCWSTR wzRssString, + __out RSS_CHANNEL **ppChannel + ); + +HRESULT DAPI RssParseFromFile( + __in_z LPCWSTR wzRssFile, + __out RSS_CHANNEL **ppChannel + ); + +// Adding this until we have the updated specstrings.h +#ifndef __in_xcount +#define __in_xcount(size) +#endif + +void DAPI RssFreeChannel( + __in_xcount(pChannel->cItems) RSS_CHANNEL *pChannel + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/sceutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/sceutil.h new file mode 100644 index 0000000..026b645 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/sceutil.h @@ -0,0 +1,261 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +typedef void* SCE_DATABASE_HANDLE; +typedef void* SCE_ROW_HANDLE; +typedef void* SCE_QUERY_HANDLE; +typedef void* SCE_QUERY_RESULTS_HANDLE; + +extern const int SCE_ROW_HANDLE_BYTES; +extern const int SCE_QUERY_HANDLE_BYTES; +extern const int SCE_QUERY_RESULTS_HANDLE_BYTES; + +#define ReleaseSceRow(prrh) if (prrh) { SceFreeRow(prrh); } +#define ReleaseNullSceRow(prrh) if (prrh) { SceFreeRow(prrh); prrh = NULL; } +#define ReleaseSceQuery(pqh) if (pqh) { SceFreeQuery(pqh); } +#define ReleaseNullSceQuery(pqh) if (pqh) { SceFreeQuery(pqh); pqh = NULL; } +#define ReleaseSceQueryResults(pqh) if (pqh) { SceFreeQueryResults(pqh); } +#define ReleaseNullSceQueryResults(pqh) if (pqh) { SceFreeQueryResults(pqh); pqh = NULL; } + +struct SCE_COLUMN_SCHEMA +{ + LPCWSTR wzName; + DBTYPE dbtColumnType; + DWORD dwLength; + BOOL fPrimaryKey; // If this column is the primary key + BOOL fNullable; + BOOL fAutoIncrement; + + LPWSTR wzRelationName; + DWORD dwForeignKeyTable; + DWORD dwForeignKeyColumn; +}; + +struct SCE_INDEX_SCHEMA +{ + LPWSTR wzName; + + DWORD *rgColumns; + DWORD cColumns; +}; + +struct SCE_TABLE_SCHEMA +{ + LPCWSTR wzName; + DWORD cColumns; + SCE_COLUMN_SCHEMA *rgColumns; + + DWORD cIndexes; + SCE_INDEX_SCHEMA *rgIndexes; + + // Internal to SCEUtil - consumers shouldn't access or modify + // TODO: enforce / hide in a handle of some sort? + IRowset *pIRowset; + IRowsetChange *pIRowsetChange; +}; + +struct SCE_DATABASE_SCHEMA +{ + DWORD cTables; + SCE_TABLE_SCHEMA *rgTables; +}; + +struct SCE_DATABASE +{ + SCE_DATABASE_HANDLE sdbHandle; + SCE_DATABASE_SCHEMA *pdsSchema; +}; + +HRESULT DAPI SceCreateDatabase( + __in_z LPCWSTR sczFile, + __deref_out SCE_DATABASE **ppDatabase + ); +HRESULT DAPI SceOpenDatabase( + __in_z LPCWSTR sczFile, + __in LPCWSTR wzSchemaType, + __in DWORD dwExpectedVersion, + __deref_out SCE_DATABASE **ppDatabase, + __in BOOL fReadOnly + ); +HRESULT DAPI SceEnsureDatabase( + __in_z LPCWSTR sczFile, + __in LPCWSTR wzSchemaType, + __in DWORD dwExpectedVersion, + __in SCE_DATABASE_SCHEMA *pdsSchema, + __deref_out SCE_DATABASE **ppDatabase + ); +HRESULT DAPI SceIsTableEmpty( + __in SCE_DATABASE *pDatabase, + __in DWORD dwTableIndex, + __out BOOL *pfEmpty + ); +HRESULT DAPI SceGetFirstRow( + __in SCE_DATABASE *pDatabase, + __in DWORD dwTableIndex, + __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle + ); +HRESULT DAPI SceGetNextRow( + __in SCE_DATABASE *pDatabase, + __in DWORD dwTableIndex, + __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle + ); +HRESULT DAPI SceBeginTransaction( + __in SCE_DATABASE *pDatabase + ); +HRESULT DAPI SceCommitTransaction( + __in SCE_DATABASE *pDatabase + ); +HRESULT DAPI SceRollbackTransaction( + __in SCE_DATABASE *pDatabase + ); +HRESULT DAPI SceDeleteRow( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle + ); +HRESULT DAPI ScePrepareInsert( + __in SCE_DATABASE *pDatabase, + __in DWORD dwTableIndex, + __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle + ); +HRESULT DAPI SceFinishUpdate( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle + ); +HRESULT DAPI SceSetColumnBinary( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, + __in DWORD dwColumnIndex, + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer + ); +HRESULT DAPI SceSetColumnDword( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, + __in DWORD dwColumnIndex, + __in const DWORD dwValue + ); +HRESULT DAPI SceSetColumnQword( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, + __in DWORD dwColumnIndex, + __in const DWORD64 qwValue + ); +HRESULT DAPI SceSetColumnBool( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, + __in DWORD dwColumnIndex, + __in const BOOL fValue + ); +HRESULT DAPI SceSetColumnString( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, + __in DWORD dwColumnIndex, + __in_z_opt LPCWSTR wzValue + ); +HRESULT DAPI SceSetColumnSystemTime( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, + __in DWORD dwColumnIndex, + __in const SYSTEMTIME *pst + ); +HRESULT DAPI SceSetColumnEmpty( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, + __in DWORD dwColumnIndex + ); +HRESULT DAPI SceGetColumnBinary( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, + __in DWORD dwColumnIndex, + __out_opt BYTE **ppbBuffer, + __inout SIZE_T *pcbBuffer + ); +HRESULT DAPI SceGetColumnDword( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, + __in DWORD dwColumnIndex, + __out DWORD *pdwValue + ); +HRESULT DAPI SceGetColumnQword( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, + __in DWORD dwColumnIndex, + __out DWORD64 *pqwValue + ); +HRESULT DAPI SceGetColumnBool( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, + __in DWORD dwColumnIndex, + __out BOOL *pfValue + ); +HRESULT DAPI SceGetColumnString( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, + __in DWORD dwColumnIndex, + __out_z LPWSTR *psczValue + ); +HRESULT DAPI SceGetColumnSystemTime( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, + __in DWORD dwColumnIndex, + __out SYSTEMTIME *pst + ); +HRESULT DAPI SceBeginQuery( + __in SCE_DATABASE *pDatabase, + __in DWORD dwTableIndex, + __in DWORD dwIndex, + __deref_out_bcount(SCE_QUERY_HANDLE_BYTES) SCE_QUERY_HANDLE *psqhHandle + ); +HRESULT DAPI SceSetQueryColumnBinary( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, + __in_bcount(cbBuffer) const BYTE* pbBuffer, + __in SIZE_T cbBuffer + ); +HRESULT DAPI SceSetQueryColumnDword( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, + __in const DWORD dwValue + ); +HRESULT DAPI SceSetQueryColumnQword( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, + __in const DWORD64 qwValue + ); +HRESULT DAPI SceSetQueryColumnBool( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, + __in const BOOL fValue + ); +HRESULT DAPI SceSetQueryColumnString( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, + __in_z_opt LPCWSTR wzString + ); +HRESULT DAPI SceSetQueryColumnSystemTime( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, + __in const SYSTEMTIME *pst + ); +HRESULT DAPI SceSetQueryColumnEmpty( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle + ); +HRESULT DAPI SceRunQueryExact( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE *psqhHandle, + __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle + ); +HRESULT DAPI SceRunQueryRange( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE *psqhHandle, + __deref_out_bcount(SCE_QUERY_RESULTS_BYTES) SCE_QUERY_RESULTS_HANDLE *psqrhHandle + ); +HRESULT DAPI SceGetNextResultRow( + __in_bcount(SCE_QUERY_RESULTS_BYTES) SCE_QUERY_RESULTS_HANDLE sqrhHandle, + __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle + ); +void DAPI SceCloseTable( + __in SCE_TABLE_SCHEMA *pTable + ); +HRESULT DAPI SceCloseDatabase( + __in SCE_DATABASE *pDatabase + ); +void DAPI SceFreeRow( + __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle + ); +void DAPI SceFreeQuery( + __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle + ); +void DAPI SceFreeQueryResults( + __in_bcount(SCE_QUERY_RESULTS_BYTES) SCE_QUERY_RESULTS_HANDLE sqrhHandle + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/shelutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/shelutil.h new file mode 100644 index 0000000..21e8267 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/shelutil.h @@ -0,0 +1,47 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifndef REFKNOWNFOLDERID +#define REFKNOWNFOLDERID REFGUID +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef BOOL (STDAPICALLTYPE *PFN_SHELLEXECUTEEXW)( + __inout LPSHELLEXECUTEINFOW lpExecInfo + ); + +void DAPI ShelFunctionOverride( + __in_opt PFN_SHELLEXECUTEEXW pfnShellExecuteExW + ); +HRESULT DAPI ShelExec( + __in_z LPCWSTR wzTargetPath, + __in_opt LPCWSTR wzParameters, + __in_opt LPCWSTR wzVerb, + __in_opt LPCWSTR wzWorkingDirectory, + __in int nShowCmd, + __in_opt HWND hwndParent, + __out_opt HANDLE* phProcess + ); +HRESULT DAPI ShelExecUnelevated( + __in_z LPCWSTR wzTargetPath, + __in_z_opt LPCWSTR wzParameters, + __in_z_opt LPCWSTR wzVerb, + __in_z_opt LPCWSTR wzWorkingDirectory, + __in int nShowCmd + ); +HRESULT DAPI ShelGetFolder( + __out_z LPWSTR* psczFolderPath, + __in int csidlFolder + ); +HRESULT DAPI ShelGetKnownFolder( + __out_z LPWSTR* psczFolderPath, + __in REFKNOWNFOLDERID rfidFolder + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/sqlutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/sqlutil.h new file mode 100644 index 0000000..ddf0932 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/sqlutil.h @@ -0,0 +1,136 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include +#include +#include + + +#ifdef __cplusplus +extern "C" { +#endif + +// Adding this until the SQL annotations are published to specstrings.h +#ifndef __sql_command +#define __sql_command +#endif + +// structs +struct SQL_FILESPEC +{ + WCHAR wzName[MAX_PATH]; + WCHAR wzFilename[MAX_PATH]; + WCHAR wzSize[MAX_PATH]; + WCHAR wzMaxSize[MAX_PATH]; + WCHAR wzGrow[MAX_PATH]; +}; + + +// functions +HRESULT DAPI SqlConnectDatabase( + __in_z LPCWSTR wzServer, + __in_z LPCWSTR wzInstance, + __in_z LPCWSTR wzDatabase, + __in BOOL fIntegratedAuth, + __in_z LPCWSTR wzUser, + __in_z LPCWSTR wzPassword, + __out IDBCreateSession** ppidbSession + ); +HRESULT DAPI SqlStartTransaction( + __in IDBCreateSession* pidbSession, + __out IDBCreateCommand** ppidbCommand, + __out ITransaction** ppit + ); +HRESULT DAPI SqlEndTransaction( + __in ITransaction* pit, + __in BOOL fCommit + ); +HRESULT DAPI SqlDatabaseExists( + __in_z LPCWSTR wzServer, + __in_z LPCWSTR wzInstance, + __in_z LPCWSTR wzDatabase, + __in BOOL fIntegratedAuth, + __in_z LPCWSTR wzUser, + __in_z LPCWSTR wzPassword, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlSessionDatabaseExists( + __in IDBCreateSession* pidbSession, + __in_z LPCWSTR wzDatabase, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlDatabaseEnsureExists( + __in_z LPCWSTR wzServer, + __in_z LPCWSTR wzInstance, + __in_z LPCWSTR wzDatabase, + __in BOOL fIntegratedAuth, + __in_z LPCWSTR wzUser, + __in_z LPCWSTR wzPassword, + __in_opt const SQL_FILESPEC* psfDatabase, + __in_opt const SQL_FILESPEC* psfLog, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlSessionDatabaseEnsureExists( + __in IDBCreateSession* pidbSession, + __in_z LPCWSTR wzDatabase, + __in_opt const SQL_FILESPEC* psfDatabase, + __in_opt const SQL_FILESPEC* psfLog, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlCreateDatabase( + __in_z LPCWSTR wzServer, + __in_z LPCWSTR wzInstance, + __in_z LPCWSTR wzDatabase, + __in BOOL fIntegratedAuth, + __in_z LPCWSTR wzUser, + __in_z LPCWSTR wzPassword, + __in_opt const SQL_FILESPEC* psfDatabase, + __in_opt const SQL_FILESPEC* psfLog, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlSessionCreateDatabase( + __in IDBCreateSession* pidbSession, + __in_z LPCWSTR wzDatabase, + __in_opt const SQL_FILESPEC* psfDatabase, + __in_opt const SQL_FILESPEC* psfLog, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlDropDatabase( + __in_z LPCWSTR wzServer, + __in_z LPCWSTR wzInstance, + __in_z LPCWSTR wzDatabase, + __in BOOL fIntegratedAuth, + __in_z LPCWSTR wzUser, + __in_z LPCWSTR wzPassword, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlSessionDropDatabase( + __in IDBCreateSession* pidbSession, + __in_z LPCWSTR wzDatabase, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlSessionExecuteQuery( + __in IDBCreateSession* pidbSession, + __in __sql_command LPCWSTR wzSql, + __out_opt IRowset** ppirs, + __out_opt DBROWCOUNT* pcRows, + __out_opt BSTR* pbstrErrorDescription + ); +HRESULT DAPI SqlCommandExecuteQuery( + __in IDBCreateCommand* pidbCommand, + __in __sql_command LPCWSTR wzSql, + __out IRowset** ppirs, + __out DBROWCOUNT* pcRows + ); +HRESULT DAPI SqlGetErrorInfo( + __in IUnknown* pObjectWithError, + __in REFIID IID_InterfaceWithError, + __in DWORD dwLocaleId, + __out_opt BSTR* pbstrErrorSource, + __out_opt BSTR* pbstrErrorDescription + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/srputil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/srputil.h new file mode 100644 index 0000000..95e9623 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/srputil.h @@ -0,0 +1,45 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + + +typedef enum SRP_ACTION +{ + SRP_ACTION_UNKNOWN, + SRP_ACTION_UNINSTALL, + SRP_ACTION_INSTALL, + SRP_ACTION_MODIFY, +} SRP_ACTION; + + +/******************************************************************** + SrpInitialize - initializes system restore point functionality. + +*******************************************************************/ +DAPI_(HRESULT) SrpInitialize( + __in BOOL fInitializeComSecurity + ); + +/******************************************************************** + SrpUninitialize - uninitializes system restore point functionality. + +*******************************************************************/ +DAPI_(void) SrpUninitialize(); + +/******************************************************************** + SrpCreateRestorePoint - creates a system restore point. + +*******************************************************************/ +DAPI_(HRESULT) SrpCreateRestorePoint( + __in_z LPCWSTR wzApplicationName, + __in SRP_ACTION action + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/strutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/strutil.h new file mode 100644 index 0000000..1a2ed1d --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/strutil.h @@ -0,0 +1,311 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseStr(pwz) if (pwz) { StrFree(pwz); } +#define ReleaseNullStr(pwz) if (pwz) { StrFree(pwz); pwz = NULL; } +#define ReleaseBSTR(bstr) if (bstr) { ::SysFreeString(bstr); } +#define ReleaseNullBSTR(bstr) if (bstr) { ::SysFreeString(bstr); bstr = NULL; } +#define ReleaseStrArray(rg, c) { if (rg) { StrArrayFree(rg, c); } } +#define ReleaseNullStrArray(rg, c) { if (rg) { StrArrayFree(rg, c); c = 0; rg = NULL; } } +#define ReleaseNullStrSecure(pwz) if (pwz) { StrSecureZeroFreeString(pwz); pwz = NULL; } + +#define DeclareConstBSTR(bstr_const, wz) const WCHAR bstr_const[] = { 0x00, 0x00, sizeof(wz)-sizeof(WCHAR), 0x00, wz } +#define UseConstBSTR(bstr_const) const_cast(bstr_const + 4) + +HRESULT DAPI StrAlloc( + __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, + __in DWORD_PTR cch + ); +HRESULT DAPI StrAllocSecure( + __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, + __in DWORD_PTR cch + ); +HRESULT DAPI StrTrimCapacity( + __deref_out_z LPWSTR* ppwz + ); +HRESULT DAPI StrTrimWhitespace( + __deref_out_z LPWSTR* ppwz, + __in_z LPCWSTR wzSource + ); +HRESULT DAPI StrAnsiAlloc( + __deref_out_ecount_part(cch, 0) LPSTR* ppz, + __in DWORD_PTR cch + ); +HRESULT DAPI StrAnsiTrimCapacity( + __deref_out_z LPSTR* ppz + ); +HRESULT DAPI StrAnsiTrimWhitespace( + __deref_out_z LPSTR* ppz, + __in_z LPCSTR szSource + ); +HRESULT DAPI StrAllocString( + __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, + __in_z LPCWSTR wzSource, + __in DWORD_PTR cchSource + ); +HRESULT DAPI StrAllocStringSecure( + __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, + __in_z LPCWSTR wzSource, + __in DWORD_PTR cchSource + ); +HRESULT DAPI StrAnsiAllocString( + __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, + __in_z LPCWSTR wzSource, + __in DWORD_PTR cchSource, + __in UINT uiCodepage + ); +HRESULT DAPI StrAllocStringAnsi( + __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, + __in_z LPCSTR szSource, + __in DWORD_PTR cchSource, + __in UINT uiCodepage + ); +HRESULT DAPI StrAnsiAllocStringAnsi( + __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, + __in_z LPCSTR szSource, + __in DWORD_PTR cchSource + ); +HRESULT DAPI StrAllocPrefix( + __deref_out_z LPWSTR* ppwz, + __in_z LPCWSTR wzPrefix, + __in DWORD_PTR cchPrefix + ); +HRESULT DAPI StrAllocConcat( + __deref_out_z LPWSTR* ppwz, + __in_z LPCWSTR wzSource, + __in DWORD_PTR cchSource + ); +HRESULT DAPI StrAllocConcatSecure( + __deref_out_z LPWSTR* ppwz, + __in_z LPCWSTR wzSource, + __in DWORD_PTR cchSource + ); +HRESULT DAPI StrAnsiAllocConcat( + __deref_out_z LPSTR* ppz, + __in_z LPCSTR pzSource, + __in DWORD_PTR cchSource + ); +HRESULT __cdecl StrAllocFormatted( + __deref_out_z LPWSTR* ppwz, + __in __format_string LPCWSTR wzFormat, + ... + ); +HRESULT __cdecl StrAllocConcatFormatted( + __deref_out_z LPWSTR* ppwz, + __in __format_string LPCWSTR wzFormat, + ... + ); +HRESULT __cdecl StrAllocFormattedSecure( + __deref_out_z LPWSTR* ppwz, + __in __format_string LPCWSTR wzFormat, + ... + ); +HRESULT __cdecl StrAnsiAllocFormatted( + __deref_out_z LPSTR* ppsz, + __in __format_string LPCSTR szFormat, + ... + ); +HRESULT DAPI StrAllocFormattedArgs( + __deref_out_z LPWSTR* ppwz, + __in __format_string LPCWSTR wzFormat, + __in va_list args + ); +HRESULT DAPI StrAllocFormattedArgsSecure( + __deref_out_z LPWSTR* ppwz, + __in __format_string LPCWSTR wzFormat, + __in va_list args + ); +HRESULT DAPI StrAnsiAllocFormattedArgs( + __deref_out_z LPSTR* ppsz, + __in __format_string LPCSTR szFormat, + __in va_list args + ); +HRESULT DAPI StrAllocFromError( + __inout LPWSTR *ppwzMessage, + __in HRESULT hrError, + __in_opt HMODULE hModule, + ... + ); + +HRESULT DAPI StrMaxLength( + __in LPCVOID p, + __out DWORD_PTR* pcch + ); +HRESULT DAPI StrSize( + __in LPCVOID p, + __out DWORD_PTR* pcb + ); + +HRESULT DAPI StrFree( + __in LPVOID p + ); + + +HRESULT DAPI StrReplaceStringAll( + __inout LPWSTR* ppwzOriginal, + __in_z LPCWSTR wzOldSubString, + __in_z LPCWSTR wzNewSubString + ); +HRESULT DAPI StrReplaceString( + __inout LPWSTR* ppwzOriginal, + __inout DWORD* pdwStartIndex, + __in_z LPCWSTR wzOldSubString, + __in_z LPCWSTR wzNewSubString + ); + +HRESULT DAPI StrHexEncode( + __in_ecount(cbSource) const BYTE* pbSource, + __in DWORD_PTR cbSource, + __out_ecount(cchDest) LPWSTR wzDest, + __in DWORD_PTR cchDest + ); +HRESULT DAPI StrAllocHexEncode( + __in_ecount(cbSource) const BYTE* pbSource, + __in DWORD_PTR cbSource, + __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest + ); +HRESULT DAPI StrHexDecode( + __in_z LPCWSTR wzSource, + __out_bcount(cbDest) BYTE* pbDest, + __in DWORD_PTR cbDest + ); +HRESULT DAPI StrAllocHexDecode( + __in_z LPCWSTR wzSource, + __out_bcount(*pcbDest) BYTE** ppbDest, + __out_opt DWORD* pcbDest + ); + +HRESULT DAPI StrAllocBase85Encode( + __in_bcount_opt(cbSource) const BYTE* pbSource, + __in DWORD_PTR cbSource, + __deref_out_z LPWSTR* pwzDest + ); +HRESULT DAPI StrAllocBase85Decode( + __in_z LPCWSTR wzSource, + __deref_out_bcount(*pcbDest) BYTE** hbDest, + __out DWORD_PTR* pcbDest + ); + +HRESULT DAPI MultiSzLen( + __in_ecount(*pcch) __nullnullterminated LPCWSTR pwzMultiSz, + __out DWORD_PTR* pcch + ); +HRESULT DAPI MultiSzPrepend( + __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz, + __inout_opt DWORD_PTR *pcchMultiSz, + __in __nullnullterminated LPCWSTR pwzInsert + ); +HRESULT DAPI MultiSzFindSubstring( + __in __nullnullterminated LPCWSTR pwzMultiSz, + __in __nullnullterminated LPCWSTR pwzSubstring, + __out_opt DWORD_PTR* pdwIndex, + __deref_opt_out_z LPCWSTR* ppwzFoundIn + ); +HRESULT DAPI MultiSzFindString( + __in __nullnullterminated LPCWSTR pwzMultiSz, + __in __nullnullterminated LPCWSTR pwzString, + __out_opt DWORD_PTR* pdwIndex, + __deref_opt_out __nullnullterminated LPCWSTR* ppwzFound + ); +HRESULT DAPI MultiSzRemoveString( + __deref_inout __nullnullterminated LPWSTR* ppwzMultiSz, + __in DWORD_PTR dwIndex + ); +HRESULT DAPI MultiSzInsertString( + __deref_inout_z LPWSTR* ppwzMultiSz, + __inout_opt DWORD_PTR *pcchMultiSz, + __in DWORD_PTR dwIndex, + __in_z LPCWSTR pwzInsert + ); +HRESULT DAPI MultiSzReplaceString( + __deref_inout __nullnullterminated LPWSTR* ppwzMultiSz, + __in DWORD_PTR dwIndex, + __in_z LPCWSTR pwzString + ); + +LPCWSTR DAPI wcsistr( + __in_z LPCWSTR wzString, + __in_z LPCWSTR wzCharSet + ); + +HRESULT DAPI StrStringToInt16( + __in_z LPCWSTR wzIn, + __in DWORD cchIn, + __out SHORT* psOut + ); +HRESULT DAPI StrStringToUInt16( + __in_z LPCWSTR wzIn, + __in DWORD cchIn, + __out USHORT* pusOut + ); +HRESULT DAPI StrStringToInt32( + __in_z LPCWSTR wzIn, + __in DWORD cchIn, + __out INT* piOut + ); +HRESULT DAPI StrStringToUInt32( + __in_z LPCWSTR wzIn, + __in DWORD cchIn, + __out UINT* puiOut + ); +HRESULT DAPI StrStringToInt64( + __in_z LPCWSTR wzIn, + __in DWORD cchIn, + __out LONGLONG* pllOut + ); +HRESULT DAPI StrStringToUInt64( + __in_z LPCWSTR wzIn, + __in DWORD cchIn, + __out ULONGLONG* pullOut + ); +void DAPI StrStringToUpper( + __inout_z LPWSTR wzIn + ); +void DAPI StrStringToLower( + __inout_z LPWSTR wzIn + ); +HRESULT DAPI StrAllocStringToUpperInvariant( + __deref_out_z LPWSTR* pscz, + __in_z LPCWSTR wzSource, + __in int cchSource + ); +HRESULT DAPI StrAllocStringToLowerInvariant( + __deref_out_z LPWSTR* pscz, + __in_z LPCWSTR wzSource, + __in int cchSource + ); + +HRESULT DAPI StrArrayAllocString( + __deref_inout_ecount_opt(*pcStrArray) LPWSTR **prgsczStrArray, + __inout LPUINT pcStrArray, + __in_z LPCWSTR wzSource, + __in DWORD_PTR cchSource + ); + +HRESULT DAPI StrArrayFree( + __in_ecount(cStrArray) LPWSTR *rgsczStrArray, + __in UINT cStrArray + ); + +HRESULT DAPI StrSplitAllocArray( + __deref_inout_ecount_opt(*pcStrArray) LPWSTR **prgsczStrArray, + __inout LPUINT pcStrArray, + __in_z LPCWSTR wzSource, + __in_z LPCWSTR wzDelim + ); + +HRESULT DAPI StrSecureZeroString( + __in LPWSTR pwz + ); +HRESULT DAPI StrSecureZeroFreeString( + __in LPWSTR pwz + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/svcutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/svcutil.h new file mode 100644 index 0000000..80d6326 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/svcutil.h @@ -0,0 +1,21 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + + +#define ReleaseServiceHandle(h) if (h) { ::CloseServiceHandle(h); h = NULL; } + + +HRESULT DAPI SvcQueryConfig( + __in SC_HANDLE sch, + __out QUERY_SERVICE_CONFIGW** ppConfig + ); + + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/thmutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/thmutil.h new file mode 100644 index 0000000..6ac9335 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/thmutil.h @@ -0,0 +1,556 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseTheme(p) if (p) { ThemeFree(p); p = NULL; } + +typedef enum THEME_CONTROL_DATA +{ + THEME_CONTROL_DATA_HOVER = 1, +} THEME_CONTROL_DATA; + +typedef enum THEME_CONTROL_TYPE +{ + THEME_CONTROL_TYPE_UNKNOWN, + THEME_CONTROL_TYPE_BILLBOARD, + THEME_CONTROL_TYPE_BUTTON, + THEME_CONTROL_TYPE_CHECKBOX, + THEME_CONTROL_TYPE_EDITBOX, + THEME_CONTROL_TYPE_HYPERLINK, + THEME_CONTROL_TYPE_HYPERTEXT, + THEME_CONTROL_TYPE_IMAGE, + THEME_CONTROL_TYPE_PROGRESSBAR, + THEME_CONTROL_TYPE_RICHEDIT, + THEME_CONTROL_TYPE_STATIC, + THEME_CONTROL_TYPE_TEXT, + THEME_CONTROL_TYPE_LISTVIEW, + THEME_CONTROL_TYPE_TREEVIEW, + THEME_CONTROL_TYPE_TAB, + THEME_CONTROL_TYPE_COMBOBOX, +} THEME_CONTROL_TYPE; + + +struct THEME_BILLBOARD +{ + HBITMAP hImage; + LPWSTR sczUrl; +}; + + +struct THEME_COLUMN +{ + LPWSTR pszName; + UINT uStringId; + int nBaseWidth; + int nWidth; + BOOL fExpands; +}; + + +struct THEME_TAB +{ + LPWSTR pszName; + UINT uStringId; +}; + +// THEME_ASSIGN_CONTROL_ID - Used to apply a specific id to a named control (usually +// to set the WM_COMMAND). +struct THEME_ASSIGN_CONTROL_ID +{ + WORD wId; // id to apply to control + LPCWSTR wzName; // name of control to match +}; + +const DWORD THEME_FIRST_ASSIGN_CONTROL_ID = 1024; // Recommended first control id to be assigned. + +struct THEME_CONTROL +{ + THEME_CONTROL_TYPE type; + + WORD wId; + WORD wPageId; + + LPWSTR sczName; // optional name for control, only used to apply control id. + LPWSTR sczText; + int nX; + int nY; + int nHeight; + int nWidth; + int nSourceX; + int nSourceY; + UINT uStringId; + + HBITMAP hImage; + + // Don't free these; it's just a handle to the central image lists stored in THEME. The handle is freed once, there. + HIMAGELIST rghImageList[4]; + + DWORD dwStyle; + DWORD dwExtendedStyle; + DWORD dwInternalStyle; + + DWORD dwFontId; + DWORD dwFontHoverId; + DWORD dwFontSelectedId; + + // Used by billboard controls + THEME_BILLBOARD* ptbBillboards; + DWORD cBillboards; + WORD wBillboardInterval; + WORD wBillboardUrls; + BOOL fBillboardLoops; + + // Used by listview controls + THEME_COLUMN *ptcColumns; + DWORD cColumns; + + // Used by tab controls + THEME_TAB *pttTabs; + DWORD cTabs; + + // state variables that should be ignored + HWND hWnd; + DWORD dwData; // type specific data +}; + + +struct THEME_IMAGELIST +{ + LPWSTR sczName; + + HIMAGELIST hImageList; +}; + +struct THEME_PAGE +{ + WORD wId; + LPWSTR sczName; + + DWORD cControlIndices; + DWORD* rgdwControlIndices; +}; + +struct THEME_FONT +{ + HFONT hFont; + COLORREF crForeground; + HBRUSH hForeground; + COLORREF crBackground; + HBRUSH hBackground; +}; + + +struct THEME +{ + WORD wId; + + BOOL fAutoResize; + + DWORD dwStyle; + DWORD dwFontId; + HANDLE hIcon; + LPWSTR sczCaption; + int nHeight; + int nMinimumHeight; + int nWidth; + int nMinimumWidth; + int nSourceX; + int nSourceY; + UINT uStringId; + + HBITMAP hImage; + + DWORD cFonts; + THEME_FONT* rgFonts; + + DWORD cPages; + THEME_PAGE* rgPages; + + DWORD cImageLists; + THEME_IMAGELIST* rgImageLists; + + DWORD cControls; + THEME_CONTROL* rgControls; + + // state variables that should be ignored + HWND hwndParent; // parent for loaded controls + HWND hwndHover; // current hwnd hovered over +}; + + +/******************************************************************** + ThemeInitialize - initialized theme management. + +*******************************************************************/ +DAPI_(HRESULT) ThemeInitialize( + __in_opt HMODULE hModule + ); + +/******************************************************************** + ThemeUninitialize - unitialize theme management. + +*******************************************************************/ +DAPI_(void) ThemeUninitialize(); + +/******************************************************************** + ThemeLoadFromFile - loads a theme from a loose file. + + *******************************************************************/ +DAPI_(HRESULT) ThemeLoadFromFile( + __in_z LPCWSTR wzThemeFile, + __out THEME** ppTheme + ); + +/******************************************************************** + ThemeLoadFromResource - loads a theme from a module's data resource. + + NOTE: The resource data must be UTF-8 encoded. +*******************************************************************/ +DAPI_(HRESULT) ThemeLoadFromResource( + __in_opt HMODULE hModule, + __in_z LPCSTR szResource, + __out THEME** ppTheme + ); + +/******************************************************************** + ThemeFree - frees any memory associated with a theme. + +*******************************************************************/ +DAPI_(void) ThemeFree( + __in THEME* pTheme + ); + +/******************************************************************** + ThemeLoadControls - creates the windows for all the theme controls. + +*******************************************************************/ +DAPI_(HRESULT) ThemeLoadControls( + __in THEME* pTheme, + __in HWND hwndParent, + __in_ecount_opt(cAssignControlIds) const THEME_ASSIGN_CONTROL_ID* rgAssignControlIds, + __in DWORD cAssignControlIds + ); + +/******************************************************************** + ThemeUnloadControls - resets all the theme control windows so the theme + controls can be reloaded. + +*******************************************************************/ +DAPI_(void) ThemeUnloadControls( + __in THEME* pTheme + ); + +/******************************************************************** + ThemeLocalize - Localizes all of the strings in the theme. + +*******************************************************************/ +DAPI_(HRESULT) ThemeLocalize( + __in THEME *pTheme, + __in const WIX_LOCALIZATION *pLocStringSet + ); + +DAPI_(HRESULT) ThemeLoadStrings( + __in THEME* pTheme, + __in HMODULE hResModule + ); + +/******************************************************************** + ThemeLoadRichEditFromFile - Attach a richedit control to a RTF file. + + *******************************************************************/ +DAPI_(HRESULT) ThemeLoadRichEditFromFile( + __in THEME* pTheme, + __in DWORD dwControl, + __in_z LPCWSTR wzFileName, + __in HMODULE hModule + ); + +/******************************************************************** + ThemeLoadRichEditFromResource - Attach a richedit control to resource data. + + *******************************************************************/ +DAPI_(HRESULT) ThemeLoadRichEditFromResource( + __in THEME* pTheme, + __in DWORD dwControl, + __in_z LPCSTR szResourceName, + __in HMODULE hModule + ); + +/******************************************************************** + ThemeLoadRichEditFromResourceToHWnd - Attach a richedit control (by + HWND) to resource data. + + *******************************************************************/ +DAPI_(HRESULT) ThemeLoadRichEditFromResourceToHWnd( + __in HWND hWnd, + __in_z LPCSTR szResourceName, + __in HMODULE hModule + ); + +/******************************************************************** + ThemeHandleKeyboardMessage - will translate the message using the active + accelerator table. + +*******************************************************************/ +DAPI_(BOOL) ThemeHandleKeyboardMessage( + __in_opt THEME* pTheme, + __in HWND hWnd, + __in MSG* pMsg + ); + +/******************************************************************** + ThemeDefWindowProc - replacement for DefWindowProc() when using theme. + +*******************************************************************/ +LRESULT CALLBACK ThemeDefWindowProc( + __in_opt THEME* pTheme, + __in HWND hWnd, + __in UINT uMsg, + __in WPARAM wParam, + __in LPARAM lParam + ); + +/******************************************************************** + ThemeGetPageIds - gets the page ids for the theme via page names. + +*******************************************************************/ +DAPI_(void) ThemeGetPageIds( + __in const THEME* pTheme, + __in_ecount(cGetPages) LPCWSTR* rgwzFindNames, + __in_ecount(cGetPages) DWORD* rgdwPageIds, + __in DWORD cGetPages + ); + +/******************************************************************** + ThemeGetPage - gets a theme page by id. + + *******************************************************************/ +DAPI_(THEME_PAGE*) ThemeGetPage( + __in const THEME* pTheme, + __in DWORD dwPage + ); + +/******************************************************************** + ThemeShowPage - shows or hides all of the controls in the page at one time. + + *******************************************************************/ +DAPI_(void) ThemeShowPage( + __in THEME* pTheme, + __in DWORD dwPage, + __in int nCmdShow + ); + +/******************************************************************** + ThemeControlExists - check if a control with the specified id exists. + + *******************************************************************/ +DAPI_(BOOL) ThemeControlExists( + __in THEME* pTheme, + __in DWORD dwControl + ); + +/******************************************************************** + ThemeControlEnable - enables/disables a control. + + *******************************************************************/ +DAPI_(void) ThemeControlEnable( + __in THEME* pTheme, + __in DWORD dwControl, + __in BOOL fEnable + ); + +/******************************************************************** + ThemeControlEnabled - returns whether a control is enabled/disabled. + + *******************************************************************/ +DAPI_(BOOL) ThemeControlEnabled( + __in THEME* pTheme, + __in DWORD dwControl + ); + +/******************************************************************** + ThemeControlElevates - sets/removes the shield icon on a control. + + *******************************************************************/ +DAPI_(void) ThemeControlElevates( + __in THEME* pTheme, + __in DWORD dwControl, + __in BOOL fElevates + ); + +/******************************************************************** + ThemeShowControl - shows/hides a control. + + *******************************************************************/ +DAPI_(void) ThemeShowControl( + __in THEME* pTheme, + __in DWORD dwControl, + __in int nCmdShow + ); + +/******************************************************************** + ThemeControlVisible - returns whether a control is visible. + + *******************************************************************/ +DAPI_(BOOL) ThemeControlVisible( + __in THEME* pTheme, + __in DWORD dwControl + ); + +DAPI_(BOOL) ThemePostControlMessage( + __in THEME* pTheme, + __in DWORD dwControl, + __in UINT Msg, + __in WPARAM wParam, + __in LPARAM lParam + ); + +DAPI_(LRESULT) ThemeSendControlMessage( + __in THEME* pTheme, + __in DWORD dwControl, + __in UINT Msg, + __in WPARAM wParam, + __in LPARAM lParam + ); + +/******************************************************************** + ThemeDrawBackground - draws the theme background. + +*******************************************************************/ +DAPI_(HRESULT) ThemeDrawBackground( + __in THEME* pTheme, + __in PAINTSTRUCT* pps + ); + +/******************************************************************** + ThemeDrawControl - draw an owner drawn control. + +*******************************************************************/ +DAPI_(HRESULT) ThemeDrawControl( + __in THEME* pTheme, + __in DRAWITEMSTRUCT* pdis + ); + +/******************************************************************** + ThemeHoverControl - mark a control as hover. + +*******************************************************************/ +DAPI_(BOOL) ThemeHoverControl( + __in THEME* pTheme, + __in HWND hwndParent, + __in HWND hwndControl + ); + +/******************************************************************** + ThemeIsControlChecked - gets whether a control is checked. Only + really useful for checkbox controls. + +*******************************************************************/ +DAPI_(BOOL) ThemeIsControlChecked( + __in THEME* pTheme, + __in DWORD dwControl + ); + +/******************************************************************** + ThemeSetControlColor - sets the color of text for a control. + +*******************************************************************/ +DAPI_(BOOL) ThemeSetControlColor( + __in THEME* pTheme, + __in HDC hdc, + __in HWND hWnd, + __out HBRUSH* phBackgroundBrush + ); + +/******************************************************************** + ThemeStartBillboard - starts a billboard control changing images according + to their interval. + + NOTE: iImage specifies the image to start on. If iImage is + greater than the number of images, the last image shown + will be the start image. +*******************************************************************/ +DAPI_(HRESULT) ThemeStartBillboard( + __in const THEME* pTheme, + __in DWORD dwControl, + __in WORD iImage + ); + +/******************************************************************** + ThemeStopBillboard - stops a billboard control from changing images. + +*******************************************************************/ +DAPI_(HRESULT) ThemeStopBillboard( + __in const THEME* pTheme, + __in DWORD dwControl + ); + +/******************************************************************** + ThemeSetProgressControl - sets the current percentage complete in a + progress bar control. + +*******************************************************************/ +DAPI_(HRESULT) ThemeSetProgressControl( + __in THEME* pTheme, + __in DWORD dwControl, + __in DWORD dwProgressPercentage + ); + +/******************************************************************** + ThemeSetProgressControlColor - sets the current color of a + progress bar control. + +*******************************************************************/ +DAPI_(HRESULT) ThemeSetProgressControlColor( + __in THEME* pTheme, + __in DWORD dwControl, + __in DWORD dwColorIndex + ); + +/******************************************************************** + ThemeSetTextControl - sets the text of a control. + +*******************************************************************/ +DAPI_(HRESULT) ThemeSetTextControl( + __in THEME* pTheme, + __in DWORD dwControl, + __in_z LPCWSTR wzText + ); + +/******************************************************************** + ThemeGetTextControl - gets the text of a control. + +*******************************************************************/ +DAPI_(HRESULT) ThemeGetTextControl( + __in const THEME* pTheme, + __in DWORD dwControl, + __out LPWSTR* psczText + ); + +/******************************************************************** + ThemeUpdateCaption - updates the caption in the theme. + +*******************************************************************/ +DAPI_(HRESULT) ThemeUpdateCaption( + __in THEME* pTheme, + __in_z LPCWSTR wzCaption + ); + +/******************************************************************** + ThemeSetFocus - set the focus to the control supplied or the next + enabled control if it is disabled. + +*******************************************************************/ +DAPI_(void) ThemeSetFocus( + __in THEME* pTheme, + __in DWORD dwControl + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/timeutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/timeutil.h new file mode 100644 index 0000000..418ee78 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/timeutil.h @@ -0,0 +1,34 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT DAPI TimeFromString( + __in_z LPCWSTR wzTime, + __out FILETIME* pFileTime + ); +HRESULT DAPI TimeFromString3339( + __in_z LPCWSTR wzTime, + __out FILETIME* pFileTime + ); +HRESULT DAPI TimeCurrentTime( + __deref_out_z LPWSTR* ppwz, + __in BOOL fGMT + ); +HRESULT DAPI TimeCurrentDateTime( + __deref_out_z LPWSTR* ppwz, + __in BOOL fGMT + ); +HRESULT DAPI TimeSystemDateTime( + __deref_out_z LPWSTR* ppwz, + __in const SYSTEMTIME *pst, + __in BOOL fGMT + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/uriutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/uriutil.h new file mode 100644 index 0000000..52e7830 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/uriutil.h @@ -0,0 +1,100 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include "wininet.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum URI_PROTOCOL +{ + URI_PROTOCOL_UNKNOWN, + URI_PROTOCOL_FILE, + URI_PROTOCOL_FTP, + URI_PROTOCOL_HTTP, + URI_PROTOCOL_HTTPS, + URI_PROTOCOL_LOCAL, + URI_PROTOCOL_UNC +} URI_PROTOCOL; + +typedef struct _URI_INFO +{ + INTERNET_SCHEME scheme; + LPWSTR sczHostName; + INTERNET_PORT port; + LPWSTR sczUser; + LPWSTR sczPassword; + LPWSTR sczPath; + LPWSTR sczQueryString; +} URI_INFO; + + +HRESULT DAPI UriCanonicalize( + __inout_z LPWSTR* psczUri + ); + +HRESULT DAPI UriCrack( + __in_z LPCWSTR wzUri, + __out_opt INTERNET_SCHEME* pScheme, + __deref_opt_out_z LPWSTR* psczHostName, + __out_opt INTERNET_PORT* pPort, + __deref_opt_out_z LPWSTR* psczUser, + __deref_opt_out_z LPWSTR* psczPassword, + __deref_opt_out_z LPWSTR* psczPath, + __deref_opt_out_z LPWSTR* psczQueryString + ); + +HRESULT DAPI UriCrackEx( + __in_z LPCWSTR wzUri, + __in URI_INFO* pUriInfo + ); + +void DAPI UriInfoUninitialize( + __in URI_INFO* pUriInfo + ); + +HRESULT DAPI UriCreate( + __inout_z LPWSTR* psczUri, + __in INTERNET_SCHEME scheme, + __in_z_opt LPWSTR wzHostName, + __in INTERNET_PORT port, + __in_z_opt LPWSTR wzUser, + __in_z_opt LPWSTR wzPassword, + __in_z_opt LPWSTR wzPath, + __in_z_opt LPWSTR wzQueryString + ); + +HRESULT DAPI UriCanonicalize( + __inout_z LPWSTR* psczUri + ); + +HRESULT DAPI UriFile( + __deref_out_z LPWSTR* psczFile, + __in_z LPCWSTR wzUri + ); + +HRESULT DAPI UriProtocol( + __in_z LPCWSTR wzUri, + __out URI_PROTOCOL* pProtocol + ); + +HRESULT DAPI UriRoot( + __in_z LPCWSTR wzUri, + __out LPWSTR* ppwzRoot, + __out_opt URI_PROTOCOL* pProtocol + ); + +HRESULT DAPI UriResolve( + __in_z LPCWSTR wzUri, + __in_opt LPCWSTR wzBaseUri, + __out LPWSTR* ppwzResolvedUri, + __out_opt const URI_PROTOCOL* pResolvedProtocol + ); + +#ifdef __cplusplus +} +#endif + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/userutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/userutil.h new file mode 100644 index 0000000..2c86d22 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/userutil.h @@ -0,0 +1,32 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT DAPI UserBuildDomainUserName( + __out_ecount_z(cchDest) LPWSTR wzDest, + __in int cchDest, + __in_z LPCWSTR pwzName, + __in_z LPCWSTR pwzDomain + ); + +HRESULT DAPI UserCheckIsMember( + __in_z LPCWSTR pwzName, + __in_z LPCWSTR pwzDomain, + __in_z LPCWSTR pwzGroupName, + __in_z LPCWSTR pwzGroupDomain, + __out LPBOOL lpfMember + ); + +HRESULT DAPI UserCreateADsPath( + __in_z LPCWSTR wzObjectDomain, + __in_z LPCWSTR wzObjectName, + __out BSTR *pbstrAdsPath + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcalog.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcalog.h new file mode 100644 index 0000000..ffa3fa0 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcalog.h @@ -0,0 +1,14 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +BOOL WIXAPI IsVerboseLogging(); +HRESULT WIXAPI SetVerboseLoggingAtom(BOOL bValue); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcautil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcautil.h new file mode 100644 index 0000000..8e2f0f5 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcautil.h @@ -0,0 +1,369 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define WIXAPI __stdcall +#define ExitTrace WcaLogError +#define ExitTrace1 WcaLogError +#define ExitTrace2 WcaLogError +#define ExitTrace3 WcaLogError + +#include "dutil.h" + +#define MessageExitOnLastError(x, e, s) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ExitTrace(x, "%s", s); WcaErrorMessage(e, x, MB_OK, 0); goto LExit; } } +#define MessageExitOnLastError1(x, e, f, s) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ExitTrace1(x, f, s); WcaErrorMessage(e, x, MB_OK, 1, s); goto LExit; } } + +#define MessageExitOnFailure(x, e, s) if (FAILED(x)) { ExitTrace(x, "%s", s); WcaErrorMessage(e, x, INSTALLMESSAGE_ERROR | MB_OK, 0); goto LExit; } +#define MessageExitOnFailure1(x, e, f, s) if (FAILED(x)) { ExitTrace1(x, f, s); WcaErrorMessage(e, x, INSTALLMESSAGE_ERROR | MB_OK, 1, s); goto LExit; } +#define MessageExitOnFailure2(x, e, f, s, t) if (FAILED(x)) { ExitTrace2(x, f, s, t); WcaErrorMessage(e, x, INSTALLMESSAGE_ERROR | MB_OK, 2, s, t); goto LExit; } +#define MessageExitOnFailure3(x, e, f, s, t, u) if (FAILED(x)) { ExitTrace2(x, f, s, t, u); WcaErrorMessage(e, x, INSTALLMESSAGE_ERROR | MB_OK, 3, s, t, u); goto LExit; } + +#define MessageExitOnNullWithLastError(p, x, e, s) if (NULL == p) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (!FAILED(x)) { x = E_FAIL; } ExitTrace(x, "%s", s); WcaErrorMessage(e, x, MB_OK, 0); goto LExit; } +#define MessageExitOnNullWithLastError1(p, x, e, f, s) if (NULL == p) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (!FAILED(x)) { x = E_FAIL; } ExitTrace(x, f, s); WcaErrorMessage(e, x, MB_OK, 1, s); goto LExit; } +#define MessageExitOnNullWithLastError2(p, x, e, f, s, t) if (NULL == p) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (!FAILED(x)) { x = E_FAIL; } ExitTrace(x, f, s, t); WcaErrorMessage(e, x, MB_OK, 2, s, t); goto LExit; } + +// Generic action enum. +typedef enum WCA_ACTION +{ + WCA_ACTION_NONE, + WCA_ACTION_INSTALL, + WCA_ACTION_UNINSTALL, +} WCA_ACTION; + +typedef enum WCA_CASCRIPT +{ + WCA_CASCRIPT_SCHEDULED, + WCA_CASCRIPT_ROLLBACK, +} WCA_CASCRIPT; + +typedef enum WCA_CASCRIPT_CLOSE +{ + WCA_CASCRIPT_CLOSE_PRESERVE, + WCA_CASCRIPT_CLOSE_DELETE, +} WCA_CASCRIPT_CLOSE; + +typedef enum WCA_TODO +{ + WCA_TODO_UNKNOWN, + WCA_TODO_INSTALL, + WCA_TODO_UNINSTALL, + WCA_TODO_REINSTALL, +} WCA_TODO; + +typedef struct WCA_CASCRIPT_STRUCT +{ + LPWSTR pwzScriptPath; + HANDLE hScriptFile; +} *WCA_CASCRIPT_HANDLE; + +void WIXAPI WcaGlobalInitialize( + __in HINSTANCE hInst + ); +void WIXAPI WcaGlobalFinalize(); + +HRESULT WIXAPI WcaInitialize( + __in MSIHANDLE hInstall, + __in_z PCSTR szCustomActionLogName + ); +UINT WIXAPI WcaFinalize( + __in UINT iReturnValue + ); +BOOL WIXAPI WcaIsInitialized(); + +MSIHANDLE WIXAPI WcaGetInstallHandle(); +MSIHANDLE WIXAPI WcaGetDatabaseHandle(); + +const char* WIXAPI WcaGetLogName(); + +void WIXAPI WcaSetReturnValue( + __in UINT iReturnValue + ); +BOOL WIXAPI WcaCancelDetected(); + +#define LOG_BUFFER 2048 +typedef enum LOGLEVEL +{ + LOGMSG_TRACEONLY, // Never written to the log file (except in DEBUG builds) + LOGMSG_VERBOSE, // Written to log when LOGVERBOSE + LOGMSG_STANDARD // Written to log whenever informational logging is enabled +} LOGLEVEL; + +void __cdecl WcaLog( + __in LOGLEVEL llv, + __in_z __format_string PCSTR fmt, ... + ); +BOOL WIXAPI WcaDisplayAssert( + __in LPCSTR sz + ); +void __cdecl WcaLogError( + __in HRESULT hr, + __in LPCSTR szMessage, + ... + ); + +UINT WIXAPI WcaProcessMessage( + __in INSTALLMESSAGE eMessageType, + __in MSIHANDLE hRecord + ); +UINT __cdecl WcaErrorMessage( + __in int iError, + __in HRESULT hrError, + __in UINT uiType, + __in DWORD cArgs, + ... + ); +HRESULT WIXAPI WcaProgressMessage( + __in UINT uiCost, + __in BOOL fExtendProgressBar + ); + +BOOL WIXAPI WcaIsInstalling( + __in INSTALLSTATE isInstalled, + __in INSTALLSTATE isAction + ); +BOOL WIXAPI WcaIsReInstalling( + __in INSTALLSTATE isInstalled, + __in INSTALLSTATE isAction + ); +BOOL WIXAPI WcaIsUninstalling( + __in INSTALLSTATE isInstalled, + __in INSTALLSTATE isAction + ); + +HRESULT WIXAPI WcaSetComponentState( + __in_z LPCWSTR wzComponent, + __in INSTALLSTATE isState + ); + +HRESULT WIXAPI WcaTableExists( + __in_z LPCWSTR wzTable + ); + +HRESULT WIXAPI WcaOpenView( + __in_z LPCWSTR wzSql, + __out MSIHANDLE* phView + ); +HRESULT WIXAPI WcaExecuteView( + __in MSIHANDLE hView, + __in MSIHANDLE hRec + ); +HRESULT WIXAPI WcaOpenExecuteView( + __in_z LPCWSTR wzSql, + __out MSIHANDLE* phView + ); +HRESULT WIXAPI WcaFetchRecord( + __in MSIHANDLE hView, + __out MSIHANDLE* phRec + ); +HRESULT WIXAPI WcaFetchSingleRecord( + __in MSIHANDLE hView, + __out MSIHANDLE* phRec + ); + +HRESULT WIXAPI WcaGetProperty( + __in_z LPCWSTR wzProperty, + __inout LPWSTR* ppwzData + ); +HRESULT WIXAPI WcaGetFormattedProperty( + __in_z LPCWSTR wzProperty, + __out LPWSTR* ppwzData + ); +HRESULT WIXAPI WcaGetFormattedString( + __in_z LPCWSTR wzString, + __out LPWSTR* ppwzData + ); +HRESULT WIXAPI WcaGetIntProperty( + __in_z LPCWSTR wzProperty, + __inout int* piData + ); +HRESULT WIXAPI WcaGetTargetPath( + __in_z LPCWSTR wzFolder, + __out LPWSTR* ppwzData + ); +HRESULT WIXAPI WcaSetProperty( + __in_z LPCWSTR wzPropertyName, + __in_z LPCWSTR wzPropertyValue + ); +HRESULT WIXAPI WcaSetIntProperty( + __in_z LPCWSTR wzPropertyName, + __in int nPropertyValue + ); +BOOL WIXAPI WcaIsPropertySet( + __in LPCSTR szProperty + ); +BOOL WIXAPI WcaIsUnicodePropertySet( + __in LPCWSTR wzProperty + ); + +HRESULT WIXAPI WcaGetRecordInteger( + __in MSIHANDLE hRec, + __in UINT uiField, + __inout int* piData + ); +HRESULT WIXAPI WcaGetRecordString( + __in MSIHANDLE hRec, + __in UINT uiField, + __inout LPWSTR* ppwzData + ); +HRESULT WIXAPI WcaGetRecordFormattedInteger( + __in MSIHANDLE hRec, + __in UINT uiField, + __out int* piData + ); +HRESULT WIXAPI WcaGetRecordFormattedString( + __in MSIHANDLE hRec, + __in UINT uiField, + __inout LPWSTR* ppwzData + ); + +HRESULT WIXAPI WcaAllocStream( + __deref_out_bcount_part(cbData, 0) BYTE** ppbData, + __in DWORD cbData + ); +HRESULT WIXAPI WcaFreeStream( + __in BYTE* pbData + ); + +HRESULT WIXAPI WcaGetRecordStream( + __in MSIHANDLE hRecBinary, + __in UINT uiField, + __deref_out_bcount_full(*pcbData) BYTE** ppbData, + __out DWORD* pcbData + ); +HRESULT WIXAPI WcaSetRecordString( + __in MSIHANDLE hRec, + __in UINT uiField, + __in_z LPCWSTR wzData + ); +HRESULT WIXAPI WcaSetRecordInteger( + __in MSIHANDLE hRec, + __in UINT uiField, + __in int iValue + ); + +HRESULT WIXAPI WcaDoDeferredAction( + __in_z LPCWSTR wzAction, + __in_z LPCWSTR wzCustomActionData, + __in UINT uiCost + ); +DWORD WIXAPI WcaCountOfCustomActionDataRecords( + __in_z LPCWSTR wzData + ); + +HRESULT WIXAPI WcaReadStringFromCaData( + __deref_in LPWSTR* ppwzCustomActionData, + __deref_out_z LPWSTR* ppwzString + ); +HRESULT WIXAPI WcaReadIntegerFromCaData( + __deref_in LPWSTR* ppwzCustomActionData, + __out int* piResult + ); +HRESULT WIXAPI WcaReadStreamFromCaData( + __deref_in LPWSTR* ppwzCustomActionData, + __deref_out_bcount(*pcbData) BYTE** ppbData, + __out DWORD_PTR* pcbData + ); +HRESULT WIXAPI WcaWriteStringToCaData( + __in_z LPCWSTR wzString, + __deref_inout_z LPWSTR* ppwzCustomActionData + ); +HRESULT WIXAPI WcaWriteIntegerToCaData( + __in int i, + __deref_out_z_opt LPWSTR* ppwzCustomActionData + ); +HRESULT WIXAPI WcaWriteStreamToCaData( + __in_bcount(cbData) const BYTE* pbData, + __in DWORD cbData, + __deref_inout_z_opt LPWSTR* ppwzCustomActionData + ); + +HRESULT __cdecl WcaAddTempRecord( + __inout MSIHANDLE* phTableView, + __inout MSIHANDLE* phColumns, + __in_z LPCWSTR wzTable, + __out_opt MSIDBERROR* pdbError, + __in UINT uiUniquifyColumn, + __in UINT cColumns, + ... + ); + +HRESULT WIXAPI WcaDumpTable( + __in_z LPCWSTR wzTable + ); + +HRESULT WIXAPI WcaDeferredActionRequiresReboot(); +BOOL WIXAPI WcaDidDeferredActionRequireReboot(); + +HRESULT WIXAPI WcaCaScriptCreateKey( + __out LPWSTR* ppwzScriptKey + ); + +HRESULT WIXAPI WcaCaScriptCreate( + __in WCA_ACTION action, + __in WCA_CASCRIPT script, + __in BOOL fImpersonated, + __in_z LPCWSTR wzScriptKey, + __in BOOL fAppend, + __out WCA_CASCRIPT_HANDLE* phScript + ); + +HRESULT WIXAPI WcaCaScriptOpen( + __in WCA_ACTION action, + __in WCA_CASCRIPT script, + __in BOOL fImpersonated, + __in_z LPCWSTR wzScriptKey, + __out WCA_CASCRIPT_HANDLE* phScript + ); + +void WIXAPI WcaCaScriptClose( + __in_opt WCA_CASCRIPT_HANDLE hScript, + __in WCA_CASCRIPT_CLOSE closeOperation + ); + +HRESULT WIXAPI WcaCaScriptReadAsCustomActionData( + __in WCA_CASCRIPT_HANDLE hScript, + __out LPWSTR* ppwzCustomActionData + ); + +HRESULT WIXAPI WcaCaScriptWriteString( + __in WCA_CASCRIPT_HANDLE hScript, + __in_z LPCWSTR wzValue + ); + +HRESULT WIXAPI WcaCaScriptWriteNumber( + __in WCA_CASCRIPT_HANDLE hScript, + __in DWORD dwValue + ); + +void WIXAPI WcaCaScriptFlush( + __in WCA_CASCRIPT_HANDLE hScript + ); + +void WIXAPI WcaCaScriptCleanup( + __in_z LPCWSTR wzProductCode, + __in BOOL fImpersonated + ); + +HRESULT WIXAPI QuietExec( + __inout_z LPWSTR wzCommand, + __in DWORD dwTimeout + ); + +HRESULT WIXAPI QuietExecEx( + __inout_z LPWSTR wzCommand, + __in DWORD dwTimeout, + __in BOOL fLogCommand, + __in BOOL fLogOutput + ); + +WCA_TODO WIXAPI WcaGetComponentToDo( + __in_z LPCWSTR wzComponentId + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcawow64.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcawow64.h new file mode 100644 index 0000000..dd55f3f --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcawow64.h @@ -0,0 +1,20 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include "wcautil.h" + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT WIXAPI WcaInitializeWow64(); +BOOL WIXAPI WcaIsWow64Process(); +BOOL WIXAPI WcaIsWow64Initialized(); +HRESULT WIXAPI WcaDisableWow64FSRedirection(); +HRESULT WIXAPI WcaRevertWow64FSRedirection(); +HRESULT WIXAPI WcaFinalizeWow64(); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcawrapquery.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcawrapquery.h new file mode 100644 index 0000000..e08f1c3 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wcawrapquery.h @@ -0,0 +1,130 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#include "wcautil.h" + +// Enumerations +typedef enum eWrapQueryAction +{ + wqaTableBegin = 1, + wqaTableFinish, + wqaRowBegin, + wqaRowFinish +} eWrapQueryAction; + +typedef enum eColumnDataType +{ + cdtString = 1, + cdtInt, + cdtStream, + cdtUnknown +} eColumnDataType; + +typedef enum eFormatMaskColumn +{ + efmcColumn1 = 1, + efmcColumn2 = 1 << 1, + efmcColumn3 = 1 << 2, + efmcColumn4 = 1 << 3, + efmcColumn5 = 1 << 4, + efmcColumn6 = 1 << 5, + efmcColumn7 = 1 << 6, + efmcColumn8 = 1 << 7, + efmcColumn9 = 1 << 8, + efmcColumn10 = 1 << 9, + efmcColumn11 = 1 << 10, + efmcColumn12 = 1 << 11, + efmcColumn13 = 1 << 12, + efmcColumn14 = 1 << 13, + efmcColumn15 = 1 << 14, + efmcColumn16 = 1 << 15, + efmcColumn17 = 1 << 16, + efmcColumn18 = 1 << 17, + efmcColumn19 = 1 << 18, + efmcColumn20 = 1 << 19, + efmcColumn21 = 1 << 20, + efmcColumn22 = 1 << 21, + efmcColumn23 = 1 << 22, + efmcColumn24 = 1 << 23, + efmcColumn25 = 1 << 24, + efmcColumn26 = 1 << 25, + efmcColumn27 = 1 << 26, + efmcColumn28 = 1 << 27, + efmcColumn29 = 1 << 28, + efmcColumn30 = 1 << 29, + efmcColumn31 = 1 << 30, + efmcColumn32 = 1 << 31, +} eFormatMaskColumn; + +// Keeps track of the query instance for the reading CA (deferred CA) +typedef struct WCA_WRAPQUERY_STRUCT +{ + // These are used to size our dynamic arrays below + DWORD dwColumns, dwRows, dwNextIndex; + + // Dynamic arrays of column schema information + eColumnDataType *pcdtColumnType; + LPWSTR *ppwzColumnNames; + + // Dynamic array of raw record data + MSIHANDLE *phRecords; +} *WCA_WRAPQUERY_HANDLE; + +// Wrap a query +// Setting the pfFormatMask enables control over which fields will be formatted, and which will be left unchanged +// Setting dwComponentColumn to something other than 0xFFFFFFFF tells WcaWrapQuery to add two additional columns to the right side of the table +// - ISInstalled and ISAction - which map to the ComponentState of the component (the component is found in the column specified) +// Note that if a component is NULL, the component state columns will also be left null, and it will be up to the deferred CA to fail or ignore the case appropriately +// Setting dwDirectoryColumn to something other than 0xFFFFFFFF tells WcaWrapQuery to add two more additional columns to the right side of the table +// - SourcePath and TargetPath - which map to the Directory's Source and Target Path (the directory is found in the column specified) +// Note that if a directory is NULL, the directory source/target path columns will also be left null, and it will be up to the deferred CA to fail or ignore the case appropriately +HRESULT WIXAPI WcaWrapQuery( + __in_z LPCWSTR pwzQuery, + __inout LPWSTR * ppwzCustomActionData, + __in_opt DWORD dwFormatMask, + __in_opt DWORD dwComponentColumn, + __in_opt DWORD dwDirectoryColumn + ); +// This wraps an empty table query into the custom action data - this is a way to indicate to the deferred custom action that a necessary table doesn't exist, or its query returned no results +HRESULT WIXAPI WcaWrapEmptyQuery( + __inout LPWSTR * ppwzCustomActionData + ); + +// Open a new unwrap query operation, with data from the ppwzCustomActionData string +HRESULT WIXAPI WcaBeginUnwrapQuery( + __out WCA_WRAPQUERY_HANDLE * phWrapQuery, + __inout LPWSTR * ppwzCustomActionData + ); + +// Get the number of records in a query being unwrapped +DWORD WIXAPI WcaGetQueryRecords( + __in const WCA_WRAPQUERY_HANDLE hWrapQuery + ); + +// This function resets a query back to its first row, so that the next fetch returns the first record +void WIXAPI WcaFetchWrappedReset( + __in WCA_WRAPQUERY_HANDLE hWrapQuery + ); +// Fetch the next record in this query +// NOTE: the MSIHANDLE returned by this function should not be released, as it is the same handle used by the query object to maintain the item. +// so, don't use this function with PMSIHANDLE objects! +HRESULT WIXAPI WcaFetchWrappedRecord( + __in WCA_WRAPQUERY_HANDLE hWrapQuery, + __out MSIHANDLE* phRec + ); + +// Fetch the next record in the query where the string value in column dwComparisonColumn equals the value pwzExpectedValue +// NOTE: the MSIHANDLE returned by this function should not be released, as it is the same handle used by the query object to maintain the item. +// so, don't use this function with PMSIHANDLE objects! +HRESULT WIXAPI WcaFetchWrappedRecordWhereString( + __in WCA_WRAPQUERY_HANDLE hWrapQuery, + __in DWORD dwComparisonColumn, + __in_z LPCWSTR pwzExpectedValue, + __out MSIHANDLE* phRec + ); + +// Release a query ID (frees memory, and frees the ID for a new query) +void WIXAPI WcaFinishUnwrapQuery( + __in_opt WCA_WRAPQUERY_HANDLE hWrapQuery + ); diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wiutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wiutil.h new file mode 100644 index 0000000..4264b81 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wiutil.h @@ -0,0 +1,373 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +// constants + +#define IDNOACTION 0 +#define WIU_MB_OKIGNORECANCELRETRY 0xE + +#define MAX_DARWIN_KEY 73 +#define MAX_DARWIN_COLUMN 255 + +#define WIU_LOG_DEFAULT INSTALLLOGMODE_FATALEXIT | INSTALLLOGMODE_ERROR | INSTALLLOGMODE_WARNING | \ + INSTALLLOGMODE_USER | INSTALLLOGMODE_INFO | INSTALLLOGMODE_RESOLVESOURCE | \ + INSTALLLOGMODE_OUTOFDISKSPACE | INSTALLLOGMODE_ACTIONSTART | \ + INSTALLLOGMODE_ACTIONDATA | INSTALLLOGMODE_COMMONDATA | INSTALLLOGMODE_PROPERTYDUMP + +#define ReleaseMsi(h) if (h) { ::MsiCloseHandle(h); } +#define ReleaseNullMsi(h) if (h) { ::MsiCloseHandle(h); h = NULL; } + + +typedef enum WIU_RESTART +{ + WIU_RESTART_NONE, + WIU_RESTART_REQUIRED, + WIU_RESTART_INITIATED, +} WIU_RESTART; + +typedef enum WIU_MSI_EXECUTE_MESSAGE_TYPE +{ + WIU_MSI_EXECUTE_MESSAGE_NONE, + WIU_MSI_EXECUTE_MESSAGE_PROGRESS, + WIU_MSI_EXECUTE_MESSAGE_ERROR, + WIU_MSI_EXECUTE_MESSAGE_MSI_MESSAGE, + WIU_MSI_EXECUTE_MESSAGE_MSI_FILES_IN_USE, +} WIU_MSI_EXECUTE_MESSAGE_TYPE; + + +// structures + +typedef struct _WIU_MSI_EXECUTE_MESSAGE +{ + WIU_MSI_EXECUTE_MESSAGE_TYPE type; + DWORD dwAllowedResults; + + DWORD cData; + LPCWSTR* rgwzData; + + INT nResultRecommendation; // recommended return result for this message based on analysis of real world installs. + + union + { + struct + { + DWORD dwPercentage; + } progress; + struct + { + DWORD dwErrorCode; + LPCWSTR wzMessage; + } error; + struct + { + INSTALLMESSAGE mt; + LPCWSTR wzMessage; + } msiMessage; + struct + { + DWORD cFiles; + LPCWSTR* rgwzFiles; + } msiFilesInUse; + }; +} WIU_MSI_EXECUTE_MESSAGE; + +typedef struct _WIU_MSI_PROGRESS +{ + DWORD dwTotal; + DWORD dwCompleted; + DWORD dwStep; + BOOL fMoveForward; + BOOL fEnableActionData; + BOOL fScriptInProgress; +} WIU_MSI_PROGRESS; + + +typedef int (*PFN_MSIEXECUTEMESSAGEHANDLER)( + __in WIU_MSI_EXECUTE_MESSAGE* pMessage, + __in_opt LPVOID pvContext + ); + +typedef struct _WIU_MSI_EXECUTE_CONTEXT +{ + BOOL fRollback; + PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler; + LPVOID pvContext; + WIU_MSI_PROGRESS rgMsiProgress[64]; + DWORD dwCurrentProgressIndex; + + INSTALLUILEVEL previousInstallUILevel; + HWND hwndPreviousParentWindow; + INSTALLUI_HANDLERW pfnPreviousExternalUI; + INSTALLUI_HANDLER_RECORD pfnPreviousExternalUIRecord; + + BOOL fSetPreviousExternalUIRecord; + BOOL fSetPreviousExternalUI; +} WIU_MSI_EXECUTE_CONTEXT; + + +// typedefs +typedef UINT (WINAPI *PFN_MSIENABLELOGW)( + __in DWORD dwLogMode, + __in_z LPCWSTR szLogFile, + __in DWORD dwLogAttributes + ); +typedef UINT (WINAPI *PFN_MSIGETPRODUCTINFOW)( + __in LPCWSTR szProductCode, + __in LPCWSTR szProperty, + __out_ecount_opt(*pcchValue) LPWSTR szValue, + __inout LPDWORD pcchValue + ); +typedef INSTALLSTATE (WINAPI *PFN_MSIGETCOMPONENTPATHW)( + __in LPCWSTR szProduct, + __in LPCWSTR szComponent, + __out_ecount_opt(*pcchBuf) LPWSTR lpPathBuf, + __inout_opt LPDWORD pcchBuf + ); +typedef INSTALLSTATE (WINAPI *PFN_MSILOCATECOMPONENTW)( + __in LPCWSTR szComponent, + __out_ecount_opt(*pcchBuf) LPWSTR lpPathBuf, + __inout_opt LPDWORD pcchBuf + ); +typedef UINT (WINAPI *PFN_MSIGETPRODUCTINFOEXW)( + __in LPCWSTR szProductCode, + __in_opt LPCWSTR szUserSid, + __in MSIINSTALLCONTEXT dwContext, + __in LPCWSTR szProperty, + __out_ecount_opt(*pcchValue) LPWSTR szValue, + __inout_opt LPDWORD pcchValue + ); +typedef INSTALLSTATE (WINAPI *PFN_MSIQUERYFEATURESTATEW)( + __in LPCWSTR szProduct, + __in LPCWSTR szFeature + ); +typedef UINT (WINAPI *PFN_MSIGETPATCHINFOEXW)( + __in_z LPCWSTR wzPatchCode, + __in_z LPCWSTR wzProductCode, + __in_z_opt LPCWSTR wzUserSid, + __in MSIINSTALLCONTEXT dwContext, + __in_z LPCWSTR wzProperty, + __out_opt LPWSTR wzValue, + __inout DWORD* pcchValue + ); +typedef UINT (WINAPI *PFN_MSIDETERMINEPATCHSEQUENCEW)( + __in_z LPCWSTR wzProductCode, + __in_z_opt LPCWSTR wzUserSid, + __in MSIINSTALLCONTEXT context, + __in DWORD cPatchInfo, + __in PMSIPATCHSEQUENCEINFOW pPatchInfo + ); +typedef UINT (WINAPI *PFN_MSIDETERMINEAPPLICABLEPATCHESW)( + __in_z LPCWSTR wzProductPackagePath, + __in DWORD cPatchInfo, + __in PMSIPATCHSEQUENCEINFOW pPatchInfo + ); +typedef UINT (WINAPI *PFN_MSIINSTALLPRODUCTW)( + __in LPCWSTR szPackagePath, + __in_opt LPCWSTR szCommandLine + ); +typedef UINT (WINAPI *PFN_MSICONFIGUREPRODUCTEXW)( + __in LPCWSTR szProduct, + __in int iInstallLevel, + __in INSTALLSTATE eInstallState, + __in_opt LPCWSTR szCommandLine + ); +typedef UINT (WINAPI *PFN_MSIREMOVEPATCHESW)( + __in_z LPCWSTR wzPatchList, + __in_z LPCWSTR wzProductCode, + __in INSTALLTYPE eUninstallType, + __in_z_opt LPCWSTR szPropertyList + ); +typedef INSTALLUILEVEL (WINAPI *PFN_MSISETINTERNALUI)( + __in INSTALLUILEVEL dwUILevel, + __inout_opt HWND *phWnd + ); +typedef UINT (WINAPI *PFN_MSISETEXTERNALUIRECORD)( + __in_opt INSTALLUI_HANDLER_RECORD puiHandler, + __in DWORD dwMessageFilter, + __in_opt LPVOID pvContext, + __out_opt PINSTALLUI_HANDLER_RECORD ppuiPrevHandler + ); +typedef INSTALLUI_HANDLERW (WINAPI *PFN_MSISETEXTERNALUIW)( + __in_opt INSTALLUI_HANDLERW puiHandler, + __in DWORD dwMessageFilter, + __in_opt LPVOID pvContext + ); +typedef UINT (WINAPI *PFN_MSIENUMPRODUCTSW)( + __in DWORD iProductIndex, + __out_ecount(MAX_GUID_CHARS + 1) LPWSTR lpProductBuf + ); +typedef UINT (WINAPI *PFN_MSIENUMPRODUCTSEXW)( + __in_z_opt LPCWSTR wzProductCode, + __in_z_opt LPCWSTR wzUserSid, + __in DWORD dwContext, + __in DWORD dwIndex, + __out_opt WCHAR wzInstalledProductCode[39], + __out_opt MSIINSTALLCONTEXT *pdwInstalledContext, + __out_opt LPWSTR wzSid, + __inout_opt LPDWORD pcchSid + ); + +typedef UINT (WINAPI *PFN_MSIENUMRELATEDPRODUCTSW)( + __in LPCWSTR lpUpgradeCode, + __reserved DWORD dwReserved, + __in DWORD iProductIndex, + __out_ecount(MAX_GUID_CHARS + 1) LPWSTR lpProductBuf + ); +typedef UINT (WINAPI *PFN_MSISOURCELISTADDSOURCEEXW)( + __in LPCWSTR szProductCodeOrPatchCode, + __in_opt LPCWSTR szUserSid, + __in MSIINSTALLCONTEXT dwContext, + __in DWORD dwOptions, + __in LPCWSTR szSource, + __in_opt DWORD dwIndex + ); + + +HRESULT DAPI WiuInitialize( + ); +void DAPI WiuUninitialize( + ); +void DAPI WiuFunctionOverride( + __in_opt PFN_MSIENABLELOGW pfnMsiEnableLogW, + __in_opt PFN_MSIGETCOMPONENTPATHW pfnMsiGetComponentPathW, + __in_opt PFN_MSILOCATECOMPONENTW pfnMsiLocateComponentW, + __in_opt PFN_MSIQUERYFEATURESTATEW pfnMsiQueryFeatureStateW, + __in_opt PFN_MSIGETPRODUCTINFOW pfnMsiGetProductInfoW, + __in_opt PFN_MSIGETPRODUCTINFOEXW pfnMsiGetProductInfoExW, + __in_opt PFN_MSIINSTALLPRODUCTW pfnMsiInstallProductW, + __in_opt PFN_MSICONFIGUREPRODUCTEXW pfnMsiConfigureProductExW, + __in_opt PFN_MSISETINTERNALUI pfnMsiSetInternalUI, + __in_opt PFN_MSISETEXTERNALUIW pfnMsiSetExternalUIW, + __in_opt PFN_MSIENUMRELATEDPRODUCTSW pfnMsiEnumRelatedProductsW, + __in_opt PFN_MSISETEXTERNALUIRECORD pfnMsiSetExternalUIRecord, + __in_opt PFN_MSISOURCELISTADDSOURCEEXW pfnMsiSourceListAddSourceExW + ); +HRESULT DAPI WiuGetComponentPath( + __in_z LPCWSTR wzProductCode, + __in_z LPCWSTR wzComponentId, + __out INSTALLSTATE* pInstallState, + __out_z LPWSTR* psczValue + ); +HRESULT DAPI WiuLocateComponent( + __in_z LPCWSTR wzComponentId, + __out INSTALLSTATE* pInstallState, + __out_z LPWSTR* psczValue + ); +HRESULT DAPI WiuQueryFeatureState( + __in_z LPCWSTR wzProduct, + __in_z LPCWSTR wzFeature, + __out INSTALLSTATE* pInstallState + ); +HRESULT DAPI WiuGetProductInfo( + __in_z LPCWSTR wzProductCode, + __in_z LPCWSTR wzProperty, + __out LPWSTR* psczValue + ); +HRESULT DAPI WiuGetProductInfoEx( + __in_z LPCWSTR wzProductCode, + __in_z_opt LPCWSTR wzUserSid, + __in MSIINSTALLCONTEXT dwContext, + __in_z LPCWSTR wzProperty, + __out LPWSTR* psczValue + ); +HRESULT DAPI WiuGetProductProperty( + __in MSIHANDLE hProduct, + __in_z LPCWSTR wzProperty, + __out LPWSTR* psczValue + ); +HRESULT DAPI WiuGetPatchInfoEx( + __in_z LPCWSTR wzPatchCode, + __in_z LPCWSTR wzProductCode, + __in_z_opt LPCWSTR wzUserSid, + __in MSIINSTALLCONTEXT dwContext, + __in_z LPCWSTR wzProperty, + __out LPWSTR* psczValue + ); +HRESULT DAPI WiuDeterminePatchSequence( + __in_z LPCWSTR wzProductCode, + __in_z_opt LPCWSTR wzUserSid, + __in MSIINSTALLCONTEXT context, + __in PMSIPATCHSEQUENCEINFOW pPatchInfo, + __in DWORD cPatchInfo + ); +HRESULT DAPI WiuDetermineApplicablePatches( + __in_z LPCWSTR wzProductPackagePath, + __in PMSIPATCHSEQUENCEINFOW pPatchInfo, + __in DWORD cPatchInfo + ); +HRESULT DAPI WiuEnumProducts( + __in DWORD iProductIndex, + __out_ecount(MAX_GUID_CHARS + 1) LPWSTR wzProductCode + ); +HRESULT DAPI WiuEnumProductsEx( + __in_z_opt LPCWSTR wzProductCode, + __in_z_opt LPCWSTR wzUserSid, + __in DWORD dwContext, + __in DWORD dwIndex, + __out_opt WCHAR wzInstalledProductCode[39], + __out_opt MSIINSTALLCONTEXT *pdwInstalledContext, + __out_opt LPWSTR wzSid, + __inout_opt LPDWORD pcchSid + ); +HRESULT DAPI WiuEnumRelatedProducts( + __in_z LPCWSTR wzUpgradeCode, + __in DWORD iProductIndex, + __out_ecount(MAX_GUID_CHARS + 1) LPWSTR wzProductCode + ); +HRESULT DAPI WiuEnumRelatedProductCodes( + __in_z LPCWSTR wzUpgradeCode, + __deref_out_ecount_opt(pcRelatedProducts) LPWSTR** prgsczProductCodes, + __out DWORD* pcRelatedProducts, + __in BOOL fReturnHighestVersionOnly + ); +HRESULT DAPI WiuEnableLog( + __in DWORD dwLogMode, + __in_z LPCWSTR wzLogFile, + __in DWORD dwLogAttributes + ); +HRESULT DAPI WiuInitializeExternalUI( + __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler, + __in INSTALLUILEVEL internalUILevel, + __in HWND hwndParent, + __in LPVOID pvContext, + __in BOOL fRollback, + __in WIU_MSI_EXECUTE_CONTEXT* pExecuteContext + ); +void DAPI WiuUninitializeExternalUI( + __in WIU_MSI_EXECUTE_CONTEXT* pExecuteContext + ); +HRESULT DAPI WiuConfigureProductEx( + __in_z LPCWSTR wzProduct, + __in int iInstallLevel, + __in INSTALLSTATE eInstallState, + __in_z LPCWSTR wzCommandLine, + __out WIU_RESTART* pRestart + ); +HRESULT DAPI WiuInstallProduct( + __in_z LPCWSTR wzPackagPath, + __in_z LPCWSTR wzCommandLine, + __out WIU_RESTART* pRestart + ); +HRESULT DAPI WiuRemovePatches( + __in_z LPCWSTR wzPatchList, + __in_z LPCWSTR wzProductCode, + __in_z LPCWSTR wzPropertyList, + __out WIU_RESTART* pRestart + ); +HRESULT DAPI WiuSourceListAddSourceEx( + __in_z LPCWSTR wzProductCodeOrPatchCode, + __in_z_opt LPCWSTR wzUserSid, + __in MSIINSTALLCONTEXT dwContext, + __in DWORD dwCode, + __in_z LPCWSTR wzSource, + __in_opt DWORD dwIndex + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wuautil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wuautil.h new file mode 100644 index 0000000..b239c4e --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/wuautil.h @@ -0,0 +1,19 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#if defined(__cplusplus) +extern "C" { +#endif + +HRESULT DAPI WuaPauseAutomaticUpdates(); + +HRESULT DAPI WuaResumeAutomaticUpdates(); + +HRESULT DAPI WuaRestartRequired( + __out BOOL* pfRestartRequired + ); + +#if defined(__cplusplus) +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/xmlutil.h b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/xmlutil.h new file mode 100644 index 0000000..3dc119b --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/inc/xmlutil.h @@ -0,0 +1,167 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument = {0x2933BF90, 0x7B36, 0x11d2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}}; +extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument20 = {0xF6D90F11, 0x9C73, 0x11D3, {0xB3, 0x2E, 0x00, 0xC0, 0x4F, 0x99, 0x0B, 0xB4}}; +extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument26 = {0xf5078f1b, 0xc551, 0x11d3, {0x89, 0xb9, 0x00, 0x00, 0xf8, 0x1f, 0xe2, 0x21}}; +extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument30 = {0xf5078f32, 0xc551, 0x11d3, {0x89, 0xb9, 0x00, 0x00, 0xf8, 0x1f, 0xe2, 0x21}}; +extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument40 = {0x88d969c0, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}}; +extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument50 = {0x88d969e5, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}}; +extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument60 = {0x88d96a05, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}}; +extern __declspec(selectany) const CLSID XmlUtil_CLSID_XMLSchemaCache = {0x88d969c2, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}}; + +extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMDocument = {0x2933BF81, 0x7B36, 0x11D2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}}; +extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMDocument2 = {0x2933BF95, 0x7B36, 0x11D2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}}; +extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMSchemaCollection = {0x373984C8, 0xB845, 0x449B, {0x91, 0xE7, 0x45, 0xAC, 0x83, 0x03, 0x6A, 0xDE}}; + +typedef enum XML_LOAD_ATTRIBUTE +{ + XML_LOAD_PRESERVE_WHITESPACE = 1, +} XML_LOAD_ATTRIBUTE; + + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT DAPI XmlInitialize(); +void DAPI XmlUninitialize(); + +HRESULT DAPI XmlCreateElement( + __in IXMLDOMDocument *pixdDocument, + __in_z LPCWSTR wzElementName, + __out IXMLDOMElement **ppixnElement + ); +HRESULT DAPI XmlCreateDocument( + __in_opt LPCWSTR pwzElementName, + __out IXMLDOMDocument** ppixdDocument, + __out_opt IXMLDOMElement** ppixeRootElement = NULL + ); +HRESULT DAPI XmlLoadDocument( + __in_z LPCWSTR wzDocument, + __out IXMLDOMDocument** ppixdDocument + ); +HRESULT DAPI XmlLoadDocumentEx( + __in_z LPCWSTR wzDocument, + __in DWORD dwAttributes, + __out IXMLDOMDocument** ppixdDocument + ); +HRESULT DAPI XmlLoadDocumentFromFile( + __in_z LPCWSTR wzPath, + __out IXMLDOMDocument** ppixdDocument + ); +HRESULT DAPI XmlLoadDocumentFromBuffer( + __in_bcount(cbSource) const BYTE* pbSource, + __in DWORD cbSource, + __out IXMLDOMDocument** ppixdDocument + ); +HRESULT DAPI XmlLoadDocumentFromFileEx( + __in_z LPCWSTR wzPath, + __in DWORD dwAttributes, + __out IXMLDOMDocument** ppixdDocument + ); +HRESULT DAPI XmlSelectSingleNode( + __in IXMLDOMNode* pixnParent, + __in_z LPCWSTR wzXPath, + __out IXMLDOMNode **ppixnChild + ); +HRESULT DAPI XmlSetAttribute( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR pwzAttribute, + __in_z LPCWSTR pwzAttributeValue + ); +HRESULT DAPI XmlCreateTextNode( + __in IXMLDOMDocument *pixdDocument, + __in_z LPCWSTR wzText, + __out IXMLDOMText **ppixnTextNode + ); +HRESULT DAPI XmlGetText( + __in IXMLDOMNode* pixnNode, + __deref_out_z BSTR* pbstrText + ); +HRESULT DAPI XmlGetAttribute( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR pwzAttribute, + __deref_out_z BSTR* pbstrAttributeValue + ); +HRESULT DAPI XmlGetAttributeEx( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR wzAttribute, + __deref_out_z LPWSTR* psczAttributeValue + ); +HRESULT DAPI XmlGetYesNoAttribute( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR wzAttribute, + __out BOOL* pfYes + ); +HRESULT DAPI XmlGetAttributeNumber( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR pwzAttribute, + __out DWORD* pdwValue + ); +HRESULT DAPI XmlGetAttributeNumberBase( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR pwzAttribute, + __in int nBase, + __out DWORD* pdwValue + ); +HRESULT DAPI XmlGetAttributeLargeNumber( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR pwzAttribute, + __out DWORD64* pdw64Value + ); +HRESULT DAPI XmlGetNamedItem( + __in IXMLDOMNamedNodeMap *pixnmAttributes, + __in_opt LPCWSTR wzName, + __out IXMLDOMNode **ppixnNamedItem + ); +HRESULT DAPI XmlSetText( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR pwzText + ); +HRESULT DAPI XmlSetTextNumber( + __in IXMLDOMNode *pixnNode, + __in DWORD dwValue + ); +HRESULT DAPI XmlCreateChild( + __in IXMLDOMNode* pixnParent, + __in_z LPCWSTR pwzElementType, + __out IXMLDOMNode** ppixnChild + ); +HRESULT DAPI XmlRemoveAttribute( + __in IXMLDOMNode* pixnNode, + __in_z LPCWSTR pwzAttribute + ); +HRESULT DAPI XmlSelectNodes( + __in IXMLDOMNode* pixnParent, + __in_z LPCWSTR wzXPath, + __out IXMLDOMNodeList **ppixnChild + ); +HRESULT DAPI XmlNextAttribute( + __in IXMLDOMNamedNodeMap* pixnnm, + __out IXMLDOMNode** pixnAttribute, + __deref_opt_out_z_opt BSTR* pbstrAttribute + ); +HRESULT DAPI XmlNextElement( + __in IXMLDOMNodeList* pixnl, + __out IXMLDOMNode** pixnElement, + __deref_opt_out_z_opt BSTR* pbstrElement + ); +HRESULT DAPI XmlRemoveChildren( + __in IXMLDOMNode* pixnSource, + __in_z LPCWSTR pwzXPath + ); +HRESULT DAPI XmlSaveDocument( + __in IXMLDOMDocument* pixdDocument, + __inout LPCWSTR wzPath + ); +HRESULT DAPI XmlSaveDocumentToBuffer( + __in IXMLDOMDocument* pixdDocument, + __deref_out_bcount(*pcbDest) BYTE** ppbDest, + __out DWORD* pcbDest + ); + +#ifdef __cplusplus +} +#endif diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/deputil.lib new file mode 100644 index 0000000..e703b89 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/dutil.lib new file mode 100644 index 0000000..bb0f8ee Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/wcautil.lib new file mode 100644 index 0000000..385df72 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x64/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/balutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/balutil.lib new file mode 100644 index 0000000..cb7f2f6 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/balutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/deputil.lib new file mode 100644 index 0000000..f94cb9c Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/dutil.lib new file mode 100644 index 0000000..cee8584 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/wcautil.lib new file mode 100644 index 0000000..e602a94 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2010/lib/x86/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/deputil.lib new file mode 100644 index 0000000..9f50bc7 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/dutil.lib new file mode 100644 index 0000000..8c9022b Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/wcautil.lib new file mode 100644 index 0000000..344ba9f Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x64/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/balutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/balutil.lib new file mode 100644 index 0000000..3c7fbcd Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/balutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/deputil.lib new file mode 100644 index 0000000..d420aac Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/dutil.lib new file mode 100644 index 0000000..cdfb763 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/wcautil.lib new file mode 100644 index 0000000..78a3706 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2012/lib/x86/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/deputil.lib new file mode 100644 index 0000000..ac64292 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/dutil.lib new file mode 100644 index 0000000..437486b Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/wcautil.lib new file mode 100644 index 0000000..c5d3823 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x64/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/balutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/balutil.lib new file mode 100644 index 0000000..cc2d99a Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/balutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/deputil.lib new file mode 100644 index 0000000..333fca6 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/dutil.lib new file mode 100644 index 0000000..90ec499 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/wcautil.lib new file mode 100644 index 0000000..c5bbfbf Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2013/lib/x86/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/deputil.lib new file mode 100644 index 0000000..ecbe0eb Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/dutil.lib new file mode 100644 index 0000000..ef0a7ce Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/wcautil.lib new file mode 100644 index 0000000..f15b592 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x64/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/balutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/balutil.lib new file mode 100644 index 0000000..e1e6cfe Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/balutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/deputil.lib new file mode 100644 index 0000000..185c813 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/dutil.lib new file mode 100644 index 0000000..91751c0 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/wcautil.lib new file mode 100644 index 0000000..93acec5 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2015/lib/x86/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/deputil.lib new file mode 100644 index 0000000..ee67749 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/dutil.lib new file mode 100644 index 0000000..1b72d06 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/wcautil.lib new file mode 100644 index 0000000..02d1d69 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x64/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/balutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/balutil.lib new file mode 100644 index 0000000..80192c6 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/balutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/deputil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/deputil.lib new file mode 100644 index 0000000..a48d6c4 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/deputil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/dutil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/dutil.lib new file mode 100644 index 0000000..aa00ce0 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/dutil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/wcautil.lib b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/wcautil.lib new file mode 100644 index 0000000..712cc54 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/vs2017/lib/x86/wcautil.lib differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/wix.ca.targets b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/wix.ca.targets new file mode 100644 index 0000000..0631b82 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/wix.ca.targets @@ -0,0 +1,205 @@ + + + + + + + + + + true + + $(MSBuildExtensionsPath32)\..\WiX Toolset v3.11\bin\WixTasks.dll + $(MSBuildExtensionsPath)\..\WiX Toolset v3.11\bin\WixTasks.dll + + $(MSBuildProgramFiles32)\WiX Toolset v3.11\bin\WixTasks.dll + + $(TargetName).CA$(TargetExt) + + + + + + + SOFTWARE\Microsoft\Windows Installer XML\3.11 + SOFTWARE\Wow6432Node\Microsoft\Windows Installer XML\3.11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/wix.nativeca.targets b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/wix.nativeca.targets new file mode 100644 index 0000000..d91edf5 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/wix.nativeca.targets @@ -0,0 +1,25 @@ + + + + + + + + true + + VS2010 + VS2012 + VS2012 + VS2013 + VS2013 + VS2015 + VS2015 + VS2017 + VS2017 + + VS2015 + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/x64/sfxca.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/x64/sfxca.dll new file mode 100644 index 0000000..91751ee Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/x64/sfxca.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/x86/sfxca.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/x86/sfxca.dll new file mode 100644 index 0000000..e55ff8f Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/sdk/x86/sfxca.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/shine.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/shine.exe new file mode 100644 index 0000000..1190429 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/shine.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/shine.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/shine.exe.config new file mode 100644 index 0000000..7e077ed --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/shine.exe.config @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/smoke.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/smoke.exe new file mode 100644 index 0000000..ae3de1c Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/smoke.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/smoke.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/smoke.exe.config new file mode 100644 index 0000000..bbfc736 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/smoke.exe.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/torch.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/torch.exe new file mode 100644 index 0000000..63eb434 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/torch.exe differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/torch.exe.config b/PDFWorkflowManager/packages/WiX.3.11.2/tools/torch.exe.config new file mode 100644 index 0000000..bbfc736 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/torch.exe.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/wconsole.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wconsole.dll new file mode 100644 index 0000000..0293900 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wconsole.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/winterop.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/winterop.dll new file mode 100644 index 0000000..fe05975 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/winterop.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix.dll b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix.dll new file mode 100644 index 0000000..464dad8 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix.dll differ diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix.targets b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix.targets new file mode 100644 index 0000000..a96f0d8 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix.targets @@ -0,0 +1,24 @@ + + + + + + + + + + + true + + + + wix2010.targets + + wix200x.targets + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix200x.targets b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix200x.targets new file mode 100644 index 0000000..fbac4ec --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix200x.targets @@ -0,0 +1,3091 @@ + + + + + + + + + + + $(MSBuildProjectFullPath).user + + + + + + + $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets + $(MSBuildExtensionsPath32)\..\WiX Toolset v3.11\bin\WixTasks.dll + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets + $(MSBuildExtensionsPath)\..\WiX Toolset v3.11\bin\WixTasks.dll + $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Lux.targets + $(MSBuildExtensionsPath32)\..\WiX Toolset v3.11\bin\LuxTasks.dll + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Lux.targets + $(MSBuildExtensionsPath)\..\WiX Toolset v3.11\bin\LuxTasks.dll + + + + + $(MSBuildAllProjects);$(MSBuildProjectFullPath) + $(MSBuildAllProjects);$(WixTargetsPath) + $(MSBuildAllProjects);$(LuxTargetsPath) + $(MSBuildAllProjects);$(UserTargetsPath) + $(MSBuildAllProjects);$(CustomBeforeWixTargets) + $(MSBuildAllProjects);$(CustomAfterWixTargets) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + Debug + AnyCPU + bin\$(Configuration)\ + + $(OutputPath)\ + <_OriginalOutputType>$(OutputType) + Package + true + + + + + obj\ + $(IntermediateOutputPath)\ + $(BaseIntermediateOutputPath)$(Configuration)\ + $(BaseIntermediateOutputPath)$(Platform)\$(Configuration)\ + .wixobj + $(IntermediateOutputPath)cabcache\ + $(MSBuildProjectFile).FileList.txt + $(MSBuildProjectFile).BindContentsFileList + .txt + $(MSBuildProjectFile).BindOutputsFileList + .txt + $(MSBuildProjectFile).BindBuiltOutputsFileList + .txt + $(MSBuildProjectFile).Signed.txt + + + + + + + .msi + .msm + .pcp + .wixlib + .exe + + + + + $(OutputPath) + + $(OutDir)\ + + + $(OutDir) + $(PdbOutputPath)\ + + + $(MSBuildProjectName) + + + $(MSBuildProjectFile) + + + $(MSBuildProjectExtension) + + + $(MSBuildProjectDirectory)\ + + + $(ProjectDir)$(ProjectFileName) + + + .wixpdb + + + $(OutputName) + + + $(TargetName)$(TargetExt) + + + $(TargetName)$(TargetPdbExt) + + + $(Configuration) + + + $(Platform) + + + + + <_OutputPathItem Include="$(OutDir)" /> + <_IntermediateOutputPathItem Include="$(IntermediateOutputPath)" /> + <_PdbOutputPathItem Include="$(PdbOutputPath)" /> + + + + + + @(_OutputPathItem->'%(FullPath)') + @(_PdbOutputPathItem->'%(FullPath)') + + + @(_OutputPathItem->'%(FullPath)$(TargetFileName)') + @(_PdbOutputPathItem->'%(FullPath)$(TargetPdbName)') + + + + + + + + + + *Undefined if not building from within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + + + + + + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + true + false + true + false + + + + + + false + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + $(IntermediateOutputPath)Product.Generated.wxs + $(IntermediateOutputPath)Bundle.Generated.wxs + + + + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + + + + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(SuppressSchemaValidation) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + $(Platform) + + + + + $(NoLogo) + $(BindFiles) + $(Pedantic) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(SuppressSchemaValidation) + $(SuppressIntermediateFileVersionMatching) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + $(NoLogo) + $(BindFiles) + $(Pedantic) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(SuppressSchemaValidation) + $(SuppressIntermediateFileVersionMatching) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + + + + + + + + + + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + + + <_PleaseSetThisInProjectFile>Please set this in the project file before the <Import> of the wix.targets file. + <_OutputTypeDescription>The OutputType defines whether a Windows Installer package (.msi), PatchCreation (.pcp), merge module (.msm), wix library (.wixlib), or self-extracting executable (.exe) is being built. $(_PleaseSetThisInProjectFile) Possible values are 'Package', 'Module', 'Library', and 'Bundle'. + + + + + + + + + + + + + + + + + + + + + SOFTWARE\Microsoft\Windows Installer XML\3.11 + SOFTWARE\Wow6432Node\Microsoft\Windows Installer XML\3.11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BeforeBuild; + CoreBuild; + AfterBuild + + + + + + + + + + + + + + + BuildOnlySettings; + PrepareForBuild; + PreBuildEvent; + ResolveReferences; + AddCompilerDefineConstants; + CompileAndLink; + Signing; + GetTargetPath; + IncrementalClean; + PostBuildEvent + + + + + + + + + + + + + + BeforeRebuild; + Clean; + $(MSBuildProjectDefaultTargets); + AfterRebuild; + + + + BeforeRebuild; + Clean; + Build; + AfterRebuild; + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild + + + + + + + + + + + + + + + + + + + + + + GetTargetPath + + + + + + + + + + + + + + + + + + + + + + BeforeResolveReferences; + SplitProjectReferencesByType; + ResolveProjectReferences; + ResolveVCProjectReferences; + ResolveWixLibraryReferences; + ResolveWixExtensionReferences; + AfterResolveReferences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + AssignCultures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + + + + + + + + + + + + + + + + + + + + + + + + + + ResolveReferences; + AddSolutionDefineConstants; + AddProjectReferenceDefineConstants; + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ResolveReferences; + BeforeCompileAndLink; + _TimeStampBeforeCompileAndLink; + ConvertReferences; + ConvertBundleReferences; + Harvest; + GenerateCode; + Compile; + Lib; + Link; + UpdateLinkFileWrites; + _TimeStampAfterCompileAndLink; + AfterCompileAndLink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HarvestProjects; + HarvestDirectory; + HarvestFile; + + + + + + + + RefreshGeneratedFile; + RefreshBundleGeneratedFile + + + + + + + + GetMsmsToSign; + InternalSignMsm; + + + GetCabsToSign; + GetMsiToSign; + InternalSignCabs; + InscribeMsi; + InternalSignMsi; + + + GetContainersToSign; + InternalSignContainers; + InscribeBundleEngine; + InternalSignBundleEngine; + InscribeBundle; + InternalSignBundle; + + + + CompileAndLink; + BeforeSigning; + $(InternalSignDependsOn); + AfterSigning + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CombineHarvestProjects + + + + + + + + + + + + + + + + + + GetHarvestDirectoryContent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences; + GenerateCompileWithObjectPath + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences; + CompileAndLink; + InternalSignCabs + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences; + CompileAndLink; + InternalSignContainers + + + + + + + + + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences; + CompileAndLink; + InternalSignBundleEngine + + + + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + ResolveReferences; + AssignCultures; + ReadPreviousBindInputsAndBuiltOutputs; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BeforeClean; + CleanReferencedProjects; + CoreClean; + AfterClean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GetTargetPath + + + + + + + + + + + + + + + + + + + + + + + + + true + $(TargetPath) + $(TargetFileName) + + + + + + PrepareForBuild;AssignCultures + true + + + + + + + + + + + + + + + + + + + + + + + + + + + AssignCultures + + + + + + + + + + + + + + + + + + PrepareForBuild + + + + + + PrepareForBuild + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix2010.targets b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix2010.targets new file mode 100644 index 0000000..265d656 --- /dev/null +++ b/PDFWorkflowManager/packages/WiX.3.11.2/tools/wix2010.targets @@ -0,0 +1,3073 @@ + + + + + + + $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Installer XML\3.11@InstallRoot) + $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Installer XML\3.11@InstallRoot) + + + + + + + $(MSBuildProjectFullPath).user + + + + + + + $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets + $(WixInstallPath)\WixTasks.dll + $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Lux.targets + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Lux.targets + $(WixInstallPath)\LuxTasks.dll + + + + + $(MSBuildAllProjects);$(MSBuildProjectFullPath) + $(MSBuildAllProjects);$(WixTargetsPath) + $(MSBuildAllProjects);$(LuxTargetsPath) + $(MSBuildAllProjects);$(UserTargetsPath) + $(MSBuildAllProjects);$(CustomBeforeWixTargets) + $(MSBuildAllProjects);$(CustomAfterWixTargets) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + $(OutputPath)\ + $(MSBuildProjectName) + + bin\Debug\ + <_OriginalConfiguration>$(Configuration) + <_OriginalPlatform>$(Platform) + Debug + $(Configuration) + AnyCPU + <_OriginalOutputType>$(OutputType) + Package + true + + + + + <_InvalidConfigurationError Condition=" '$(SkipInvalidConfigurations)' != 'true' ">true + <_InvalidConfigurationWarning Condition=" '$(SkipInvalidConfigurations)' == 'true' ">true + + + + + obj\ + $(BaseIntermediateOutputPath)\ + .wixobj + $(MSBuildProjectFile).FileList.txt + $(MSBuildProjectFile).BindContentsFileList + .txt + $(MSBuildProjectFile).BindOutputsFileList + .txt + $(MSBuildProjectFile).BindBuiltOutputsFileList + .txt + $(MSBuildProjectFile).Signed.txt + + + + $(BaseIntermediateOutputPath)$(Configuration)\ + $(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\ + + + $(IntermediateOutputPath)\ + + + $(IntermediateOutputPath)cabcache\ + + + + + + + + $(WixInstallPath) + $(WixToolPath) + + + + + + + .msi + .msm + .pcp + .wixlib + .exe + + + + + $(OutputPath) + + $(OutDir)\ + + + $(OutDir) + $(PdbOutputPath)\ + + + $(MSBuildProjectName) + + + $(MSBuildProjectFile) + + + $(MSBuildProjectExtension) + + + $(MSBuildProjectDirectory)\ + + + $(ProjectDir)$(ProjectFileName) + + + .wixpdb + + + $(OutputName) + + + $(TargetName)$(TargetExt) + + + $(TargetName)$(TargetPdbExt) + + + $(Configuration) + + + $(Platform) + + + + + <_OutputPathItem Include="$(OutDir)" /> + <_IntermediateOutputPathItem Include="$(IntermediateOutputPath)" /> + + + + + + $([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(OutDir)`))`)) + $([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(PdbOutputPath)`))`)) + + + $(TargetDir)$(TargetFileName) + $(TargetPdbDir)$(TargetPdbName) + + + + + + + + + + *Undefined if not building from within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + *Undefined if not building a solution or within Visual Studio* + + + + + + + + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + true + false + true + false + + + + + + false + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + $(IntermediateOutputPath)Product.Generated.wxs + $(IntermediateOutputPath)Bundle.Generated.wxs + + + + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + + + + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(SuppressSchemaValidation) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + $(Platform) + + + + + $(NoLogo) + $(BindFiles) + $(Pedantic) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(SuppressSchemaValidation) + $(SuppressIntermediateFileVersionMatching) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + $(NoLogo) + $(BindFiles) + $(Pedantic) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(SuppressSchemaValidation) + $(SuppressIntermediateFileVersionMatching) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + + + + + + + + + + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + Configuration=$(ConfigurationName); + OutDir=$(OutDir); + Platform=$(PlatformName); + ProjectDir=$(ProjectDir); + ProjectExt=$(ProjectExt); + ProjectFileName=$(ProjectFileName); + ProjectName=$(ProjectName); + ProjectPath=$(ProjectPath); + TargetDir=$(TargetDir); + TargetExt=$(TargetExt); + TargetFileName=$(TargetFileName); + TargetName=$(TargetName); + TargetPath=$(TargetPath); + + + + + + + + + + + + + + + + + + + + + + + <_PleaseSetThisInProjectFile>Please set this in the project file before the <Import> of the wix.targets file. + <_OutputTypeDescription>The OutputType defines whether a Windows Installer package (.msi), PatchCreation (.pcp), merge module (.msm), wix library (.wixlib), or self-extracting executable (.exe) is being built. $(_PleaseSetThisInProjectFile) Possible values are 'Package', 'Module', 'Library', and 'Bundle'. + + + + + + + + + + + + + + + + + + + + + + + + BeforeBuild; + CoreBuild; + AfterBuild + + + + + + + + + + + + + + + BuildOnlySettings; + PrepareForBuild; + PreBuildEvent; + ResolveReferences; + AddCompilerDefineConstants; + CompileAndLink; + Signing; + GetTargetPath; + IncrementalClean; + PostBuildEvent + + + + + + + + + + + + + + BeforeRebuild; + Clean; + $(MSBuildProjectDefaultTargets); + AfterRebuild; + + + + BeforeRebuild; + Clean; + Build; + AfterRebuild; + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild + + + + + + + + + + + + + + + + + + + + + + GetTargetPath + + + + + + + + + + + + + + + + + + + + + + BeforeResolveReferences; + AssignProjectConfiguration; + ResolveProjectReferences; + ResolveWixLibraryReferences; + ResolveWixExtensionReferences; + AfterResolveReferences + + + + + + + + + + + + + + + + + + + + + + + <_ProjectReferenceWithConfiguration> + %(FullPath) + + + + + + + + + + + + + + + + + + + <_MSBuildProjectReference Include="@(_ProjectReferenceWithConfiguration)" Condition="'$(BuildingInsideVisualStudio)'!='true' and '@(_ProjectReferenceWithConfiguration)'!=''"/> + + + + + <_MSBuildProjectReferenceExistent Include="@(_MSBuildProjectReference)" Condition="Exists('%(Identity)')"/> + <_MSBuildProjectReferenceNonexistent Include="@(_MSBuildProjectReference)" Condition="!Exists('%(Identity)')"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + AssignCultures + + + + + + + + + + + PrepareForBuild; + + + + + + + + + + + + + + + + + + + + + + + + + + ResolveReferences; + AddSolutionDefineConstants; + AddProjectReferenceDefineConstants; + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ResolveReferences; + BeforeCompileAndLink; + _TimeStampBeforeCompileAndLink; + ConvertReferences; + ConvertBundleReferences; + Harvest; + GenerateCode; + Compile; + Lib; + Link; + _TimeStampAfterCompileAndLink; + AfterCompileAndLink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HarvestProjects; + HarvestDirectory; + HarvestFile; + + + + + + + + RefreshGeneratedFile; + RefreshBundleGeneratedFile + + + + + + + + GetMsmsToSign; + InternalSignMsm; + + + GetCabsToSign; + GetMsiToSign; + InternalSignCabs; + InscribeMsi; + InternalSignMsi; + + + GetContainersToSign; + InternalSignContainers; + InscribeBundleEngine; + InternalSignBundleEngine; + InscribeBundle; + InternalSignBundle; + + + + CompileAndLink; + BeforeSigning; + $(InternalSignDependsOn); + AfterSigning + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_HeatProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' "> + %(_MSBuildProjectReferenceExistent.RefTargetDir) + Binaries;Symbols;Sources;Content;Satellites;Documents + %(_MSBuildProjectReferenceExistent.Name) + $(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs + + + + + + + + + + <_GeneratedFiles Include="$(HarvestProjectsGeneratedFile)" /> + + + + + + + + + <_HeatProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' "> + Binaries;Symbols;Sources;Content;Satellites;Documents + payloadgroup + $(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs + + + + + + + + + + <_GeneratedFiles Include="$(HarvestProjectsGeneratedFile)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(HarvestProjectsTransforms) + $(HarvestProjectsProjectOutputGroups) + $(HarvestProjectsDirectoryIds) + + + $(HarvestProjectsTransforms) + $(HarvestProjectsProjectOutputGroups) + $(HarvestProjectsDirectoryIds) + + + + + CombineHarvestProjects + + + + + + + + + + + + + + + + + $(HarvestDirectoryTransforms) + $(HarvestDirectoryComponentGroupName) + $(HarvestDirectoryDirectoryRefId) + $(HarvestDirectoryKeepEmptyDirectories) + $(HarvestDirectoryPreprocessorVariable) + $(HarvestDirectorySuppressCom) + $(HarvestDirectorySuppressRootDirectory) + $(HarvestDirectorySuppressRegistry) + + + + + + GetHarvestDirectoryContent + + + + + + + + + + + + + + + + + + + + + + + + + + $(HarvestFileTransforms) + $(HarvestFileComponentGroupName) + $(HarvestFileDirectoryRefId) + $(HarvestFilePreprocessorVariable) + $(HarvestFileSuppressCom) + $(HarvestFileSuppressRegistry) + $(HarvestFileSuppressRootDirectory) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences; + GenerateCompileWithObjectPath + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences; + CompileAndLink; + InternalSignCabs + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences; + CompileAndLink; + InternalSignContainers + + + + + + + + + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences; + CompileAndLink; + InternalSignBundleEngine + + + + + + + + + + + + + + PrepareForBuild; + ResolveWixExtensionReferences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild; + ResolveReferences; + AssignCultures; + ReadPreviousBindInputsAndBuiltOutputs; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BeforeClean; + CleanReferencedProjects; + CoreClean; + AfterClean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GetTargetPath + + + + + + + + + + + + + + + + + + + + + + + + + true + $(TargetPath) + $(TargetFileName) + + + + + + PrepareForBuild;AssignCultures + true + + + + + + + + + + %(_BuiltProjectOutputGroupOutputIntermediate.FullPath) + + + + + + + + + + + + + + + + + + + + AssignCultures + + + + + + + + + + + + + + + + + + PrepareForBuild + + + + + + PrepareForBuild + + + + + + + + + + + + + + + + + + + + + + + + + + PrepareForBuild + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PDFWorkflowManager/packages/WiX.3.11.2/tools/x86/burn.exe b/PDFWorkflowManager/packages/WiX.3.11.2/tools/x86/burn.exe new file mode 100644 index 0000000..92e32b3 Binary files /dev/null and b/PDFWorkflowManager/packages/WiX.3.11.2/tools/x86/burn.exe differ diff --git a/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/.signature.p7s b/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/.signature.p7s new file mode 100644 index 0000000..d6df649 Binary files /dev/null and b/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/.signature.p7s differ diff --git a/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/WindowsAPICodePack-Core.1.1.2.nupkg b/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/WindowsAPICodePack-Core.1.1.2.nupkg new file mode 100644 index 0000000..15113dd Binary files /dev/null and b/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/WindowsAPICodePack-Core.1.1.2.nupkg differ diff --git a/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/lib/Microsoft.WindowsAPICodePack.dll b/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/lib/Microsoft.WindowsAPICodePack.dll new file mode 100644 index 0000000..275c251 Binary files /dev/null and b/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/lib/Microsoft.WindowsAPICodePack.dll differ diff --git a/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/lib/Microsoft.WindowsAPICodePack.xml b/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/lib/Microsoft.WindowsAPICodePack.xml new file mode 100644 index 0000000..44c58f7 --- /dev/null +++ b/PDFWorkflowManager/packages/WindowsAPICodePack-Core.1.1.2/lib/Microsoft.WindowsAPICodePack.xml @@ -0,0 +1,2934 @@ + + + + Microsoft.WindowsAPICodePack + + + + + Provides access to the Application Restart and Recovery + features available in Windows Vista or higher. Application Restart and Recovery lets an + application do some recovery work to save data before the process exits. + + + + + Registers an application for recovery by Application Restart and Recovery. + + An object that specifies + the callback method, an optional parameter to pass to the callback + method and a time interval. + + The registration failed due to an invalid parameter. + + + The registration failed. + The time interval is the period of time within + which the recovery callback method + calls the method to indicate + that it is still performing recovery work. + + + + Removes an application's recovery registration. + + + The attempt to unregister for recovery failed. + + + + Removes an application's restart registration. + + + The attempt to unregister for restart failed. + + + + Called by an application's method + to indicate that it is still performing recovery work. + + A value indicating whether the user + canceled the recovery. + + This method must be called from a registered callback method. + + + + Called by an application's method to + indicate that the recovery work is complete. + + + This should + be the last call made by the method because + Windows Error Reporting will terminate the application + after this method is invoked. + + true to indicate the the program was able to complete its recovery + work before terminating; otherwise false. + + + + Registers an application for automatic restart if + the application + is terminated by Windows Error Reporting. + + An object that specifies + the command line arguments used to restart the + application, and + the conditions under which the application should not be + restarted. + Registration failed due to an invalid parameter. + The attempt to register failed. + A registered application will not be restarted if it executed for less than 60 seconds before terminating. + + + + This exception is thrown when there are problems with registering, unregistering or updating + applications using Application Restart Recovery. + + + + + Default constructor. + + + + + Initializes an exception with a custom message. + + A custom message for the exception. + + + + Initializes an exception with custom message and inner exception. + + A custom message for the exception. + Inner exception. + + + + Initializes an exception with custom message and error code. + + A custom message for the exception. + An error code (hresult) from which to generate the exception. + + + + Initializes an exception from serialization info and a context. + + Serialization info from which to create exception. + Streaming context from which to create exception. + + + + The that represents the callback method invoked + by the system when an application has registered for + application recovery. + + An application-defined state object that is passed to the callback method. + The callback method will be invoked + prior to the application being terminated by Windows Error Reporting (WER). To keep WER from terminating the application before + the callback method completes, the callback method must + periodically call the method. + + + + + Defines a class that contains a callback delegate and properties of the application + as defined by the user. + + + + + Initializes a recovery data wrapper with a callback method and the current + state of the application. + + The callback delegate. + The current state of the application. + + + + Gets or sets a value that determines the recovery callback function. + + + + + Gets or sets a value that determines the application state. + + + + + Invokes the recovery callback function. + + + + + Defines methods and properties for recovery settings, and specifies options for an application that attempts + to perform final actions after a fatal event, such as an + unhandled exception. + + This class is used to register for application recovery. + See the class. + + + + + Initializes a new instance of the RecoverySettings class. + + A recovery data object that contains the callback method (invoked by the system + before Windows Error Reporting terminates the application) and an optional state object. + The time interval within which the + callback method must invoke to + prevent WER from terminating the application. + + + + + Gets the recovery data object that contains the callback method and an optional + parameter (usually the state of the application) to be passed to the + callback method. + + A object. + + + + Gets the time interval for notifying Windows Error Reporting. + The method must invoke + within this interval to prevent WER from terminating the application. + + + The recovery ping interval is specified in milliseconds. + By default, the interval is 5 seconds. + If you specify zero, the default interval is used. + + + + + Returns a string representation of the current state + of this object. + + A object. + + + + Specifies the conditions when Windows Error Reporting + should not restart an application that has registered + for automatic restart. + + + + + Always restart the application. + + + + + Do not restart when the application has crashed. + + + + + Do not restart when the application is hung. + + + + + Do not restart when the application is terminated + due to a system update. + + + + + Do not restart when the application is terminated + because of a system reboot. + + + + + Specifies the options for an application to be automatically + restarted by Windows Error Reporting. + + Regardless of these + settings, the application + will not be restarted if it executed for less than 60 seconds before + terminating. + + + + Creates a new instance of the RestartSettings class. + + The command line arguments + used to restart the application. + A bitwise combination of the RestartRestrictions + values that specify + when the application should not be restarted. + + + + + Gets the command line arguments used to restart the application. + + A object. + + + + Gets the set of conditions when the application + should not be restarted. + + A set of values. + + + + Returns a string representation of the current state + of this object. + + A that displays + the command line arguments + and restrictions for restarting the application. + + + + This exception is thrown when there are problems with getting piece of data within PowerManager. + + + + + Default constructor. + + + + + Initializes an excpetion with a custom message. + + A custom message for the exception. + + + + Initializes an exception with custom message and inner exception. + + A custom message for the exception. + An inner exception on which to base this exception. + + + + Initializes an exception from serialization info and a context. + + SerializationInfo for the exception. + StreamingContext for the exception. + + + + Gets the Guid relating to the currently active power scheme. + + Reserved for future use, this must be set to IntPtr.Zero + Returns a Guid referring to the currently active power scheme. + + + + A snapshot of the state of the battery. + + + + + Gets a value that indicates whether the battery charger is + operating on external power. + + A value. True indicates the battery charger is operating on AC power. + + + + Gets the maximum charge of the battery (in mW). + + An value. + + + + Gets the current charge of the battery (in mW). + + An value. + + + + Gets the rate of discharge for the battery (in mW). + + + If plugged in, fully charged: DischargeRate = 0. + If plugged in, charging: DischargeRate = positive mW per hour. + If unplugged: DischargeRate = negative mW per hour. + + An value. + + + + Gets the estimated time remaining until the battery is empty. + + A object. + + + + Gets the manufacturer's suggested battery charge level + that should cause a critical alert to be sent to the user. + + An value. + + + + Gets the manufacturer's suggested battery charge level + that should cause a warning to be sent to the user. + + An value. + + + + Generates a string that represents this BatteryState object. + + A representation of this object's current state. + + + + This class keeps track of the current state of each type of event. + The MessageManager class tracks event handlers. + This class only deals with each event type (i.e. + BatteryLifePercentChanged) as a whole. + + + + + Determines if a message should be caught, preventing + the event handler from executing. + This is needed when an event is initially registered. + + The event to check. + A boolean value. Returns true if the + message should be caught. + + + + Enumeration of execution states. + + + + + No state configured. + + + + + Forces the system to be in the working state by resetting the system idle timer. + + + + + Forces the display to be on by resetting the display idle timer. + + + + + Enables away mode. This value must be specified with ES_CONTINUOUS. + Away mode should be used only by media-recording and media-distribution applications that must perform critical background processing on desktop computers while the computer appears to be sleeping. See Remarks. + + Windows Server 2003 and Windows XP/2000: ES_AWAYMODE_REQUIRED is not supported. + + + + + Informs the system that the state being set should remain in effect until the next call that uses ES_CONTINUOUS and one of the other state flags is cleared. + + + + + This class generates .NET events based on Windows messages. + The PowerRegWindow class processes the messages from Windows. + + + + + Registers a callback for a power event. + + Guid for the event. + Event handler for the specified event. + + + + Unregisters an event handler for a power event. + + Guid for the event. + Event handler to unregister. + + + + Ensures that the hidden window is initialized and + listening for messages. + + + + + Catch Windows messages and generates events for power specific + messages. + + + + + Adds an event handler to call when Windows sends + a message for an event. + + Guid for the event. + Event handler for the event. + + + + Removes an event handler. + + Guid for the event. + Event handler to remove. + Cannot unregister + a function that is not registered. + + + + Executes any registered event handlers. + + ArrayList of event handlers. + + + + This method is called when a Windows message + is sent to this window. + The method calls the registered event handlers. + + + + + Registers the application to receive power setting notifications + for the specific power setting event. + + Handle indicating where the power setting + notifications are to be sent. + The GUID of the power setting for + which notifications are to be sent. + Returns a notification handle for unregistering + power notifications. + + + + Enables registration for + power-related event notifications and provides access to power settings. + + + + + Raised each time the active power scheme changes. + + The event handler specified for removal was not registered. + Requires Vista/Windows Server 2008. + + + + Raised when the power source changes. + + The event handler specified for removal was not registered. + Requires Vista/Windows Server 2008. + + + + Raised when the remaining battery life changes. + + The event handler specified for removal was not registered. + Requires Vista/Windows Server 2008. + + + + Raised when the monitor status changes. + + The event handler specified for removal was not registered. + Requires Vista/Windows Server 2008. + + + + Raised when the system will not be moving into an idle + state in the near future so applications should + perform any tasks that + would otherwise prevent the computer from entering an idle state. + + The event handler specified for removal was not registered. + Requires Vista/Windows Server 2008. + + + + Gets a snapshot of the current battery state. + + A instance that represents + the state of the battery at the time this method was called. + The system does not have a battery. + Requires XP/Windows Server 2003 or higher. + + + + Gets or sets a value that indicates whether the monitor is + set to remain active. + + Requires XP/Windows Server 2003 or higher. + The caller does not have sufficient privileges to set this property. + + This information is typically used by applications + that display information but do not require + user interaction. For example, video playback applications. + to set this property. Demand value: ; Named Permission Sets: FullTrust. + A value. True if the monitor + is required to remain on. + + + + Gets or sets a value that indicates whether the system + is required to be in the working state. + + Requires XP/Windows Server 2003 or higher. + The caller does not have sufficient privileges to set this property. + + to set this property. Demand value: ; Named Permission Sets: FullTrust. + A value. + + + + Gets a value that indicates whether a battery is present. + The battery can be a short term battery. + + Requires XP/Windows Server 2003 or higher. + A value. + + + + Gets a value that indicates whether the battery is a short term battery. + + Requires XP/Windows Server 2003 or higher. + A value. + + + + Gets a value that indicates a UPS is present to prevent + sudden loss of power. + + Requires XP/Windows Server 2003 or higher. + A value. + + + + Gets a value that indicates the current power scheme. + + Requires Vista/Windows Server 2008. + A value. + + + + Gets a value that indicates the remaining battery life + (as a percentage of the full battery charge). + This value is in the range 0-100, + where 0 is not charged and 100 is fully charged. + + The system does not have a battery. + Requires Vista/Windows Server 2008. + An value. + + + + Gets a value that indictates whether the monitor is on. + + Requires Vista/Windows Server 2008. + A value. + + + + Gets the current power source. + + Requires Vista/Windows Server 2008. + A value. + + + + Allows an application to inform the system that it + is in use, thereby preventing the system from entering + the sleeping power state or turning off the display + while the application is running. + + The thread's execution requirements. + Thrown if the SetThreadExecutionState call fails. + + + + Specifies the supported power personalities. + + + + + The power personality Guid does not match a known value. + + + + + Power settings designed to deliver maximum performance + at the expense of power consumption savings. + + + + + Power settings designed consume minimum power + at the expense of system performance and responsiveness. + + + + + Power settings designed to balance performance + and power consumption. + + + + + Specifies the power source currently supplying power to the system. + + Application should be aware of the power source because + some power sources provide a finite power supply. + An application might take steps to conserve power while + the system is using such a source. + + + + + The computer is powered by an AC power source + or a similar device, such as a laptop powered + by a 12V automotive adapter. + + + + + The computer is powered by a built-in battery. + A battery has a limited + amount of power; applications should conserve resources + where possible. + + + + + The computer is powered by a short-term power source + such as a UPS device. + + + + + Abstract base class for all dialog controls + + + + + Creates a new instance of a dialog control + + + + + Creates a new instance of a dialog control with the specified name. + + The name for this dialog. + + + + The native dialog that is hosting this control. This property is null is + there is not associated dialog + + + + + Gets the name for this control. + + A value. + + + + Gets the identifier for this control. + + An value. + + + + Calls the hosting dialog, if it exists, to check whether the + property can be set in the dialog's current state. + The host should throw an exception if the change is not supported. + Note that if the dialog isn't set yet, + there are no restrictions on setting the property. + + The name of the property that is changing + + + + Calls the hosting dialog, if it exists, to + to indicate that a property has changed, and that + the dialog should do whatever is necessary + to propagate the change to the native control. + Note that if the dialog isn't set yet, + there are no restrictions on setting the property. + + The name of the property that is changing. + + + + Compares two objects to determine whether they are equal + + The object to compare against. + A value. + + + + Serves as a hash function for a particular type. + + An hash code for this control. + + + + Strongly typed collection for dialog controls. + + DialogControl + + + + Inserts an dialog control at the specified index. + + The location to insert the control. + The item to insert. + A control with + the same name already exists in this collection -or- + the control is being hosted by another dialog -or- the associated dialog is + showing and cannot be modified. + + + + Removes the control at the specified index. + + The location of the control to remove. + + The associated dialog is + showing and cannot be modified. + + + + Defines the indexer that supports accessing controls by name. + + + Control names are case sensitive. + This indexer is useful when the dialog is created in XAML + rather than constructed in code. + + The name cannot be null or a zero-length string. + If there is more than one control with the same name, only the first control will be returned. + + + + Searches for the control who's id matches the value + passed in the parameter. + + + An integer containing the identifier of the + control being searched for. + + A DialogControl who's id matches the value of the + parameter. + + + + Indicates that the implementing class is a dialog that can host + customizable dialog controls (subclasses of DialogControl). + + + + + Returns if changes to the collection are allowed. + + true if collection change is allowed. + + + + Applies changes to the collection. + + + + + Handle notifications of individual child + pseudo-controls' properties changing.. + Prefilter should throw if the property + cannot be set in the dialog's current state. + PostProcess should pass on changes to native control, + if appropriate. + + The name of the property. + The control propertyName applies to. + true if the property change is allowed. + + + + Called when a control currently in the collection + has a property changed. + + The name of the property changed. + The control whose property has changed. + + + + Dialog Show State + + + + + Pre Show + + + + + Currently Showing + + + + + Currently Closing + + + + + Closed + + + + + Encapsulates the native logic required to create, + configure, and show a TaskDialog, + via the TaskDialogIndirect() Win32 function. + + A new instance of this class should + be created for each messagebox show, as + the HWNDs for TaskDialogs do not remain constant + across calls to TaskDialogIndirect. + + + + + Encapsulates additional configuration needed by NativeTaskDialog + that it can't get from the TASKDIALOGCONFIG struct. + + + + + Internal class containing most native interop declarations used + throughout the library. + Functions that are not performance intensive belong in this class. + + + + + Gets the handle to the Icon + + + + + Encapsulates a new-to-Vista Win32 TaskDialog window + - a powerful successor to the MessageBox available + in previous versions of Windows. + + + + + Occurs when a progress bar changes. + + + + + Occurs when a user clicks a hyperlink. + + + + + Occurs when the TaskDialog is closing. + + + + + Occurs when a user clicks on Help. + + + + + Occurs when the TaskDialog is opened. + + + + + Gets or sets a value that contains the owner window's handle. + + + + + Gets or sets a value that contains the message text. + + + + + Gets or sets a value that contains the instruction text. + + + + + Gets or sets a value that contains the caption text. + + + + + Gets or sets a value that contains the footer text. + + + + + Gets or sets a value that contains the footer check box text. + + + + + Gets or sets a value that contains the expanded text in the details section. + + + + + Gets or sets a value that determines if the details section is expanded. + + + + + Gets or sets a value that contains the expanded control text. + + + + + Gets or sets a value that contains the collapsed control text. + + + + + Gets or sets a value that determines if Cancelable is set. + + + + + Gets or sets a value that contains the TaskDialog main icon. + + + + + Gets or sets a value that contains the footer icon. + + + + + Gets or sets a value that contains the standard buttons. + + + + + Gets a value that contains the TaskDialog controls. + + + + + Gets or sets a value that determines if hyperlinks are enabled. + + + + + Gets or sets a value that indicates if the footer checkbox is checked. + + + + + Gets or sets a value that contains the expansion mode for this dialog. + + + + + Gets or sets a value that contains the startup location. + + + + + Gets or sets the progress bar on the taskdialog. ProgressBar a visual representation + of the progress of a long running operation. + + + + + Creates a basic TaskDialog window + + + + + Creates and shows a task dialog with the specified message text. + + The text to display. + The dialog result. + + + + Creates and shows a task dialog with the specified supporting text and main instruction. + + The supporting text to display. + The main instruction text to display. + The dialog result. + + + + Creates and shows a task dialog with the specified supporting text, main instruction, and dialog caption. + + The supporting text to display. + The main instruction text to display. + The caption for the dialog. + The dialog result. + + + + Creates and shows a task dialog. + + The dialog result. + + + + Close TaskDialog + + if TaskDialog is not showing. + + + + Close TaskDialog with a given TaskDialogResult + + TaskDialogResult to return from the TaskDialog.Show() method + if TaskDialog is not showing. + + + + Sets important text properties. + + An instance of a object. + + + + Dispose TaskDialog Resources + + + + + TaskDialog Finalizer + + + + + Dispose TaskDialog Resources + + If true, indicates that this is being called via Dispose rather than via the finalizer. + + + + Indicates whether this feature is supported on the current platform. + + + + + Defines a common class for all task dialog bar controls, such as the progress and marquee bars. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + The name for this control. + + + + Gets or sets the state of the progress bar. + + + + + Resets the state of the control to normal. + + + + + Implements a button that can be hosted in a task dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified property settings. + + The name of the button. + The button label. + + + + Gets or sets a value that controls whether the elevation icon is displayed. + + + + + Defines the abstract base class for task dialog buttons. + Classes that inherit from this class will inherit + the Text property defined in this class. + + + + + Creates a new instance on a task dialog button. + + + + + Creates a new instance on a task dialog button with + the specified name and text. + + The name for this button. + The label for this button. + + + + Raised when the task dialog button is clicked. + + + + + Gets or sets the button text. + + + + + Gets or sets a value that determines whether the + button is enabled. The enabled state can cannot be changed + before the dialog is shown. + + + + + Gets or sets a value that indicates whether + this button is the default button. + + + + + Returns the Text property value for this button. + + A . + + + + Data associated with event. + + + + + Gets or sets the standard button that was clicked. + + + + + Gets or sets the text of the custom button that was clicked. + + + + + Represents a command-link. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name and label. + + The name for this button. + The label for this button. + + + + Creates a new instance of this class with the specified name,label, and instruction. + + The name for this button. + The label for this button. + The instruction for this command link. + + + + Gets or sets the instruction associated with this command link button. + + + + + Returns a string representation of this object. + + A + + + + Declares the abstract base class for all custom task dialog controls. + + + + + Creates a new instance of a task dialog control. + + + + + Creates a new instance of a task dialog control with the specified name. + + The name for this control. + + + + Specifies the options for expand/collapse sections in dialogs. + + + + + Do not show the content. + + + + + Show the content. + + + + + Expand the footer content. + + + + + Defines event data associated with a HyperlinkClick event. + + + + + Creates a new instance of this class with the specified link text. + + The text of the hyperlink that was clicked. + + + + Gets or sets the text of the hyperlink that was clicked. + + + + + Provides a visual representation of the progress of a long running operation. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + And using the default values: Min = 0, Max = 100, Current = 0 + + The name of the control. + + + + Creates a new instance of this class with the specified + minimum, maximum and current values. + + The minimum value for this control. + The maximum value for this control. + The current value for this control. + + + + Gets or sets the minimum value for the control. + + + + + Gets or sets the maximum value for the control. + + + + + Gets or sets the current value for the control. + + + + + Verifies that the progress bar's value is between its minimum and maximum. + + + + + Resets the control to its minimum value. + + + + + Sets the state of a task dialog progress bar. + + + + + Uninitialized state, this should never occur. + + + + + Normal state. + + + + + An error occurred. + + + + + The progress is paused. + + + + + Displays marquee (indeterminate) style progress + + + + + Defines a radio button that can be hosted in by a + object. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with + the specified name and text. + + The name for this control. + The value for this controls + property. + + + + Indicates the various buttons and options clicked by the user on the task dialog. + + + + + No button was selected. + + + + + "OK" button was clicked + + + + + "Yes" button was clicked + + + + + "No" button was clicked + + + + + "Cancel" button was clicked + + + + + "Retry" button was clicked + + + + + "Close" button was clicked + + + + + A custom button was clicked. + + + + + Identifies one of the standard buttons that + can be displayed via TaskDialog. + + + + + No buttons on the dialog. + + + + + An "OK" button. + + + + + A "Yes" button. + + + + + A "No" button. + + + + + A "Cancel" button. + + + + + A "Retry" button. + + + + + A "Close" button. + + + + + Specifies the icon displayed in a task dialog. + + + + + Displays no icons (default). + + + + + Displays the warning icon. + + + + + Displays the error icon. + + + + + Displays the Information icon. + + + + + Displays the User Account Control shield. + + + + + Specifies the initial display location for a task dialog. + + + + + The window placed in the center of the screen. + + + + + The window centered relative to the window that launched the dialog. + + + + + The event data for a TaskDialogTick event. + + + + + Initializes the data associated with the TaskDialog tick event. + + The total number of ticks since the control was activated. + + + + Gets a value that determines the current number of ticks. + + + + + Represents a network on the local machine. + It can also represent a collection of network + connections with a similar network signature. + + + Instances of this class are obtained by calling + methods on the class. + + + + + Gets or sets the category of a network. The + categories are trusted, untrusted, or + authenticated. + + A value. + + + + Gets the local date and time when the network + was connected. + + A object. + + + + Gets the network connections for the network. + + A object. + + + + Gets the connectivity state of the network. + + A value. + Connectivity provides information on whether + the network is connected, and the protocols + in use for network traffic. + + + + Gets the local date and time when the + network was created. + + A object. + + + + Gets or sets a description for the network. + + A value. + + + + Gets the domain type of the network. + + A value. + The domain + indictates whether the network is an Active + Directory Network, and whether the machine + has been authenticated by Active Directory. + + + + Gets a value that indicates whether there is + network connectivity. + + A value. + + + + Gets a value that indicates whether there is + Internet connectivity. + + A value. + + + + Gets or sets the name of the network. + + A value. + + + + Gets a unique identifier for the network. + + A value. + + + + An enumerable collection of objects. + + + + + Returns the strongly typed enumerator for this collection. + + An object. + + + + Returns the enumerator for this collection. + + An object. + + + + Represents a connection to a network. + + A collection containing instances of this class is obtained by calling + the property. + + + + Retrieves an object that represents the network + associated with this connection. + + A object. + + + + Gets the adapter identifier for this connection. + + A object. + + + + Gets the unique identifier for this connection. + + A object. + + + + Gets a value that indicates the connectivity of this connection. + + A value. + + + + Gets a value that indicates whether the network associated + with this connection is + an Active Directory network and whether the machine + has been authenticated by Active Directory. + + A value. + + + + Gets a value that indicates whether this + connection has Internet access. + + A value. + + + + Gets a value that indicates whether this connection has + network connectivity. + + A value. + + + + An enumerable collection of objects. + + + + + Returns the strongly typed enumerator for this collection. + + A object. + + + + Returns the enumerator for this collection. + + A object. + + + + Specifies types of network connectivity. + + + + + The underlying network interfaces have no + connectivity to any network. + + + + + There is connectivity to the Internet + using the IPv4 protocol. + + + + + There is connectivity to a routed network + using the IPv4 protocol. + + + + + There is connectivity to a network, but + the service cannot detect any IPv4 + network traffic. + + + + + There is connectivity to the local + subnet using the IPv4 protocol. + + + + + There is connectivity to the Internet + using the IPv4 protocol. + + + + + There is connectivity to a local + network using the IPv6 protocol. + + + + + There is connectivity to a network, + but the service cannot detect any + IPv6 network traffic + + + + + There is connectivity to the local + subnet using the IPv6 protocol. + + + + + Specifies the domain type of a network. + + + + + The network is not an Active Directory network. + + + + + The network is an Active Directory network, but this machine is not authenticated against it. + + + + + The network is an Active Directory network, and this machine is authenticated against it. + + + + + Specifies the trust level for a + network. + + + + + The network is a public (untrusted) network. + + + + + The network is a private (trusted) network. + + + + + The network is authenticated against an Active Directory domain. + + + + + Specifies the level of connectivity for + networks returned by the + + class. + + + + + Networks that the machine is connected to. + + + + + Networks that the machine is not connected to. + + + + + All networks. + + + + + Provides access to objects that represent networks and network connections. + + + + + Retrieves a collection of objects that represent the networks defined for this machine. + + + The that specify the connectivity level of the returned objects. + + + A of objects. + + + + + Retrieves the identified by the specified network identifier. + + + A that specifies the unique identifier for the network. + + + The that represents the network identified by the identifier. + + + + + Retrieves a collection of objects that represent the connections for this machine. + + + A containing the network connections. + + + + + Retrieves the identified by the specified connection identifier. + + + A that specifies the unique identifier for the network connection. + + + The identified by the specified identifier. + + + + + Gets a value that indicates whether this machine + has Internet connectivity. + + A value. + + + + Gets a value that indicates whether this machine + has network connectivity. + + A value. + + + + Gets the connectivity state of this machine. + + A value. + + + + Defines a unique key for a Shell Property + + + + + A unique GUID for the property + + + + + Property identifier (PID) + + + + + PropertyKey Constructor + + A unique GUID for the property + Property identifier (PID) + + + + PropertyKey Constructor + + A string represenstion of a GUID for the property + Property identifier (PID) + + + + Returns whether this object is equal to another. This is vital for performance of value types. + + The object to compare against. + Equality result. + + + + Returns the hash code of the object. This is vital for performance of value types. + + + + + + Returns whether this object is equal to another. This is vital for performance of value types. + + The object to compare against. + Equality result. + + + + Implements the == (equality) operator. + + First property key to compare. + Second property key to compare. + true if object a equals object b. false otherwise. + + + + Implements the != (inequality) operator. + + First property key to compare + Second property key to compare. + true if object a does not equal object b. false otherwise. + + + + Override ToString() to provide a user friendly string representation + + String representing the property key + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Failed to register application for restart due to bad parameters.. + + + + + Looks up a localized string similar to Application was not registered for recovery due to bad parameters.. + + + + + Looks up a localized string similar to Application failed to register for recovery.. + + + + + Looks up a localized string similar to Application failed to registered for restart.. + + + + + Looks up a localized string similar to Unregister for recovery failed.. + + + + + Looks up a localized string similar to Unregister for restart failed.. + + + + + Looks up a localized string similar to This method must be called from the registered callback method.. + + + + + Looks up a localized string similar to ACOnline: {1}{0}Max Charge: {2} mWh{0}Current Charge: {3} mWh{0}Discharge Rate: {4} mWh{0}Estimated Time Remaining: {5}{0}Suggested Critical Battery Charge: {6} mWh{0}Suggested Battery Warning Charge: {7} mWh{0}. + + + + + Looks up a localized string similar to Cancelable cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Dialog caption cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to CheckBox text cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Collapsed control text cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Only supported on Windows 7 or newer.. + + + + + Looks up a localized string similar to Only supported on Windows Vista or newer.. + + + + + Looks up a localized string similar to Only supported on Windows XP or newer.. + + + + + Looks up a localized string similar to Dialog cannot have more than one control with the same name.. + + + + + Looks up a localized string similar to Dialog control must be removed from current collections first.. + + + + + Looks up a localized string similar to Control name cannot be null or zero length.. + + + + + Looks up a localized string similar to Modifying controls collection while dialog is showing is not supported.. + + + + + Looks up a localized string similar to Dialog control name cannot be empty or null.. + + + + + Looks up a localized string similar to Dialog controls cannot be renamed.. + + + + + Looks up a localized string similar to Application. + + + + + Looks up a localized string similar to . + + + + + Looks up a localized string similar to . + + + + + Looks up a localized string similar to Expanded information mode cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Expanded control label cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Expanding state of the dialog cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Hyperlinks cannot be enabled/disabled while dialog is showing.. + + + + + Looks up a localized string similar to Reference path is invalid.. + + + + + Looks up a localized string similar to The specified event handler has not been registered.. + + + + + Looks up a localized string similar to An error has occurred in dialog configuration.. + + + + + Looks up a localized string similar to Invalid arguments to Win32 call.. + + + + + Looks up a localized string similar to Dialog contents too complex.. + + + + + Looks up a localized string similar to An unexpected internal error occurred in the Win32 call: {0:x}. + + + + + Looks up a localized string similar to TaskDialog feature needs to load version 6 of comctl32.dll but a different version is current loaded in memory.. + + + + + Looks up a localized string similar to Dialog owner cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to SetThreadExecutionState call failed.. + + + + + Looks up a localized string similar to The caller had insufficient access rights to get the system battery state.. + + + + + Looks up a localized string similar to The caller had insufficient access rights to get the system power capabilities.. + + + + + Looks up a localized string similar to Failed to get active power scheme.. + + + + + Looks up a localized string similar to Battery is not present on this system.. + + + + + Looks up a localized string similar to Progress bar cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Progress bar cannot be hosted in multiple dialogs.. + + + + + Looks up a localized string similar to {0}, {1}. + + + + + Looks up a localized string similar to Unable to initialize PropVariant.. + + + + + Looks up a localized string similar to Multi-dimensional SafeArrays not supported.. + + + + + Looks up a localized string similar to String argument cannot be null or empty.. + + + + + Looks up a localized string similar to This Value type is not supported.. + + + + + Looks up a localized string similar to Cannot be cast to unsupported type.. + + + + + Looks up a localized string similar to delegate: {0}, state: {1}, ping: {2}. + + + + + Looks up a localized string similar to command: {0} restrictions: {1}. + + + + + Looks up a localized string similar to StandardButtons cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Startup location cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Bad button ID in closing event.. + + + + + Looks up a localized string similar to Button text must be non-empty.. + + + + + Looks up a localized string similar to Check box text must be provided to enable the dialog check box.. + + + + + Looks up a localized string similar to Attempting to close a non-showing dialog.. + + + + + Looks up a localized string similar to Application. + + + + + Looks up a localized string similar to . + + + + + Looks up a localized string similar to . + + + + + Looks up a localized string similar to Cannot have more than one default button of a given type.. + + + + + Looks up a localized string similar to Maximum value provided must be greater than the minimum value.. + + + + + Looks up a localized string similar to Minimum value provided must be a positive number.. + + + + + Looks up a localized string similar to Minimum value provided must less than the maximum value.. + + + + + Looks up a localized string similar to Value provided must be greater than equal to the minimum value and less than the maximum value.. + + + + + Looks up a localized string similar to Dialog cannot display both non-standard buttons and standard buttons.. + + + + + Looks up a localized string similar to Dialog cannot display both non-standard buttons and command links.. + + + + + Looks up a localized string similar to Unknown dialog control type.. + + + + + HRESULT Wrapper + + + + + S_OK + + + + + S_FALSE + + + + + E_INVALIDARG + + + + + E_OUTOFMEMORY + + + + + E_NOINTERFACE + + + + + E_FAIL + + + + + E_ELEMENTNOTFOUND + + + + + TYPE_E_ELEMENTNOTFOUND + + + + + NO_OBJECT + + + + + Win32 Error code: ERROR_CANCELLED + + + + + ERROR_CANCELLED + + + + + The requested resource is in use + + + + + The requested resources is read-only. + + + + + Provide Error Message Helper Methods. + This is intended for Library Internal use only. + + + + + This is intended for Library Internal use only. + + + + + This is intended for Library Internal use only. + + + + + This is intended for Library Internal use only. + + The Windows API error code. + The equivalent HRESULT. + + + + This is intended for Library Internal use only. + + The error code. + True if the error code indicates success. + + + + This is intended for Library Internal use only. + + The error code. + True if the error code indicates success. + + + + This is intended for Library Internal use only. + + The error code. + True if the error code indicates failure. + + + + This is intended for Library Internal use only. + + The error code. + True if the error code indicates failure. + + + + This is intended for Library Internal use only. + + The COM error code. + The Win32 error code. + Inticates that the Win32 error code corresponds to the COM error code. + + + + Common Helper methods + + + + + Determines if the application is running on XP + + + + + Throws PlatformNotSupportedException if the application is not running on Windows XP + + + + + Determines if the application is running on Vista + + + + + Throws PlatformNotSupportedException if the application is not running on Windows Vista + + + + + Determines if the application is running on Windows 7 + + + + + Throws PlatformNotSupportedException if the application is not running on Windows 7 + + + + + Get a string resource given a resource Id + + The resource Id + The string resource corresponding to the given resource Id. Returns null if the resource id + is invalid or the string cannot be retrieved for any other reason. + + + + Wrappers for Native Methods and Structs. + This type is intended for internal use only + + + + + Places (posts) a message in the message queue associated with the thread that created + the specified window and returns without waiting for the thread to process the message. + + Handle to the window whose window procedure will receive the message. + If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, + including disabled or invisible unowned windows, overlapped windows, and pop-up windows; + but the message is not sent to child windows. + + Specifies the message to be sent. + Specifies additional message-specific information. + Specifies additional message-specific information. + A return code specific to the message being sent. + + + + Sends the specified message to a window or windows. The SendMessage function calls + the window procedure for the specified window and does not return until the window + procedure has processed the message. + + Handle to the window whose window procedure will receive the message. + If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, + including disabled or invisible unowned windows, overlapped windows, and pop-up windows; + but the message is not sent to child windows. + + Specifies the message to be sent. + Specifies additional message-specific information. + Specifies additional message-specific information. + A return code specific to the message being sent. + + + + Sends the specified message to a window or windows. The SendMessage function calls + the window procedure for the specified window and does not return until the window + procedure has processed the message. + + Handle to the window whose window procedure will receive the message. + If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, + including disabled or invisible unowned windows, overlapped windows, and pop-up windows; + but the message is not sent to child windows. + + Specifies the message to be sent. + Specifies additional message-specific information. + Specifies additional message-specific information. + A return code specific to the message being sent. + + + + Sends the specified message to a window or windows. The SendMessage function calls + the window procedure for the specified window and does not return until the window + procedure has processed the message. + + Handle to the window whose window procedure will receive the message. + If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, + including disabled or invisible unowned windows, overlapped windows, and pop-up windows; + but the message is not sent to child windows. + + Specifies the message to be sent. + Specifies additional message-specific information. + Specifies additional message-specific information. + A return code specific to the message being sent. + + + + Sends the specified message to a window or windows. The SendMessage function calls + the window procedure for the specified window and does not return until the window + procedure has processed the message. + + Handle to the window whose window procedure will receive the message. + If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, + including disabled or invisible unowned windows, overlapped windows, and pop-up windows; + but the message is not sent to child windows. + + Specifies the message to be sent. + Specifies additional message-specific information. + Specifies additional message-specific information. + A return code specific to the message being sent. + + + + Sends the specified message to a window or windows. The SendMessage function calls + the window procedure for the specified window and does not return until the window + procedure has processed the message. + + Handle to the window whose window procedure will receive the message. + If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, + including disabled or invisible unowned windows, overlapped windows, and pop-up windows; + but the message is not sent to child windows. + + Specifies the message to be sent. + Specifies additional message-specific information. + Specifies additional message-specific information. + A return code specific to the message being sent. + + + + Destroys an icon and frees any memory the icon occupied. + + Handle to the icon to be destroyed. The icon must not be in use. + If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + + Gets the HiWord + + The value to get the hi word from. + Size + The upper half of the dword. + + + + Gets the LoWord + + The value to get the low word from. + The lower half of the dword. + + + + A Wrapper for a SIZE struct + + + + + Width + + + + + Height + + + + + Represents the OLE struct PROPVARIANT. + This class is intended for internal use only. + + + Originally sourced from http://blogs.msdn.com/adamroot/pages/interop-with-propvariants-in-net.aspx + and modified to support additional types including vectors and ability to set values + + + + + Attempts to create a PropVariant by finding an appropriate constructor. + + Object from which PropVariant should be created. + + + + Default constrcutor + + + + + Set a string value + + + + + Set a string vector + + + + + Set a bool vector + + + + + Set a short vector + + + + + Set a short vector + + + + + Set an int vector + + + + + Set an uint vector + + + + + Set a long vector + + + + + Set a ulong vector + + + + > + Set a double vector + + + + + Set a DateTime vector + + + + + Set a bool value + + + + + Set a DateTime value + + + + + Set a byte value + + + + + Set a sbyte value + + + + + Set a short value + + + + + Set an unsigned short value + + + + + Set an int value + + + + + Set an unsigned int value + + + + + Set a decimal value + + + + + Create a PropVariant with a contained decimal array. + + Decimal array to wrap. + + + + Create a PropVariant containing a float type. + + + + + Creates a PropVariant containing a float[] array. + + + + + Set a long + + + + + Set a ulong + + + + + Set a double + + + + + Set an IUnknown value + + The new value to set. + + + + Set a safe array value + + The new value to set. + + + + Gets or sets the variant type. + + + + + Checks if this has an empty or null value + + + + + + Gets the variant value. + + + + + Disposes the object, calls the clear function. + + + + + Finalizer + + + + + Provides an simple string representation of the contained data and type. + + + + + + Base class for Safe handles with Null IntPtr as invalid + + + + + Default constructor + + + + + Determines if this is a valid handle + + + + + Safe Icon Handle + + + + + Release the handle + + true if handled is release successfully, false otherwise + + + + Safe Region Handle + + + + + Release the handle + + true if handled is release successfully, false otherwise + + + + Safe Window Handle + + + + + Release the handle + + true if handled is release successfully, false otherwise + + + diff --git a/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/.signature.p7s b/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/.signature.p7s new file mode 100644 index 0000000..4cddb21 Binary files /dev/null and b/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/.signature.p7s differ diff --git a/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/WindowsAPICodePack-Shell.1.1.1.nupkg b/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/WindowsAPICodePack-Shell.1.1.1.nupkg new file mode 100644 index 0000000..5d35f5b Binary files /dev/null and b/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/WindowsAPICodePack-Shell.1.1.1.nupkg differ diff --git a/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/lib/Microsoft.WindowsAPICodePack.Shell.dll b/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/lib/Microsoft.WindowsAPICodePack.Shell.dll new file mode 100644 index 0000000..8c6d5cf Binary files /dev/null and b/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/lib/Microsoft.WindowsAPICodePack.Shell.dll differ diff --git a/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/lib/Microsoft.WindowsAPICodePack.Shell.xml b/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/lib/Microsoft.WindowsAPICodePack.Shell.xml new file mode 100644 index 0000000..ef2b05c --- /dev/null +++ b/PDFWorkflowManager/packages/WindowsAPICodePack-Shell.1.1.1/lib/Microsoft.WindowsAPICodePack.Shell.xml @@ -0,0 +1,25496 @@ + + + + Microsoft.WindowsAPICodePack.Shell + + + + + Provides extension methods for raising events safely. + + + + + Safely raises an event using EventArgs.Empty + + EventHandler to raise + Event sender + + + + Safely raises an event. + + Type of event args + EventHandler<T> to raise + Event sender + Event args + + + + Safely raises an event using EventArgs.Empty + + EventHandler<EventArgs> to raise + Event sender + + + + A wrapper for the native POINT structure. + + + + + Initialize the NativePoint + + The x coordinate of the point. + The y coordinate of the point. + + + + Determines if two NativePoints are equal. + + First NativePoint + Second NativePoint + True if first NativePoint is equal to the second; false otherwise. + + + + Determines if two NativePoints are not equal. + + First NativePoint + Second NativePoint + True if first NativePoint is not equal to the second; false otherwise. + + + + Determines if this NativePoint is equal to another. + + Another NativePoint to compare + True if this NativePoint is equal obj; false otherwise. + + + + Gets a hash code for the NativePoint. + + Hash code for the NativePoint + + + + The X coordinate of the point + + + + + The Y coordinate of the point + + + + + A wrapper for a RECT struct + + + + + Creates a new NativeRect initialized with supplied values. + + Position of left edge + Position of top edge + Position of right edge + Position of bottom edge + + + + Determines if two NativeRects are equal. + + First NativeRect + Second NativeRect + True if first NativeRect is equal to second; false otherwise. + + + + Determines if two NativeRects are not equal + + First NativeRect + Second NativeRect + True if first is not equal to second; false otherwise. + + + + Determines if the NativeRect is equal to another Rect. + + Another NativeRect to compare + True if this NativeRect is equal to the one provided; false otherwise. + + + + Creates a hash code for the NativeRect + + Returns hash code for this NativeRect + + + + Position of left edge + + + + + Position of top edge + + + + + Position of right edge + + + + + Position of bottom edge + + + + + An exception thrown when an error occurs while dealing with ShellObjects. + + + + + Default constructor. + + + + + Initializes a new exception using an HResult + + HResult error + + + + Initializes an excpetion with a custom message. + + Custom message + + + + Initializes an exception with custom message and inner exception. + + Custom message + The original exception that preceded this exception + + + + Initializes an exception with custom message and error code. + + Custom message + HResult error code + + + + Initializes an exception with custom message and error code. + + + + + + + Initializes an exception with custom message and inner exception. + + HRESULT of an operation + + + + Initializes an exception from serialization info and a context. + + + + + + + A folder in the Shell Namespace + + + + + Represents the base class for all types of folders (filesystem and non filesystem) + + + + + Represents the base class for all types of Shell "containers". Any class deriving from this class + can contain other ShellObjects (e.g. ShellFolder, FileSystemKnownFolder, ShellLibrary, etc) + + + + + The base class for all Shell objects in Shell Namespace. + + + + + Creates a ShellObject subclass given a parsing name. + For file system items, this method will only accept absolute paths. + + The parsing name of the object. + A newly constructed ShellObject object. + + + + Internal member to keep track of the native IShellItem2 + + + + + Parsing name for this Object e.g. c:\Windows\file.txt, + or ::{Some Guid} + + + + + A friendly name for this object that' suitable for display + + + + + PID List (PIDL) for this object + + + + + Updates the native shell item that maps to this shell object. This is necessary when the shell item + changes after the shell object has been created. Without this method call, the retrieval of properties will + return stale data. + + Bind context object + + + + Overrides object.ToString() + + A string representation of the object. + + + + Returns the display name of the ShellFolder object. DisplayNameType represents one of the + values that indicates how the name should look. + See for a list of possible values. + + A disaply name type. + A string. + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects. + + + + + Implement the finalizer. + + + + + Returns the hash code of the object. + + + + + + Determines if two ShellObjects are identical. + + The ShellObject to comare this one to. + True if the ShellObjects are equal, false otherwise. + + + + Returns whether this object is equal to another. + + The object to compare against. + Equality result. + + + + Implements the == (equality) operator. + + First object to compare. + Second object to compare. + True if leftShellObject equals rightShellObject; false otherwise. + + + + Implements the != (inequality) operator. + + First object to compare. + Second object to compare. + True if leftShellObject does not equal leftShellObject; false otherwise. + + + + Indicates whether this feature is supported on the current platform. + + + + + Return the native ShellFolder object as newer IShellItem2 + + If the native object cannot be created. + The ErrorCode member will contain the external error code. + + + + Return the native ShellFolder object + + + + + Gets access to the native IPropertyStore (if one is already + created for this item and still valid. This is usually done by the + ShellPropertyWriter class. The reference will be set to null + when the writer has been closed/commited). + + + + + Gets an object that allows the manipulation of ShellProperties for this shell item. + + + + + Gets the parsing name for this ShellItem. + + + + + Gets the normal display for this ShellItem. + + + + + Gets the PID List (PIDL) for this ShellItem. + + + + + Gets a value that determines if this ShellObject is a link or shortcut. + + + + + Gets a value that determines if this ShellObject is a file system object. + + + + + Gets the thumbnail of the ShellObject. + + + + + Gets the parent ShellObject. + Returns null if the object has no parent, i.e. if this object is the Desktop folder. + + + + + Release resources + + True indicates that this is being called from Dispose(), rather than the finalizer. + + + + Enumerates through contents of the ShellObjectContainer + + Enumerated contents + + + + Constructs a new ShellFileSystemFolder object given a folder path + + The folder path + ShellFileSystemFolder created from the given folder path. + + + + The path for this Folder + + + + + A refence to an icon resource + + + + + Overloaded constructor takes in the module name and resource id for the icon reference. + + String specifying the name of an executable file, DLL, or icon file + Zero-based index of the icon + + + + Overloaded constructor takes in the module name and resource id separated by a comma. + + Reference path for the icon consiting of the module name and resource id. + + + + Implements the == (equality) operator. + + First object to compare. + Second object to compare. + True if icon1 equals icon1; false otherwise. + + + + Implements the != (unequality) operator. + + First object to compare. + Second object to compare. + True if icon1 does not equals icon1; false otherwise. + + + + Determines if this object is equal to another. + + The object to compare + Returns true if the objects are equal; false otherwise. + + + + Generates a nearly unique hashcode for this structure. + + A hash code. + + + + String specifying the name of an executable file, DLL, or icon file + + + + + Zero-based index of the icon + + + + + Reference to a specific icon within a EXE, DLL or icon file. + + + + + Exposes properties and methods for retrieving information about a search condition. + + + + + Retrieves an array of the sub-conditions. + + + + + + + + + + Release the native objects. + + + + + Release the native objects. + + + + + + The name of a property to be compared or NULL for an unspecified property. + + + + + The property key for the property that is to be compared. + + + + + A value (in format) to which the property is compared. + + + + + Search condition operation to be performed on the property/value combination. + See for more details. + + + + + Represents the condition type for the given node. + + + + + Provides methods for creating or resolving a condition tree + that was obtained by parsing a query string. + + + + + Creates a leaf condition node that represents a comparison of property value and constant value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The constant value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and constant value. + Overload method takes a DateTime parameter for the comparison value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The DateTime value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Integer value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The Integer value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Boolean value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The Boolean value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Floating Point value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The Floating Point value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and constant value. + + The property to be compared. + The constant value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and constant value. + Overload method takes a DateTime parameter for the comparison value. + + The property to be compared. + The DateTime value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Boolean value. + Overload method takes a DateTime parameter for the comparison value. + + The property to be compared. + The boolean value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Floating Point value. + Overload method takes a DateTime parameter for the comparison value. + + The property to be compared. + The Floating Point value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Integer value. + Overload method takes a DateTime parameter for the comparison value. + + The property to be compared. + The Integer value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a condition node that is a logical conjunction ("AND") or disjunction ("OR") + of a collection of subconditions. + + The SearchConditionType of the condition node. + Must be either AndCondition or OrCondition. + TRUE to logically simplify the result, if possible; + then the result will not necessarily to be of the specified kind. FALSE if the result should + have exactly the prescribed structure. An application that plans to execute a query based on the + condition tree would typically benefit from setting this parameter to TRUE. + Array of subconditions + New SearchCondition based on the operation + + + + Creates a condition node that is a logical negation (NOT) of another condition + (a subnode of this node). + + SearchCondition node to be negated. + True to logically simplify the result if possible; False otherwise. + In a query builder scenario, simplyfy should typically be set to false. + New SearchCondition + + + + Parses an input string that contains Structured Query keywords (using Advanced Query Syntax + or Natural Query Syntax) and produces a SearchCondition object. + + The query to be parsed + Search condition resulting from the query + For more information on structured query syntax, visit http://msdn.microsoft.com/en-us/library/bb233500.aspx and + http://www.microsoft.com/windows/products/winfamily/desktopsearch/technicalresources/advquery.mspx + + + + Parses an input string that contains Structured Query keywords (using Advanced Query Syntax + or Natural Query Syntax) and produces a SearchCondition object. + + The query to be parsed + The culture used to select the localized language for keywords. + Search condition resulting from the query + For more information on structured query syntax, visit http://msdn.microsoft.com/en-us/library/bb233500.aspx and + http://www.microsoft.com/windows/products/winfamily/desktopsearch/technicalresources/advquery.mspx + + + + Create and modify search folders. + + + + + Represents the base class for all search-related classes. + + + + + Create a simple search folder. Once the appropriate parameters are set, + the search folder can be enumerated to get the search results. + + Specific condition on which to perform the search (property and expected value) + List of folders/paths to perform the search on. These locations need to be indexed by the system. + + + + Create a simple search folder. Once the appropiate parameters are set, + the search folder can be enumerated to get the search results. + + Specific condition on which to perform the search (property and expected value) + List of folders/paths to perform the search on. These locations need to be indexed by the system. + + + + Creates a list of stack keys, as specified. If this method is not called, + by default the folder will not be stacked. + + Array of canonical names for properties on which the folder is stacked. + If one of the given canonical names is invalid. + + + + Creates a list of stack keys, as specified. If this method is not called, + by default the folder will not be stacked. + + Array of property keys on which the folder is stacked. + + + + Sets the search folder display name. + + + + + Sets the search folder icon size. + The default settings are based on the FolderTypeID which is set by the + SearchFolder::SetFolderTypeID method. + + + + + Sets a search folder type ID, as specified. + + + + + Sets folder logical view mode. The default settings are based on the FolderTypeID which is set + by the SearchFolder::SetFolderTypeID method. + + The logical view mode to set. + + + + Creates a new column list whose columns are all visible, + given an array of PropertyKey structures. The default is based on FolderTypeID. + + This property may not work correctly with the ExplorerBrowser control. + + + + Creates a list of sort column directions, as specified. + + This property may not work correctly with the ExplorerBrowser control. + + + + Sets a group column, as specified. If no group column is specified, no grouping occurs. + + This property may not work correctly with the ExplorerBrowser control. + + + + Gets the of the search. + When this property is not set, the resulting search will have no filters applied. + + + + + Gets the search scope, as specified using an array of locations to search. + The search will include this location and all its subcontainers. The default is FOLDERID_Profile + + + + + A file in the Shell Namespace + + + + + Constructs a new ShellFile object given a file path + + The file or folder path + ShellFile object created using given file path. + + + + The path for this file + + + + + + + + + + + + + + + + A helper class for Shell Objects + + + + + Creates a ShellObject given a native IShellItem interface + + + A newly constructed ShellObject object + + + + Creates a ShellObject given a parsing name + + + A newly constructed ShellObject object + + + + Constructs a new Shell object from IDList pointer + + + + + + + Constructs a new Shell object from IDList pointer + + + + + + + + Represents a thumbnail or an icon for a ShellObject. + + + + + Native shellItem + + + + + Internal member to keep track of the current size + + + + + Internal constructor that takes in a parent ShellObject. + + + + + + Gets or sets the default size of the thumbnail or icon. The default is 32x32 pixels for icons and + 256x256 pixels for thumbnails. + + If the size specified is larger than the maximum size of 1024x1024 for thumbnails and 256x256 for icons, + an is thrown. + + + + + Gets the thumbnail or icon image in format. + Null is returned if the ShellObject does not have a thumbnail or icon image. + + + + + Gets the thumbnail or icon image in format. + Null is returned if the ShellObject does not have a thumbnail or icon image. + + + + + Gets the thumbnail or icon image in format. + Null is returned if the ShellObject does not have a thumbnail or icon image. + + + + + Gets the thumbnail or icon in small size and format. + + + + + Gets the thumbnail or icon in small size and format. + + + + + Gets the thumbnail or icon in small size and format. + + + + + Gets the thumbnail or icon in Medium size and format. + + + + + Gets the thumbnail or icon in medium size and format. + + + + + Gets the thumbnail or icon in Medium size and format. + + + + + Gets the thumbnail or icon in large size and format. + + + + + Gets the thumbnail or icon in large size and format. + + + + + Gets the thumbnail or icon in Large size and format. + + + + + Gets the thumbnail or icon in extra large size and format. + + + + + Gets the thumbnail or icon in Extra Large size and format. + + + + + Gets the thumbnail or icon in Extra Large size and format. + + + + + Gets or sets a value that determines if the current retrieval option is cache or extract, cache only, or from memory only. + The default is cache or extract. + + + + + Gets or sets a value that determines if the current format option is thumbnail or icon, thumbnail only, or icon only. + The default is thumbnail or icon. + + + + + Gets or sets a value that determines if the user can manually stretch the returned image. + The default value is false. + + + For example, if the caller passes in 80x80 a 96x96 thumbnail could be returned. + This could be used as a performance optimization if the caller will need to stretch + the image themselves anyway. Note that the Shell implementation performs a GDI stretch blit. + If the caller wants a higher quality image stretch, they should pass this flag and do it themselves. + + + + + An ennumerable list of ShellObjects + + + + + Creates a ShellObject collection from an IShellItemArray + + IShellItemArray pointer + Indicates whether the collection shouldbe read-only or not + + + + Creates a ShellObjectCollection from an IDataObject passed during Drop operation. + + An object that implements the IDataObject COM interface. + ShellObjectCollection created from the given IDataObject + + + + Constructs an empty ShellObjectCollection + + + + + Finalizer + + + + + Standard Dispose pattern + + + + + Standard Dispose patterns + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Collection enumeration + + + + + + Builds the data for the CFSTR_SHELLIDLIST Drag and Clipboard data format from the + ShellObjects in the collection. + + A memory stream containing the drag/drop data. + + + + Returns the index of a particualr shell object in the collection + + The item to search for. + The index of the item found, or -1 if not found. + + + + Inserts a new shell object into the collection. + + The index at which to insert. + The item to insert. + + + + Removes the specified ShellObject from the collection + + The index to remove at. + + + + Adds a ShellObject to the collection, + + The ShellObject to add. + + + + Clears the collection of ShellObjects. + + + + + Determines if the collection contains a particular ShellObject. + + The ShellObject. + true, if the ShellObject is in the list, false otherwise. + + + + Copies the ShellObjects in the collection to a ShellObject array. + + The destination to copy to. + The index into the array at which copying will commence. + + + + Removes a particular ShellObject from the list. + + The ShellObject to remove. + True if the item could be removed, false otherwise. + + + + Allows for enumeration through the list of ShellObjects in the collection. + + The IEnumerator interface to use for enumeration. + + + + Item count + + + + + The collection indexer + + The index of the item to retrieve. + The ShellObject at the specified index + + + + Retrieves the number of ShellObjects in the collection + + + + + If true, the contents of the collection are immutable. + + + + + Defines the read-only properties for default shell icon sizes. + + + + + The small size property for a 16x16 pixel Shell Icon. + + + + + The medium size property for a 32x32 pixel Shell Icon. + + + + + The large size property for a 48x48 pixel Shell Icon. + + + + + The extra-large size property for a 256x256 pixel Shell Icon. + + + + + The maximum size for a Shell Icon, 256x256 pixels. + + + + + Defines the read-only properties for default shell thumbnail sizes. + + + + + Gets the small size property for a 32x32 pixel Shell Thumbnail. + + + + + Gets the medium size property for a 96x96 pixel Shell Thumbnail. + + + + + Gets the large size property for a 256x256 pixel Shell Thumbnail. + + + + + Gets the extra-large size property for a 1024x1024 pixel Shell Thumbnail. + + + + + Maximum size for the Shell Thumbnail, 1024x1024 pixels. + + + + + Stores information about how to sort a column that is displayed in the folder view. + + + + + Creates a sort column with the specified direction for the given property. + + Property key for the property that the user will sort. + The direction in which the items are sorted. + + + + Implements the == (equality) operator. + + First object to compare. + Second object to compare. + True if col1 equals col2; false otherwise. + + + + Implements the != (unequality) operator. + + First object to compare. + Second object to compare. + True if col1 does not equals col1; false otherwise. + + + + Determines if this object is equal to another. + + The object to compare + Returns true if the objects are equal; false otherwise. + + + + Generates a nearly unique hashcode for this structure. + + A hash code. + + + + The ID of the column by which the user will sort. A PropertyKey structure. + For example, for the "Name" column, the property key is PKEY_ItemNameDisplay or + . + + + + + The direction in which the items are sorted. + + + + + Implements a CommandLink button that can be used in + WinForms user interfaces. + + + + + Creates a new instance of this class. + + + + + Gets a System.Windows.Forms.CreateParams on the base class when + creating a window. + + + + + Increase default width. + + + + + Specifies the supporting note text + + + + + Enable shield icon to be set at design-time. + + + + + Indicates whether this feature is supported on the current platform. + + + + + Implements a CommandLink button that can be used in WPF user interfaces. + + + CommandLink + + + + + Creates a new instance of this class. + + + + + InitializeComponent + + + + + Routed UI command to use for this button + + + + + Occurs when the control is clicked. + + + + + Specifies the main instruction text + + + + + Specifies the supporting note text + + + + + Icon to set for the command link button + + + + + Indicates if the button is in a checked state + + + + + Occurs when a property value changes. + + + + + Indicates whether this feature is supported on the current platform. + + + + + Internal class that contains interop declarations for + functions that are not benign and are performance critical. + + + + + Event argument for The GlassAvailabilityChanged event + + + + + The new GlassAvailable state + + + + + Windows Glass Form + Inherit from this form to be able to enable glass on Windows Form + + + + + Makes the background of current window transparent + + + + + Excludes a Control from the AeroGlass frame. + + The control to exclude. + Many non-WPF rendered controls (i.e., the ExplorerBrowser control) will not + render properly on top of an AeroGlass frame. + + + + Resets the AeroGlass exclusion area. + + + + + Catches the DWM messages to this window and fires the appropriate event. + + + + + + Initializes the Form for AeroGlass + + The arguments for this event + + + + Overide OnPaint to paint the background as black. + + PaintEventArgs + + + + Get determines if AeroGlass is enabled on the desktop. Set enables/disables AreoGlass on the desktop. + + + + + Fires when the availability of Glass effect changes. + + + + + WPF Glass Window + Inherit from this window class to enable glass on a WPF window + + + + + Makes the background of current window transparent from both Wpf and Windows Perspective + + + + + Excludes a UI element from the AeroGlass frame. + + The element to exclude. + Many non-WPF rendered controls (i.e., the ExplorerBrowser control) will not + render properly on top of an AeroGlass frame. + + + + Resets the AeroGlass exclusion area. + + + + + OnSourceInitialized + Override SourceInitialized to initialize windowHandle for this window. + A valid windowHandle is available only after the sourceInitialized is completed + + EventArgs + + + + Get determines if AeroGlass is enabled on the desktop. Set enables/disables AreoGlass on the desktop. + + + + + Fires when the availability of Glass effect changes. + + + + + An exception thrown when an error occurs while dealing with Control objects. + + + + + Default constructor. + + + + + Initializes an excpetion with a custom message. + + + + + + Initializes an exception with custom message and inner exception. + + + + + + + Initializes an exception with custom message and error code. + + + + + + + Initializes an exception with custom message and error code. + + + + + + + Initializes an exception from serialization info and a context. + + + + + + + This class is a wrapper around the Windows Explorer Browser control. + + + + + Clears the Explorer Browser of existing content, fills it with + content from the specified container, and adds a new point to the Travel Log. + + The shell container to navigate to. + Will throw if navigation fails for any other reason. + + + + Navigates within the navigation log. This does not change the set of + locations in the navigation log. + + Forward of Backward + True if the navigation succeeded, false if it failed for any reason. + + + + Navigate within the navigation log. This does not change the set of + locations in the navigation log. + + An index into the navigation logs Locations collection. + True if the navigation succeeded, false if it failed for any reason. + + + + Initializes the ExplorerBorwser WinForms wrapper. + + + + + Displays a placeholder for the explorer browser in design mode + + Contains information about the paint event. + + + + Creates and initializes the native ExplorerBrowser control + + + + + Sizes the native control to match the WinForms control wrapper. + + Contains information about the size changed event. + + + + Cleans up the explorer browser events+object when the window is being taken down. + + An EventArgs that contains event data. + + + + + + calling service + requested interface guid + caller-allocated memory for interface pointer + + + + + Controls the visibility of the explorer borwser panes + + a guid identifying the pane + the pane state desired + + + + + Returns the current view mode of the browser + + + + + + Gets the IFolderView2 interface from the explorer browser. + + + + + + Gets the selected items in the explorer browser as an IShellItemArray + + + + + + Gets the items in the ExplorerBrowser as an IShellItemArray + + + + + + Options that control how the ExplorerBrowser navigates + + + + + Options that control how the content of the ExplorerBorwser looks + + + + + The set of ShellObjects in the Explorer Browser + + + + + The set of selected ShellObjects in the Explorer Browser + + + + + Contains the navigation history of the ExplorerBrowser + + + + + The name of the property bag used to persist changes to the ExplorerBrowser's view state. + + + + + Fires when the SelectedItems collection changes. + + + + + Fires when the Items colection changes. + + + + + Fires when a navigation has been initiated, but is not yet complete. + + + + + Fires when a navigation has been 'completed': no NavigationPending listener + has cancelled, and the ExplorerBorwser has created a new view. The view + will be populated with new items asynchronously, and ItemsChanged will be + fired to reflect this some time later. + + + + + Fires when either a NavigationPending listener cancels the navigation, or + if the operating system determines that navigation is not possible. + + + + + Fires when the ExplorerBorwser view has finished enumerating files. + + + + + Fires when the item selected in the view has changed (i.e., a rename ). + This is not the same as SelectionChanged. + + + + + Interaction logic for ExplorerBrowser.xaml + + + ExplorerBrowser + + + + + Hosts the ExplorerBrowser WinForms wrapper in this control + + + + + To avoid the 'Dispatcher processing has been suspended' InvalidOperationException on Win7, + the ExplorerBorwser native control is initialized after this control is fully loaded. + + + + + + + Map changes to the CLR flags to the dependency properties + + + + + + + Synchronize NavigationLog collection to dependency collection + + + + + + + Synchronize SelectedItems collection to dependency collection + + + + + + + The items in the ExplorerBrowser window + + + + + The NavigationLog + + + + + The selected items in the ExplorerBrowser window + + + + + The DependencyProperty for the NavigationTarget property + + + + + Disposes the class + + + + + Disposes the browser. + + + + + + InitializeComponent + + + + + The underlying WinForms control + + + + + The items in the ExplorerBrowser window + + + + + The selected items in the ExplorerBrowser window + + + + + The selected items in the ExplorerBrowser window + + + + + The location the explorer browser is navigating to + + + + + The view should be left-aligned. + + + + + Automatically arrange the elements in the view. + + + + + Turns on check mode for the view + + + + + When the view is in "tile view mode" the layout of a single item should be extended to the width of the view. + + + + + When an item is selected, the item and all its sub-items are highlighted. + + + + + The view should not display file names + + + + + The view should not save view state in the browser. + + + + + Do not display a column header in the view in any view mode. + + + + + Only show the column header in details view mode. + + + + + The view should not display icons. + + + + + Do not show subfolders. + + + + + Navigate with a single click + + + + + Do not allow more than a single item to be selected. + + + + + The size of the thumbnails in the explorer browser + + + + + The various view modes of the explorer browser control + + + + + Always navigate, even if you are attempting to navigate to the current folder. + + + + + Do not navigate further than the initial navigation. + + + + + Show/Hide the AdvancedQuery pane on subsequent navigation + + + + + Show/Hide the Commands pane on subsequent navigation + + + + + Show/Hide the Organize menu in the Commands pane on subsequent navigation + + + + + Show/Hide the View menu in the Commands pane on subsequent navigation + + + + + Show/Hide the Details pane on subsequent navigation + + + + + Show/Hide the Navigation pane on subsequent navigation + + + + + Show/Hide the Preview pane on subsequent navigation + + + + + Show/Hide the Query pane on subsequent navigation + + + + + Navigation log index + + + + + These options control how the content of the Explorer Browser + is rendered. + + + + + The viewing mode of the Explorer Browser + + + + + The binary representation of the ExplorerBrowser content flags + + + + + The view should be left-aligned. + + + + + Automatically arrange the elements in the view. + + + + + Turns on check mode for the view + + + + + When the view is in "tile view mode" the layout of a single item should be extended to the width of the view. + + + + + When an item is selected, the item and all its sub-items are highlighted. + + + + + The view should not display file names + + + + + The view should not save view state in the browser. + + + + + Do not display a column header in the view in any view mode. + + + + + Only show the column header in details view mode. + + + + + The view should not display icons. + + + + + Do not show subfolders. + + + + + Navigate with a single click + + + + + Do not allow more than a single item to be selected. + + + + + The size of the thumbnails in pixels + + + + + Event argument for The NavigationPending event + + + + + The location being navigated to + + + + + Set to 'True' to cancel the navigation. + + + + + Event argument for The NavigationComplete event + + + + + The new location of the explorer browser + + + + + Event argument for the NavigatinoFailed event + + + + + The location the the browser would have navigated to. + + + + + This provides a connection point container compatible dispatch interface for + hooking into the ExplorerBrowser view. + + + + + Default constructor for ExplorerBrowserViewEvents + + + + + The view selection has changed + + + + + The contents of the view have changed + + + + + The enumeration of files in the view is complete + + + + + The selected item in the view has changed (not the same as the selection has changed) + + + + + Finalizer for ExplorerBrowserViewEvents + + + + + Disconnects and disposes object. + + + + + Disconnects and disposes object. + + + + + + The navigation log is a history of the locations visited by the explorer browser. + + + + + Clears the contents of the navigation log. + + + + + The pending navigation log action. null if the user is not navigating + via the navigation log. + + + + + The index into the Locations collection. -1 if the Locations colleciton + is empty. + + + + + Indicates the presence of locations in the log that can be + reached by calling Navigate(Forward) + + + + + Indicates the presence of locations in the log that can be + reached by calling Navigate(Backward) + + + + + The navigation log + + + + + An index into the Locations collection. The ShellObject pointed to + by this index is the current location of the ExplorerBrowser. + + + + + Gets the shell object in the Locations collection pointed to + by CurrentLocationIndex. + + + + + Fires when the navigation log changes or + the current navigation position changes + + + + + A navigation traversal request + + + + + Indicates the viewing mode of the explorer browser + + + + + Choose the best view mode for the folder + + + + + (New for Windows7) + + + + + Object names and other selected information, such as the size or date last updated, are shown. + + + + + The view should display medium-size icons. + + + + + Object names are displayed in a list view. + + + + + The view should display small icons. + + + + + The view should display thumbnail icons. + + + + + The view should display icons in a filmstrip format. + + + + + The view should display large icons. + + + + + Specifies the options that control subsequent navigation. + Typically use one, or a bitwise combination of these + flags to specify how the explorer browser navigates. + + + + + Always navigate, even if you are attempting to navigate to the current folder. + + + + + Do not navigate further than the initial navigation. + + + + + Indicates the content options of the explorer browser. + Typically use one, or a bitwise combination of these + flags to specify how conent should appear in the + explorer browser control + + + + + No options. + + + + + The view should be left-aligned. + + + + + Automatically arrange the elements in the view. + + + + + Turns on check mode for the view + + + + + When the view is set to "Tile" the layout of a single item should be extended to the width of the view. + + + + + When an item is selected, the item and all its sub-items are highlighted. + + + + + The view should not display file names + + + + + The view should not save view state in the browser. + + + + + Do not display a column header in the view in any view mode. + + + + + Only show the column header in details view mode. + + + + + The view should not display icons. + + + + + Do not show subfolders. + + + + + Navigate with a single click + + + + + Do not allow more than a single item to be selected. + + + + + Indicates the visibility state of an ExplorerBrowser pane + + + + + Allow the explorer browser to determine if this pane is displayed. + + + + + Hide the pane + + + + + Show the pane + + + + + Controls the visibility of the various ExplorerBrowser panes on subsequent navigation + + + + + The pane on the left side of the Windows Explorer window that hosts the folders tree and Favorites. + + + + + Commands module along the top of the Windows Explorer window. + + + + + Organize menu within the commands module. + + + + + View menu within the commands module. + + + + + Pane showing metadata along the bottom of the Windows Explorer window. + + + + + Pane on the right of the Windows Explorer window that shows a large reading preview of the file. + + + + + Quick filter buttons to aid in a search. + + + + + Additional fields and options to aid in a search. + + + + + The direction argument for Navigate + + + + + Navigates forward through the navigation log + + + + + Navigates backward through the travel log + + + + + The event argument for NavigationLogChangedEvent + + + + + Indicates CanNavigateForward has changed + + + + + Indicates CanNavigateBackward has changed + + + + + Indicates the Locations collection has changed + + + + + These options control the results subsequent navigations of the ExplorerBrowser + + + + + The binary flags that are passed to the explorer browser control's GetOptions/SetOptions methods + + + + + Do not navigate further than the initial navigation. + + + + + Always navigate, even if you are attempting to navigate to the current folder. + + + + + Controls the visibility of the various ExplorerBrowser panes on subsequent navigation + + + + + The STGM constants are flags that indicate + conditions for creating and deleting the object and access modes + for the object. + + You can combine these flags, but you can only choose one flag + from each group of related flags. Typically one flag from each + of the access and sharing groups must be specified for all + functions and methods which use these constants. + + + + + Indicates that, in direct mode, each change to a storage + or stream element is written as it occurs. + + + + + Indicates that, in transacted mode, changes are buffered + and written only if an explicit commit operation is called. + + + + + Provides a faster implementation of a compound file + in a limited, but frequently used, case. + + + + + Indicates that the object is read-only, + meaning that modifications cannot be made. + + + + + Enables you to save changes to the object, + but does not permit access to its data. + + + + + Enables access and modification of object data. + + + + + Specifies that subsequent openings of the object are + not denied read or write access. + + + + + Prevents others from subsequently opening the object in Read mode. + + + + + Prevents others from subsequently opening the object + for Write or ReadWrite access. + + + + + Prevents others from subsequently opening the object in any mode. + + + + + Opens the storage object with exclusive access to the most + recently committed version. + + + + + Indicates that the underlying file is to be automatically destroyed when the root + storage object is released. This feature is most useful for creating temporary files. + + + + + Indicates that, in transacted mode, a temporary scratch file is usually used + to save modifications until the Commit method is called. + Specifying NoScratch permits the unused portion of the original file + to be used as work space instead of creating a new file for that purpose. + + + + + Indicates that an existing storage object + or stream should be removed before the new object replaces it. + + + + + Creates the new object while preserving existing data in a stream named "Contents". + + + + + Causes the create operation to fail if an existing object with the specified name exists. + + + + + This flag is used when opening a storage object with Transacted + and without ShareExclusive or ShareDenyWrite. + In this case, specifying NoSnapshot prevents the system-provided + implementation from creating a snapshot copy of the file. + Instead, changes to the file are written to the end of the file. + + + + + Supports direct mode for single-writer, multireader file operations. + + + + + Wraps the native Windows MSG structure. + + + + + Creates a new instance of the Message struct + + Window handle + Message + WParam + LParam + Time + Point + + + + Determines if two messages are equal. + + First message + Second message + True if first and second message are equal; false otherwise. + + + + Determines if two messages are not equal. + + First message + Second message + True if first and second message are not equal; false otherwise. + + + + Determines if this message is equal to another. + + Another message + True if this message is equal argument; false otherwise. + + + + Gets a hash code for the message. + + Hash code for this message. + + + + Gets the window handle + + + + + Gets the window message + + + + + Gets the WParam + + + + + Gets the LParam + + + + + Gets the time + + + + + Gets the point + + + + + An exception thrown when an error occurs while dealing with the Property System API. + + + + + Default constructor. + + + + + Initializes an excpetion with a custom message. + + + + + + Initializes an exception with custom message and inner exception. + + + + + + + Initializes an exception with custom message and error code. + + + + + + + Initializes an exception from serialization info and a context. + + + + + + + Specifies options for the appearance of the + stock icon. + + + + + Retrieve the small version of the icon, as specified by + SM_CXICON and SM_CYICON system metrics. + + + + + Retrieve the small version of the icon, as specified by + SM_CXSMICON and SM_CYSMICON system metrics. + + + + + Retrieve the shell-sized icons (instead of the + size specified by the system metrics). + + + + + Specified that the hIcon member of the SHSTOCKICONINFO + structure receives a handle to the specified icon. + + + + + Specifies that the iSysImageImage member of the SHSTOCKICONINFO + structure receives the index of the specified + icon in the system imagelist. + + + + + Adds the link overlay to the icon. + + + + + Adds the system highlight color to the icon. + + + + + The window has a thin-line border. + + + + + The window has a title bar (includes the WS_BORDER style). + + + + + The window is a child window. + A window with this style cannot have a menu bar. + This style cannot be used with the WS_POPUP style. + + + + + Same as the WS_CHILD style. + + + + + Excludes the area occupied by child windows when drawing occurs within the parent window. + This style is used when creating the parent window. + + + + + Clips child windows relative to each other; + that is, when a particular child window receives a WM_PAINT message, + the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. + If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, + when drawing within the client area of a child window, to draw within the client area of a neighboring child window. + + + + + The window is initially disabled. A disabled window cannot receive input from the user. + To change this after a window has been created, use the EnableWindow function. + + + + + The window has a border of a style typically used with dialog boxes. + A window with this style cannot have a title bar. + + + + + The window is the first control of a group of controls. + The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. + The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. + The user can subsequently change the keyboard focus from one control in the group to the next control + in the group by using the direction keys. + + You can turn this style on and off to change dialog box navigation. + To change this style after a window has been created, use the SetWindowLong function. + + + + + The window has a horizontal scroll bar. + + + + + The window is initially minimized. + Same as the WS_MINIMIZE style. + + + + + The window is initially maximized. + + + + + The window has a maximize button. + Cannot be combined with the WS_EX_CONTEXTHELP style. + The WS_SYSMENU style must also be specifie + + + + + The window is initially minimized. + Same as the WS_ICONIC style. + + + + + The window has a minimize button. + Cannot be combined with the WS_EX_CONTEXTHELP style. + The WS_SYSMENU style must also be specified. + + + + + The window is an overlapped window. + An overlapped window has a title bar and a border. + Same as the WS_TILED style. + + + + + The windows is a pop-up window. + This style cannot be used with the WS_CHILD style. + + + + + The window has a sizing border. + Same as the WS_THICKFRAME style. + + + + + The window has a window menu on its title bar. + The WS_CAPTION style must also be specified. + + + + + The window is a control that can receive the keyboard focus when the user presses the TAB key. + Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style. + + You can turn this style on and off to change dialog box navigation. + To change this style after a window has been created, use the SetWindowLong function. + For user-created windows and modeless dialogs to work with tab stops, + alter the message loop to call the IsDialogMessage function. + + + + + The window has a sizing border. + Same as the WS_SIZEBOX style. + + + + + The window is an overlapped window. + An overlapped window has a title bar and a border. + Same as the WS_OVERLAPPED style. + + + + + The window is initially visible. + + This style can be turned on and off by using the ShowWindow or SetWindowPos function. + + + + + The window has a vertical scroll bar. + + + + + The window is an overlapped window. + Same as the WS_OVERLAPPEDWINDOW style. + + + + + The window is a pop-up window. + The WS_CAPTION and WS_POPUPWINDOW styles must be combined to make the window menu visible. + + + + + The window is an overlapped window. Same as the WS_TILEDWINDOW style. + + + + + Represents a registered or known folder in the system. + + + + + Gets the path for this known folder. + + + + + Gets the category designation for this known folder. + + + + + Gets this known folder's canonical name. + + + + + Gets this known folder's description. + + + + + Gets the unique identifier for this known folder's parent folder. + + + + + Gets this known folder's relative path. + + + + + Gets this known folder's parsing name. + + + + + Gets this known folder's tool tip text. + + + + + Gets the resource identifier for this + known folder's tool tip text. + + + + + Gets this known folder's localized name. + + + + + Gets the resource identifier for this + known folder's localized name. + + + + + Gets this known folder's security attributes. + + + + + Gets this known folder's file attributes, + such as "read-only". + + + + + Gets an value that describes this known folder's behaviors. + + + + + Gets the unique identifier for this known folder's type. + + + + + Gets a string representation of this known folder's type. + + + + + Gets the unique identifier for this known folder. + + + + + Gets a value that indicates whether this known folder's path exists on the computer. + + If this property value is false, + the folder might be a virtual folder ( property will + be for virtual folders) + + + + Gets a value that states whether this known folder + can have its path set to a new value, + including any restrictions on the redirection. + + + + + Prepares the browser to be navigated. + + A handle to the owner window or control. + A pointer to a RECT containing the coordinates of the bounding rectangle + the browser will occupy. The coordinates are relative to hwndParent. If this parameter is NULL, + then method IExplorerBrowser::SetRect should subsequently be called. + A pointer to a FOLDERSETTINGS structure that determines how the folder will be + displayed in the view. If this parameter is NULL, then method IExplorerBrowser::SetFolderSettings + should be called, otherwise, the default view settings for the folder are used. + + + + + Destroys the browser. + + + + + + Sets the size and position of the view windows created by the browser. + + A pointer to a DeferWindowPos handle. This paramater can be NULL. + The coordinates that the browser will occupy. + + + + + Sets the name of the property bag. + + A pointer to a constant, null-terminated, Unicode string that contains + the name of the property bag. View state information that is specific to the application of the + client is stored (persisted) using this name. + + + + + Sets the default empty text. + + A pointer to a constant, null-terminated, Unicode string that contains + the empty text. + + + + + Sets the folder settings for the current view. + + A pointer to a FOLDERSETTINGS structure that contains the folder settings + to be applied. + + + + + Initiates a connection with IExplorerBrowser for event callbacks. + + A pointer to the IExplorerBrowserEvents interface of the object to be + advised of IExplorerBrowser events + When this method returns, contains a token that uniquely identifies + the event listener. This allows several event listeners to be subscribed at a time. + + + + + Terminates an advisory connection. + + A connection token previously returned from IExplorerBrowser::Advise. + Identifies the connection to be terminated. + + + + + Sets the current browser options. + + One or more EXPLORER_BROWSER_OPTIONS flags to be set. + + + + + Gets the current browser options. + + When this method returns, contains the current EXPLORER_BROWSER_OPTIONS + for the browser. + + + + + Browses to a pointer to an item identifier list (PIDL) + + A pointer to a const ITEMIDLIST (item identifier list) that specifies an object's + location as the destination to navigate to. This parameter can be NULL. + A flag that specifies the category of the pidl. This affects how + navigation is accomplished + + + + + Browse to an object + + A pointer to an object to browse to. If the object cannot be browsed, + an error value is returned. + A flag that specifies the category of the pidl. This affects how + navigation is accomplished. + + + + + Creates a results folder and fills it with items. + + An interface pointer on the source object that will fill the IResultsFolder + One of the EXPLORER_BROWSER_FILL_FLAGS + + + + + Removes all items from the results folder. + + + + + + Gets an interface for the current view of the browser. + + A reference to the desired interface ID. + When this method returns, contains the interface pointer requested in riid. + This will typically be IShellView or IShellView2. + + + + + Internal class that contains interop declarations for + functions that are not benign and are performance critical. + + + + + Specifies behaviors for known folders. + + + + + No behaviors are defined. + + + + + Prevents a per-user known folder from being + redirected to a network location. + + + + + The known folder can be roamed through PC-to-PC synchronization. + + + + + Creates the known folder when the user first logs on. + + + + + Specifies the categories for known folders. + + + + + The folder category is not specified. + + + + + The folder is a virtual folder. Virtual folders are not part + of the file system. For example, Control Panel and + Printers are virtual folders. A number of properties + such as folder path and redirection do not apply to this category. + + + + + The folder is fixed. Fixed file system folders are not + managed by the Shell and are usually given a permanent + path when the system is installed. For example, the + Windows and Program Files folders are fixed folders. + A number of properties such as redirection do not apply + to this category. + + + + + The folder is a common folder. Common folders are + used for sharing data and settings + accessible by all users of a system. For example, + all users share a common Documents folder as well + as their per-user Documents folder. + + + + + Each user has their own copy of the folder. Per-user folders + are those stored under each user's profile and + accessible only by that user. + + + + + Structure used internally to store property values for + a known folder. This structure holds the information + returned in the FOLDER_DEFINITION structure, and + resources referenced by fields in NativeFolderDefinition, + such as icon and tool tip. + + + + + Contains the GUID identifiers for well-known folders. + + + + + Returns the friendly name for a specified folder. + + The Guid identifier for a known folder. + A value. + + + + Returns a sorted list of name, guid pairs for + all known folders. + + + + + + Computer + + + + + Conflicts + + + + + Control Panel + + + + + Desktop + + + + + Internet Explorer + + + + + Network + + + + + Printers + + + + + Sync Center + + + + + Network Connections + + + + + Sync Setup + + + + + Sync Results + + + + + Recycle Bin + + + + + Fonts + + + + + Startup + + + + + Programs + + + + + Start Menu + + + + + Recent Items + + + + + SendTo + + + + + Documents + + + + + Favorites + + + + + Network Shortcuts + + + + + Printer Shortcuts + + + + + Templates + + + + + Startup + + + + + Programs + + + + + Start Menu + + + + + Public Desktop + + + + + ProgramData + + + + + Templates + + + + + Public Documents + + + + + Roaming + + + + + Local + + + + + LocalLow + + + + + Temporary Internet Files + + + + + Cookies + + + + + History + + + + + System32 + + + + + System32 + + + + + Windows + + + + + The user's username (%USERNAME%) + + + + + Pictures + + + + + Program Files + + + + + Common Files + + + + + Program Files + + + + + Common Files + + + + + Program Files + + + + + Common Files + + + + + Administrative Tools + + + + + Administrative Tools + + + + + Music + + + + + Videos + + + + + Public Pictures + + + + + Public Music + + + + + Public Videos + + + + + Resources + + + + + None + + + + + OEM Links + + + + + Temporary Burn Folder + + + + + Users + + + + + Playlists + + + + + Sample Playlists + + + + + Sample Music + + + + + Sample Pictures + + + + + Sample Videos + + + + + Slide Shows + + + + + Public + + + + + Programs and Features + + + + + Installed Updates + + + + + Get Programs + + + + + Downloads + + + + + Public Downloads + + + + + Searches + + + + + Quick Launch + + + + + Contacts + + + + + Gadgets + + + + + Gadgets + + + + + Tree property value folder + + + + + GameExplorer + + + + + GameExplorer + + + + + Saved Games + + + + + Games + + + + + Recorded TV + + + + + Microsoft Office Outlook + + + + + Offline Files + + + + + Links + + + + + The user's full name (for instance, Jean Philippe Bagel) entered when the user account was created. + + + + + Search home + + + + + Original Images + + + + + UserProgramFiles + + + + + UserProgramFilesCommon + + + + + Ringtones + + + + + PublicRingtones + + + + + UsersLibraries + + + + + DocumentsLibrary + + + + + MusicLibrary + + + + + PicturesLibrary + + + + + VideosLibrary + + + + + RecordedTVLibrary + + + + + OtherUsers + + + + + DeviceMetadataStore + + + + + Libraries + + + + + UserPinned + + + + + ImplicitAppShortcuts + + + + + The FolderTypes values represent a view template applied to a folder, + usually based on its intended use and contents. + + + + + No particular content type has been detected or specified. This value is not supported in Windows 7 and later systems. + + + + + The folder is invalid. There are several things that can cause this judgement: hard disk errors, file system errors, and compression errors among them. + + + + + The folder contains document files. These can be of mixed format—.doc, .txt, and others. + + + + + Image files, such as .jpg, .tif, or .png files. + + + + + Windows 7 and later. The folder contains audio files, such as .mp3 and .wma files. + + + + + A list of music files displayed in Icons view. This value is not supported in Windows 7 and later systems. + + + + + The folder is the Games folder found in the Start menu. + + + + + The Control Panel in category view. This is a virtual folder. + + + + + The Control Panel in classic view. This is a virtual folder. + + + + + Printers that have been added to the system. This is a virtual folder. + + + + + The Recycle Bin. This is a virtual folder. + + + + + The software explorer window used by the Add or Remove Programs control panel icon. + + + + + The folder is a compressed archive, such as a compressed file with a .zip file name extension. + + + + + An e-mail-related folder that contains contact information. + + + + + A default library view without a more specific template. This value is not supported in Windows 7 and later systems. + + + + + The Network Explorer folder. + + + + + The folder is the FOLDERID_UsersFiles folder. + + + + + Windows 7 and later. The folder contains search results, but they are of mixed or no specific type. + + + + + Windows 7 and later. The folder is a library, but of no specified type. + + + + + Windows 7 and later. The folder contains video files. These can be of mixed format—.wmv, .mov, and others. + + + + + Windows 7 and later. The view shown when the user clicks the Windows Explorer button on the taskbar. + + + + + Windows 7 and later. The homegroup view. + + + + + Windows 7 and later. A folder that contains communication-related files such as e-mails, calendar information, and contact information. + + + + + Windows 7 and later. The folder contains recorded television broadcasts. + + + + + Windows 7 and later. The folder contains saved game states. + + + + + Windows 7 and later. The folder contains federated search OpenSearch results. + + + + + Windows 7 and later. Before you search. + + + + + Windows 7 and later. A user's Searches folder, normally found at C:\Users\username\Searches. + + + + + Creates the helper class for known folders. + + + + + Returns the native known folder (IKnownFolderNative) given a PID list + + + + + + + Returns a known folder given a globally unique identifier. + + A GUID for the requested known folder. + A known folder representing the specified name. + Thrown if the given Known Folder ID is invalid. + + + + Returns a known folder given a globally unique identifier. + + A GUID for the requested known folder. + A known folder representing the specified name. Returns null if Known Folder is not found or could not be created. + + + + Given a native KnownFolder (IKnownFolderNative), create the right type of + IKnownFolder object (FileSystemKnownFolder or NonFileSystemKnownFolder) + + Native Known Folder + + + + + Returns the known folder given its canonical name. + + A non-localized canonical name for the known folder, such as MyComputer. + A known folder representing the specified name. + Thrown if the given canonical name is invalid or if the KnownFolder could not be created. + + + + Returns a known folder given its shell path, such as C:\users\public\documents or + ::{645FF040-5081-101B-9F08-00AA002F954E} for the Recycle Bin. + + The path for the requested known folder; either a physical path or a virtual path. + A known folder representing the specified name. + + + + Returns a known folder given its shell namespace parsing name, such as + ::{645FF040-5081-101B-9F08-00AA002F954E} for the Recycle Bin. + + The parsing name (or path) for the requested known folder. + A known folder representing the specified name. + Thrown if the given parsing name is invalid. + + + + Defines properties for known folders that identify the path of standard known folders. + + + + + Gets a strongly-typed read-only collection of all the registered known folders. + + + + + Gets the metadata for the Computer folder. + + An object. + + + + Gets the metadata for the Conflict folder. + + An object. + + + + Gets the metadata for the ControlPanel folder. + + An object. + + + + Gets the metadata for the Desktop folder. + + An object. + + + + Gets the metadata for the Internet folder. + + An object. + + + + Gets the metadata for the Network folder. + + An object. + + + + Gets the metadata for the Printers folder. + + An object. + + + + Gets the metadata for the SyncManager folder. + + An object. + + + + Gets the metadata for the Connections folder. + + An object. + + + + Gets the metadata for the SyncSetup folder. + + An object. + + + + Gets the metadata for the SyncResults folder. + + An object. + + + + Gets the metadata for the RecycleBin folder. + + An object. + + + + Gets the metadata for the Fonts folder. + + An object. + + + + Gets the metadata for the Startup folder. + + An object. + + + + Gets the metadata for the Programs folder. + + An object. + + + + Gets the metadata for the per-user StartMenu folder. + + An object. + + + + Gets the metadata for the per-user Recent folder. + + An object. + + + + Gets the metadata for the per-user SendTo folder. + + An object. + + + + Gets the metadata for the per-user Documents folder. + + An object. + + + + Gets the metadata for the per-user Favorites folder. + + An object. + + + + Gets the metadata for the NetHood folder. + + An object. + + + + Gets the metadata for the PrintHood folder. + + An object. + + + + Gets the metadata for the Templates folder. + + An object. + + + + Gets the metadata for the CommonStartup folder. + + An object. + + + + Gets the metadata for the CommonPrograms folder. + + An object. + + + + Gets the metadata for the CommonStartMenu folder. + + An object. + + + + Gets the metadata for the PublicDesktop folder. + + An object. + + + + Gets the metadata for the ProgramData folder. + + An object. + + + + Gets the metadata for the CommonTemplates folder. + + An object. + + + + Gets the metadata for the PublicDocuments folder. + + An object. + + + + Gets the metadata for the RoamingAppData folder. + + An object. + + + + Gets the metadata for the per-user LocalAppData + folder. + + An object. + + + + Gets the metadata for the LocalAppDataLow folder. + + An object. + + + + Gets the metadata for the InternetCache folder. + + An object. + + + + Gets the metadata for the Cookies folder. + + An object. + + + + Gets the metadata for the History folder. + + An object. + + + + Gets the metadata for the System folder. + + An object. + + + + Gets the metadata for the SystemX86 + folder. + + An object. + + + + Gets the metadata for the Windows folder. + + An object. + + + + Gets the metadata for the Profile folder. + + An object. + + + + Gets the metadata for the per-user Pictures folder. + + An object. + + + + Gets the metadata for the ProgramFilesX86 folder. + + An object. + + + + Gets the metadata for the ProgramFilesCommonX86 folder. + + An object. + + + + Gets the metadata for the ProgramsFilesX64 folder. + + An object. + + + + Gets the metadata for the ProgramFilesCommonX64 folder. + + An object. + + + + Gets the metadata for the ProgramFiles folder. + + An object. + + + + Gets the metadata for the ProgramFilesCommon folder. + + An object. + + + + Gets the metadata for the AdminTools folder. + + An object. + + + + Gets the metadata for the CommonAdminTools folder. + + An object. + + + + Gets the metadata for the per-user Music folder. + + An object. + + + + Gets the metadata for the Videos folder. + + An object. + + + + Gets the metadata for the PublicPictures folder. + + An object. + + + + Gets the metadata for the PublicMusic folder. + + An object. + + + + Gets the metadata for the PublicVideos folder. + + An object. + + + + Gets the metadata for the ResourceDir folder. + + An object. + + + + Gets the metadata for the LocalizedResourcesDir folder. + + An object. + + + + Gets the metadata for the CommonOEMLinks folder. + + An object. + + + + Gets the metadata for the CDBurning folder. + + An object. + + + + Gets the metadata for the UserProfiles folder. + + An object. + + + + Gets the metadata for the Playlists folder. + + An object. + + + + Gets the metadata for the SamplePlaylists folder. + + An object. + + + + Gets the metadata for the SampleMusic folder. + + An object. + + + + Gets the metadata for the SamplePictures folder. + + An object. + + + + Gets the metadata for the SampleVideos folder. + + An object. + + + + Gets the metadata for the PhotoAlbums folder. + + An object. + + + + Gets the metadata for the Public folder. + + An object. + + + + Gets the metadata for the ChangeRemovePrograms folder. + + An object. + + + + Gets the metadata for the AppUpdates folder. + + An object. + + + + Gets the metadata for the AddNewPrograms folder. + + An object. + + + + Gets the metadata for the per-user Downloads folder. + + An object. + + + + Gets the metadata for the PublicDownloads folder. + + An object. + + + + Gets the metadata for the per-user SavedSearches folder. + + An object. + + + + Gets the metadata for the per-user QuickLaunch folder. + + An object. + + + + Gets the metadata for the Contacts folder. + + An object. + + + + Gets the metadata for the SidebarParts folder. + + An object. + + + + Gets the metadata for the SidebarDefaultParts folder. + + An object. + + + + Gets the metadata for the TreeProperties folder. + + An object. + + + + Gets the metadata for the PublicGameTasks folder. + + An object. + + + + Gets the metadata for the GameTasks folder. + + An object. + + + + Gets the metadata for the per-user SavedGames folder. + + An object. + + + + Gets the metadata for the Games folder. + + An object. + + + + Gets the metadata for the RecordedTV folder. + + An object. + This folder is not used. + + + + Gets the metadata for the SearchMapi folder. + + An object. + + + + Gets the metadata for the SearchCsc folder. + + An object. + + + + Gets the metadata for the per-user Links folder. + + An object. + + + + Gets the metadata for the UsersFiles folder. + + An object. + + + + Gets the metadata for the SearchHome folder. + + An object. + + + + Gets the metadata for the OriginalImages folder. + + An object. + + + + Gets the metadata for the UserProgramFiles folder. + + + + + Gets the metadata for the UserProgramFilesCommon folder. + + + + + Gets the metadata for the Ringtones folder. + + + + + Gets the metadata for the PublicRingtones folder. + + + + + Gets the metadata for the UsersLibraries folder. + + + + + Gets the metadata for the DocumentsLibrary folder. + + + + + Gets the metadata for the MusicLibrary folder. + + + + + Gets the metadata for the PicturesLibrary folder. + + + + + Gets the metadata for the VideosLibrary folder. + + + + + Gets the metadata for the RecordedTVLibrary folder. + + + + + Gets the metadata for the OtherUsers folder. + + + + + Gets the metadata for the DeviceMetadataStore folder. + + + + + Gets the metadata for the Libraries folder. + + + + + Gets the metadata for the UserPinned folder. + + + + + Gets the metadata for the ImplicitAppShortcuts folder. + + + + + Internal class to represent the KnownFolder settings/properties + + + + + Populates a structure that contains + this known folder's properties. + + + + + Gets the path of this this known folder. + + + Returns false if the folder is virtual, or a boolean + value that indicates whether this known folder exists. + + Native IKnownFolder reference + + A containing the path, or if this known folder does not exist. + + + + + Gets the path for this known folder. + + A object. + + + + Gets the category designation for this known folder. + + A value. + + + + Gets this known folder's canonical name. + + A object. + + + + Gets this known folder's description. + + A object. + + + + Gets the unique identifier for this known folder's parent folder. + + A value. + + + + Gets this known folder's relative path. + + A object. + + + + Gets this known folder's tool tip text. + + A object. + + + + Gets the resource identifier for this + known folder's tool tip text. + + A object. + + + + Gets this known folder's localized name. + + A object. + + + + Gets the resource identifier for this + known folder's localized name. + + A object. + + + + Gets this known folder's security attributes. + + A object. + + + + Gets this known folder's file attributes, + such as "read-only". + + A value. + + + + Gets an value that describes this known folder's behaviors. + + A value. + + + + Gets the unique identifier for this known folder's type. + + A value. + + + + Gets a string representation of this known folder's type. + + A object. + + + + Gets the unique identifier for this known folder. + + A value. + + + + Gets a value that indicates whether this known folder's path exists on the computer. + + A bool value. + If this property value is false, + the folder might be a virtual folder ( property will + be for virtual folders) + + + + Gets a value that states whether this known folder + can have its path set to a new value, + including any restrictions on the redirection. + + A value. + + + + Specifies the redirection capabilities for known folders. + + + + + Redirection capability is unknown. + + + + + The known folder can be redirected. + + + + + The known folder can be redirected. + Currently, redirection exists only for + common and user folders; fixed and virtual folders + cannot be redirected. + + + + + Redirection is not allowed. + + + + + The folder cannot be redirected because it is + already redirected by group policy. + + + + + The folder cannot be redirected because the policy + prohibits redirecting this folder. + + + + + The folder cannot be redirected because the calling + application does not have sufficient permissions. + + + + + Contains special retrieval options for known folders. + + + + + A Serch Connector folder in the Shell Namespace + + + + + Indicates whether this feature is supported on the current platform. + + + + + CommonFileDialog AddPlace locations + + + + + At the bottom of the Favorites or Places list. + + + + + At the top of the Favorites or Places list. + + + + + One of the values that indicates how the ShellObject DisplayName should look. + + + + + Returns the display name relative to the desktop. + + + + + Returns the parsing name relative to the parent folder. + + + + + Returns the path relative to the parent folder in a + friendly format as displayed in an address bar. + + + + + Returns the parsing name relative to the desktop. + + + + + Returns the editing name relative to the parent folder. + + + + + Returns the editing name relative to the desktop. + + + + + Returns the display name relative to the file system path. + + + + + Returns the display name relative to a URL. + + + + + Available Library folder types + + + + + General Items + + + + + Documents + + + + + Music + + + + + Pictures + + + + + Videos + + + + + Flags controlling the appearance of a window + + + + + Hides the window and activates another window. + + + + + Activates and displays the window (including restoring + it to its original size and position). + + + + + Minimizes the window. + + + + + Maximizes the window. + + + + + Similar to , except that the window + is not activated. + + + + + Activates the window and displays it in its current size + and position. + + + + + Minimizes the window and activates the next top-level window. + + + + + Minimizes the window and does not activate it. + + + + + Similar to , except that the window is not + activated. + + + + + Activates and displays the window, restoring it to its original + size and position. + + + + + Sets the show state based on the initial value specified when + the process was created. + + + + + Minimizes a window, even if the thread owning the window is not + responding. Use this only to minimize windows from a different + thread. + + + + + Provides a set of flags to be used with + to indicate the operation in methods. + + + + + An implicit comparison between the value of the property and the value of the constant. + + + + + The value of the property and the value of the constant must be equal. + + + + + The value of the property and the value of the constant must not be equal. + + + + + The value of the property must be less than the value of the constant. + + + + + The value of the property must be greater than the value of the constant. + + + + + The value of the property must be less than or equal to the value of the constant. + + + + + The value of the property must be greater than or equal to the value of the constant. + + + + + The value of the property must begin with the value of the constant. + + + + + The value of the property must end with the value of the constant. + + + + + The value of the property must contain the value of the constant. + + + + + The value of the property must not contain the value of the constant. + + + + + The value of the property must match the value of the constant, where '?' + matches any single character and '*' matches any sequence of characters. + + + + + The value of the property must contain a word that is the value of the constant. + + + + + The value of the property must contain a word that begins with the value of the constant. + + + + + The application is free to interpret this in any suitable way. + + + + + Set of flags to be used with . + + + + + Indicates that the values of the subterms are combined by "AND". + + + + + Indicates that the values of the subterms are combined by "OR". + + + + + Indicates a "NOT" comparison of subterms. + + + + + Indicates that the node is a comparison between a property and a + constant value using a . + + + + + Used to describe the view mode. + + + + + The view is not specified. + + + + + This should have the same affect as Unspecified. + + + + + The minimum valid enumeration value. Used for validation purposes only. + + + + + Details view. + + + + + Tiles view. + + + + + Icons view. + + + + + Windows 7 and later. List view. + + + + + Windows 7 and later. Content view. + + + + + The maximum valid enumeration value. Used for validation purposes only. + + + + + The direction in which the items are sorted. + + + + + A default value for sort direction, this value should not be used; + instead use Descending or Ascending. + + + + + The items are sorted in descending order. Whether the sort is alphabetical, numerical, + and so on, is determined by the data type of the column indicated in propkey. + + + + + The items are sorted in ascending order. Whether the sort is alphabetical, numerical, + and so on, is determined by the data type of the column indicated in propkey. + + + + + Provides a set of flags to be used with IQueryParser::SetOption and + IQueryParser::GetOption to indicate individual options. + + + + + The value should be VT_LPWSTR and the path to a file containing a schema binary. + + + + + The value must be VT_EMPTY (the default) or a VT_UI4 that is an LCID. It is used + as the locale of contents (not keywords) in the query to be searched for, when no + other information is available. The default value is the current keyboard locale. + Retrieving the value always returns a VT_UI4. + + + + + This option is used to override the default word breaker used when identifying keywords + in queries. The default word breaker is chosen according to the language of the keywords + (cf. SQSO_LANGUAGE_KEYWORDS below). When setting this option, the value should be VT_EMPTY + for using the default word breaker, or a VT_UNKNOWN with an object supporting + the IWordBreaker interface. Retrieving the option always returns a VT_UNKNOWN with an object + supporting the IWordBreaker interface. + + + + + The value should be VT_EMPTY or VT_BOOL with VARIANT_TRUE to allow natural query + syntax (the default) or VT_BOOL with VARIANT_FALSE to allow only advanced query syntax. + Retrieving the option always returns a VT_BOOL. + This option is now deprecated, use SQSO_SYNTAX. + + + + + The value should be VT_BOOL with VARIANT_TRUE to generate query expressions + as if each word in the query had a star appended to it (unless followed by punctuation + other than a parenthesis), or VT_EMPTY or VT_BOOL with VARIANT_FALSE to + use the words as they are (the default). A word-wheeling application + will generally want to set this option to true. + Retrieving the option always returns a VT_BOOL. + + + + + Reserved. The value should be VT_EMPTY (the default) or VT_I4. + Retrieving the option always returns a VT_I4. + + + + + The value must be a VT_UI4 that is a LANGID. It defaults to the default user UI language. + + + + + The value must be a VT_UI4 that is a STRUCTURED_QUERY_SYNTAX value. + It defaults to SQS_NATURAL_QUERY_SYNTAX. + + + + + The value must be a VT_BLOB that is a copy of a TIME_ZONE_INFORMATION structure. + It defaults to the current time zone. + + + + + This setting decides what connector should be assumed between conditions when none is specified. + The value must be a VT_UI4 that is a CONDITION_TYPE. Only CT_AND_CONDITION and CT_OR_CONDITION + are valid. It defaults to CT_AND_CONDITION. + + + + + This setting decides whether there are special requirements on the case of connector keywords (such + as AND or OR). The value must be a VT_UI4 that is a CASE_REQUIREMENT value. + It defaults to CASE_REQUIREMENT_UPPER_IF_AQS. + + + + + Provides a set of flags to be used with IQueryParser::SetMultiOption + to indicate individual options. + + + + + The key should be property name P. The value should be a + VT_UNKNOWN with an IEnumVARIANT which has two values: a VT_BSTR that is another + property name Q and a VT_I4 that is a CONDITION_OPERATION cop. A predicate with + property name P, some operation and a value V will then be replaced by a predicate + with property name Q, operation cop and value V before further processing happens. + + + + + The key should be a value type name V. The value should be a + VT_LPWSTR with a property name P. A predicate with no property name and a value of type + V (or any subtype of V) will then use property P. + + + + + The key should be a value type name V. The value should be a + VT_UNKNOWN with a IConditionGenerator G. The GenerateForLeaf method of + G will then be applied to any predicate with value type V and if it returns a query + expression, that will be used. If it returns NULL, normal processing will be used + instead. + + + + + The key should be a property name P. The value should be a VT_VECTOR|VT_LPWSTR, + where each string is a property name. The count must be at least one. This "map" will be + added to those of the loaded schema and used during resolution. A second call with the + same key will replace the current map. If the value is VT_NULL, the map will be removed. + + + + + Used by IQueryParserManager::SetOption to set parsing options. + This can be used to specify schemas and localization options. + + + + + A VT_LPWSTR containing the name of the file that contains the schema binary. + The default value is StructuredQuerySchema.bin for the SystemIndex catalog + and StructuredQuerySchemaTrivial.bin for the trivial catalog. + + + + + Either a VT_BOOL or a VT_LPWSTR. If the value is a VT_BOOL and is FALSE, + a pre-localized schema will not be used. If the value is a VT_BOOL and is TRUE, + IQueryParserManager will use the pre-localized schema binary in + "%ALLUSERSPROFILE%\Microsoft\Windows". If the value is a VT_LPWSTR, the value should + contain the full path of the folder in which the pre-localized schema binary can be found. + The default value is VT_BOOL with TRUE. + + + + + A VT_LPWSTR containing the full path to the folder that contains the + unlocalized schema binary. The default value is "%SYSTEMROOT%\System32". + + + + + A VT_LPWSTR containing the full path to the folder that contains the + localized schema binary that can be read and written to as needed. + The default value is "%LOCALAPPDATA%\Microsoft\Windows". + + + + + A VT_BOOL. If TRUE, then the paths for pre-localized and localized binaries + have "\(LCID)" appended to them, where language code identifier (LCID) is + the decimal locale ID for the localized language. The default is TRUE. + + + + + A VT_UNKNOWN with an object supporting ISchemaLocalizerSupport. + This object will be used instead of the default localizer support object. + + + + + A Shell Library in the Shell Namespace + + + + + Creates a shell library in the Libraries Known Folder, + using the given IKnownFolder + + KnownFolder from which to create the new Shell Library + If true , opens the library in read-only mode. + + + + Creates a shell library in the Libraries Known Folder, + using the given shell library name. + + The name of this library + Allow overwriting an existing library; if one exists with the same name + + + + Creates a shell library in a given Known Folder, + using the given shell library name. + + The name of this library + The known folder + Override an existing library with the same name + + + + Creates a shell library in a given local folder, + using the given shell library name. + + The name of this library + The path to the local folder + Override an existing library with the same name + + + + Close the library, and release its associated file system resources + + + + + Load the library using a number of options + + The name of the library + If true, loads the library in read-only mode. + A ShellLibrary Object + + + + Load the library using a number of options + + The name of the library. + The path to the library. + If true, opens the library in read-only mode. + A ShellLibrary Object + + + + Load the library using a number of options + + IShellItem + read-only flag + A ShellLibrary Object + + + + Load the library using a number of options + + A known folder. + If true, opens the library in read-only mode. + A ShellLibrary Object + + + + Shows the library management dialog which enables users to mange the library folders and default save location. + + The name of the library + The path to the library. + The parent window,or IntPtr.Zero for no parent + A title for the library management dialog, or null to use the library name as the title + An optional help string to display for the library management dialog + If true, do not show warning dialogs about locations that cannot be indexed + If the library is already open in read-write mode, the dialog will not save the changes. + + + + Shows the library management dialog which enables users to mange the library folders and default save location. + + The name of the library + The parent window,or IntPtr.Zero for no parent + A title for the library management dialog, or null to use the library name as the title + An optional help string to display for the library management dialog + If true, do not show warning dialogs about locations that cannot be indexed + If the library is already open in read-write mode, the dialog will not save the changes. + + + + Shows the library management dialog which enables users to mange the library folders and default save location. + + A known folder. + The parent window,or IntPtr.Zero for no parent + A title for the library management dialog, or null to use the library name as the title + An optional help string to display for the library management dialog + If true, do not show warning dialogs about locations that cannot be indexed + If the library is already open in read-write mode, the dialog will not save the changes. + + + + Add a new FileSystemFolder or SearchConnector + + The folder to add to the library. + + + + Add an existing folder to this library + + The path to the folder to be added to the library. + + + + Clear all items of this Library + + + + + Remove a folder or search connector + + The item to remove. + true if the item was removed. + + + + Remove a folder or search connector + + The path of the item to remove. + true if the item was removed. + + + + Release resources + + Indicates that this was called from Dispose(), rather than from the finalizer. + + + + Release resources + + + + + Retrieves the collection enumerator. + + The enumerator. + + + + Retrieves the collection enumerator. + + The enumerator. + + + + Determines if an item with the specified path exists in the collection. + + The path of the item. + true if the item exists in the collection. + + + + Determines if a folder exists in the collection. + + The folder. + true, if the folder exists in the collection. + + + + Searches for the specified FileSystemFolder and returns the zero-based index of the + first occurrence within Library list. + + The item to search for. + The index of the item in the collection, or -1 if the item does not exist. + + + + Inserts a FileSystemFolder at the specified index. + + The index to insert at. + The FileSystemFolder to insert. + + + + Removes an item at the specified index. + + The index to remove. + + + + Copies the collection to an array. + + The array to copy to. + The index in the array at which to start the copy. + + + + The name of the library, every library must + have a name + + Will throw if no Icon is set + + + + The Resource Reference to the icon. + + + + + One of predefined Library types + + Will throw if no Library Type is set + + + + The Guid of the Library type + + Will throw if no Library Type is set + + + + By default, this folder is the first location + added to the library. The default save folder + is both the default folder where files can + be saved, and also where the library XML + file will be saved, if no other path is specified + + + + + Whether the library will be pinned to the + Explorer Navigation Pane + + + + + Get a the known folder FOLDERID_Libraries + + + + + Retrieves the folder at the specified index + + The index of the folder to retrieve. + A folder. + + + + The count of the items in the list. + + + + + Indicates whether this list is read-only or not. + + + + + Indicates whether this feature is supported on the current platform. + + + + + Defines the abstract base class for the common file dialogs. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified title. + + The title to display in the dialog. + + + + Tries to set the File(s) Type Combo to match the value in + 'DefaultExtension'. Only doing this if 'this' is a Save dialog + as it makes no sense to do this if only Opening a file. + + + The native/IFileDialog instance. + + + + + Adds a location, such as a folder, library, search connector, or known folder, to the list of + places available for a user to open or save items. This method actually adds an item + to the Favorite Links or Places section of the Open/Save dialog. + + The item to add to the places list. + One of the enumeration values that indicates placement of the item in the list. + + + + Adds a location (folder, library, search connector, known folder) to the list of + places available for the user to open or save items. This method actually adds an item + to the Favorite Links or Places section of the Open/Save dialog. Overload method + takes in a string for the path. + + The item to add to the places list. + One of the enumeration values that indicates placement of the item in the list. + + + + Displays the dialog. + + Window handle of any top-level window that will own the modal dialog box. + A object. + + + + Displays the dialog. + + Top-level WPF window that will own the modal dialog box. + A object. + + + + Displays the dialog. + + A object. + + + + Removes the current selection. + + + + + Returns if change to the colleciton is allowed. + + true if collection change is allowed. + + + + Applies changes to the collection. + + + + + Determines if changes to a specific property are allowed. + + The name of the property. + The control propertyName applies to. + true if the property change is allowed. + + + + Called when a control currently in the collection + has a property changed. + + The name of the property changed. + The control whose property has changed. + + + + Ensures that the user has selected one or more files. + + + The dialog has not been dismissed yet or the dialog was cancelled. + + + + + Ensures that the user has selected one or more files. + + + The dialog has not been dismissed yet or the dialog was cancelled. + + + + + Throws an exception when the dialog is showing preventing + a requested change to a property or the visible set of controls. + + The message to include in the exception. + The dialog is in an + invalid state to perform the requested operation. + + + + Get the IFileDialogCustomize interface, preparing to add controls. + + + + + Raises the event just before the dialog is about to return with a result. + + The event data. + + + + Raises the to stop navigation to a particular location. + + Cancelable event arguments. + + + + Raises the event when the user navigates to a new folder. + + The event data. + + + + Raises the event when the user changes the selection in the dialog's view. + + The event data. + + + + Raises the event when the dialog is opened to notify the + application of the initial chosen filetype. + + The event data. + + + + Raises the event when the dialog is opened. + + The event data. + + + + Releases the unmanaged resources used by the CommonFileDialog class and optionally + releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Releases the resources used by the current instance of the CommonFileDialog class. + + + + + The collection of names selected by the user. + + + + + Raised just before the dialog is about to return with a result. Occurs when the user clicks on the Open + or Save button on a file dialog box. + + + + + Raised just before the user navigates to a new folder. + + + + + Raised when the user navigates to a new folder. + + + + + Raised when the user changes the selection in the dialog's view. + + + + + Raised when the dialog is opened to notify the application of the initial chosen filetype. + + + + + Raised when the dialog is opening. + + + + + Gets the collection of controls for the dialog. + + + + + Gets the filters used by the dialog. + + + + + Gets or sets the dialog title. + + A object. + + + + Gets or sets a value that determines whether the file must exist beforehand. + + A value. true if the file must exist. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that specifies whether the returned file must be in an existing folder. + + A value. true if the file must exist. + This property cannot be set when the dialog is visible. + + + Gets or sets a value that determines whether to validate file names. + + A value. true to check for situations that would prevent an application from opening the selected file, such as sharing violations or access denied errors. + This property cannot be set when the dialog is visible. + + + + + Gets or sets a value that determines whether read-only items are returned. + Default value for CommonOpenFileDialog is true (allow read-only files) and + CommonSaveFileDialog is false (don't allow read-only files). + + A value. true includes read-only items. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that determines the restore directory. + + + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that controls whether + to show or hide the list of pinned places that + the user can choose. + + A value. true if the list is visible; otherwise false. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that controls whether to show or hide the list of places where the user has recently opened or saved items. + + A value. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that controls whether to show hidden items. + + A value.true to show the items; otherwise false. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that controls whether + properties can be edited. + + A value. + + + + Gets or sets a value that controls whether shortcuts should be treated as their target items, allowing an application to open a .lnk file. + + A value. true indicates that shortcuts should be treated as their targets. + This property cannot be set when the dialog is visible. + + + + Gets or sets the default file extension to be added to file names. If the value is null + or string.Empty, the extension is not added to the file names. + + + + + Gets the index for the currently selected file type. + + + + + Gets the selected filename. + + A object. + This property cannot be used when multiple files are selected. + + + + Gets the selected item as a ShellObject. + + A object. + This property cannot be used when multiple files + are selected. + + + + Gets or sets the initial directory displayed when the dialog is shown. + A null or empty string indicates that the dialog is using the default directory. + + A object. + + + + Gets or sets a location that is always selected when the dialog is opened, + regardless of previous user action. A null value implies that the dialog is using + the default location. + + + + + Sets the folder and path used as a default if there is not a recently used folder value available. + + + + + Sets the location (ShellContainer + used as a default if there is not a recently used folder value available. + + + + + Gets or sets a value that enables a calling application + to associate a GUID with a dialog's persisted state. + + + + + Default file name. + + + + + Indicates whether this feature is supported on the current platform. + + + + + Creates the push button controls used by the Common File Dialog. + + + + + Defines the properties and constructors for all prominent controls in the Common File Dialog. + + + + + Defines an abstract class that supports shared functionality for the + common file dialog controls. + + + + + Holds the text that is displayed for this control. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the text. + + The text of the common file dialog control. + + + + Creates a new instance of this class with the specified name and text. + + The name of the common file dialog control. + The text of the common file dialog control. + + + + Attach the custom control itself to the specified dialog + + the target dialog + + + + Gets or sets the text string that is displayed on the control. + + + + + Gets or sets a value that determines if this control is enabled. + + + + + Gets or sets a boolean value that indicates whether + this control is visible. + + + + + Has this control been added to the dialog + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Gets or sets the prominent value of this control. + + Only one control can be specified as prominent. If more than one control is specified prominent, + then an 'E_UNEXPECTED' exception will be thrown when these controls are added to the dialog. + A group box control can only be specified as prominent if it contains one control and that control is of type 'CommonFileDialogProminentControl'. + + + + + Initializes a new instance of this class. + + + + + Initializes a new instance of this class with the text only. + + The text to display for this control. + + + + Initializes a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Attach the PushButton control to the dialog object + + Target dialog + + + + Occurs when the user clicks the control. This event is routed from COM via the event sink. + + + + + Creates the check button controls used by the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Creates a new instance of this class with the specified text and check state. + + The text to display for this control. + The check state of this control. + + + + Creates a new instance of this class with the specified name, text and check state. + + The name of this control. + The text to display for this control. + The check state of this control. + + + + Attach the CheckButton control to the dialog object. + + the target dialog + + + + Gets or sets the state of the check box. + + + + + Occurs when the user changes the check state. + + + + + Creates the ComboBox controls in the Common File Dialog. + + + + + Specifies a property, event and method that indexed controls need + to implement. + + + + not sure where else to put this, so leaving here for now. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + Text to display for this control + + + + Raises the SelectedIndexChanged event if this control is + enabled. + + Because this method is defined in an interface, we can either + have it as public, or make it private and explicitly implement (like below). + Making it public doesn't really help as its only internal (but can't have this + internal because of the interface) + + + + + Attach the ComboBox control to the dialog object + + The target dialog + + + + Gets the collection of CommonFileDialogComboBoxItem objects. + + + + + Gets or sets the current index of the selected item. + + + + + Occurs when the SelectedIndex is changed. + + + + By initializing the SelectedIndexChanged event with an empty + delegate, it is not necessary to check + if the SelectedIndexChanged is not null. + + + + + + Creates a ComboBoxItem for the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to use for the combo box item. + + + + Gets or sets the string that is displayed for this item. + + + + + Provides a strongly typed collection for dialog controls. + + DialogControl + + + + Inserts an dialog control at the specified index. + + The location to insert the control. + The item to insert. + A control with + the same name already exists in this collection -or- + the control is being hosted by another dialog -or- the associated dialog is + showing and cannot be modified. + + + + Removes the control at the specified index. + + The location of the control to remove. + + The associated dialog is + showing and cannot be modified. + + + + Recursively searches for the control who's id matches the value + passed in the parameter. + + + An integer containing the identifier of the + control being searched for. + + A DialogControl who's id matches the value of the + parameter. + + + + + Recursively searches for a given control id in the + collection passed via the parameter. + + + A Collection<CommonFileDialogControl> + An int containing the identifier of the control + being searched for. + + A DialogControl who's Id matches the value of the + parameter. + + + + + Defines the indexer that supports accessing controls by name. + + + Control names are case sensitive. + This indexer is useful when the dialog is created in XAML + rather than constructed in code. + + The name cannot be null or a zero-length string. + If there is more than one control with the same name, only the first control will be returned. + + + + Stores the file extensions used when filtering files in File Open and File Save dialogs. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified display name and + file extension list. + + The name of this filter. + The list of extensions in + this filter. See remarks. + The can use a semicolon(";") + or comma (",") to separate extensions. Extensions can be prefaced + with a period (".") or with the file wild card specifier "*.". + + The cannot be null or a + zero-length string. + + + + + Internal helper that generates a single filter + specification for this filter, used by the COM API. + + Filter specification for this filter + + + + + Returns a string representation for this filter that includes + the display name and the list of extensions. + + A . + + + + Gets or sets the display name for this filter. + + + The value for this property cannot be set to null or a + zero-length string. + + + + + Gets a collection of the individual extensions + described by this filter. + + + + + Gets or sets a value that controls whether the extensions are displayed. + + + + + Provides a strongly typed collection for file dialog filters. + + + + + Creates the event data associated with event. + + + + + + Creates a new instance of this class. + + The name of the folder. + + + + Gets or sets the name of the folder. + + + + + Represents a group box control for the Common File Dialog. + note + + + + Creates a new instance of this class. + + + + + Create a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Initializes the item collection for this class. + + + + + Attach the GroupBox control to the dialog object + + Target dialog + + + + Gets the collection of controls for this group box. + + + + + Defines the label controls in the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Attach this control to the dialog object + + Target dialog + + + + Defines the menu controls for the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Attach the Menu control to the dialog object. + + the target dialog + + + + Gets the collection of CommonFileDialogMenuItem objects. + + + + + Creates the CommonFileDialogMenuItem items for the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Attach this control to the dialog object + + Target dialog + + + + Occurs when a user clicks a menu item. + + + + + Represents a radio button list for the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + The name of this control. + + + + Occurs when the user changes the SelectedIndex. + + Because this method is defined in an interface, we can either + have it as public, or make it private and explicitly implement (like below). + Making it public doesn't really help as its only internal (but can't have this + internal because of the interface) + + + + + Attach the RadioButtonList control to the dialog object + + The target dialog + + + + Gets the collection of CommonFileDialogRadioButtonListItem objects + + + + + Gets or sets the current index of the selected item. + + + + + Occurs when the user changes the SelectedIndex. + + + + By initializing the SelectedIndexChanged event with an empty + delegate, we can skip the test to determine + if the SelectedIndexChanged is null. + test. + + + + + Represents a list item for the CommonFileDialogRadioButtonList object. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The string that you want to display for this list item. + + + + Gets or sets the string that will be displayed for this list item. + + + + + Specifies identifiers to indicate the return value of a CommonFileDialog dialog. + + + + + Default value for enumeration, a dialog box should never return this value. + + + + + The dialog box return value is OK (usually sent from a button labeled OK or Save). + + + + + The dialog box return value is Cancel (usually sent from a button labeled Cancel). + + + + + Defines the class for the simplest separator controls. + + + + + Attach the Separator control to the dialog object + + Target dialog + + + + Defines the class of commonly used file filters. + + + + + Gets a value that specifies the filter for *.txt files. + + + + + Gets a value that specifies the filter for picture files. + + + + + Gets a value that specifies the filter for Microsoft Office files. + + + + + Defines the text box controls in the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Holds an instance of the customized (/native) dialog and should + be null until after the Attach() call is made. + + + + + Attach the TextBox control to the dialog object + + Target dialog + + + + Gets or sets a value for the text string contained in the CommonFileDialogTextBox. + + + + + Creates a Vista or Windows 7 Common File Dialog, allowing the user to select one or more files. + + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + The name of this dialog. + + + + Gets a collection of the selected file names. + + This property should only be used when the + + property is true. + + + + Gets a collection of the selected items as ShellObject objects. + + This property should only be used when the + + property is true. + + + + Gets or sets a value that determines whether the user can select more than one file. + + + + + Gets or sets a value that determines whether the user can select folders or files. + Default value is false. + + + + + Gets or sets a value that determines whether the user can select non-filesystem items, + such as Library, Search Connectors, or Known Folders. + + + + + Creates a Vista or Windows 7 Common File Dialog, allowing the user to select the filename and location for a saved file. + + + to save a file. Associated enumeration: . + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + The name of this dialog. + + + + Sets an item to appear as the initial entry in a Save As dialog. + + The initial entry to be set in the dialog. + The name of the item is displayed in the file name edit box, + and the containing folder is opened in the view. This would generally be + used when the application is saving an item that already exists. + + + + Specifies which properties will be collected in the save dialog. + + True to show default properties for the currently selected + filetype in addition to the properties specified by propertyList. False to show only properties + specified by pList. + List of properties to collect. This parameter can be null. + + + SetCollectedPropertyKeys can be called at any time before the dialog is displayed or while it + is visible. If different properties are to be collected depending on the chosen filetype, + then SetCollectedProperties can be called in response to CommonFileDialog::FileTypeChanged event. + Note: By default, no properties are collected in the save dialog. + + + + + Gets or sets a value that controls whether to prompt before + overwriting an existing file of the same name. Default value is true. + + + This property cannot be changed when the dialog is showing. + + + + + Gets or sets a value that controls whether to prompt for creation if the item returned in the save dialog does not exist. + + Note that this does not actually create the item. + + This property cannot be changed when the dialog is showing. + + + + + Gets or sets a value that controls whether to the save dialog + displays in expanded mode. + + Expanded mode controls whether the dialog + shows folders for browsing or hides them. + + This property cannot be changed when the dialog is showing. + + + + + Gets or sets a value that controls whether the + returned file name has a file extension that matches the + currently selected file type. If necessary, the dialog appends the correct + file extension. + + + This property cannot be changed when the dialog is showing. + + + + + Retrieves the set of property values for a saved item or an item in the process of being saved. + + Collection of property values collected from the save dialog + This property can be called while the dialog is showing to retrieve the current + set of values in the metadata collection pane. It can also be called after the dialog + has closed, to retrieve the final set of values. The call to this method will fail + unless property collection has been turned on with a call to SetCollectedPropertyKeys method. + + + + + Internal class that contains interop declarations for + functions that are considered benign but that + are performance critical. + + + Functions that are benign but not performance critical + should be located in the NativeMethods class. + + + + + An in-memory property store cache + + + + + Gets the state of a property stored in the cache + + + + + + + + Gets the valeu and state of a property in the cache + + + + + + + + + Sets the state of a property in the cache. + + + + + + + + Sets the value and state in the cache. + + + + + + + + + A property store + + + + + Gets the number of properties contained in the property store. + + + + + + + Get a property key located at a specific index. + + + + + + + + Gets the value of a property from the store + + + + + + + + Sets the value of a property in the store + + + + + + + + Commits the changes. + + + + + + Sets the specified iconic thumbnail for the specified window. + This is typically done in response to a DWM message. + + The window handle. + The thumbnail bitmap. + + + + Sets the specified peek (live preview) bitmap for the specified + window. This is typically done in response to a DWM message. + + The window handle. + The thumbnail bitmap. + Whether to display a standard window + frame around the bitmap. + + + + Sets the specified peek (live preview) bitmap for the specified + window. This is typically done in response to a DWM message. + + The window handle. + The thumbnail bitmap. + The client area offset at which to display + the specified bitmap. The rest of the parent window will be + displayed as "remembered" by the DWM. + Whether to display a standard window + frame around the bitmap. + + + + Call this method to either enable custom previews on the taskbar (second argument as true) + or to disable (second argument as false). If called with True, the method will call DwmSetWindowAttribute + for the specific window handle and let DWM know that we will be providing a custom bitmap for the thumbnail + as well as Aero peek. + + + + + + + Defines a partial class that implements helper methods for retrieving Shell properties + using a canonical name, property key, or a strongly-typed property. Also provides + access to all the strongly-typed system properties and default properties collections. + + + + + Returns a property available in the default property collection using + the given property key. + + The property key. + An IShellProperty. + + + + Returns a property available in the default property collection using + the given canonical name. + + The canonical name. + An IShellProperty. + + + + Returns a strongly typed property available in the default property collection using + the given property key. + + The type of property to retrieve. + The property key. + A strongly-typed ShellProperty for the given property key. + + + + Returns a strongly typed property available in the default property collection using + the given canonical name. + + The type of property to retrieve. + The canonical name. + A strongly-typed ShellProperty for the given canonical name. + + + + Returns the shell property writer used when writing multiple properties. + + A ShellPropertyWriter. + Use the Using pattern with the returned ShellPropertyWriter or + manually call the Close method on the writer to commit the changes + and dispose the writer + + + + Cleans up memory + + + + + Cleans up memory + + + + + Gets all the properties for the system through an accessor. + + + + + Gets the collection of all the default properties for this item. + + + + + .System Properties + + + + + Base class for all the strongly-typed properties + + + + + Name: System.AcquisitionID -- PKEY_AcquisitionID + Description: Hash to determine acquisition session. + + Type: Int32 -- VT_I4 + FormatID: {65A98875-3C80-40AB-ABBC-EFDAF77DBEE2}, 100 + + + + + Name: System.ApplicationName -- PKEY_ApplicationName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 18 (PIDSI_APPNAME) + + + + + Name: System.Author -- PKEY_Author + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 4 (PIDSI_AUTHOR) + + + + + Name: System.Capacity -- PKEY_Capacity + Description: The amount of total space in bytes. + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 3 (PID_VOLUME_CAPACITY) (Filesystem Volume Properties) + + + + + Name: System.Category -- PKEY_Category + Description: Legacy code treats this as VT_LPSTR. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 2 (PIDDSI_CATEGORY) + + + + + Name: System.Comment -- PKEY_Comment + Description: Comments. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 6 (PIDSI_COMMENTS) + + + + + Name: System.Company -- PKEY_Company + Description: The company or publisher. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 15 (PIDDSI_COMPANY) + + + + + Name: System.ComputerName -- PKEY_ComputerName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 5 (PID_COMPUTERNAME) + + + + + Name: System.ContainedItems -- PKEY_ContainedItems + Description: The list of type of items, this item contains. For example, this item contains urls, attachments etc. + This is represented as a vector array of GUIDs where each GUID represents certain type. + + Type: Multivalue Guid -- VT_VECTOR | VT_CLSID (For variants: VT_ARRAY | VT_CLSID) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 29 + + + + + Name: System.ContentStatus -- PKEY_ContentStatus + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 27 + + + + + Name: System.ContentType -- PKEY_ContentType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 26 + + + + + Name: System.Copyright -- PKEY_Copyright + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 11 (PIDMSI_COPYRIGHT) + + + + + Name: System.DateAccessed -- PKEY_DateAccessed + Description: The time of the last access to the item. The Indexing Service friendly name is 'access'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 16 (PID_STG_ACCESSTIME) + + + + + Name: System.DateAcquired -- PKEY_DateAcquired + Description: The time the file entered the system via acquisition. This is not the same as System.DateImported. + Examples are when pictures are acquired from a camera, or when music is purchased online. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {2CBAA8F5-D81F-47CA-B17A-F8D822300131}, 100 + + + + + Name: System.DateArchived -- PKEY_DateArchived + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {43F8D7B7-A444-4F87-9383-52271C9B915C}, 100 + + + + + Name: System.DateCompleted -- PKEY_DateCompleted + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {72FAB781-ACDA-43E5-B155-B2434F85E678}, 100 + + + + + Name: System.DateCreated -- PKEY_DateCreated + Description: The date and time the item was created. The Indexing Service friendly name is 'create'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 15 (PID_STG_CREATETIME) + + + + + Name: System.DateImported -- PKEY_DateImported + Description: The time the file is imported into a separate database. This is not the same as System.DateAcquired. (Eg, 2003:05:22 13:55:04) + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 18258 + + + + + Name: System.DateModified -- PKEY_DateModified + Description: The date and time of the last write to the item. The Indexing Service friendly name is 'write'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 14 (PID_STG_WRITETIME) + + + + + Name: System.DescriptionID -- PKEY_DescriptionID + Description: The contents of a SHDESCRIPTIONID structure as a buffer of bytes. + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 2 (PID_DESCRIPTIONID) + + + + + Name: System.DueDate -- PKEY_DueDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {3F8472B5-E0AF-4DB2-8071-C53FE76AE7CE}, 100 + + + + + Name: System.EndDate -- PKEY_EndDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {C75FAA05-96FD-49E7-9CB4-9F601082D553}, 100 + + + + + Name: System.FileAllocationSize -- PKEY_FileAllocationSize + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 18 (PID_STG_ALLOCSIZE) + + + + + Name: System.FileAttributes -- PKEY_FileAttributes + Description: This is the WIN32_FIND_DATA dwFileAttributes for the file-based item. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 13 (PID_STG_ATTRIBUTES) + + + + + Name: System.FileCount -- PKEY_FileCount + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 12 + + + + + Name: System.FileDescription -- PKEY_FileDescription + Description: This is a user-friendly description of the file. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 3 (PIDVSI_FileDescription) + + + + + Name: System.FileExtension -- PKEY_FileExtension + Description: This is the file extension of the file based item, including the leading period. + + If System.FileName is VT_EMPTY, then this property should be too. Otherwise, it should be derived + appropriately by the data source from System.FileName. If System.FileName does not have a file + extension, this value should be VT_EMPTY. + + To obtain the type of any item (including an item that is not a file), use System.ItemType. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" ".txt" + "\\server\share\mydir\goodnews.doc" ".doc" + "\\server\share\numbers.xls" ".xls" + "\\server\share\folder" VT_EMPTY + "c:\foo\MyFolder" VT_EMPTY + [desktop] VT_EMPTY + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E4F10A3C-49E6-405D-8288-A23BD4EEAA6C}, 100 + + + + + Name: System.FileFRN -- PKEY_FileFRN + Description: This is the unique file ID, also known as the File Reference Number. For a given file, this is the same value + as is found in the structure variable FILE_ID_BOTH_DIR_INFO.FileId, via GetFileInformationByHandleEx(). + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 21 (PID_STG_FRN) + + + + + Name: System.FileName -- PKEY_FileName + Description: This is the file name (including extension) of the file. + + It is possible that the item might not exist on a filesystem (ie, it may not be opened + using CreateFile). Nonetheless, if the item is represented as a file from the logical sense + (and its name follows standard Win32 file-naming syntax), then the data source should emit this property. + + If an item is not a file, then the value for this property is VT_EMPTY. See + System.ItemNameDisplay. + + This has the same value as System.ParsingName for items that are provided by the Shell's file folder. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "hello.txt" + "\\server\share\mydir\goodnews.doc" "goodnews.doc" + "\\server\share\numbers.xls" "numbers.xls" + "c:\foo\MyFolder" "MyFolder" + (email message) VT_EMPTY + (song on portable device) "song.wma" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {41CF5AE0-F75A-4806-BD87-59C7D9248EB9}, 100 + + + + + Name: System.FileOwner -- PKEY_FileOwner + Description: This is the owner of the file, according to the file system. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Misc) {9B174B34-40FF-11D2-A27E-00C04FC30871}, 4 (PID_MISC_OWNER) + + + + + Name: System.FileVersion -- PKEY_FileVersion + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 4 (PIDVSI_FileVersion) + + + + + Name: System.FindData -- PKEY_FindData + Description: WIN32_FIND_DATAW in buffer of bytes. + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 0 (PID_FINDDATA) + + + + + Name: System.FlagColor -- PKEY_FlagColor + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {67DF94DE-0CA7-4D6F-B792-053A3E4F03CF}, 100 + + + + + Name: System.FlagColorText -- PKEY_FlagColorText + Description: This is the user-friendly form of System.FlagColor. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {45EAE747-8E2A-40AE-8CBF-CA52ABA6152A}, 100 + + + + + Name: System.FlagStatus -- PKEY_FlagStatus + Description: Status of Flag. Values: (0=none 1=white 2=Red). cdoPR_FLAG_STATUS + + Type: Int32 -- VT_I4 + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 12 + + + + + Name: System.FlagStatusText -- PKEY_FlagStatusText + Description: This is the user-friendly form of System.FlagStatus. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DC54FD2E-189D-4871-AA01-08C2F57A4ABC}, 100 + + + + + Name: System.FreeSpace -- PKEY_FreeSpace + Description: The amount of free space in bytes. + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 2 (PID_VOLUME_FREE) (Filesystem Volume Properties) + + + + + Name: System.FullText -- PKEY_FullText + Description: This PKEY is used to specify search terms that should be applied as broadly as possible, + across all valid properties for the data source(s) being searched. It should not be + emitted from a data source. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1E3EE840-BC2B-476C-8237-2ACD1A839B22}, 6 + + + + + Name: System.Identity -- PKEY_Identity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A26F4AFC-7346-4299-BE47-EB1AE613139F}, 100 + + + + + Name: System.ImageParsingName -- PKEY_ImageParsingName + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D7750EE0-C6A4-48EC-B53E-B87B52E6D073}, 100 + + + + + Name: System.Importance -- PKEY_Importance + Description: + Type: Int32 -- VT_I4 + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 11 + + + + + Name: System.ImportanceText -- PKEY_ImportanceText + Description: This is the user-friendly form of System.Importance. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A3B29791-7713-4E1D-BB40-17DB85F01831}, 100 + + + + + Name: System.InfoTipText -- PKEY_InfoTipText + Description: The text (with formatted property values) to show in the infotip. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 17 + + + + + Name: System.InternalName -- PKEY_InternalName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 5 (PIDVSI_InternalName) + + + + + Name: System.IsAttachment -- PKEY_IsAttachment + Description: Identifies if this item is an attachment. + + Type: Boolean -- VT_BOOL + FormatID: {F23F425C-71A1-4FA8-922F-678EA4A60408}, 100 + + + + + Name: System.IsDefaultNonOwnerSaveLocation -- PKEY_IsDefaultNonOwnerSaveLocation + Description: Identifies the default save location for a library for non-owners of the library + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 5 + + + + + Name: System.IsDefaultSaveLocation -- PKEY_IsDefaultSaveLocation + Description: Identifies the default save location for a library for the owner of the library + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 3 + + + + + Name: System.IsDeleted -- PKEY_IsDeleted + Description: + Type: Boolean -- VT_BOOL + FormatID: {5CDA5FC8-33EE-4FF3-9094-AE7BD8868C4D}, 100 + + + + + Name: System.IsEncrypted -- PKEY_IsEncrypted + Description: Is the item encrypted? + + Type: Boolean -- VT_BOOL + FormatID: {90E5E14E-648B-4826-B2AA-ACAF790E3513}, 10 + + + + + Name: System.IsFlagged -- PKEY_IsFlagged + Description: + Type: Boolean -- VT_BOOL + FormatID: {5DA84765-E3FF-4278-86B0-A27967FBDD03}, 100 + + + + + Name: System.IsFlaggedComplete -- PKEY_IsFlaggedComplete + Description: + Type: Boolean -- VT_BOOL + FormatID: {A6F360D2-55F9-48DE-B909-620E090A647C}, 100 + + + + + Name: System.IsIncomplete -- PKEY_IsIncomplete + Description: Identifies if the message was not completely received for some error condition. + + Type: Boolean -- VT_BOOL + FormatID: {346C8BD1-2E6A-4C45-89A4-61B78E8E700F}, 100 + + + + + Name: System.IsLocationSupported -- PKEY_IsLocationSupported + Description: A bool value to know if a location is supported (locally indexable, or remotely indexed). + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 8 + + + + + Name: System.IsPinnedToNameSpaceTree -- PKEY_IsPinnedToNameSpaceTree + Description: A bool value to know if a shell folder is pinned to the navigation pane + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 2 + + + + + Name: System.IsRead -- PKEY_IsRead + Description: Has the item been read? + + Type: Boolean -- VT_BOOL + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 10 + + + + + Name: System.IsSearchOnlyItem -- PKEY_IsSearchOnlyItem + Description: Identifies if a location or a library is search only + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 4 + + + + + Name: System.IsSendToTarget -- PKEY_IsSendToTarget + Description: Provided by certain shell folders. Return TRUE if the folder is a valid Send To target. + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 33 + + + + + Name: System.IsShared -- PKEY_IsShared + Description: Is this item shared? This only checks for ACLs that are not inherited. + + Type: Boolean -- VT_BOOL + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 100 + + + + + Name: System.ItemAuthors -- PKEY_ItemAuthors + Description: This is the generic list of authors associated with an item. + + For example, the artist name for a track is the item author. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D0A04F0A-462A-48A4-BB2F-3706E88DBD7D}, 100 + + + + + Name: System.ItemClassType -- PKEY_ItemClassType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {048658AD-2DB8-41A4-BBB6-AC1EF1207EB1}, 100 + + + + + Name: System.ItemDate -- PKEY_ItemDate + Description: This is the main date for an item. The date of interest. + + For example, for photos this maps to System.Photo.DateTaken. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {F7DB74B4-4287-4103-AFBA-F1B13DCD75CF}, 100 + + + + + Name: System.ItemFolderNameDisplay -- PKEY_ItemFolderNameDisplay + Description: This is the user-friendly display name of the parent folder of an item. + + If System.ItemFolderPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it + should be derived appropriately by the data source from System.ItemFolderPathDisplay. + + If the folder is a file folder, the value will be localized if a localized name is available. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "bar" + "\\server\share\mydir\goodnews.doc" "mydir" + "\\server\share\numbers.xls" "share" + "c:\foo\MyFolder" "foo" + "/Mailbox Account/Inbox/'Re: Hello!'" "Inbox" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 2 (PID_STG_DIRECTORY) + + + + + Name: System.ItemFolderPathDisplay -- PKEY_ItemFolderPathDisplay + Description: This is the user-friendly display path of the parent folder of an item. + + If System.ItemPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it should + be derived appropriately by the data source from System.ItemPathDisplay. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "c:\foo\bar" + "\\server\share\mydir\goodnews.doc" "\\server\share\mydir" + "\\server\share\numbers.xls" "\\server\share" + "c:\foo\MyFolder" "c:\foo" + "/Mailbox Account/Inbox/'Re: Hello!'" "/Mailbox Account/Inbox" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 6 + + + + + Name: System.ItemFolderPathDisplayNarrow -- PKEY_ItemFolderPathDisplayNarrow + Description: This is the user-friendly display path of the parent folder of an item. The format of the string + should be tailored such that the folder name comes first, to optimize for a narrow viewing column. + + If the folder is a file folder, the value includes localized names if they are present. + + If System.ItemFolderPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it should + be derived appropriately by the data source from System.ItemFolderPathDisplay. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "bar (c:\foo)" + "\\server\share\mydir\goodnews.doc" "mydir (\\server\share)" + "\\server\share\numbers.xls" "share (\\server)" + "c:\foo\MyFolder" "foo (c:\)" + "/Mailbox Account/Inbox/'Re: Hello!'" "Inbox (/Mailbox Account)" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DABD30ED-0043-4789-A7F8-D013A4736622}, 100 + + + + + Name: System.ItemName -- PKEY_ItemName + Description: This is the base-name of the System.ItemNameDisplay. + + If the item is a file this property + includes the extension in all cases, and will be localized if a localized name is available. + + If the item is a message, then the value of this property does not include the forwarding or + reply prefixes (see System.ItemNamePrefix). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6B8DA074-3B5C-43BC-886F-0A2CDCE00B6F}, 100 + + + + + Name: System.ItemNameDisplay -- PKEY_ItemNameDisplay + Description: This is the display name in "most complete" form. This is the best effort unique representation + of the name of an item that makes sense for end users to read. It is the concatentation of + System.ItemNamePrefix and System.ItemName. + + If the item is a file this property + includes the extension in all cases, and will be localized if a localized name is available. + + There are acceptable cases when System.FileName is not VT_EMPTY, yet the value of this property + is completely different. Email messages are a key example. If the item is an email message, + the item name is likely the subject. In that case, the value must be the concatenation of the + System.ItemNamePrefix and System.ItemName. Since the value of System.ItemNamePrefix excludes + any trailing whitespace, the concatenation must include a whitespace when generating System.ItemNameDisplay. + + Note that this property is not guaranteed to be unique, but the idea is to promote the most likely + candidate that can be unique and also makes sense for end users. For example, for documents, you + might think about using System.Title as the System.ItemNameDisplay, but in practice the title of + the documents may not be useful or unique enough to be of value as the sole System.ItemNameDisplay. + Instead, providing the value of System.FileName as the value of System.ItemNameDisplay is a better + candidate. In Windows Mail, the emails are stored in the file system as .eml files and the + System.FileName for those files are not human-friendly as they contain GUIDs. In this example, + promoting System.Subject as System.ItemNameDisplay makes more sense. + + Compatibility notes: + + Shell folder implementations on Vista: use PKEY_ItemNameDisplay for the name column when + you want Explorer to call ISF::GetDisplayNameOf(SHGDN_NORMAL) to get the value of the name. Use + another PKEY (like PKEY_ItemName) when you want Explorer to call either the folder's property store or + ISF2::GetDetailsEx in order to get the value of the name. + + Shell folder implementations on XP: the first column needs to be the name column, and Explorer + will call ISF::GetDisplayNameOf to get the value of the name. The PKEY/SCID does not matter. + + Example values: + + File: "hello.txt" + Message: "Re: Let's talk about Tom's argyle socks!" + Device folder: "song.wma" + Folder: "Documents" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10 (PID_STG_NAME) + + + + + Name: System.ItemNamePrefix -- PKEY_ItemNamePrefix + Description: This is the prefix of an item, used for email messages. + where the subject begins with "Re:" which is the prefix. + + If the item is a file, then the value of this property is VT_EMPTY. + + If the item is a message, then the value of this property is the forwarding or reply + prefixes (including delimiting colon, but no whitespace), or VT_EMPTY if there is no prefix. + + Example values: + + System.ItemNamePrefix System.ItemName System.ItemNameDisplay + --------------------- ------------------- ---------------------- + VT_EMPTY "Great day" "Great day" + "Re:" "Great day" "Re: Great day" + "Fwd: " "Monthly budget" "Fwd: Monthly budget" + VT_EMPTY "accounts.xls" "accounts.xls" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D7313FF1-A77A-401C-8C99-3DBDD68ADD36}, 100 + + + + + Name: System.ItemParticipants -- PKEY_ItemParticipants + Description: This is the generic list of people associated with an item and who contributed + to the item. + + For example, this is the combination of people in the To list, Cc list and + sender of an email message. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D4D0AA16-9948-41A4-AA85-D97FF9646993}, 100 + + + + + Name: System.ItemPathDisplay -- PKEY_ItemPathDisplay + Description: This is the user-friendly display path to the item. + + If the item is a file or folder this property + includes the extension in all cases, and will be localized if a localized name is available. + + For other items,this is the user-friendly equivalent, assuming the item exists in hierarchical storage. + + Unlike System.ItemUrl, this property value does not include the URL scheme. + + To parse an item path, use System.ItemUrl or System.ParsingPath. To reference shell + namespace items using shell APIs, use System.ParsingPath. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "c:\foo\bar\hello.txt" + "\\server\share\mydir\goodnews.doc" "\\server\share\mydir\goodnews.doc" + "\\server\share\numbers.xls" "\\server\share\numbers.xls" + "c:\foo\MyFolder" "c:\foo\MyFolder" + "/Mailbox Account/Inbox/'Re: Hello!'" "/Mailbox Account/Inbox/'Re: Hello!'" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 7 + + + + + Name: System.ItemPathDisplayNarrow -- PKEY_ItemPathDisplayNarrow + Description: This is the user-friendly display path to the item. The format of the string should be + tailored such that the name comes first, to optimize for a narrow viewing column. + + If the item is a file, the value excludes the file extension, and includes localized names if they are present. + If the item is a message, the value includes the System.ItemNamePrefix. + + To parse an item path, use System.ItemUrl or System.ParsingPath. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "hello (c:\foo\bar)" + "\\server\share\mydir\goodnews.doc" "goodnews (\\server\share\mydir)" + "\\server\share\folder" "folder (\\server\share)" + "c:\foo\MyFolder" "MyFolder (c:\foo)" + "/Mailbox Account/Inbox/'Re: Hello!'" "Re: Hello! (/Mailbox Account/Inbox)" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 8 + + + + + Name: System.ItemType -- PKEY_ItemType + Description: This is the canonical type of the item and is intended to be programmatically + parsed. + + If there is no canonical type, the value is VT_EMPTY. + + If the item is a file (ie, System.FileName is not VT_EMPTY), the value is the same as + System.FileExtension. + + Use System.ItemTypeText when you want to display the type to end users in a view. (If + the item is a file, passing the System.ItemType value to PSFormatForDisplay will + result in the same value as System.ItemTypeText.) + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" ".txt" + "\\server\share\mydir\goodnews.doc" ".doc" + "\\server\share\folder" "Directory" + "c:\foo\MyFolder" "Directory" + [desktop] "Folder" + "/Mailbox Account/Inbox/'Re: Hello!'" "MAPI/IPM.Message" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 11 + + + + + Name: System.ItemTypeText -- PKEY_ItemTypeText + Description: This is the user friendly type name of the item. This is not intended to be + programmatically parsed. + + If System.ItemType is VT_EMPTY, the value of this property is also VT_EMPTY. + + If the item is a file, the value of this property is the same as if you passed the + file's System.ItemType value to PSFormatForDisplay. + + This property should not be confused with System.Kind, where System.Kind is a high-level + user friendly kind name. For example, for a document, System.Kind = "Document" and + System.Item.Type = ".doc" and System.Item.TypeText = "Microsoft Word Document" + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "Text File" + "\\server\share\mydir\goodnews.doc" "Microsoft Word Document" + "\\server\share\folder" "File Folder" + "c:\foo\MyFolder" "File Folder" + "/Mailbox Account/Inbox/'Re: Hello!'" "Outlook E-Mail Message" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 4 (PID_STG_STORAGETYPE) + + + + + Name: System.ItemUrl -- PKEY_ItemUrl + Description: This always represents a well formed URL that points to the item. + + To reference shell namespace items using shell APIs, use System.ParsingPath. + + Example values: + + Files: "file:///c:/foo/bar/hello.txt" + "csc://{GUID}/..." + Messages: "mapi://..." + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 9 (DISPID_QUERY_VIRTUALPATH) + + + + + Name: System.Keywords -- PKEY_Keywords + Description: The keywords for the item. Also referred to as tags. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 5 (PIDSI_KEYWORDS) + + + + + Name: System.Kind -- PKEY_Kind + Description: System.Kind is used to map extensions to various .Search folders. + Extensions are mapped to Kinds at HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\KindMap + The list of kinds is not extensible. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {1E3EE840-BC2B-476C-8237-2ACD1A839B22}, 3 + + + + + Name: System.KindText -- PKEY_KindText + Description: This is the user-friendly form of System.Kind. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F04BEF95-C585-4197-A2B7-DF46FDC9EE6D}, 100 + + + + + Name: System.Language -- PKEY_Language + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 28 + + + + + Name: System.MileageInformation -- PKEY_MileageInformation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FDF84370-031A-4ADD-9E91-0D775F1C6605}, 100 + + + + + Name: System.MIMEType -- PKEY_MIMEType + Description: The MIME type. Eg, for EML files: 'message/rfc822'. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B63E350-9CCC-11D0-BCDB-00805FCCCE04}, 5 + + + + + Name: System.NamespaceCLSID -- PKEY_NamespaceCLSID + Description: The CLSID of the name space extension for an item, the object that implements IShellFolder for this item + + Type: Guid -- VT_CLSID + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 6 + + + + + Name: System.Null -- PKEY_Null + Description: + Type: Null -- VT_NULL + FormatID: {00000000-0000-0000-0000-000000000000}, 0 + + + + + Name: System.OfflineAvailability -- PKEY_OfflineAvailability + Description: + Type: UInt32 -- VT_UI4 + FormatID: {A94688B6-7D9F-4570-A648-E3DFC0AB2B3F}, 100 + + + + + Name: System.OfflineStatus -- PKEY_OfflineStatus + Description: + Type: UInt32 -- VT_UI4 + FormatID: {6D24888F-4718-4BDA-AFED-EA0FB4386CD8}, 100 + + + + + Name: System.OriginalFileName -- PKEY_OriginalFileName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 6 + + + + + Name: System.OwnerSID -- PKEY_OwnerSID + Description: SID of the user that owns the library. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 6 + + + + + Name: System.ParentalRating -- PKEY_ParentalRating + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 21 (PIDMSI_PARENTAL_RATING) + + + + + Name: System.ParentalRatingReason -- PKEY_ParentalRatingReason + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {10984E0A-F9F2-4321-B7EF-BAF195AF4319}, 100 + + + + + Name: System.ParentalRatingsOrganization -- PKEY_ParentalRatingsOrganization + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A7FE0840-1344-46F0-8D37-52ED712A4BF9}, 100 + + + + + Name: System.ParsingBindContext -- PKEY_ParsingBindContext + Description: used to get the IBindCtx for an item for parsing + + Type: Any -- VT_NULL Legacy code may treat this as VT_UNKNOWN. + FormatID: {DFB9A04D-362F-4CA3-B30B-0254B17B5B84}, 100 + + + + + Name: System.ParsingName -- PKEY_ParsingName + Description: The shell namespace name of an item relative to a parent folder. This name may be passed to + IShellFolder::ParseDisplayName() of the parent shell folder. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 24 + + + + + Name: System.ParsingPath -- PKEY_ParsingPath + Description: This is the shell namespace path to the item. This path may be passed to + SHParseDisplayName to parse the path to the correct shell folder. + + If the item is a file, the value is identical to System.ItemPathDisplay. + + If the item cannot be accessed through the shell namespace, this value is VT_EMPTY. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 30 + + + + + Name: System.PerceivedType -- PKEY_PerceivedType + Description: The perceived type of a shell item, based upon its canonical type. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 9 + + + + + Name: System.PercentFull -- PKEY_PercentFull + Description: The amount filled as a percentage, multiplied by 100 (ie, the valid range is 0 through 100). + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 5 (Filesystem Volume Properties) + + + + + Name: System.Priority -- PKEY_Priority + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {9C1FCF74-2D97-41BA-B4AE-CB2E3661A6E4}, 5 + + + + + Name: System.PriorityText -- PKEY_PriorityText + Description: This is the user-friendly form of System.Priority. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D98BE98B-B86B-4095-BF52-9D23B2E0A752}, 100 + + + + + Name: System.Project -- PKEY_Project + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {39A7F922-477C-48DE-8BC8-B28441E342E3}, 100 + + + + + Name: System.ProviderItemID -- PKEY_ProviderItemID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F21D9941-81F0-471A-ADEE-4E74B49217ED}, 100 + + + + + Name: System.Rating -- PKEY_Rating + Description: Indicates the users preference rating of an item on a scale of 1-99 (1-12 = One Star, + 13-37 = Two Stars, 38-62 = Three Stars, 63-87 = Four Stars, 88-99 = Five Stars). + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 9 (PIDMSI_RATING) + + + + + Name: System.RatingText -- PKEY_RatingText + Description: This is the user-friendly form of System.Rating. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {90197CA7-FD8F-4E8C-9DA3-B57E1E609295}, 100 + + + + + Name: System.Sensitivity -- PKEY_Sensitivity + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {F8D3F6AC-4874-42CB-BE59-AB454B30716A}, 100 + + + + + Name: System.SensitivityText -- PKEY_SensitivityText + Description: This is the user-friendly form of System.Sensitivity. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D0C7F054-3F72-4725-8527-129A577CB269}, 100 + + + + + Name: System.SFGAOFlags -- PKEY_SFGAOFlags + Description: IShellFolder::GetAttributesOf flags, with SFGAO_PKEYSFGAOMASK attributes masked out. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 25 + + + + + Name: System.SharedWith -- PKEY_SharedWith + Description: Who is the item shared with? + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 200 + + + + + Name: System.ShareUserRating -- PKEY_ShareUserRating + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 12 (PIDMSI_SHARE_USER_RATING) + + + + + Name: System.SharingStatus -- PKEY_SharingStatus + Description: What is the item's sharing status (not shared, shared, everyone (homegroup or everyone), or private)? + + Type: UInt32 -- VT_UI4 + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 300 + + + + + Name: System.SimpleRating -- PKEY_SimpleRating + Description: Indicates the users preference rating of an item on a scale of 0-5 (0=unrated, 1=One Star, 2=Two Stars, 3=Three Stars, + 4=Four Stars, 5=Five Stars) + + Type: UInt32 -- VT_UI4 + FormatID: {A09F084E-AD41-489F-8076-AA5BE3082BCA}, 100 + + + + + Name: System.Size -- PKEY_Size + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 12 (PID_STG_SIZE) + + + + + Name: System.SoftwareUsed -- PKEY_SoftwareUsed + Description: PropertyTagSoftwareUsed + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 305 + + + + + Name: System.SourceItem -- PKEY_SourceItem + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {668CDFA5-7A1B-4323-AE4B-E527393A1D81}, 100 + + + + + Name: System.StartDate -- PKEY_StartDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {48FD6EC8-8A12-4CDF-A03E-4EC5A511EDDE}, 100 + + + + + Name: System.Status -- PKEY_Status + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_IntSite) {000214A1-0000-0000-C000-000000000046}, 9 + + + + + Name: System.Subject -- PKEY_Subject + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 3 (PIDSI_SUBJECT) + + + + + Name: System.Thumbnail -- PKEY_Thumbnail + Description: A data that represents the thumbnail in VT_CF format. + + Type: Clipboard -- VT_CF + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 17 (PIDSI_THUMBNAIL) + + + + + Name: System.ThumbnailCacheId -- PKEY_ThumbnailCacheId + Description: Unique value that can be used as a key to cache thumbnails. The value changes when the name, volume, or data modified + of an item changes. + + Type: UInt64 -- VT_UI8 + FormatID: {446D16B1-8DAD-4870-A748-402EA43D788C}, 100 + + + + + Name: System.ThumbnailStream -- PKEY_ThumbnailStream + Description: Data that represents the thumbnail in VT_STREAM format that GDI+/WindowsCodecs supports (jpg, png, etc). + + Type: Stream -- VT_STREAM + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 27 + + + + + Name: System.Title -- PKEY_Title + Description: Title of item. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 2 (PIDSI_TITLE) + + + + + Name: System.TotalFileSize -- PKEY_TotalFileSize + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 14 + + + + + Name: System.Trademarks -- PKEY_Trademarks + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 9 (PIDVSI_Trademarks) + + + + + System.AppUserModel Properties + + + + + System.Audio Properties + + + + + System.Calendar Properties + + + + + System.Communication Properties + + + + + System.Computer Properties + + + + + System.Contact Properties + + + + + System.Device Properties + + + + + System.DeviceInterface Properties + + + + + System.Devices Properties + + + + + System.Document Properties + + + + + System.DRM Properties + + + + + System.GPS Properties + + + + + System.Identity Properties + + + + + System.IdentityProvider Properties + + + + + System.Image Properties + + + + + System.Journal Properties + + + + + System.LayoutPattern Properties + + + + + System.Link Properties + + + + + System.Media Properties + + + + + System.Message Properties + + + + + System.Music Properties + + + + + System.Note Properties + + + + + System.Photo Properties + + + + + System.PropGroup Properties + + + + + System.PropList Properties + + + + + System.RecordedTV Properties + + + + + System.Search Properties + + + + + System.Shell Properties + + + + + System.Software Properties + + + + + System.Sync Properties + + + + + System.Task Properties + + + + + System.Video Properties + + + + + System.Volume Properties + + + + + System.AppUserModel Properties + + + + + Name: System.AppUserModel.ExcludeFromShowInNewInstall -- PKEY_AppUserModel_ExcludeFromShowInNewInstall + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 8 + + + + + Name: System.AppUserModel.ID -- PKEY_AppUserModel_ID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5 + + + + + Name: System.AppUserModel.IsDestListSeparator -- PKEY_AppUserModel_IsDestListSeparator + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 6 + + + + + Name: System.AppUserModel.PreventPinning -- PKEY_AppUserModel_PreventPinning + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 9 + + + + + Name: System.AppUserModel.RelaunchCommand -- PKEY_AppUserModel_RelaunchCommand + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 2 + + + + + Name: System.AppUserModel.RelaunchDisplayNameResource -- PKEY_AppUserModel_RelaunchDisplayNameResource + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 4 + + + + + Name: System.AppUserModel.RelaunchIconResource -- PKEY_AppUserModel_RelaunchIconResource + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 3 + + + + + System.Audio Properties + + + + + Name: System.Audio.ChannelCount -- PKEY_Audio_ChannelCount + Description: Indicates the channel count for the audio file. Values: 1 (mono), 2 (stereo). + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 7 (PIDASI_CHANNEL_COUNT) + + + + + Name: System.Audio.Compression -- PKEY_Audio_Compression + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 10 (PIDASI_COMPRESSION) + + + + + Name: System.Audio.EncodingBitrate -- PKEY_Audio_EncodingBitrate + Description: Indicates the average data rate in Hz for the audio file in "bits per second". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 4 (PIDASI_AVG_DATA_RATE) + + + + + Name: System.Audio.Format -- PKEY_Audio_Format + Description: Indicates the format of the audio file. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_BSTR. + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 2 (PIDASI_FORMAT) + + + + + Name: System.Audio.IsVariableBitRate -- PKEY_Audio_IsVariableBitRate + Description: + Type: Boolean -- VT_BOOL + FormatID: {E6822FEE-8C17-4D62-823C-8E9CFCBD1D5C}, 100 + + + + + Name: System.Audio.PeakValue -- PKEY_Audio_PeakValue + Description: + Type: UInt32 -- VT_UI4 + FormatID: {2579E5D0-1116-4084-BD9A-9B4F7CB4DF5E}, 100 + + + + + Name: System.Audio.SampleRate -- PKEY_Audio_SampleRate + Description: Indicates the audio sample rate for the audio file in "samples per second". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 5 (PIDASI_SAMPLE_RATE) + + + + + Name: System.Audio.SampleSize -- PKEY_Audio_SampleSize + Description: Indicates the audio sample size for the audio file in "bits per sample". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 6 (PIDASI_SAMPLE_SIZE) + + + + + Name: System.Audio.StreamName -- PKEY_Audio_StreamName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 9 (PIDASI_STREAM_NAME) + + + + + Name: System.Audio.StreamNumber -- PKEY_Audio_StreamNumber + Description: + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 8 (PIDASI_STREAM_NUMBER) + + + + + System.Calendar Properties + + + + + Name: System.Calendar.Duration -- PKEY_Calendar_Duration + Description: The duration as specified in a string. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {293CA35A-09AA-4DD2-B180-1FE245728A52}, 100 + + + + + Name: System.Calendar.IsOnline -- PKEY_Calendar_IsOnline + Description: Identifies if the event is an online event. + + Type: Boolean -- VT_BOOL + FormatID: {BFEE9149-E3E2-49A7-A862-C05988145CEC}, 100 + + + + + Name: System.Calendar.IsRecurring -- PKEY_Calendar_IsRecurring + Description: + Type: Boolean -- VT_BOOL + FormatID: {315B9C8D-80A9-4EF9-AE16-8E746DA51D70}, 100 + + + + + Name: System.Calendar.Location -- PKEY_Calendar_Location + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F6272D18-CECC-40B1-B26A-3911717AA7BD}, 100 + + + + + Name: System.Calendar.OptionalAttendeeAddresses -- PKEY_Calendar_OptionalAttendeeAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D55BAE5A-3892-417A-A649-C6AC5AAAEAB3}, 100 + + + + + Name: System.Calendar.OptionalAttendeeNames -- PKEY_Calendar_OptionalAttendeeNames + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {09429607-582D-437F-84C3-DE93A2B24C3C}, 100 + + + + + Name: System.Calendar.OrganizerAddress -- PKEY_Calendar_OrganizerAddress + Description: Address of the organizer organizing the event. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {744C8242-4DF5-456C-AB9E-014EFB9021E3}, 100 + + + + + Name: System.Calendar.OrganizerName -- PKEY_Calendar_OrganizerName + Description: Name of the organizer organizing the event. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AAA660F9-9865-458E-B484-01BC7FE3973E}, 100 + + + + + Name: System.Calendar.ReminderTime -- PKEY_Calendar_ReminderTime + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {72FC5BA4-24F9-4011-9F3F-ADD27AFAD818}, 100 + + + + + Name: System.Calendar.RequiredAttendeeAddresses -- PKEY_Calendar_RequiredAttendeeAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {0BA7D6C3-568D-4159-AB91-781A91FB71E5}, 100 + + + + + Name: System.Calendar.RequiredAttendeeNames -- PKEY_Calendar_RequiredAttendeeNames + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {B33AF30B-F552-4584-936C-CB93E5CDA29F}, 100 + + + + + Name: System.Calendar.Resources -- PKEY_Calendar_Resources + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {00F58A38-C54B-4C40-8696-97235980EAE1}, 100 + + + + + Name: System.Calendar.ResponseStatus -- PKEY_Calendar_ResponseStatus + Description: This property stores the status of the user responses to meetings in her calendar. + + Type: UInt16 -- VT_UI2 + FormatID: {188C1F91-3C40-4132-9EC5-D8B03B72A8A2}, 100 + + + + + Name: System.Calendar.ShowTimeAs -- PKEY_Calendar_ShowTimeAs + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {5BF396D4-5EB2-466F-BDE9-2FB3F2361D6E}, 100 + + + + + Name: System.Calendar.ShowTimeAsText -- PKEY_Calendar_ShowTimeAsText + Description: This is the user-friendly form of System.Calendar.ShowTimeAs. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {53DA57CF-62C0-45C4-81DE-7610BCEFD7F5}, 100 + + + + + System.Communication Properties + + + + + Name: System.Communication.AccountName -- PKEY_Communication_AccountName + Description: Account Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 9 + + + + + Name: System.Communication.DateItemExpires -- PKEY_Communication_DateItemExpires + Description: Date the item expires due to the retention policy. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {428040AC-A177-4C8A-9760-F6F761227F9A}, 100 + + + + + Name: System.Communication.FollowupIconIndex -- PKEY_Communication_FollowupIconIndex + Description: This is the icon index used on messages marked for followup. + + Type: Int32 -- VT_I4 + FormatID: {83A6347E-6FE4-4F40-BA9C-C4865240D1F4}, 100 + + + + + Name: System.Communication.HeaderItem -- PKEY_Communication_HeaderItem + Description: This property will be true if the item is a header item which means the item hasn't been fully downloaded. + + Type: Boolean -- VT_BOOL + FormatID: {C9C34F84-2241-4401-B607-BD20ED75AE7F}, 100 + + + + + Name: System.Communication.PolicyTag -- PKEY_Communication_PolicyTag + Description: This a string used to identify the retention policy applied to the item. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {EC0B4191-AB0B-4C66-90B6-C6637CDEBBAB}, 100 + + + + + Name: System.Communication.SecurityFlags -- PKEY_Communication_SecurityFlags + Description: Security flags associated with the item to know if the item is encrypted, signed or DRM enabled. + + Type: Int32 -- VT_I4 + FormatID: {8619A4B6-9F4D-4429-8C0F-B996CA59E335}, 100 + + + + + Name: System.Communication.Suffix -- PKEY_Communication_Suffix + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {807B653A-9E91-43EF-8F97-11CE04EE20C5}, 100 + + + + + Name: System.Communication.TaskStatus -- PKEY_Communication_TaskStatus + Description: + Type: UInt16 -- VT_UI2 + FormatID: {BE1A72C6-9A1D-46B7-AFE7-AFAF8CEF4999}, 100 + + + + + Name: System.Communication.TaskStatusText -- PKEY_Communication_TaskStatusText + Description: This is the user-friendly form of System.Communication.TaskStatus. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A6744477-C237-475B-A075-54F34498292A}, 100 + + + + + System.Computer Properties + + + + + Name: System.Computer.DecoratedFreeSpace -- PKEY_Computer_DecoratedFreeSpace + Description: Free space and total space: "%s free of %s" + + Type: Multivalue UInt64 -- VT_VECTOR | VT_UI8 (For variants: VT_ARRAY | VT_UI8) + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 7 (Filesystem Volume Properties) + + + + + System.Contact Properties + + + + + Name: System.Contact.Anniversary -- PKEY_Contact_Anniversary + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {9AD5BADB-CEA7-4470-A03D-B84E51B9949E}, 100 + + + + + Name: System.Contact.AssistantName -- PKEY_Contact_AssistantName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CD102C9C-5540-4A88-A6F6-64E4981C8CD1}, 100 + + + + + Name: System.Contact.AssistantTelephone -- PKEY_Contact_AssistantTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9A93244D-A7AD-4FF8-9B99-45EE4CC09AF6}, 100 + + + + + Name: System.Contact.Birthday -- PKEY_Contact_Birthday + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 47 + + + + + Name: System.Contact.BusinessAddress -- PKEY_Contact_BusinessAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {730FB6DD-CF7C-426B-A03F-BD166CC9EE24}, 100 + + + + + Name: System.Contact.BusinessAddressCity -- PKEY_Contact_BusinessAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {402B5934-EC5A-48C3-93E6-85E86A2D934E}, 100 + + + + + Name: System.Contact.BusinessAddressCountry -- PKEY_Contact_BusinessAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {B0B87314-FCF6-4FEB-8DFF-A50DA6AF561C}, 100 + + + + + Name: System.Contact.BusinessAddressPostalCode -- PKEY_Contact_BusinessAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E1D4A09E-D758-4CD1-B6EC-34A8B5A73F80}, 100 + + + + + Name: System.Contact.BusinessAddressPostOfficeBox -- PKEY_Contact_BusinessAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BC4E71CE-17F9-48D5-BEE9-021DF0EA5409}, 100 + + + + + Name: System.Contact.BusinessAddressState -- PKEY_Contact_BusinessAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {446F787F-10C4-41CB-A6C4-4D0343551597}, 100 + + + + + Name: System.Contact.BusinessAddressStreet -- PKEY_Contact_BusinessAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DDD1460F-C0BF-4553-8CE4-10433C908FB0}, 100 + + + + + Name: System.Contact.BusinessFaxNumber -- PKEY_Contact_BusinessFaxNumber + Description: Business fax number of the contact. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {91EFF6F3-2E27-42CA-933E-7C999FBE310B}, 100 + + + + + Name: System.Contact.BusinessHomePage -- PKEY_Contact_BusinessHomePage + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {56310920-2491-4919-99CE-EADB06FAFDB2}, 100 + + + + + Name: System.Contact.BusinessTelephone -- PKEY_Contact_BusinessTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6A15E5A0-0A1E-4CD7-BB8C-D2F1B0C929BC}, 100 + + + + + Name: System.Contact.CallbackTelephone -- PKEY_Contact_CallbackTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BF53D1C3-49E0-4F7F-8567-5A821D8AC542}, 100 + + + + + Name: System.Contact.CarTelephone -- PKEY_Contact_CarTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8FDC6DEA-B929-412B-BA90-397A257465FE}, 100 + + + + + Name: System.Contact.Children -- PKEY_Contact_Children + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D4729704-8EF1-43EF-9024-2BD381187FD5}, 100 + + + + + Name: System.Contact.CompanyMainTelephone -- PKEY_Contact_CompanyMainTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8589E481-6040-473D-B171-7FA89C2708ED}, 100 + + + + + Name: System.Contact.Department -- PKEY_Contact_Department + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FC9F7306-FF8F-4D49-9FB6-3FFE5C0951EC}, 100 + + + + + Name: System.Contact.EmailAddress -- PKEY_Contact_EmailAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F8FA7FA3-D12B-4785-8A4E-691A94F7A3E7}, 100 + + + + + Name: System.Contact.EmailAddress2 -- PKEY_Contact_EmailAddress2 + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {38965063-EDC8-4268-8491-B7723172CF29}, 100 + + + + + Name: System.Contact.EmailAddress3 -- PKEY_Contact_EmailAddress3 + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {644D37B4-E1B3-4BAD-B099-7E7C04966ACA}, 100 + + + + + Name: System.Contact.EmailAddresses -- PKEY_Contact_EmailAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {84D8F337-981D-44B3-9615-C7596DBA17E3}, 100 + + + + + Name: System.Contact.EmailName -- PKEY_Contact_EmailName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CC6F4F24-6083-4BD4-8754-674D0DE87AB8}, 100 + + + + + Name: System.Contact.FileAsName -- PKEY_Contact_FileAsName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F1A24AA7-9CA7-40F6-89EC-97DEF9FFE8DB}, 100 + + + + + Name: System.Contact.FirstName -- PKEY_Contact_FirstName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {14977844-6B49-4AAD-A714-A4513BF60460}, 100 + + + + + Name: System.Contact.FullName -- PKEY_Contact_FullName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {635E9051-50A5-4BA2-B9DB-4ED056C77296}, 100 + + + + + Name: System.Contact.Gender -- PKEY_Contact_Gender + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3C8CEE58-D4F0-4CF9-B756-4E5D24447BCD}, 100 + + + + + Name: System.Contact.GenderValue -- PKEY_Contact_GenderValue + Description: + Type: UInt16 -- VT_UI2 + FormatID: {3C8CEE58-D4F0-4CF9-B756-4E5D24447BCD}, 101 + + + + + Name: System.Contact.Hobbies -- PKEY_Contact_Hobbies + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {5DC2253F-5E11-4ADF-9CFE-910DD01E3E70}, 100 + + + + + Name: System.Contact.HomeAddress -- PKEY_Contact_HomeAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {98F98354-617A-46B8-8560-5B1B64BF1F89}, 100 + + + + + Name: System.Contact.HomeAddressCity -- PKEY_Contact_HomeAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 65 + + + + + Name: System.Contact.HomeAddressCountry -- PKEY_Contact_HomeAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {08A65AA1-F4C9-43DD-9DDF-A33D8E7EAD85}, 100 + + + + + Name: System.Contact.HomeAddressPostalCode -- PKEY_Contact_HomeAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8AFCC170-8A46-4B53-9EEE-90BAE7151E62}, 100 + + + + + Name: System.Contact.HomeAddressPostOfficeBox -- PKEY_Contact_HomeAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7B9F6399-0A3F-4B12-89BD-4ADC51C918AF}, 100 + + + + + Name: System.Contact.HomeAddressState -- PKEY_Contact_HomeAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C89A23D0-7D6D-4EB8-87D4-776A82D493E5}, 100 + + + + + Name: System.Contact.HomeAddressStreet -- PKEY_Contact_HomeAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0ADEF160-DB3F-4308-9A21-06237B16FA2A}, 100 + + + + + Name: System.Contact.HomeFaxNumber -- PKEY_Contact_HomeFaxNumber + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {660E04D6-81AB-4977-A09F-82313113AB26}, 100 + + + + + Name: System.Contact.HomeTelephone -- PKEY_Contact_HomeTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 20 + + + + + Name: System.Contact.IMAddress -- PKEY_Contact_IMAddress + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D68DBD8A-3374-4B81-9972-3EC30682DB3D}, 100 + + + + + Name: System.Contact.Initials -- PKEY_Contact_Initials + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F3D8F40D-50CB-44A2-9718-40CB9119495D}, 100 + + + + + Name: System.Contact.JobTitle -- PKEY_Contact_JobTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 6 + + + + + Name: System.Contact.Label -- PKEY_Contact_Label + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {97B0AD89-DF49-49CC-834E-660974FD755B}, 100 + + + + + Name: System.Contact.LastName -- PKEY_Contact_LastName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8F367200-C270-457C-B1D4-E07C5BCD90C7}, 100 + + + + + Name: System.Contact.MailingAddress -- PKEY_Contact_MailingAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C0AC206A-827E-4650-95AE-77E2BB74FCC9}, 100 + + + + + Name: System.Contact.MiddleName -- PKEY_Contact_MiddleName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 71 + + + + + Name: System.Contact.MobileTelephone -- PKEY_Contact_MobileTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 35 + + + + + Name: System.Contact.NickName -- PKEY_Contact_NickName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 74 + + + + + Name: System.Contact.OfficeLocation -- PKEY_Contact_OfficeLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 7 + + + + + Name: System.Contact.OtherAddress -- PKEY_Contact_OtherAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {508161FA-313B-43D5-83A1-C1ACCF68622C}, 100 + + + + + Name: System.Contact.OtherAddressCity -- PKEY_Contact_OtherAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6E682923-7F7B-4F0C-A337-CFCA296687BF}, 100 + + + + + Name: System.Contact.OtherAddressCountry -- PKEY_Contact_OtherAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8F167568-0AAE-4322-8ED9-6055B7B0E398}, 100 + + + + + Name: System.Contact.OtherAddressPostalCode -- PKEY_Contact_OtherAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {95C656C1-2ABF-4148-9ED3-9EC602E3B7CD}, 100 + + + + + Name: System.Contact.OtherAddressPostOfficeBox -- PKEY_Contact_OtherAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8B26EA41-058F-43F6-AECC-4035681CE977}, 100 + + + + + Name: System.Contact.OtherAddressState -- PKEY_Contact_OtherAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {71B377D6-E570-425F-A170-809FAE73E54E}, 100 + + + + + Name: System.Contact.OtherAddressStreet -- PKEY_Contact_OtherAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FF962609-B7D6-4999-862D-95180D529AEA}, 100 + + + + + Name: System.Contact.PagerTelephone -- PKEY_Contact_PagerTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D6304E01-F8F5-4F45-8B15-D024A6296789}, 100 + + + + + Name: System.Contact.PersonalTitle -- PKEY_Contact_PersonalTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 69 + + + + + Name: System.Contact.PrimaryAddressCity -- PKEY_Contact_PrimaryAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C8EA94F0-A9E3-4969-A94B-9C62A95324E0}, 100 + + + + + Name: System.Contact.PrimaryAddressCountry -- PKEY_Contact_PrimaryAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E53D799D-0F3F-466E-B2FF-74634A3CB7A4}, 100 + + + + + Name: System.Contact.PrimaryAddressPostalCode -- PKEY_Contact_PrimaryAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {18BBD425-ECFD-46EF-B612-7B4A6034EDA0}, 100 + + + + + Name: System.Contact.PrimaryAddressPostOfficeBox -- PKEY_Contact_PrimaryAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE5EF3C7-46E1-484E-9999-62C5308394C1}, 100 + + + + + Name: System.Contact.PrimaryAddressState -- PKEY_Contact_PrimaryAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F1176DFE-7138-4640-8B4C-AE375DC70A6D}, 100 + + + + + Name: System.Contact.PrimaryAddressStreet -- PKEY_Contact_PrimaryAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {63C25B20-96BE-488F-8788-C09C407AD812}, 100 + + + + + Name: System.Contact.PrimaryEmailAddress -- PKEY_Contact_PrimaryEmailAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 48 + + + + + Name: System.Contact.PrimaryTelephone -- PKEY_Contact_PrimaryTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 25 + + + + + Name: System.Contact.Profession -- PKEY_Contact_Profession + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7268AF55-1CE4-4F6E-A41F-B6E4EF10E4A9}, 100 + + + + + Name: System.Contact.SpouseName -- PKEY_Contact_SpouseName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9D2408B6-3167-422B-82B0-F583B7A7CFE3}, 100 + + + + + Name: System.Contact.Suffix -- PKEY_Contact_Suffix + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 73 + + + + + Name: System.Contact.TelexNumber -- PKEY_Contact_TelexNumber + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C554493C-C1F7-40C1-A76C-EF8C0614003E}, 100 + + + + + Name: System.Contact.TTYTDDTelephone -- PKEY_Contact_TTYTDDTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AAF16BAC-2B55-45E6-9F6D-415EB94910DF}, 100 + + + + + Name: System.Contact.WebPage -- PKEY_Contact_WebPage + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 18 + + + + + Contact.JA Properties + + + + + Contact.JA Properties + + + + + Name: System.Contact.JA.CompanyNamePhonetic -- PKEY_Contact_JA_CompanyNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 2 + + + + + Name: System.Contact.JA.FirstNamePhonetic -- PKEY_Contact_JA_FirstNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 3 + + + + + Name: System.Contact.JA.LastNamePhonetic -- PKEY_Contact_JA_LastNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 4 + + + + + System.Device Properties + + + + + Name: System.Device.PrinterURL -- PKEY_Device_PrinterURL + Description: Printer information Printer URL. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B48F35A-BE6E-4F17-B108-3C4073D1669A}, 15 + + + + + System.DeviceInterface Properties + + + + + Name: System.DeviceInterface.PrinterDriverDirectory -- PKEY_DeviceInterface_PrinterDriverDirectory + Description: Printer information Printer Driver Directory. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {847C66DE-B8D6-4AF9-ABC3-6F4F926BC039}, 14 + + + + + Name: System.DeviceInterface.PrinterDriverName -- PKEY_DeviceInterface_PrinterDriverName + Description: Printer information Driver Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AFC47170-14F5-498C-8F30-B0D19BE449C6}, 11 + + + + + Name: System.DeviceInterface.PrinterName -- PKEY_DeviceInterface_PrinterName + Description: Printer information Printer Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0A7B84EF-0C27-463F-84EF-06C5070001BE}, 10 + + + + + Name: System.DeviceInterface.PrinterPortName -- PKEY_DeviceInterface_PrinterPortName + Description: Printer information Port Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {EEC7B761-6F94-41B1-949F-C729720DD13C}, 12 + + + + + System.Devices Properties + + + + + Name: System.Devices.BatteryLife -- PKEY_Devices_BatteryLife + Description: Remaining battery life of the device as an integer between 0 and 100 percent. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 10 + + + + + Name: System.Devices.BatteryPlusCharging -- PKEY_Devices_BatteryPlusCharging + Description: Remaining battery life of the device as an integer between 0 and 100 percent and the device's charging state. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 22 + + + + + Name: System.Devices.BatteryPlusChargingText -- PKEY_Devices_BatteryPlusChargingText + Description: Remaining battery life of the device and the device's charging state as a string. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 23 + + + + + Name: System.Devices.Category -- PKEY_Devices_Category_Desc_Singular + Description: Singular form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 91 + + + + + Name: System.Devices.CategoryGroup -- PKEY_Devices_CategoryGroup_Desc + Description: Plural form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 94 + + + + + Name: System.Devices.CategoryPlural -- PKEY_Devices_Category_Desc_Plural + Description: Plural form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 92 + + + + + Name: System.Devices.ChargingState -- PKEY_Devices_ChargingState + Description: Boolean value representing if the device is currently charging. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 11 + + + + + Name: System.Devices.Connected -- PKEY_Devices_IsConnected + Description: Device connection state. If VARIANT_TRUE, indicates the device is currently connected to the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 55 + + + + + Name: System.Devices.ContainerId -- PKEY_Devices_ContainerId + Description: Device container ID. + + Type: Guid -- VT_CLSID + FormatID: {8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C}, 2 + + + + + Name: System.Devices.DefaultTooltip -- PKEY_Devices_DefaultTooltip + Description: Tooltip for default state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 153 + + + + + Name: System.Devices.DeviceDescription1 -- PKEY_Devices_DeviceDescription1 + Description: First line of descriptive text about the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 81 + + + + + Name: System.Devices.DeviceDescription2 -- PKEY_Devices_DeviceDescription2 + Description: Second line of descriptive text about the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 82 + + + + + Name: System.Devices.DiscoveryMethod -- PKEY_Devices_DiscoveryMethod + Description: Device discovery method. This indicates on what transport or physical connection the device is discovered. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 52 + + + + + Name: System.Devices.FriendlyName -- PKEY_Devices_FriendlyName + Description: Device friendly name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 12288 + + + + + Name: System.Devices.FunctionPaths -- PKEY_Devices_FunctionPaths + Description: Available functions for this device. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 3 + + + + + Name: System.Devices.InterfacePaths -- PKEY_Devices_InterfacePaths + Description: Available interfaces for this device. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 2 + + + + + Name: System.Devices.IsDefault -- PKEY_Devices_IsDefaultDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 86 + + + + + Name: System.Devices.IsNetworkConnected -- PKEY_Devices_IsNetworkDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 85 + + + + + Name: System.Devices.IsShared -- PKEY_Devices_IsSharedDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 84 + + + + + Name: System.Devices.IsSoftwareInstalling -- PKEY_Devices_IsSoftwareInstalling + Description: If VARIANT_TRUE, the device installer is currently installing software. + + Type: Boolean -- VT_BOOL + FormatID: {83DA6326-97A6-4088-9453-A1923F573B29}, 9 + + + + + Name: System.Devices.LaunchDeviceStageFromExplorer -- PKEY_Devices_LaunchDeviceStageFromExplorer + Description: Indicates whether to launch Device Stage or not + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 77 + + + + + Name: System.Devices.LocalMachine -- PKEY_Devices_IsLocalMachine + Description: If VARIANT_TRUE, the device in question is actually the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 70 + + + + + Name: System.Devices.Manufacturer -- PKEY_Devices_Manufacturer + Description: Device manufacturer. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8192 + + + + + Name: System.Devices.MissedCalls -- PKEY_Devices_MissedCalls + Description: Number of missed calls on the device. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 5 + + + + + Name: System.Devices.ModelName -- PKEY_Devices_ModelName + Description: Model name of the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8194 + + + + + Name: System.Devices.ModelNumber -- PKEY_Devices_ModelNumber + Description: Model number of the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8195 + + + + + Name: System.Devices.NetworkedTooltip -- PKEY_Devices_NetworkedTooltip + Description: Tooltip for connection state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 152 + + + + + Name: System.Devices.NetworkName -- PKEY_Devices_NetworkName + Description: Name of the device's network. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 7 + + + + + Name: System.Devices.NetworkType -- PKEY_Devices_NetworkType + Description: String representing the type of the device's network. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 8 + + + + + Name: System.Devices.NewPictures -- PKEY_Devices_NewPictures + Description: Number of new pictures on the device. + + Type: UInt16 -- VT_UI2 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 4 + + + + + Name: System.Devices.Notification -- PKEY_Devices_Notification + Description: Device Notification Property. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {06704B0C-E830-4C81-9178-91E4E95A80A0}, 3 + + + + + Name: System.Devices.NotificationStore -- PKEY_Devices_NotificationStore + Description: Device Notification Store. + + Type: Object -- VT_UNKNOWN + FormatID: {06704B0C-E830-4C81-9178-91E4E95A80A0}, 2 + + + + + Name: System.Devices.NotWorkingProperly -- PKEY_Devices_IsNotWorkingProperly + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 83 + + + + + Name: System.Devices.Paired -- PKEY_Devices_IsPaired + Description: Device paired state. If VARIANT_TRUE, indicates the device is not paired with the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 56 + + + + + Name: System.Devices.PrimaryCategory -- PKEY_Devices_PrimaryCategory + Description: Primary category group for this device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 10 + + + + + Name: System.Devices.Roaming -- PKEY_Devices_Roaming + Description: Status indicator used to indicate if the device is roaming. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 9 + + + + + Name: System.Devices.SafeRemovalRequired -- PKEY_Devices_SafeRemovalRequired + Description: Indicates if a device requires safe removal or not + + Type: Boolean -- VT_BOOL + FormatID: {AFD97640-86A3-4210-B67C-289C41AABE55}, 2 + + + + + Name: System.Devices.SharedTooltip -- PKEY_Devices_SharedTooltip + Description: Tooltip for sharing state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 151 + + + + + Name: System.Devices.SignalStrength -- PKEY_Devices_SignalStrength + Description: Device signal strength. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 2 + + + + + Name: System.Devices.Status1 -- PKEY_Devices_Status1 + Description: 1st line of device status. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 257 + + + + + Name: System.Devices.Status2 -- PKEY_Devices_Status2 + Description: 2nd line of device status. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 258 + + + + + Name: System.Devices.StorageCapacity -- PKEY_Devices_StorageCapacity + Description: Total storage capacity of the device. + + Type: UInt64 -- VT_UI8 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 12 + + + + + Name: System.Devices.StorageFreeSpace -- PKEY_Devices_StorageFreeSpace + Description: Total free space of the storage of the device. + + Type: UInt64 -- VT_UI8 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 13 + + + + + Name: System.Devices.StorageFreeSpacePercent -- PKEY_Devices_StorageFreeSpacePercent + Description: Total free space of the storage of the device as a percentage. + + Type: UInt32 -- VT_UI4 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 14 + + + + + Name: System.Devices.TextMessages -- PKEY_Devices_TextMessages + Description: Number of unread text messages on the device. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 3 + + + + + Name: System.Devices.Voicemail -- PKEY_Devices_Voicemail + Description: Status indicator used to indicate if the device has voicemail. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 6 + + + + + Devices.Notifications Properties + + + + + Devices.Notifications Properties + + + + + Name: System.Devices.Notifications.LowBattery -- PKEY_Devices_Notification_LowBattery + Description: Device Low Battery Notification. + + Type: Byte -- VT_UI1 + FormatID: {C4C07F2B-8524-4E66-AE3A-A6235F103BEB}, 2 + + + + + Name: System.Devices.Notifications.MissedCall -- PKEY_Devices_Notification_MissedCall + Description: Device Missed Call Notification. + + Type: Byte -- VT_UI1 + FormatID: {6614EF48-4EFE-4424-9EDA-C79F404EDF3E}, 2 + + + + + Name: System.Devices.Notifications.NewMessage -- PKEY_Devices_Notification_NewMessage + Description: Device New Message Notification. + + Type: Byte -- VT_UI1 + FormatID: {2BE9260A-2012-4742-A555-F41B638B7DCB}, 2 + + + + + Name: System.Devices.Notifications.NewVoicemail -- PKEY_Devices_Notification_NewVoicemail + Description: Device Voicemail Notification. + + Type: Byte -- VT_UI1 + FormatID: {59569556-0A08-4212-95B9-FAE2AD6413DB}, 2 + + + + + Name: System.Devices.Notifications.StorageFull -- PKEY_Devices_Notification_StorageFull + Description: Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 2 + + + + + Name: System.Devices.Notifications.StorageFullLinkText -- PKEY_Devices_Notification_StorageFullLinkText + Description: Link Text for the Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 3 + + + + + System.Document Properties + + + + + Name: System.Document.ByteCount -- PKEY_Document_ByteCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 4 (PIDDSI_BYTECOUNT) + + + + + Name: System.Document.CharacterCount -- PKEY_Document_CharacterCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 16 (PIDSI_CHARCOUNT) + + + + + Name: System.Document.ClientID -- PKEY_Document_ClientID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {276D7BB0-5B34-4FB0-AA4B-158ED12A1809}, 100 + + + + + Name: System.Document.Contributor -- PKEY_Document_Contributor + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {F334115E-DA1B-4509-9B3D-119504DC7ABB}, 100 + + + + + Name: System.Document.DateCreated -- PKEY_Document_DateCreated + Description: This property is stored in the document, not obtained from the file system. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 12 (PIDSI_CREATE_DTM) + + + + + Name: System.Document.DatePrinted -- PKEY_Document_DatePrinted + Description: Legacy name: "DocLastPrinted". + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 11 (PIDSI_LASTPRINTED) + + + + + Name: System.Document.DateSaved -- PKEY_Document_DateSaved + Description: Legacy name: "DocLastSavedTm". + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 13 (PIDSI_LASTSAVE_DTM) + + + + + Name: System.Document.Division -- PKEY_Document_Division + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1E005EE6-BF27-428B-B01C-79676ACD2870}, 100 + + + + + Name: System.Document.DocumentID -- PKEY_Document_DocumentID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E08805C8-E395-40DF-80D2-54F0D6C43154}, 100 + + + + + Name: System.Document.HiddenSlideCount -- PKEY_Document_HiddenSlideCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 9 (PIDDSI_HIDDENCOUNT) + + + + + Name: System.Document.LastAuthor -- PKEY_Document_LastAuthor + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 8 (PIDSI_LASTAUTHOR) + + + + + Name: System.Document.LineCount -- PKEY_Document_LineCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 5 (PIDDSI_LINECOUNT) + + + + + Name: System.Document.Manager -- PKEY_Document_Manager + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 14 (PIDDSI_MANAGER) + + + + + Name: System.Document.MultimediaClipCount -- PKEY_Document_MultimediaClipCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 10 (PIDDSI_MMCLIPCOUNT) + + + + + Name: System.Document.NoteCount -- PKEY_Document_NoteCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 8 (PIDDSI_NOTECOUNT) + + + + + Name: System.Document.PageCount -- PKEY_Document_PageCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 14 (PIDSI_PAGECOUNT) + + + + + Name: System.Document.ParagraphCount -- PKEY_Document_ParagraphCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 6 (PIDDSI_PARCOUNT) + + + + + Name: System.Document.PresentationFormat -- PKEY_Document_PresentationFormat + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 3 (PIDDSI_PRESFORMAT) + + + + + Name: System.Document.RevisionNumber -- PKEY_Document_RevisionNumber + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 9 (PIDSI_REVNUMBER) + + + + + Name: System.Document.Security -- PKEY_Document_Security + Description: Access control information, from SummaryInfo propset + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 19 + + + + + Name: System.Document.SlideCount -- PKEY_Document_SlideCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 7 (PIDDSI_SLIDECOUNT) + + + + + Name: System.Document.Template -- PKEY_Document_Template + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 7 (PIDSI_TEMPLATE) + + + + + Name: System.Document.TotalEditingTime -- PKEY_Document_TotalEditingTime + Description: 100ns units, not milliseconds. VT_FILETIME for IPropertySetStorage handlers (legacy) + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 10 (PIDSI_EDITTIME) + + + + + Name: System.Document.Version -- PKEY_Document_Version + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 29 + + + + + Name: System.Document.WordCount -- PKEY_Document_WordCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 15 (PIDSI_WORDCOUNT) + + + + + System.DRM Properties + + + + + Name: System.DRM.DatePlayExpires -- PKEY_DRM_DatePlayExpires + Description: Indicates when play expires for digital rights management. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 6 (PIDDRSI_PLAYEXPIRES) + + + + + Name: System.DRM.DatePlayStarts -- PKEY_DRM_DatePlayStarts + Description: Indicates when play starts for digital rights management. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 5 (PIDDRSI_PLAYSTARTS) + + + + + Name: System.DRM.Description -- PKEY_DRM_Description + Description: Displays the description for digital rights management. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 3 (PIDDRSI_DESCRIPTION) + + + + + Name: System.DRM.IsProtected -- PKEY_DRM_IsProtected + Description: + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 2 (PIDDRSI_PROTECTED) + + + + + Name: System.DRM.PlayCount -- PKEY_DRM_PlayCount + Description: Indicates the play count for digital rights management. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 4 (PIDDRSI_PLAYCOUNT) + + + + + System.GPS Properties + + + + + Name: System.GPS.Altitude -- PKEY_GPS_Altitude + Description: Indicates the altitude based on the reference in PKEY_GPS_AltitudeRef. Calculated from PKEY_GPS_AltitudeNumerator and + PKEY_GPS_AltitudeDenominator + + Type: Double -- VT_R8 + FormatID: {827EDB4F-5B73-44A7-891D-FDFFABEA35CA}, 100 + + + + + Name: System.GPS.AltitudeDenominator -- PKEY_GPS_AltitudeDenominator + Description: Denominator of PKEY_GPS_Altitude + + Type: UInt32 -- VT_UI4 + FormatID: {78342DCB-E358-4145-AE9A-6BFE4E0F9F51}, 100 + + + + + Name: System.GPS.AltitudeNumerator -- PKEY_GPS_AltitudeNumerator + Description: Numerator of PKEY_GPS_Altitude + + Type: UInt32 -- VT_UI4 + FormatID: {2DAD1EB7-816D-40D3-9EC3-C9773BE2AADE}, 100 + + + + + Name: System.GPS.AltitudeRef -- PKEY_GPS_AltitudeRef + Description: Indicates the reference for the altitude property. (eg: above sea level, below sea level, absolute value) + + Type: Byte -- VT_UI1 + FormatID: {46AC629D-75EA-4515-867F-6DC4321C5844}, 100 + + + + + Name: System.GPS.AreaInformation -- PKEY_GPS_AreaInformation + Description: Represents the name of the GPS area + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {972E333E-AC7E-49F1-8ADF-A70D07A9BCAB}, 100 + + + + + Name: System.GPS.Date -- PKEY_GPS_Date + Description: Date and time of the GPS record + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {3602C812-0F3B-45F0-85AD-603468D69423}, 100 + + + + + Name: System.GPS.DestBearing -- PKEY_GPS_DestBearing + Description: Indicates the bearing to the destination point. Calculated from PKEY_GPS_DestBearingNumerator and + PKEY_GPS_DestBearingDenominator. + + Type: Double -- VT_R8 + FormatID: {C66D4B3C-E888-47CC-B99F-9DCA3EE34DEA}, 100 + + + + + Name: System.GPS.DestBearingDenominator -- PKEY_GPS_DestBearingDenominator + Description: Denominator of PKEY_GPS_DestBearing + + Type: UInt32 -- VT_UI4 + FormatID: {7ABCF4F8-7C3F-4988-AC91-8D2C2E97ECA5}, 100 + + + + + Name: System.GPS.DestBearingNumerator -- PKEY_GPS_DestBearingNumerator + Description: Numerator of PKEY_GPS_DestBearing + + Type: UInt32 -- VT_UI4 + FormatID: {BA3B1DA9-86EE-4B5D-A2A4-A271A429F0CF}, 100 + + + + + Name: System.GPS.DestBearingRef -- PKEY_GPS_DestBearingRef + Description: Indicates the reference used for the giving the bearing to the destination point. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9AB84393-2A0F-4B75-BB22-7279786977CB}, 100 + + + + + Name: System.GPS.DestDistance -- PKEY_GPS_DestDistance + Description: Indicates the distance to the destination point. Calculated from PKEY_GPS_DestDistanceNumerator and + PKEY_GPS_DestDistanceDenominator. + + Type: Double -- VT_R8 + FormatID: {A93EAE04-6804-4F24-AC81-09B266452118}, 100 + + + + + Name: System.GPS.DestDistanceDenominator -- PKEY_GPS_DestDistanceDenominator + Description: Denominator of PKEY_GPS_DestDistance + + Type: UInt32 -- VT_UI4 + FormatID: {9BC2C99B-AC71-4127-9D1C-2596D0D7DCB7}, 100 + + + + + Name: System.GPS.DestDistanceNumerator -- PKEY_GPS_DestDistanceNumerator + Description: Numerator of PKEY_GPS_DestDistance + + Type: UInt32 -- VT_UI4 + FormatID: {2BDA47DA-08C6-4FE1-80BC-A72FC517C5D0}, 100 + + + + + Name: System.GPS.DestDistanceRef -- PKEY_GPS_DestDistanceRef + Description: Indicates the unit used to express the distance to the destination. (eg: kilometers, miles, knots) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {ED4DF2D3-8695-450B-856F-F5C1C53ACB66}, 100 + + + + + Name: System.GPS.DestLatitude -- PKEY_GPS_DestLatitude + Description: Indicates the latitude of the destination point. This is an array of three values. Index 0 is the degrees, index 1 + is the minutes, index 2 is the seconds. Each is calculated from the values in PKEY_GPS_DestLatitudeNumerator and + PKEY_GPS_DestLatitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {9D1D7CC5-5C39-451C-86B3-928E2D18CC47}, 100 + + + + + Name: System.GPS.DestLatitudeDenominator -- PKEY_GPS_DestLatitudeDenominator + Description: Denominator of PKEY_GPS_DestLatitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {3A372292-7FCA-49A7-99D5-E47BB2D4E7AB}, 100 + + + + + Name: System.GPS.DestLatitudeNumerator -- PKEY_GPS_DestLatitudeNumerator + Description: Numerator of PKEY_GPS_DestLatitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {ECF4B6F6-D5A6-433C-BB92-4076650FC890}, 100 + + + + + Name: System.GPS.DestLatitudeRef -- PKEY_GPS_DestLatitudeRef + Description: Indicates whether the latitude destination point is north or south latitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CEA820B9-CE61-4885-A128-005D9087C192}, 100 + + + + + Name: System.GPS.DestLongitude -- PKEY_GPS_DestLongitude + Description: Indicates the latitude of the destination point. This is an array of three values. Index 0 is the degrees, index 1 + is the minutes, index 2 is the seconds. Each is calculated from the values in PKEY_GPS_DestLongitudeNumerator and + PKEY_GPS_DestLongitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {47A96261-CB4C-4807-8AD3-40B9D9DBC6BC}, 100 + + + + + Name: System.GPS.DestLongitudeDenominator -- PKEY_GPS_DestLongitudeDenominator + Description: Denominator of PKEY_GPS_DestLongitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {425D69E5-48AD-4900-8D80-6EB6B8D0AC86}, 100 + + + + + Name: System.GPS.DestLongitudeNumerator -- PKEY_GPS_DestLongitudeNumerator + Description: Numerator of PKEY_GPS_DestLongitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {A3250282-FB6D-48D5-9A89-DBCACE75CCCF}, 100 + + + + + Name: System.GPS.DestLongitudeRef -- PKEY_GPS_DestLongitudeRef + Description: Indicates whether the longitude destination point is east or west longitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {182C1EA6-7C1C-4083-AB4B-AC6C9F4ED128}, 100 + + + + + Name: System.GPS.Differential -- PKEY_GPS_Differential + Description: Indicates whether differential correction was applied to the GPS receiver + + Type: UInt16 -- VT_UI2 + FormatID: {AAF4EE25-BD3B-4DD7-BFC4-47F77BB00F6D}, 100 + + + + + Name: System.GPS.DOP -- PKEY_GPS_DOP + Description: Indicates the GPS DOP (data degree of precision). Calculated from PKEY_GPS_DOPNumerator and PKEY_GPS_DOPDenominator + + Type: Double -- VT_R8 + FormatID: {0CF8FB02-1837-42F1-A697-A7017AA289B9}, 100 + + + + + Name: System.GPS.DOPDenominator -- PKEY_GPS_DOPDenominator + Description: Denominator of PKEY_GPS_DOP + + Type: UInt32 -- VT_UI4 + FormatID: {A0BE94C5-50BA-487B-BD35-0654BE8881ED}, 100 + + + + + Name: System.GPS.DOPNumerator -- PKEY_GPS_DOPNumerator + Description: Numerator of PKEY_GPS_DOP + + Type: UInt32 -- VT_UI4 + FormatID: {47166B16-364F-4AA0-9F31-E2AB3DF449C3}, 100 + + + + + Name: System.GPS.ImgDirection -- PKEY_GPS_ImgDirection + Description: Indicates direction of the image when it was captured. Calculated from PKEY_GPS_ImgDirectionNumerator and + PKEY_GPS_ImgDirectionDenominator. + + Type: Double -- VT_R8 + FormatID: {16473C91-D017-4ED9-BA4D-B6BAA55DBCF8}, 100 + + + + + Name: System.GPS.ImgDirectionDenominator -- PKEY_GPS_ImgDirectionDenominator + Description: Denominator of PKEY_GPS_ImgDirection + + Type: UInt32 -- VT_UI4 + FormatID: {10B24595-41A2-4E20-93C2-5761C1395F32}, 100 + + + + + Name: System.GPS.ImgDirectionNumerator -- PKEY_GPS_ImgDirectionNumerator + Description: Numerator of PKEY_GPS_ImgDirection + + Type: UInt32 -- VT_UI4 + FormatID: {DC5877C7-225F-45F7-BAC7-E81334B6130A}, 100 + + + + + Name: System.GPS.ImgDirectionRef -- PKEY_GPS_ImgDirectionRef + Description: Indicates reference for giving the direction of the image when it was captured. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A4AAA5B7-1AD0-445F-811A-0F8F6E67F6B5}, 100 + + + + + Name: System.GPS.Latitude -- PKEY_GPS_Latitude + Description: Indicates the latitude. This is an array of three values. Index 0 is the degrees, index 1 is the minutes, index 2 + is the seconds. Each is calculated from the values in PKEY_GPS_LatitudeNumerator and PKEY_GPS_LatitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {8727CFFF-4868-4EC6-AD5B-81B98521D1AB}, 100 + + + + + Name: System.GPS.LatitudeDenominator -- PKEY_GPS_LatitudeDenominator + Description: Denominator of PKEY_GPS_Latitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {16E634EE-2BFF-497B-BD8A-4341AD39EEB9}, 100 + + + + + Name: System.GPS.LatitudeNumerator -- PKEY_GPS_LatitudeNumerator + Description: Numerator of PKEY_GPS_Latitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {7DDAAAD1-CCC8-41AE-B750-B2CB8031AEA2}, 100 + + + + + Name: System.GPS.LatitudeRef -- PKEY_GPS_LatitudeRef + Description: Indicates whether latitude is north or south latitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {029C0252-5B86-46C7-ACA0-2769FFC8E3D4}, 100 + + + + + Name: System.GPS.Longitude -- PKEY_GPS_Longitude + Description: Indicates the longitude. This is an array of three values. Index 0 is the degrees, index 1 is the minutes, index 2 + is the seconds. Each is calculated from the values in PKEY_GPS_LongitudeNumerator and PKEY_GPS_LongitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {C4C4DBB2-B593-466B-BBDA-D03D27D5E43A}, 100 + + + + + Name: System.GPS.LongitudeDenominator -- PKEY_GPS_LongitudeDenominator + Description: Denominator of PKEY_GPS_Longitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {BE6E176C-4534-4D2C-ACE5-31DEDAC1606B}, 100 + + + + + Name: System.GPS.LongitudeNumerator -- PKEY_GPS_LongitudeNumerator + Description: Numerator of PKEY_GPS_Longitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {02B0F689-A914-4E45-821D-1DDA452ED2C4}, 100 + + + + + Name: System.GPS.LongitudeRef -- PKEY_GPS_LongitudeRef + Description: Indicates whether longitude is east or west longitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {33DCF22B-28D5-464C-8035-1EE9EFD25278}, 100 + + + + + Name: System.GPS.MapDatum -- PKEY_GPS_MapDatum + Description: Indicates the geodetic survey data used by the GPS receiver + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2CA2DAE6-EDDC-407D-BEF1-773942ABFA95}, 100 + + + + + Name: System.GPS.MeasureMode -- PKEY_GPS_MeasureMode + Description: Indicates the GPS measurement mode. (eg: 2-dimensional, 3-dimensional) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A015ED5D-AAEA-4D58-8A86-3C586920EA0B}, 100 + + + + + Name: System.GPS.ProcessingMethod -- PKEY_GPS_ProcessingMethod + Description: Indicates the name of the method used for location finding + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {59D49E61-840F-4AA9-A939-E2099B7F6399}, 100 + + + + + Name: System.GPS.Satellites -- PKEY_GPS_Satellites + Description: Indicates the GPS satellites used for measurements + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {467EE575-1F25-4557-AD4E-B8B58B0D9C15}, 100 + + + + + Name: System.GPS.Speed -- PKEY_GPS_Speed + Description: Indicates the speed of the GPS receiver movement. Calculated from PKEY_GPS_SpeedNumerator and + PKEY_GPS_SpeedDenominator. + + Type: Double -- VT_R8 + FormatID: {DA5D0862-6E76-4E1B-BABD-70021BD25494}, 100 + + + + + Name: System.GPS.SpeedDenominator -- PKEY_GPS_SpeedDenominator + Description: Denominator of PKEY_GPS_Speed + + Type: UInt32 -- VT_UI4 + FormatID: {7D122D5A-AE5E-4335-8841-D71E7CE72F53}, 100 + + + + + Name: System.GPS.SpeedNumerator -- PKEY_GPS_SpeedNumerator + Description: Numerator of PKEY_GPS_Speed + + Type: UInt32 -- VT_UI4 + FormatID: {ACC9CE3D-C213-4942-8B48-6D0820F21C6D}, 100 + + + + + Name: System.GPS.SpeedRef -- PKEY_GPS_SpeedRef + Description: Indicates the unit used to express the speed of the GPS receiver movement. (eg: kilometers per hour, + miles per hour, knots). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {ECF7F4C9-544F-4D6D-9D98-8AD79ADAF453}, 100 + + + + + Name: System.GPS.Status -- PKEY_GPS_Status + Description: Indicates the status of the GPS receiver when the image was recorded. (eg: measurement in progress, + measurement interoperability). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {125491F4-818F-46B2-91B5-D537753617B2}, 100 + + + + + Name: System.GPS.Track -- PKEY_GPS_Track + Description: Indicates the direction of the GPS receiver movement. Calculated from PKEY_GPS_TrackNumerator and + PKEY_GPS_TrackDenominator. + + Type: Double -- VT_R8 + FormatID: {76C09943-7C33-49E3-9E7E-CDBA872CFADA}, 100 + + + + + Name: System.GPS.TrackDenominator -- PKEY_GPS_TrackDenominator + Description: Denominator of PKEY_GPS_Track + + Type: UInt32 -- VT_UI4 + FormatID: {C8D1920C-01F6-40C0-AC86-2F3A4AD00770}, 100 + + + + + Name: System.GPS.TrackNumerator -- PKEY_GPS_TrackNumerator + Description: Numerator of PKEY_GPS_Track + + Type: UInt32 -- VT_UI4 + FormatID: {702926F4-44A6-43E1-AE71-45627116893B}, 100 + + + + + Name: System.GPS.TrackRef -- PKEY_GPS_TrackRef + Description: Indicates reference for the direction of the GPS receiver movement. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {35DBE6FE-44C3-4400-AAAE-D2C799C407E8}, 100 + + + + + Name: System.GPS.VersionID -- PKEY_GPS_VersionID + Description: Indicates the version of the GPS information + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {22704DA4-C6B2-4A99-8E56-F16DF8C92599}, 100 + + + + + System.Identity Properties + + + + + Name: System.Identity.Blob -- PKEY_Identity_Blob + Description: Blob used to import/export identities + + Type: Blob -- VT_BLOB + FormatID: {8C3B93A4-BAED-1A83-9A32-102EE313F6EB}, 100 + + + + + Name: System.Identity.DisplayName -- PKEY_Identity_DisplayName + Description: Display Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7D683FC9-D155-45A8-BB1F-89D19BCB792F}, 100 + + + + + Name: System.Identity.IsMeIdentity -- PKEY_Identity_IsMeIdentity + Description: Is it Me Identity + + Type: Boolean -- VT_BOOL + FormatID: {A4108708-09DF-4377-9DFC-6D99986D5A67}, 100 + + + + + Name: System.Identity.PrimaryEmailAddress -- PKEY_Identity_PrimaryEmailAddress + Description: Primary Email Address + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FCC16823-BAED-4F24-9B32-A0982117F7FA}, 100 + + + + + Name: System.Identity.ProviderID -- PKEY_Identity_ProviderID + Description: Provider ID + + Type: Guid -- VT_CLSID + FormatID: {74A7DE49-FA11-4D3D-A006-DB7E08675916}, 100 + + + + + Name: System.Identity.UniqueID -- PKEY_Identity_UniqueID + Description: Unique ID + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E55FC3B0-2B60-4220-918E-B21E8BF16016}, 100 + + + + + Name: System.Identity.UserName -- PKEY_Identity_UserName + Description: Identity User Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C4322503-78CA-49C6-9ACC-A68E2AFD7B6B}, 100 + + + + + System.IdentityProvider Properties + + + + + Name: System.IdentityProvider.Name -- PKEY_IdentityProvider_Name + Description: Identity Provider Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {B96EFF7B-35CA-4A35-8607-29E3A54C46EA}, 100 + + + + + Name: System.IdentityProvider.Picture -- PKEY_IdentityProvider_Picture + Description: Picture for the Identity Provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2425166F-5642-4864-992F-98FD98F294C3}, 100 + + + + + System.Image Properties + + + + + Name: System.Image.BitDepth -- PKEY_Image_BitDepth + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 7 (PIDISI_BITDEPTH) + + + + + Name: System.Image.ColorSpace -- PKEY_Image_ColorSpace + Description: PropertyTagExifColorSpace + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 40961 + + + + + Name: System.Image.CompressedBitsPerPixel -- PKEY_Image_CompressedBitsPerPixel + Description: Calculated from PKEY_Image_CompressedBitsPerPixelNumerator and PKEY_Image_CompressedBitsPerPixelDenominator. + + Type: Double -- VT_R8 + FormatID: {364B6FA9-37AB-482A-BE2B-AE02F60D4318}, 100 + + + + + Name: System.Image.CompressedBitsPerPixelDenominator -- PKEY_Image_CompressedBitsPerPixelDenominator + Description: Denominator of PKEY_Image_CompressedBitsPerPixel. + + Type: UInt32 -- VT_UI4 + FormatID: {1F8844E1-24AD-4508-9DFD-5326A415CE02}, 100 + + + + + Name: System.Image.CompressedBitsPerPixelNumerator -- PKEY_Image_CompressedBitsPerPixelNumerator + Description: Numerator of PKEY_Image_CompressedBitsPerPixel. + + Type: UInt32 -- VT_UI4 + FormatID: {D21A7148-D32C-4624-8900-277210F79C0F}, 100 + + + + + Name: System.Image.Compression -- PKEY_Image_Compression + Description: Indicates the image compression level. PropertyTagCompression. + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 259 + + + + + Name: System.Image.CompressionText -- PKEY_Image_CompressionText + Description: This is the user-friendly form of System.Image.Compression. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3F08E66F-2F44-4BB9-A682-AC35D2562322}, 100 + + + + + Name: System.Image.Dimensions -- PKEY_Image_Dimensions + Description: Indicates the dimensions of the image. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 13 (PIDISI_DIMENSIONS) + + + + + Name: System.Image.HorizontalResolution -- PKEY_Image_HorizontalResolution + Description: + + Type: Double -- VT_R8 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 5 (PIDISI_RESOLUTIONX) + + + + + Name: System.Image.HorizontalSize -- PKEY_Image_HorizontalSize + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 3 (PIDISI_CX) + + + + + Name: System.Image.ImageID -- PKEY_Image_ImageID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {10DABE05-32AA-4C29-BF1A-63E2D220587F}, 100 + + + + + Name: System.Image.ResolutionUnit -- PKEY_Image_ResolutionUnit + Description: + Type: Int16 -- VT_I2 + FormatID: {19B51FA6-1F92-4A5C-AB48-7DF0ABD67444}, 100 + + + + + Name: System.Image.VerticalResolution -- PKEY_Image_VerticalResolution + Description: + + Type: Double -- VT_R8 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 6 (PIDISI_RESOLUTIONY) + + + + + Name: System.Image.VerticalSize -- PKEY_Image_VerticalSize + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 4 (PIDISI_CY) + + + + + System.Journal Properties + + + + + Name: System.Journal.Contacts -- PKEY_Journal_Contacts + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {DEA7C82C-1D89-4A66-9427-A4E3DEBABCB1}, 100 + + + + + Name: System.Journal.EntryType -- PKEY_Journal_EntryType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {95BEB1FC-326D-4644-B396-CD3ED90E6DDF}, 100 + + + + + System.LayoutPattern Properties + + + + + Name: System.LayoutPattern.ContentViewModeForBrowse -- PKEY_LayoutPattern_ContentViewModeForBrowse + Description: Specifies the layout pattern that the content view mode should apply for this item in the context of browsing. + Register the regvalue under the name of "ContentViewModeLayoutPatternForBrowse". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 500 + + + + + Name: System.LayoutPattern.ContentViewModeForSearch -- PKEY_LayoutPattern_ContentViewModeForSearch + Description: Specifies the layout pattern that the content view mode should apply for this item in the context of searching. + Register the regvalue under the name of "ContentViewModeLayoutPatternForSearch". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 501 + + + + + System.Link Properties + + + + + Name: System.Link.Arguments -- PKEY_Link_Arguments + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {436F2667-14E2-4FEB-B30A-146C53B5B674}, 100 + + + + + Name: System.Link.Comment -- PKEY_Link_Comment + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 5 + + + + + Name: System.Link.DateVisited -- PKEY_Link_DateVisited + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 23 (PKEYs relating to URLs. Used by IE History.) + + + + + Name: System.Link.Description -- PKEY_Link_Description + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 21 (PKEYs relating to URLs. Used by IE History.) + + + + + Name: System.Link.Status -- PKEY_Link_Status + Description: + + Type: Int32 -- VT_I4 + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 3 (PID_LINK_TARGET_TYPE) + + + + + Name: System.Link.TargetExtension -- PKEY_Link_TargetExtension + Description: The file extension of the link target. See System.File.Extension + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {7A7D76F4-B630-4BD7-95FF-37CC51A975C9}, 2 + + + + + Name: System.Link.TargetParsingPath -- PKEY_Link_TargetParsingPath + Description: This is the shell namespace path to the target of the link item. This path may be passed to + SHParseDisplayName to parse the path to the correct shell folder. + + If the target item is a file, the value is identical to System.ItemPathDisplay. + + If the target item cannot be accessed through the shell namespace, this value is VT_EMPTY. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 2 (PID_LINK_TARGET) + + + + + Name: System.Link.TargetSFGAOFlags -- PKEY_Link_TargetSFGAOFlags + Description: IShellFolder::GetAttributesOf flags for the target of a link, with SFGAO_PKEYSFGAOMASK + attributes masked out. + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 8 + + + + + Name: System.Link.TargetSFGAOFlagsStrings -- PKEY_Link_TargetSFGAOFlagsStrings + Description: Expresses the SFGAO flags of a link as string values and is used as a query optimization. See + PKEY_Shell_SFGAOFlagsStrings for possible values of this. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D6942081-D53B-443D-AD47-5E059D9CD27A}, 3 + + + + + Name: System.Link.TargetUrl -- PKEY_Link_TargetUrl + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 2 (PKEYs relating to URLs. Used by IE History.) + + + + + System.Media Properties + + + + + Name: System.Media.AuthorUrl -- PKEY_Media_AuthorUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 32 (PIDMSI_AUTHOR_URL) + + + + + Name: System.Media.AverageLevel -- PKEY_Media_AverageLevel + Description: + Type: UInt32 -- VT_UI4 + FormatID: {09EDD5B6-B301-43C5-9990-D00302EFFD46}, 100 + + + + + Name: System.Media.ClassPrimaryID -- PKEY_Media_ClassPrimaryID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 13 (PIDMSI_CLASS_PRIMARY_ID) + + + + + Name: System.Media.ClassSecondaryID -- PKEY_Media_ClassSecondaryID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 14 (PIDMSI_CLASS_SECONDARY_ID) + + + + + Name: System.Media.CollectionGroupID -- PKEY_Media_CollectionGroupID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 24 (PIDMSI_COLLECTION_GROUP_ID) + + + + + Name: System.Media.CollectionID -- PKEY_Media_CollectionID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 25 (PIDMSI_COLLECTION_ID) + + + + + Name: System.Media.ContentDistributor -- PKEY_Media_ContentDistributor + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 18 (PIDMSI_CONTENTDISTRIBUTOR) + + + + + Name: System.Media.ContentID -- PKEY_Media_ContentID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 26 (PIDMSI_CONTENT_ID) + + + + + Name: System.Media.CreatorApplication -- PKEY_Media_CreatorApplication + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 27 (PIDMSI_TOOL_NAME) + + + + + Name: System.Media.CreatorApplicationVersion -- PKEY_Media_CreatorApplicationVersion + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 28 (PIDMSI_TOOL_VERSION) + + + + + Name: System.Media.DateEncoded -- PKEY_Media_DateEncoded + Description: DateTime is in UTC (in the doc, not file system). + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {2E4B640D-5019-46D8-8881-55414CC5CAA0}, 100 + + + + + Name: System.Media.DateReleased -- PKEY_Media_DateReleased + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE41CC29-6971-4290-B472-F59F2E2F31E2}, 100 + + + + + Name: System.Media.Duration -- PKEY_Media_Duration + Description: 100ns units, not milliseconds + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 3 (PIDASI_TIMELENGTH) + + + + + Name: System.Media.DVDID -- PKEY_Media_DVDID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 15 (PIDMSI_DVDID) + + + + + Name: System.Media.EncodedBy -- PKEY_Media_EncodedBy + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 36 (PIDMSI_ENCODED_BY) + + + + + Name: System.Media.EncodingSettings -- PKEY_Media_EncodingSettings + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 37 (PIDMSI_ENCODING_SETTINGS) + + + + + Name: System.Media.FrameCount -- PKEY_Media_FrameCount + Description: Indicates the frame count for the image. + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 12 (PIDISI_FRAMECOUNT) + + + + + Name: System.Media.MCDI -- PKEY_Media_MCDI + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 16 (PIDMSI_MCDI) + + + + + Name: System.Media.MetadataContentProvider -- PKEY_Media_MetadataContentProvider + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 17 (PIDMSI_PROVIDER) + + + + + Name: System.Media.Producer -- PKEY_Media_Producer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 22 (PIDMSI_PRODUCER) + + + + + Name: System.Media.PromotionUrl -- PKEY_Media_PromotionUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 33 (PIDMSI_PROMOTION_URL) + + + + + Name: System.Media.ProtectionType -- PKEY_Media_ProtectionType + Description: If media is protected, how is it protected? + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 38 + + + + + Name: System.Media.ProviderRating -- PKEY_Media_ProviderRating + Description: Rating (0 - 99) supplied by metadata provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 39 + + + + + Name: System.Media.ProviderStyle -- PKEY_Media_ProviderStyle + Description: Style of music or video, supplied by metadata provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 40 + + + + + Name: System.Media.Publisher -- PKEY_Media_Publisher + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 30 (PIDMSI_PUBLISHER) + + + + + Name: System.Media.SubscriptionContentId -- PKEY_Media_SubscriptionContentId + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9AEBAE7A-9644-487D-A92C-657585ED751A}, 100 + + + + + Name: System.Media.SubTitle -- PKEY_Media_SubTitle + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 38 (PIDSI_MUSIC_SUB_TITLE) + + + + + Name: System.Media.UniqueFileIdentifier -- PKEY_Media_UniqueFileIdentifier + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 35 (PIDMSI_UNIQUE_FILE_IDENTIFIER) + + + + + Name: System.Media.UserNoAutoInfo -- PKEY_Media_UserNoAutoInfo + Description: If true, do NOT alter this file's metadata. Set by user. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 41 + + + + + Name: System.Media.UserWebUrl -- PKEY_Media_UserWebUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 34 (PIDMSI_USER_WEB_URL) + + + + + Name: System.Media.Writer -- PKEY_Media_Writer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 23 (PIDMSI_WRITER) + + + + + Name: System.Media.Year -- PKEY_Media_Year + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 (PIDSI_MUSIC_YEAR) + + + + + System.Message Properties + + + + + Name: System.Message.AttachmentContents -- PKEY_Message_AttachmentContents + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3143BF7C-80A8-4854-8880-E2E40189BDD0}, 100 + + + + + Name: System.Message.AttachmentNames -- PKEY_Message_AttachmentNames + Description: The names of the attachments in a message + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 21 + + + + + Name: System.Message.BccAddress -- PKEY_Message_BccAddress + Description: Addresses in Bcc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 2 + + + + + Name: System.Message.BccName -- PKEY_Message_BccName + Description: person names in Bcc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 3 + + + + + Name: System.Message.CcAddress -- PKEY_Message_CcAddress + Description: Addresses in Cc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 4 + + + + + Name: System.Message.CcName -- PKEY_Message_CcName + Description: person names in Cc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 5 + + + + + Name: System.Message.ConversationID -- PKEY_Message_ConversationID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DC8F80BD-AF1E-4289-85B6-3DFC1B493992}, 100 + + + + + Name: System.Message.ConversationIndex -- PKEY_Message_ConversationIndex + Description: + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {DC8F80BD-AF1E-4289-85B6-3DFC1B493992}, 101 + + + + + Name: System.Message.DateReceived -- PKEY_Message_DateReceived + Description: Date and Time communication was received + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 20 + + + + + Name: System.Message.DateSent -- PKEY_Message_DateSent + Description: Date and Time communication was sent + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 19 + + + + + Name: System.Message.Flags -- PKEY_Message_Flags + Description: These are flags associated with email messages to know if a read receipt is pending, etc. + The values stored here by Outlook are defined for PR_MESSAGE_FLAGS on MSDN. + + Type: Int32 -- VT_I4 + FormatID: {A82D9EE7-CA67-4312-965E-226BCEA85023}, 100 + + + + + Name: System.Message.FromAddress -- PKEY_Message_FromAddress + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 13 + + + + + Name: System.Message.FromName -- PKEY_Message_FromName + Description: Address in from field as person name + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 14 + + + + + Name: System.Message.HasAttachments -- PKEY_Message_HasAttachments + Description: + + Type: Boolean -- VT_BOOL + FormatID: {9C1FCF74-2D97-41BA-B4AE-CB2E3661A6E4}, 8 + + + + + Name: System.Message.IsFwdOrReply -- PKEY_Message_IsFwdOrReply + Description: + Type: Int32 -- VT_I4 + FormatID: {9A9BC088-4F6D-469E-9919-E705412040F9}, 100 + + + + + Name: System.Message.MessageClass -- PKEY_Message_MessageClass + Description: What type of outlook msg this is (meeting, task, mail, etc.) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CD9ED458-08CE-418F-A70E-F912C7BB9C5C}, 103 + + + + + Name: System.Message.ProofInProgress -- PKEY_Message_ProofInProgress + Description: This property will be true if the message junk email proofing is still in progress. + + Type: Boolean -- VT_BOOL + FormatID: {9098F33C-9A7D-48A8-8DE5-2E1227A64E91}, 100 + + + + + Name: System.Message.SenderAddress -- PKEY_Message_SenderAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0BE1C8E7-1981-4676-AE14-FDD78F05A6E7}, 100 + + + + + Name: System.Message.SenderName -- PKEY_Message_SenderName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0DA41CFA-D224-4A18-AE2F-596158DB4B3A}, 100 + + + + + Name: System.Message.Store -- PKEY_Message_Store + Description: The store (aka protocol handler) FILE, MAIL, OUTLOOKEXPRESS + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 15 + + + + + Name: System.Message.ToAddress -- PKEY_Message_ToAddress + Description: Addresses in To: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 16 + + + + + Name: System.Message.ToDoFlags -- PKEY_Message_ToDoFlags + Description: Flags associated with a message flagged to know if it's still active, if it was custom flagged, etc. + + Type: Int32 -- VT_I4 + FormatID: {1F856A9F-6900-4ABA-9505-2D5F1B4D66CB}, 100 + + + + + Name: System.Message.ToDoTitle -- PKEY_Message_ToDoTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BCCC8A3C-8CEF-42E5-9B1C-C69079398BC7}, 100 + + + + + Name: System.Message.ToName -- PKEY_Message_ToName + Description: Person names in To: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 17 + + + + + System.Music Properties + + + + + Name: System.Music.AlbumArtist -- PKEY_Music_AlbumArtist + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 13 (PIDSI_MUSIC_ALBUM_ARTIST) + + + + + Name: System.Music.AlbumID -- PKEY_Music_AlbumID + Description: Concatenation of System.Music.AlbumArtist and System.Music.AlbumTitle, suitable for indexing and display. + Used to differentiate albums with the same title from different artists. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 100 + + + + + Name: System.Music.AlbumTitle -- PKEY_Music_AlbumTitle + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 4 (PIDSI_MUSIC_ALBUM) + + + + + Name: System.Music.Artist -- PKEY_Music_Artist + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 2 (PIDSI_MUSIC_ARTIST) + + + + + Name: System.Music.BeatsPerMinute -- PKEY_Music_BeatsPerMinute + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 35 (PIDSI_MUSIC_BEATS_PER_MINUTE) + + + + + Name: System.Music.Composer -- PKEY_Music_Composer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 19 (PIDMSI_COMPOSER) + + + + + Name: System.Music.Conductor -- PKEY_Music_Conductor + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 36 (PIDSI_MUSIC_CONDUCTOR) + + + + + Name: System.Music.ContentGroupDescription -- PKEY_Music_ContentGroupDescription + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 33 (PIDSI_MUSIC_CONTENT_GROUP_DESCRIPTION) + + + + + Name: System.Music.DisplayArtist -- PKEY_Music_DisplayArtist + Description: This property returns the best representation of Album Artist for a given music file + based upon AlbumArtist, ContributingArtist and compilation info. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FD122953-FA93-4EF7-92C3-04C946B2F7C8}, 100 + + + + + Name: System.Music.Genre -- PKEY_Music_Genre + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 11 (PIDSI_MUSIC_GENRE) + + + + + Name: System.Music.InitialKey -- PKEY_Music_InitialKey + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 34 (PIDSI_MUSIC_INITIAL_KEY) + + + + + Name: System.Music.IsCompilation -- PKEY_Music_IsCompilation + Description: Indicates whether the file is part of a compilation. + + Type: Boolean -- VT_BOOL + FormatID: {C449D5CB-9EA4-4809-82E8-AF9D59DED6D1}, 100 + + + + + Name: System.Music.Lyrics -- PKEY_Music_Lyrics + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 12 (PIDSI_MUSIC_LYRICS) + + + + + Name: System.Music.Mood -- PKEY_Music_Mood + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 39 (PIDSI_MUSIC_MOOD) + + + + + Name: System.Music.PartOfSet -- PKEY_Music_PartOfSet + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 37 (PIDSI_MUSIC_PART_OF_SET) + + + + + Name: System.Music.Period -- PKEY_Music_Period + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 31 (PIDMSI_PERIOD) + + + + + Name: System.Music.SynchronizedLyrics -- PKEY_Music_SynchronizedLyrics + Description: + Type: Blob -- VT_BLOB + FormatID: {6B223B6A-162E-4AA9-B39F-05D678FC6D77}, 100 + + + + + Name: System.Music.TrackNumber -- PKEY_Music_TrackNumber + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 7 (PIDSI_MUSIC_TRACK) + + + + + System.Note Properties + + + + + Name: System.Note.Color -- PKEY_Note_Color + Description: + Type: UInt16 -- VT_UI2 + FormatID: {4776CAFA-BCE4-4CB1-A23E-265E76D8EB11}, 100 + + + + + Name: System.Note.ColorText -- PKEY_Note_ColorText + Description: This is the user-friendly form of System.Note.Color. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {46B4E8DE-CDB2-440D-885C-1658EB65B914}, 100 + + + + + System.Photo Properties + + + + + Name: System.Photo.Aperture -- PKEY_Photo_Aperture + Description: PropertyTagExifAperture. Calculated from PKEY_Photo_ApertureNumerator and PKEY_Photo_ApertureDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37378 + + + + + Name: System.Photo.ApertureDenominator -- PKEY_Photo_ApertureDenominator + Description: Denominator of PKEY_Photo_Aperture + + Type: UInt32 -- VT_UI4 + FormatID: {E1A9A38B-6685-46BD-875E-570DC7AD7320}, 100 + + + + + Name: System.Photo.ApertureNumerator -- PKEY_Photo_ApertureNumerator + Description: Numerator of PKEY_Photo_Aperture + + Type: UInt32 -- VT_UI4 + FormatID: {0337ECEC-39FB-4581-A0BD-4C4CC51E9914}, 100 + + + + + Name: System.Photo.Brightness -- PKEY_Photo_Brightness + Description: This is the brightness of the photo. + + Calculated from PKEY_Photo_BrightnessNumerator and PKEY_Photo_BrightnessDenominator. + + The units are "APEX", normally in the range of -99.99 to 99.99. If the numerator of + the recorded value is FFFFFFFF.H, "Unknown" should be indicated. + + Type: Double -- VT_R8 + FormatID: {1A701BF6-478C-4361-83AB-3701BB053C58}, 100 (PropertyTagExifBrightness) + + + + + Name: System.Photo.BrightnessDenominator -- PKEY_Photo_BrightnessDenominator + Description: Denominator of PKEY_Photo_Brightness + + Type: UInt32 -- VT_UI4 + FormatID: {6EBE6946-2321-440A-90F0-C043EFD32476}, 100 + + + + + Name: System.Photo.BrightnessNumerator -- PKEY_Photo_BrightnessNumerator + Description: Numerator of PKEY_Photo_Brightness + + Type: UInt32 -- VT_UI4 + FormatID: {9E7D118F-B314-45A0-8CFB-D654B917C9E9}, 100 + + + + + Name: System.Photo.CameraManufacturer -- PKEY_Photo_CameraManufacturer + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 271 (PropertyTagEquipMake) + + + + + Name: System.Photo.CameraModel -- PKEY_Photo_CameraModel + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 272 (PropertyTagEquipModel) + + + + + Name: System.Photo.CameraSerialNumber -- PKEY_Photo_CameraSerialNumber + Description: Serial number of camera that produced this photo + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 273 + + + + + Name: System.Photo.Contrast -- PKEY_Photo_Contrast + Description: This indicates the direction of contrast processing applied by the camera + when the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {2A785BA9-8D23-4DED-82E6-60A350C86A10}, 100 + + + + + Name: System.Photo.ContrastText -- PKEY_Photo_ContrastText + Description: This is the user-friendly form of System.Photo.Contrast. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {59DDE9F2-5253-40EA-9A8B-479E96C6249A}, 100 + + + + + Name: System.Photo.DateTaken -- PKEY_Photo_DateTaken + Description: PropertyTagExifDTOrig + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 36867 + + + + + Name: System.Photo.DigitalZoom -- PKEY_Photo_DigitalZoom + Description: PropertyTagExifDigitalZoom. Calculated from PKEY_Photo_DigitalZoomNumerator and PKEY_Photo_DigitalZoomDenominator + + Type: Double -- VT_R8 + FormatID: {F85BF840-A925-4BC2-B0C4-8E36B598679E}, 100 + + + + + Name: System.Photo.DigitalZoomDenominator -- PKEY_Photo_DigitalZoomDenominator + Description: Denominator of PKEY_Photo_DigitalZoom + + Type: UInt32 -- VT_UI4 + FormatID: {745BAF0E-E5C1-4CFB-8A1B-D031A0A52393}, 100 + + + + + Name: System.Photo.DigitalZoomNumerator -- PKEY_Photo_DigitalZoomNumerator + Description: Numerator of PKEY_Photo_DigitalZoom + + Type: UInt32 -- VT_UI4 + FormatID: {16CBB924-6500-473B-A5BE-F1599BCBE413}, 100 + + + + + Name: System.Photo.Event -- PKEY_Photo_Event + Description: The event at which the photo was taken + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 18248 + + + + + Name: System.Photo.EXIFVersion -- PKEY_Photo_EXIFVersion + Description: The EXIF version. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D35F743A-EB2E-47F2-A286-844132CB1427}, 100 + + + + + Name: System.Photo.ExposureBias -- PKEY_Photo_ExposureBias + Description: PropertyTagExifExposureBias. Calculated from PKEY_Photo_ExposureBiasNumerator and PKEY_Photo_ExposureBiasDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37380 + + + + + Name: System.Photo.ExposureBiasDenominator -- PKEY_Photo_ExposureBiasDenominator + Description: Denominator of PKEY_Photo_ExposureBias + + Type: Int32 -- VT_I4 + FormatID: {AB205E50-04B7-461C-A18C-2F233836E627}, 100 + + + + + Name: System.Photo.ExposureBiasNumerator -- PKEY_Photo_ExposureBiasNumerator + Description: Numerator of PKEY_Photo_ExposureBias + + Type: Int32 -- VT_I4 + FormatID: {738BF284-1D87-420B-92CF-5834BF6EF9ED}, 100 + + + + + Name: System.Photo.ExposureIndex -- PKEY_Photo_ExposureIndex + Description: PropertyTagExifExposureIndex. Calculated from PKEY_Photo_ExposureIndexNumerator and PKEY_Photo_ExposureIndexDenominator + + Type: Double -- VT_R8 + FormatID: {967B5AF8-995A-46ED-9E11-35B3C5B9782D}, 100 + + + + + Name: System.Photo.ExposureIndexDenominator -- PKEY_Photo_ExposureIndexDenominator + Description: Denominator of PKEY_Photo_ExposureIndex + + Type: UInt32 -- VT_UI4 + FormatID: {93112F89-C28B-492F-8A9D-4BE2062CEE8A}, 100 + + + + + Name: System.Photo.ExposureIndexNumerator -- PKEY_Photo_ExposureIndexNumerator + Description: Numerator of PKEY_Photo_ExposureIndex + + Type: UInt32 -- VT_UI4 + FormatID: {CDEDCF30-8919-44DF-8F4C-4EB2FFDB8D89}, 100 + + + + + Name: System.Photo.ExposureProgram -- PKEY_Photo_ExposureProgram + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 34850 (PropertyTagExifExposureProg) + + + + + Name: System.Photo.ExposureProgramText -- PKEY_Photo_ExposureProgramText + Description: This is the user-friendly form of System.Photo.ExposureProgram. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FEC690B7-5F30-4646-AE47-4CAAFBA884A3}, 100 + + + + + Name: System.Photo.ExposureTime -- PKEY_Photo_ExposureTime + Description: PropertyTagExifExposureTime. Calculated from PKEY_Photo_ExposureTimeNumerator and PKEY_Photo_ExposureTimeDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 33434 + + + + + Name: System.Photo.ExposureTimeDenominator -- PKEY_Photo_ExposureTimeDenominator + Description: Denominator of PKEY_Photo_ExposureTime + + Type: UInt32 -- VT_UI4 + FormatID: {55E98597-AD16-42E0-B624-21599A199838}, 100 + + + + + Name: System.Photo.ExposureTimeNumerator -- PKEY_Photo_ExposureTimeNumerator + Description: Numerator of PKEY_Photo_ExposureTime + + Type: UInt32 -- VT_UI4 + FormatID: {257E44E2-9031-4323-AC38-85C552871B2E}, 100 + + + + + Name: System.Photo.Flash -- PKEY_Photo_Flash + Description: PropertyTagExifFlash + + Type: Byte -- VT_UI1 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37385 + + + + + Name: System.Photo.FlashEnergy -- PKEY_Photo_FlashEnergy + Description: PropertyTagExifFlashEnergy. Calculated from PKEY_Photo_FlashEnergyNumerator and PKEY_Photo_FlashEnergyDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 41483 + + + + + Name: System.Photo.FlashEnergyDenominator -- PKEY_Photo_FlashEnergyDenominator + Description: Denominator of PKEY_Photo_FlashEnergy + + Type: UInt32 -- VT_UI4 + FormatID: {D7B61C70-6323-49CD-A5FC-C84277162C97}, 100 + + + + + Name: System.Photo.FlashEnergyNumerator -- PKEY_Photo_FlashEnergyNumerator + Description: Numerator of PKEY_Photo_FlashEnergy + + Type: UInt32 -- VT_UI4 + FormatID: {FCAD3D3D-0858-400F-AAA3-2F66CCE2A6BC}, 100 + + + + + Name: System.Photo.FlashManufacturer -- PKEY_Photo_FlashManufacturer + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AABAF6C9-E0C5-4719-8585-57B103E584FE}, 100 + + + + + Name: System.Photo.FlashModel -- PKEY_Photo_FlashModel + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FE83BB35-4D1A-42E2-916B-06F3E1AF719E}, 100 + + + + + Name: System.Photo.FlashText -- PKEY_Photo_FlashText + Description: This is the user-friendly form of System.Photo.Flash. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6B8B68F6-200B-47EA-8D25-D8050F57339F}, 100 + + + + + Name: System.Photo.FNumber -- PKEY_Photo_FNumber + Description: PropertyTagExifFNumber. Calculated from PKEY_Photo_FNumberNumerator and PKEY_Photo_FNumberDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 33437 + + + + + Name: System.Photo.FNumberDenominator -- PKEY_Photo_FNumberDenominator + Description: Denominator of PKEY_Photo_FNumber + + Type: UInt32 -- VT_UI4 + FormatID: {E92A2496-223B-4463-A4E3-30EABBA79D80}, 100 + + + + + Name: System.Photo.FNumberNumerator -- PKEY_Photo_FNumberNumerator + Description: Numerator of PKEY_Photo_FNumber + + Type: UInt32 -- VT_UI4 + FormatID: {1B97738A-FDFC-462F-9D93-1957E08BE90C}, 100 + + + + + Name: System.Photo.FocalLength -- PKEY_Photo_FocalLength + Description: PropertyTagExifFocalLength. Calculated from PKEY_Photo_FocalLengthNumerator and PKEY_Photo_FocalLengthDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37386 + + + + + Name: System.Photo.FocalLengthDenominator -- PKEY_Photo_FocalLengthDenominator + Description: Denominator of PKEY_Photo_FocalLength + + Type: UInt32 -- VT_UI4 + FormatID: {305BC615-DCA1-44A5-9FD4-10C0BA79412E}, 100 + + + + + Name: System.Photo.FocalLengthInFilm -- PKEY_Photo_FocalLengthInFilm + Description: + Type: UInt16 -- VT_UI2 + FormatID: {A0E74609-B84D-4F49-B860-462BD9971F98}, 100 + + + + + Name: System.Photo.FocalLengthNumerator -- PKEY_Photo_FocalLengthNumerator + Description: Numerator of PKEY_Photo_FocalLength + + Type: UInt32 -- VT_UI4 + FormatID: {776B6B3B-1E3D-4B0C-9A0E-8FBAF2A8492A}, 100 + + + + + Name: System.Photo.FocalPlaneXResolution -- PKEY_Photo_FocalPlaneXResolution + Description: PropertyTagExifFocalXRes. Calculated from PKEY_Photo_FocalPlaneXResolutionNumerator and + PKEY_Photo_FocalPlaneXResolutionDenominator. + + Type: Double -- VT_R8 + FormatID: {CFC08D97-C6F7-4484-89DD-EBEF4356FE76}, 100 + + + + + Name: System.Photo.FocalPlaneXResolutionDenominator -- PKEY_Photo_FocalPlaneXResolutionDenominator + Description: Denominator of PKEY_Photo_FocalPlaneXResolution + + Type: UInt32 -- VT_UI4 + FormatID: {0933F3F5-4786-4F46-A8E8-D64DD37FA521}, 100 + + + + + Name: System.Photo.FocalPlaneXResolutionNumerator -- PKEY_Photo_FocalPlaneXResolutionNumerator + Description: Numerator of PKEY_Photo_FocalPlaneXResolution + + Type: UInt32 -- VT_UI4 + FormatID: {DCCB10AF-B4E2-4B88-95F9-031B4D5AB490}, 100 + + + + + Name: System.Photo.FocalPlaneYResolution -- PKEY_Photo_FocalPlaneYResolution + Description: PropertyTagExifFocalYRes. Calculated from PKEY_Photo_FocalPlaneYResolutionNumerator and + PKEY_Photo_FocalPlaneYResolutionDenominator. + + Type: Double -- VT_R8 + FormatID: {4FFFE4D0-914F-4AC4-8D6F-C9C61DE169B1}, 100 + + + + + Name: System.Photo.FocalPlaneYResolutionDenominator -- PKEY_Photo_FocalPlaneYResolutionDenominator + Description: Denominator of PKEY_Photo_FocalPlaneYResolution + + Type: UInt32 -- VT_UI4 + FormatID: {1D6179A6-A876-4031-B013-3347B2B64DC8}, 100 + + + + + Name: System.Photo.FocalPlaneYResolutionNumerator -- PKEY_Photo_FocalPlaneYResolutionNumerator + Description: Numerator of PKEY_Photo_FocalPlaneYResolution + + Type: UInt32 -- VT_UI4 + FormatID: {A2E541C5-4440-4BA8-867E-75CFC06828CD}, 100 + + + + + Name: System.Photo.GainControl -- PKEY_Photo_GainControl + Description: This indicates the degree of overall image gain adjustment. + + Calculated from PKEY_Photo_GainControlNumerator and PKEY_Photo_GainControlDenominator. + + Type: Double -- VT_R8 + FormatID: {FA304789-00C7-4D80-904A-1E4DCC7265AA}, 100 (PropertyTagExifGainControl) + + + + + Name: System.Photo.GainControlDenominator -- PKEY_Photo_GainControlDenominator + Description: Denominator of PKEY_Photo_GainControl + + Type: UInt32 -- VT_UI4 + FormatID: {42864DFD-9DA4-4F77-BDED-4AAD7B256735}, 100 + + + + + Name: System.Photo.GainControlNumerator -- PKEY_Photo_GainControlNumerator + Description: Numerator of PKEY_Photo_GainControl + + Type: UInt32 -- VT_UI4 + FormatID: {8E8ECF7C-B7B8-4EB8-A63F-0EE715C96F9E}, 100 + + + + + Name: System.Photo.GainControlText -- PKEY_Photo_GainControlText + Description: This is the user-friendly form of System.Photo.GainControl. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C06238B2-0BF9-4279-A723-25856715CB9D}, 100 + + + + + Name: System.Photo.ISOSpeed -- PKEY_Photo_ISOSpeed + Description: PropertyTagExifISOSpeed + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 34855 + + + + + Name: System.Photo.LensManufacturer -- PKEY_Photo_LensManufacturer + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E6DDCAF7-29C5-4F0A-9A68-D19412EC7090}, 100 + + + + + Name: System.Photo.LensModel -- PKEY_Photo_LensModel + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E1277516-2B5F-4869-89B1-2E585BD38B7A}, 100 + + + + + Name: System.Photo.LightSource -- PKEY_Photo_LightSource + Description: PropertyTagExifLightSource + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37384 + + + + + Name: System.Photo.MakerNote -- PKEY_Photo_MakerNote + Description: + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {FA303353-B659-4052-85E9-BCAC79549B84}, 100 + + + + + Name: System.Photo.MakerNoteOffset -- PKEY_Photo_MakerNoteOffset + Description: + Type: UInt64 -- VT_UI8 + FormatID: {813F4124-34E6-4D17-AB3E-6B1F3C2247A1}, 100 + + + + + Name: System.Photo.MaxAperture -- PKEY_Photo_MaxAperture + Description: Calculated from PKEY_Photo_MaxApertureNumerator and PKEY_Photo_MaxApertureDenominator + + Type: Double -- VT_R8 + FormatID: {08F6D7C2-E3F2-44FC-AF1E-5AA5C81A2D3E}, 100 + + + + + Name: System.Photo.MaxApertureDenominator -- PKEY_Photo_MaxApertureDenominator + Description: Denominator of PKEY_Photo_MaxAperture + + Type: UInt32 -- VT_UI4 + FormatID: {C77724D4-601F-46C5-9B89-C53F93BCEB77}, 100 + + + + + Name: System.Photo.MaxApertureNumerator -- PKEY_Photo_MaxApertureNumerator + Description: Numerator of PKEY_Photo_MaxAperture + + Type: UInt32 -- VT_UI4 + FormatID: {C107E191-A459-44C5-9AE6-B952AD4B906D}, 100 + + + + + Name: System.Photo.MeteringMode -- PKEY_Photo_MeteringMode + Description: PropertyTagExifMeteringMode + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37383 + + + + + Name: System.Photo.MeteringModeText -- PKEY_Photo_MeteringModeText + Description: This is the user-friendly form of System.Photo.MeteringMode. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F628FD8C-7BA8-465A-A65B-C5AA79263A9E}, 100 + + + + + Name: System.Photo.Orientation -- PKEY_Photo_Orientation + Description: This is the image orientation viewed in terms of rows and columns. + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 274 (PropertyTagOrientation) + + + + + Name: System.Photo.OrientationText -- PKEY_Photo_OrientationText + Description: This is the user-friendly form of System.Photo.Orientation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A9EA193C-C511-498A-A06B-58E2776DCC28}, 100 + + + + + Name: System.Photo.PeopleNames -- PKEY_Photo_PeopleNames + Description: The people tags on an image. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: {E8309B6E-084C-49B4-B1FC-90A80331B638}, 100 + + + + + Name: System.Photo.PhotometricInterpretation -- PKEY_Photo_PhotometricInterpretation + Description: This is the pixel composition. In JPEG compressed data, a JPEG marker is used + instead of this property. + + Type: UInt16 -- VT_UI2 + FormatID: {341796F1-1DF9-4B1C-A564-91BDEFA43877}, 100 + + + + + Name: System.Photo.PhotometricInterpretationText -- PKEY_Photo_PhotometricInterpretationText + Description: This is the user-friendly form of System.Photo.PhotometricInterpretation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {821437D6-9EAB-4765-A589-3B1CBBD22A61}, 100 + + + + + Name: System.Photo.ProgramMode -- PKEY_Photo_ProgramMode + Description: This is the class of the program used by the camera to set exposure when the + picture is taken. + + Type: UInt32 -- VT_UI4 + FormatID: {6D217F6D-3F6A-4825-B470-5F03CA2FBE9B}, 100 + + + + + Name: System.Photo.ProgramModeText -- PKEY_Photo_ProgramModeText + Description: This is the user-friendly form of System.Photo.ProgramMode. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7FE3AA27-2648-42F3-89B0-454E5CB150C3}, 100 + + + + + Name: System.Photo.RelatedSoundFile -- PKEY_Photo_RelatedSoundFile + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {318A6B45-087F-4DC2-B8CC-05359551FC9E}, 100 + + + + + Name: System.Photo.Saturation -- PKEY_Photo_Saturation + Description: This indicates the direction of saturation processing applied by the camera when + the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {49237325-A95A-4F67-B211-816B2D45D2E0}, 100 + + + + + Name: System.Photo.SaturationText -- PKEY_Photo_SaturationText + Description: This is the user-friendly form of System.Photo.Saturation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {61478C08-B600-4A84-BBE4-E99C45F0A072}, 100 + + + + + Name: System.Photo.Sharpness -- PKEY_Photo_Sharpness + Description: This indicates the direction of sharpness processing applied by the camera when + the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {FC6976DB-8349-4970-AE97-B3C5316A08F0}, 100 + + + + + Name: System.Photo.SharpnessText -- PKEY_Photo_SharpnessText + Description: This is the user-friendly form of System.Photo.Sharpness. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {51EC3F47-DD50-421D-8769-334F50424B1E}, 100 + + + + + Name: System.Photo.ShutterSpeed -- PKEY_Photo_ShutterSpeed + Description: PropertyTagExifShutterSpeed. Calculated from PKEY_Photo_ShutterSpeedNumerator and PKEY_Photo_ShutterSpeedDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37377 + + + + + Name: System.Photo.ShutterSpeedDenominator -- PKEY_Photo_ShutterSpeedDenominator + Description: Denominator of PKEY_Photo_ShutterSpeed + + Type: Int32 -- VT_I4 + FormatID: {E13D8975-81C7-4948-AE3F-37CAE11E8FF7}, 100 + + + + + Name: System.Photo.ShutterSpeedNumerator -- PKEY_Photo_ShutterSpeedNumerator + Description: Numerator of PKEY_Photo_ShutterSpeed + + Type: Int32 -- VT_I4 + FormatID: {16EA4042-D6F4-4BCA-8349-7C78D30FB333}, 100 + + + + + Name: System.Photo.SubjectDistance -- PKEY_Photo_SubjectDistance + Description: PropertyTagExifSubjectDist. Calculated from PKEY_Photo_SubjectDistanceNumerator and PKEY_Photo_SubjectDistanceDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37382 + + + + + Name: System.Photo.SubjectDistanceDenominator -- PKEY_Photo_SubjectDistanceDenominator + Description: Denominator of PKEY_Photo_SubjectDistance + + Type: UInt32 -- VT_UI4 + FormatID: {0C840A88-B043-466D-9766-D4B26DA3FA77}, 100 + + + + + Name: System.Photo.SubjectDistanceNumerator -- PKEY_Photo_SubjectDistanceNumerator + Description: Numerator of PKEY_Photo_SubjectDistance + + Type: UInt32 -- VT_UI4 + FormatID: {8AF4961C-F526-43E5-AA81-DB768219178D}, 100 + + + + + Name: System.Photo.TagViewAggregate -- PKEY_Photo_TagViewAggregate + Description: A read-only aggregation of tag-like properties for use in building views. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: {B812F15D-C2D8-4BBF-BACD-79744346113F}, 100 + + + + + Name: System.Photo.TranscodedForSync -- PKEY_Photo_TranscodedForSync + Description: + Type: Boolean -- VT_BOOL + FormatID: {9A8EBB75-6458-4E82-BACB-35C0095B03BB}, 100 + + + + + Name: System.Photo.WhiteBalance -- PKEY_Photo_WhiteBalance + Description: This indicates the white balance mode set when the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {EE3D3D8A-5381-4CFA-B13B-AAF66B5F4EC9}, 100 + + + + + Name: System.Photo.WhiteBalanceText -- PKEY_Photo_WhiteBalanceText + Description: This is the user-friendly form of System.Photo.WhiteBalance. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6336B95E-C7A7-426D-86FD-7AE3D39C84B4}, 100 + + + + + System.PropGroup Properties + + + + + Name: System.PropGroup.Advanced -- PKEY_PropGroup_Advanced + Description: + Type: Null -- VT_NULL + FormatID: {900A403B-097B-4B95-8AE2-071FDAEEB118}, 100 + + + + + Name: System.PropGroup.Audio -- PKEY_PropGroup_Audio + Description: + Type: Null -- VT_NULL + FormatID: {2804D469-788F-48AA-8570-71B9C187E138}, 100 + + + + + Name: System.PropGroup.Calendar -- PKEY_PropGroup_Calendar + Description: + Type: Null -- VT_NULL + FormatID: {9973D2B5-BFD8-438A-BA94-5349B293181A}, 100 + + + + + Name: System.PropGroup.Camera -- PKEY_PropGroup_Camera + Description: + Type: Null -- VT_NULL + FormatID: {DE00DE32-547E-4981-AD4B-542F2E9007D8}, 100 + + + + + Name: System.PropGroup.Contact -- PKEY_PropGroup_Contact + Description: + Type: Null -- VT_NULL + FormatID: {DF975FD3-250A-4004-858F-34E29A3E37AA}, 100 + + + + + Name: System.PropGroup.Content -- PKEY_PropGroup_Content + Description: + Type: Null -- VT_NULL + FormatID: {D0DAB0BA-368A-4050-A882-6C010FD19A4F}, 100 + + + + + Name: System.PropGroup.Description -- PKEY_PropGroup_Description + Description: + Type: Null -- VT_NULL + FormatID: {8969B275-9475-4E00-A887-FF93B8B41E44}, 100 + + + + + Name: System.PropGroup.FileSystem -- PKEY_PropGroup_FileSystem + Description: + Type: Null -- VT_NULL + FormatID: {E3A7D2C1-80FC-4B40-8F34-30EA111BDC2E}, 100 + + + + + Name: System.PropGroup.General -- PKEY_PropGroup_General + Description: + Type: Null -- VT_NULL + FormatID: {CC301630-B192-4C22-B372-9F4C6D338E07}, 100 + + + + + Name: System.PropGroup.GPS -- PKEY_PropGroup_GPS + Description: + Type: Null -- VT_NULL + FormatID: {F3713ADA-90E3-4E11-AAE5-FDC17685B9BE}, 100 + + + + + Name: System.PropGroup.Image -- PKEY_PropGroup_Image + Description: + Type: Null -- VT_NULL + FormatID: {E3690A87-0FA8-4A2A-9A9F-FCE8827055AC}, 100 + + + + + Name: System.PropGroup.Media -- PKEY_PropGroup_Media + Description: + Type: Null -- VT_NULL + FormatID: {61872CF7-6B5E-4B4B-AC2D-59DA84459248}, 100 + + + + + Name: System.PropGroup.MediaAdvanced -- PKEY_PropGroup_MediaAdvanced + Description: + Type: Null -- VT_NULL + FormatID: {8859A284-DE7E-4642-99BA-D431D044B1EC}, 100 + + + + + Name: System.PropGroup.Message -- PKEY_PropGroup_Message + Description: + Type: Null -- VT_NULL + FormatID: {7FD7259D-16B4-4135-9F97-7C96ECD2FA9E}, 100 + + + + + Name: System.PropGroup.Music -- PKEY_PropGroup_Music + Description: + Type: Null -- VT_NULL + FormatID: {68DD6094-7216-40F1-A029-43FE7127043F}, 100 + + + + + Name: System.PropGroup.Origin -- PKEY_PropGroup_Origin + Description: + Type: Null -- VT_NULL + FormatID: {2598D2FB-5569-4367-95DF-5CD3A177E1A5}, 100 + + + + + Name: System.PropGroup.PhotoAdvanced -- PKEY_PropGroup_PhotoAdvanced + Description: + Type: Null -- VT_NULL + FormatID: {0CB2BF5A-9EE7-4A86-8222-F01E07FDADAF}, 100 + + + + + Name: System.PropGroup.RecordedTV -- PKEY_PropGroup_RecordedTV + Description: + Type: Null -- VT_NULL + FormatID: {E7B33238-6584-4170-A5C0-AC25EFD9DA56}, 100 + + + + + Name: System.PropGroup.Video -- PKEY_PropGroup_Video + Description: + Type: Null -- VT_NULL + FormatID: {BEBE0920-7671-4C54-A3EB-49FDDFC191EE}, 100 + + + + + System.PropList Properties + + + + + Name: System.PropList.ConflictPrompt -- PKEY_PropList_ConflictPrompt + Description: The list of properties to show in the file operation conflict resolution dialog. Properties with empty + values will not be displayed. Register under the regvalue of "ConflictPrompt". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 11 + + + + + Name: System.PropList.ContentViewModeForBrowse -- PKEY_PropList_ContentViewModeForBrowse + Description: The list of properties to show in the content view mode of an item in the context of browsing. + Register the regvalue under the name of "ContentViewModeForBrowse". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 13 + + + + + Name: System.PropList.ContentViewModeForSearch -- PKEY_PropList_ContentViewModeForSearch + Description: The list of properties to show in the content view mode of an item in the context of searching. + Register the regvalue under the name of "ContentViewModeForSearch". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 14 + + + + + Name: System.PropList.ExtendedTileInfo -- PKEY_PropList_ExtendedTileInfo + Description: The list of properties to show in the listview on extended tiles. Register under the regvalue of + "ExtendedTileInfo". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 9 + + + + + Name: System.PropList.FileOperationPrompt -- PKEY_PropList_FileOperationPrompt + Description: The list of properties to show in the file operation confirmation dialog. Properties with empty values + will not be displayed. If this list is not specified, then the InfoTip property list is used instead. + Register under the regvalue of "FileOperationPrompt". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 10 + + + + + Name: System.PropList.FullDetails -- PKEY_PropList_FullDetails + Description: The list of all the properties to show in the details page. Property groups can be included in this list + in order to more easily organize the UI. Register under the regvalue of "FullDetails". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 2 + + + + + Name: System.PropList.InfoTip -- PKEY_PropList_InfoTip + Description: The list of properties to show in the infotip. Properties with empty values will not be displayed. Register + under the regvalue of "InfoTip". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 4 (PID_PROPLIST_INFOTIP) + + + + + Name: System.PropList.NonPersonal -- PKEY_PropList_NonPersonal + Description: The list of properties that are considered 'non-personal'. When told to remove all non-personal properties + from a given file, the system will leave these particular properties untouched. Register under the regvalue + of "NonPersonal". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49D1091F-082E-493F-B23F-D2308AA9668C}, 100 + + + + + Name: System.PropList.PreviewDetails -- PKEY_PropList_PreviewDetails + Description: The list of properties to display in the preview pane. Register under the regvalue of "PreviewDetails". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 8 + + + + + Name: System.PropList.PreviewTitle -- PKEY_PropList_PreviewTitle + Description: The one or two properties to display in the preview pane title section. The optional second property is + displayed as a subtitle. Register under the regvalue of "PreviewTitle". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 6 + + + + + Name: System.PropList.QuickTip -- PKEY_PropList_QuickTip + Description: The list of properties to show in the infotip when the item is on a slow network. Properties with empty + values will not be displayed. Register under the regvalue of "QuickTip". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 5 (PID_PROPLIST_QUICKTIP) + + + + + Name: System.PropList.TileInfo -- PKEY_PropList_TileInfo + Description: The list of properties to show in the listview on tiles. Register under the regvalue of "TileInfo". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 3 (PID_PROPLIST_TILEINFO) + + + + + Name: System.PropList.XPDetailsPanel -- PKEY_PropList_XPDetailsPanel + Description: The list of properties to display in the XP webview details panel. Obsolete. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_WebView) {F2275480-F782-4291-BD94-F13693513AEC}, 0 (PID_DISPLAY_PROPERTIES) + + + + + System.RecordedTV Properties + + + + + Name: System.RecordedTV.ChannelNumber -- PKEY_RecordedTV_ChannelNumber + Description: Example: 42 + + Type: UInt32 -- VT_UI4 + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 7 + + + + + Name: System.RecordedTV.Credits -- PKEY_RecordedTV_Credits + Description: Example: "Don Messick/Frank Welker/Casey Kasem/Heather North/Nicole Jaffe;;;" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 4 + + + + + Name: System.RecordedTV.DateContentExpires -- PKEY_RecordedTV_DateContentExpires + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 15 + + + + + Name: System.RecordedTV.EpisodeName -- PKEY_RecordedTV_EpisodeName + Description: Example: "Nowhere to Hyde" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 2 + + + + + Name: System.RecordedTV.IsATSCContent -- PKEY_RecordedTV_IsATSCContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 16 + + + + + Name: System.RecordedTV.IsClosedCaptioningAvailable -- PKEY_RecordedTV_IsClosedCaptioningAvailable + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 12 + + + + + Name: System.RecordedTV.IsDTVContent -- PKEY_RecordedTV_IsDTVContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 17 + + + + + Name: System.RecordedTV.IsHDContent -- PKEY_RecordedTV_IsHDContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 18 + + + + + Name: System.RecordedTV.IsRepeatBroadcast -- PKEY_RecordedTV_IsRepeatBroadcast + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 13 + + + + + Name: System.RecordedTV.IsSAP -- PKEY_RecordedTV_IsSAP + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 14 + + + + + Name: System.RecordedTV.NetworkAffiliation -- PKEY_RecordedTV_NetworkAffiliation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2C53C813-FB63-4E22-A1AB-0B331CA1E273}, 100 + + + + + Name: System.RecordedTV.OriginalBroadcastDate -- PKEY_RecordedTV_OriginalBroadcastDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {4684FE97-8765-4842-9C13-F006447B178C}, 100 + + + + + Name: System.RecordedTV.ProgramDescription -- PKEY_RecordedTV_ProgramDescription + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 3 + + + + + Name: System.RecordedTV.RecordingTime -- PKEY_RecordedTV_RecordingTime + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {A5477F61-7A82-4ECA-9DDE-98B69B2479B3}, 100 + + + + + Name: System.RecordedTV.StationCallSign -- PKEY_RecordedTV_StationCallSign + Description: Example: "TOONP" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 5 + + + + + Name: System.RecordedTV.StationName -- PKEY_RecordedTV_StationName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1B5439E7-EBA1-4AF8-BDD7-7AF1D4549493}, 100 + + + + + System.Search Properties + + + + + Name: System.Search.AutoSummary -- PKEY_Search_AutoSummary + Description: General Summary of the document. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 2 + + + + + Name: System.Search.ContainerHash -- PKEY_Search_ContainerHash + Description: Hash code used to identify attachments to be deleted based on a common container url + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BCEEE283-35DF-4D53-826A-F36A3EEFC6BE}, 100 + + + + + Name: System.Search.Contents -- PKEY_Search_Contents + Description: The contents of the item. This property is for query restrictions only; it cannot be retrieved in a + query result. The Indexing Service friendly name is 'contents'. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 19 (PID_STG_CONTENTS) + + + + + Name: System.Search.EntryID -- PKEY_Search_EntryID + Description: The entry ID for an item within a given catalog in the Windows Search Index. + This value may be recycled, and therefore is not considered unique over time. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 5 (PROPID_QUERY_WORKID) + + + + + Name: System.Search.ExtendedProperties -- PKEY_Search_ExtendedProperties + Description: + Type: Blob -- VT_BLOB + FormatID: {7B03B546-FA4F-4A52-A2FE-03D5311E5865}, 100 + + + + + Name: System.Search.GatherTime -- PKEY_Search_GatherTime + Description: The Datetime that the Windows Search Gatherer process last pushed properties of this document to the Windows Search Gatherer Plugins. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {0B63E350-9CCC-11D0-BCDB-00805FCCCE04}, 8 + + + + + Name: System.Search.HitCount -- PKEY_Search_HitCount + Description: When using CONTAINS over the Windows Search Index, this is the number of matches of the term. + If there are multiple CONTAINS, an AND computes the min number of hits and an OR the max number of hits. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 4 (PROPID_QUERY_HITCOUNT) + + + + + Name: System.Search.IsClosedDirectory -- PKEY_Search_IsClosedDirectory + Description: If this property is emitted with a value of TRUE, then it indicates that this URL's last modified time applies to all of it's children, and if this URL is deleted then all of it's children are deleted as well. For example, this would be emitted as TRUE when emitting the URL of an email so that all attachments are tied to the last modified time of that email. + + Type: Boolean -- VT_BOOL + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 23 + + + + + Name: System.Search.IsFullyContained -- PKEY_Search_IsFullyContained + Description: Any child URL of a URL which has System.Search.IsClosedDirectory=TRUE must emit System.Search.IsFullyContained=TRUE. This ensures that the URL is not deleted at the end of a crawl because it hasn't been visited (which is the normal mechanism for detecting deletes). For example an email attachment would emit this property + + Type: Boolean -- VT_BOOL + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 24 + + + + + Name: System.Search.QueryFocusedSummary -- PKEY_Search_QueryFocusedSummary + Description: Query Focused Summary of the document. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 3 + + + + + Name: System.Search.QueryFocusedSummaryWithFallback -- PKEY_Search_QueryFocusedSummaryWithFallback + Description: Query Focused Summary of the document, if none is available it returns the AutoSummary. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 4 + + + + + Name: System.Search.Rank -- PKEY_Search_Rank + Description: Relevance rank of row. Ranges from 0-1000. Larger numbers = better matches. Query-time only. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 3 (PROPID_QUERY_RANK) + + + + + Name: System.Search.Store -- PKEY_Search_Store + Description: The identifier for the protocol handler that produced this item. (E.g. MAPI, CSC, FILE etc.) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A06992B3-8CAF-4ED7-A547-B259E32AC9FC}, 100 + + + + + Name: System.Search.UrlToIndex -- PKEY_Search_UrlToIndex + Description: This property should be emitted by a container IFilter for each child URL within the container. The children will eventually be crawled by the indexer if they are within scope. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 2 + + + + + Name: System.Search.UrlToIndexWithModificationTime -- PKEY_Search_UrlToIndexWithModificationTime + Description: This property is the same as System.Search.UrlToIndex except that it includes the time the URL was last modified. This is an optimization for the indexer as it doesn't have to call back into the protocol handler to ask for this information to determine if the content needs to be indexed again. The property is a vector with two elements, a VT_LPWSTR with the URL and a VT_FILETIME for the last modified time. + + Type: Multivalue Any -- VT_VECTOR | VT_NULL (For variants: VT_ARRAY | VT_NULL) + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 12 + + + + + System.Shell Properties + + + + + Name: System.Shell.OmitFromView -- PKEY_Shell_OmitFromView + Description: Set this to a string value of 'True' to omit this item from shell views + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE35258C-C695-4CBC-B982-38B0AD24CED0}, 2 + + + + + Name: System.Shell.SFGAOFlagsStrings -- PKEY_Shell_SFGAOFlagsStrings + Description: Expresses the SFGAO flags as string values and is used as a query optimization. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D6942081-D53B-443D-AD47-5E059D9CD27A}, 2 + + + + + System.Software Properties + + + + + Name: System.Software.DateLastUsed -- PKEY_Software_DateLastUsed + Description: + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {841E4F90-FF59-4D16-8947-E81BBFFAB36D}, 16 + + + + + Name: System.Software.ProductName -- PKEY_Software_ProductName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 7 + + + + + System.Sync Properties + + + + + Name: System.Sync.Comments -- PKEY_Sync_Comments + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 13 + + + + + Name: System.Sync.ConflictDescription -- PKEY_Sync_ConflictDescription + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 4 + + + + + Name: System.Sync.ConflictFirstLocation -- PKEY_Sync_ConflictFirstLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 6 + + + + + Name: System.Sync.ConflictSecondLocation -- PKEY_Sync_ConflictSecondLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 7 + + + + + Name: System.Sync.HandlerCollectionID -- PKEY_Sync_HandlerCollectionID + Description: + Type: Guid -- VT_CLSID + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 2 + + + + + Name: System.Sync.HandlerID -- PKEY_Sync_HandlerID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 3 + + + + + Name: System.Sync.HandlerName -- PKEY_Sync_HandlerName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 2 + + + + + Name: System.Sync.HandlerType -- PKEY_Sync_HandlerType + Description: + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 8 + + + + + Name: System.Sync.HandlerTypeLabel -- PKEY_Sync_HandlerTypeLabel + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 9 + + + + + Name: System.Sync.ItemID -- PKEY_Sync_ItemID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 6 + + + + + Name: System.Sync.ItemName -- PKEY_Sync_ItemName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 3 + + + + + Name: System.Sync.ProgressPercentage -- PKEY_Sync_ProgressPercentage + Description: An integer value between 0 and 100 representing the percentage completed. + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 23 + + + + + Name: System.Sync.State -- PKEY_Sync_State + Description: Sync state. + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 24 + + + + + Name: System.Sync.Status -- PKEY_Sync_Status + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 10 + + + + + System.Task Properties + + + + + Name: System.Task.BillingInformation -- PKEY_Task_BillingInformation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D37D52C6-261C-4303-82B3-08B926AC6F12}, 100 + + + + + Name: System.Task.CompletionStatus -- PKEY_Task_CompletionStatus + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {084D8A0A-E6D5-40DE-BF1F-C8820E7C877C}, 100 + + + + + Name: System.Task.Owner -- PKEY_Task_Owner + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {08C7CC5F-60F2-4494-AD75-55E3E0B5ADD0}, 100 + + + + + System.Video Properties + + + + + Name: System.Video.Compression -- PKEY_Video_Compression + Description: Indicates the level of compression for the video stream. "Compression". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 10 (PIDVSI_COMPRESSION) + + + + + Name: System.Video.Director -- PKEY_Video_Director + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 20 (PIDMSI_DIRECTOR) + + + + + Name: System.Video.EncodingBitrate -- PKEY_Video_EncodingBitrate + Description: Indicates the data rate in "bits per second" for the video stream. "DataRate". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 8 (PIDVSI_DATA_RATE) + + + + + Name: System.Video.FourCC -- PKEY_Video_FourCC + Description: Indicates the 4CC for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 44 + + + + + Name: System.Video.FrameHeight -- PKEY_Video_FrameHeight + Description: Indicates the frame height for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 4 + + + + + Name: System.Video.FrameRate -- PKEY_Video_FrameRate + Description: Indicates the frame rate in "frames per millisecond" for the video stream. "FrameRate". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 6 (PIDVSI_FRAME_RATE) + + + + + Name: System.Video.FrameWidth -- PKEY_Video_FrameWidth + Description: Indicates the frame width for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 3 + + + + + Name: System.Video.HorizontalAspectRatio -- PKEY_Video_HorizontalAspectRatio + Description: Indicates the horizontal portion of the aspect ratio. The X portion of XX:YY, + like 16:9. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 42 + + + + + Name: System.Video.SampleSize -- PKEY_Video_SampleSize + Description: Indicates the sample size in bits for the video stream. "SampleSize". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 9 (PIDVSI_SAMPLE_SIZE) + + + + + Name: System.Video.StreamName -- PKEY_Video_StreamName + Description: Indicates the name for the video stream. "StreamName". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 2 (PIDVSI_STREAM_NAME) + + + + + Name: System.Video.StreamNumber -- PKEY_Video_StreamNumber + Description: "Stream Number". + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 11 (PIDVSI_STREAM_NUMBER) + + + + + Name: System.Video.TotalBitrate -- PKEY_Video_TotalBitrate + Description: Indicates the total data rate in "bits per second" for all video and audio streams. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 43 (PIDVSI_TOTAL_BITRATE) + + + + + Name: System.Video.TranscodedForSync -- PKEY_Video_TranscodedForSync + Description: + Type: Boolean -- VT_BOOL + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 46 + + + + + Name: System.Video.VerticalAspectRatio -- PKEY_Video_VerticalAspectRatio + Description: Indicates the vertical portion of the aspect ratio. The Y portion of + XX:YY, like 16:9. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 45 + + + + + System.Volume Properties + + + + + Name: System.Volume.FileSystem -- PKEY_Volume_FileSystem + Description: Indicates the filesystem of the volume. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 4 (PID_VOLUME_FILESYSTEM) (Filesystem Volume Properties) + + + + + Name: System.Volume.IsMappedDrive -- PKEY_Volume_IsMappedDrive + Description: + Type: Boolean -- VT_BOOL + FormatID: {149C0B69-2C2D-48FC-808F-D318D78C4636}, 2 + + + + + Name: System.Volume.IsRoot -- PKEY_Volume_IsRoot + Description: + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 10 (Filesystem Volume Properties) + + + + + Property store cache state + + + + + Contained in file, not updated. + + + + + Not contained in file. + + + + + Contained in file, has been updated since file was consumed. + + + + + Delineates the format of a property string. + + + Typically use one, or a bitwise combination of + these flags, to specify the format. Some flags are mutually exclusive, + so combinations like ShortTime | LongTime | HideTime are not allowed. + + + + + The format settings specified in the property's .propdesc file. + + + + + The value preceded with the property's display name. + + + This flag is ignored when the hideLabelPrefix attribute of the labelInfo element + in the property's .propinfo file is set to true. + + + + + The string treated as a file name. + + + + + The sizes displayed in kilobytes (KB), regardless of size. + + + This flag applies to properties of Integer types and aligns the values in the column. + + + + + Reserved. + + + + + The time displayed as 'hh:mm am/pm'. + + + + + The time displayed as 'hh:mm:ss am/pm'. + + + + + The time portion of date/time hidden. + + + + + The date displayed as 'MM/DD/YY'. For example, '3/21/04'. + + + + + The date displayed as 'DayOfWeek Month day, year'. + For example, 'Monday, March 21, 2004'. + + + + + The date portion of date/time hidden. + + + + + The friendly date descriptions, such as "Yesterday". + + + + + The text displayed in a text box as a cue for the user, such as 'Enter your name'. + + + The invitation text is returned if formatting failed or the value was empty. + Invitation text is text displayed in a text box as a cue for the user, + Formatting can fail if the data entered + is not of an expected type, such as putting alpha characters in + a phone number field. + + + + + This flag requires UseEditInvitation to also be specified. When the + formatting flags are ReadOnly | UseEditInvitation and the algorithm + would have shown invitation text, a string is returned that indicates + the value is "Unknown" instead of the invitation text. + + + + + The detection of the reading order is not automatic. Useful when converting + to ANSI to omit the Unicode reading order characters. + + + + + Smart display of DateTime values + + + + + Specifies the display types for a property. + + + + + The String Display. This is the default if the property doesn't specify a display type. + + + + + The Number Display. + + + + + The Boolean Display. + + + + + The DateTime Display. + + + + + The Enumerated Display. + + + + + Property Aggregation Type + + + + + The string "Multiple Values" is displayed. + + + + + The first value in the selection is displayed. + + + + + The sum of the selected values is displayed. This flag is never returned + for data types VT_LPWSTR, VT_BOOL, and VT_FILETIME. + + + + + The numerical average of the selected values is displayed. This flag + is never returned for data types VT_LPWSTR, VT_BOOL, and VT_FILETIME. + + + + + The date range of the selected values is displayed. This flag is only + returned for values of the VT_FILETIME data type. + + + + + A concatenated string of all the values is displayed. The order of + individual values in the string is undefined. The concatenated + string omits duplicate values; if a value occurs more than once, + it only appears a single time in the concatenated string. + + + + + The highest of the selected values is displayed. + + + + + The lowest of the selected values is displayed. + + + + + Property Enumeration Types + + + + + Use DisplayText and either RangeMinValue or RangeSetValue. + + + + + Use DisplayText and either RangeMinValue or RangeSetValue + + + + + Use DisplayText + + + + + Use Value or RangeMinValue + + + + + Describes how a property should be treated for display purposes. + + + + + Default value + + + + + The value is displayed as a string. + + + + + The value is displayed as an integer. + + + + + The value is displayed as a date/time. + + + + + A mask for display type values StringType, IntegerType, and DateType. + + + + + The column should be on by default in Details view. + + + + + Will be slow to compute. Perform on a background thread. + + + + + Provided by a handler, not the folder. + + + + + Not displayed in the context menu, but is listed in the More... dialog. + + + + + Not displayed in the user interface (UI). + + + + + VarCmp produces same result as IShellFolder::CompareIDs. + + + + + PSFormatForDisplay produces same result as IShellFolder::CompareIDs. + + + + + Do not sort folders separately. + + + + + Only displayed in the UI. + + + + + Marks columns with values that should be read in a batch. + + + + + Grouping is disabled for this column. + + + + + Can't resize the column. + + + + + The width is the same in all dots per inch (dpi)s. + + + + + Fixed width and height ratio. + + + + + Filters out new display flags. + + + + + Specifies the condition type to use when displaying the property in the query builder user interface (UI). + + + + + The default condition type. + + + + + The string type. + + + + + The size type. + + + + + The date/time type. + + + + + The Boolean type. + + + + + The number type. + + + + + Provides a set of flags to be used with IConditionFactory, + ICondition, and IConditionGenerator to indicate the operation. + + + + + The implicit comparison between the value of the property and the value of the constant. + + + + + The value of the property and the value of the constant must be equal. + + + + + The value of the property and the value of the constant must not be equal. + + + + + The value of the property must be less than the value of the constant. + + + + + The value of the property must be greater than the value of the constant. + + + + + The value of the property must be less than or equal to the value of the constant. + + + + + The value of the property must be greater than or equal to the value of the constant. + + + + + The value of the property must begin with the value of the constant. + + + + + The value of the property must end with the value of the constant. + + + + + The value of the property must contain the value of the constant. + + + + + The value of the property must not contain the value of the constant. + + + + + The value of the property must match the value of the constant, where '?' matches any single character and '*' matches any sequence of characters. + + + + + The value of the property must contain a word that is the value of the constant. + + + + + The value of the property must contain a word that begins with the value of the constant. + + + + + The application is free to interpret this in any suitable way. + + + + + Specifies the property description grouping ranges. + + + + + The individual values. + + + + + The static alphanumeric ranges. + + + + + The static size ranges. + + + + + The dynamically-created ranges. + + + + + The month and year groups. + + + + + The percent groups. + + + + + The enumerated groups. + + + + + Describes the particular wordings of sort offerings. + + + Note that the strings shown are English versions only; + localized strings are used for other locales. + + + + + The default ascending or descending property sort, "Sort going up", "Sort going down". + + + + + The alphabetical sort, "A on top", "Z on top". + + + + + The numerical sort, "Lowest on top", "Highest on top". + + + + + The size sort, "Smallest on top", "Largest on top". + + + + + The chronological sort, "Oldest on top", "Newest on top". + + + + + Describes the attributes of the typeInfo element in the property's .propdesc file. + + + + + The property uses the default values for all attributes. + + + + + The property can have multiple values. + + + These values are stored as a VT_VECTOR in the PROPVARIANT structure. + This value is set by the multipleValues attribute of the typeInfo element in the property's .propdesc file. + + + + + This property cannot be written to. + + + This value is set by the isInnate attribute of the typeInfo element in the property's .propdesc file. + + + + + The property is a group heading. + + + This value is set by the isGroup attribute of the typeInfo element in the property's .propdesc file. + + + + + The user can group by this property. + + + This value is set by the canGroupBy attribute of the typeInfo element in the property's .propdesc file. + + + + + The user can stack by this property. + + + This value is set by the canStackBy attribute of the typeInfo element in the property's .propdesc file. + + + + + This property contains a hierarchy. + + + This value is set by the isTreeProperty attribute of the typeInfo element in the property's .propdesc file. + + + + + Include this property in any full text query that is performed. + + + This value is set by the includeInFullTextQuery attribute of the typeInfo element in the property's .propdesc file. + + + + + This property is meant to be viewed by the user. + + + This influences whether the property shows up in the "Choose Columns" dialog, for example. + This value is set by the isViewable attribute of the typeInfo element in the property's .propdesc file. + + + + + This property is included in the list of properties that can be queried. + + + A queryable property must also be viewable. + This influences whether the property shows up in the query builder UI. + This value is set by the isQueryable attribute of the typeInfo element in the property's .propdesc file. + + + + + Used with an innate property (that is, a value calculated from other property values) to indicate that it can be deleted. + + + Windows Vista with Service Pack 1 (SP1) and later. + This value is used by the Remove Properties user interface (UI) to determine whether to display a check box next to an property that allows that property to be selected for removal. + Note that a property that is not innate can always be purged regardless of the presence or absence of this flag. + + + + + This property is owned by the system. + + + + + A mask used to retrieve all flags. + + + + + Associates property names with property description list strings. + + + + + The property is shown by default. + + + + + The property is centered. + + + + + The property is right aligned. + + + + + The property is shown as the beginning of the next collection of properties in the view. + + + + + The remainder of the view area is filled with the content of this property. + + + + + The property is reverse sorted if it is a property in a list of sorted properties. + + + + + The property is only shown if it is present. + + + + + The property is shown by default in a view (where applicable). + + + + + The property is shown by default in primary column selection user interface (UI). + + + + + The property is shown by default in secondary column selection UI. + + + + + The label is hidden if the view is normally inclined to show the label. + + + + + The property is not displayed as a column in the UI. + + + + + The property is wrapped to the next row. + + + + + A mask used to retrieve all flags. + + + + + Defines the enumeration values for a property type. + + + + + Gets display text from an enumeration information structure. + + + + + Gets an enumeration type from an enumeration information structure. + + + + + Gets a minimum value from an enumeration information structure. + + + + + Gets a set value from an enumeration information structure. + + + + + Gets a value from an enumeration information structure. + + + + + Represents a registered file system Known Folder + + + + + Release resources + + Indicates that this mothod is being called from Dispose() rather than the finalizer. + + + + Gets the path for this known folder. + + A object. + + + + Gets the category designation for this known folder. + + A value. + + + + Gets this known folder's canonical name. + + A object. + + + + Gets this known folder's description. + + A object. + + + + Gets the unique identifier for this known folder's parent folder. + + A value. + + + + Gets this known folder's relative path. + + A object. + + + + Gets this known folder's parsing name. + + A object. + + + + Gets this known folder's tool tip text. + + A object. + + + + Gets the resource identifier for this + known folder's tool tip text. + + A object. + + + + Gets this known folder's localized name. + + A object. + + + + Gets the resource identifier for this + known folder's localized name. + + A object. + + + + Gets this known folder's security attributes. + + A object. + + + + Gets this known folder's file attributes, + such as "read-only". + + A value. + + + + Gets an value that describes this known folder's behaviors. + + A value. + + + + Gets the unique identifier for this known folder's type. + + A value. + + + + Gets a string representation of this known folder's type. + + A object. + + + + Gets the unique identifier for this known folder. + + A value. + + + + Gets a value that indicates whether this known folder's path exists on the computer. + + A bool value. + If this property value is false, + the folder might be a virtual folder ( property will + be for virtual folders) + + + + Gets a value that states whether this known folder + can have its path set to a new value, + including any restrictions on the redirection. + + A value. + + + + Represents a non filesystem item (e.g. virtual items inside Control Panel) + + + + + Represents a Non FileSystem folder (e.g. My Computer, Control Panel) + + + + + Represents a registered non file system Known Folder + + + + + Release resources + + Indicates that this mothod is being called from Dispose() rather than the finalizer. + + + + Gets the path for this known folder. + + A object. + + + + Gets the category designation for this known folder. + + A value. + + + + Gets this known folder's canonical name. + + A object. + + + + Gets this known folder's description. + + A object. + + + + Gets the unique identifier for this known folder's parent folder. + + A value. + + + + Gets this known folder's relative path. + + A object. + + + + Gets this known folder's parsing name. + + A object. + + + + Gets this known folder's tool tip text. + + A object. + + + + Gets the resource identifier for this + known folder's tool tip text. + + A object. + + + + Gets this known folder's localized name. + + A object. + + + + Gets the resource identifier for this + known folder's localized name. + + A object. + + + + Gets this known folder's security attributes. + + A object. + + + + Gets this known folder's file attributes, + such as "read-only". + + A value. + + + + Gets an value that describes this known folder's behaviors. + + A value. + + + + Gets the unique identifier for this known folder's type. + + A value. + + + + Gets a string representation of this known folder's type. + + A object. + + + + Gets the unique identifier for this known folder. + + A value. + + + + Gets a value that indicates whether this known folder's path exists on the computer. + + A bool value. + If this property value is false, + the folder might be a virtual folder ( property will + be for virtual folders) + + + + Gets a value that states whether this known folder + can have its path set to a new value, + including any restrictions on the redirection. + + A value. + + + + Represents the different retrieval options for the thumbnail or icon, + such as extracting the thumbnail or icon from a file, + from the cache only, or from memory only. + + + + + The default behavior loads a thumbnail. If there is no thumbnail for the current ShellItem, + the icon is retrieved. The thumbnail or icon is extracted if it is not currently cached. + + + + + The CacheOnly behavior returns a cached thumbnail if it is available. Allows access to the disk, + but only to retrieve a cached item. If no cached thumbnail is available, a cached per-instance icon is returned but + a thumbnail or icon is not extracted. + + + + + The MemoryOnly behavior returns the item only if it is in memory. The disk is not accessed even if the item is cached. + Note that this only returns an already-cached icon and can fall back to a per-class icon if + an item has a per-instance icon that has not been cached yet. Retrieving a thumbnail, + even if it is cached, always requires the disk to be accessed, so this method should not be + called from the user interface (UI) thread without passing ShellThumbnailCacheOptions.MemoryOnly. + + + + + Represents the format options for the thumbnails and icons. + + + + + The default behavior loads a thumbnail. An HBITMAP for the icon of the item is retrieved if there is no thumbnail for the current Shell Item. + + + + + The ThumbnailOnly behavior returns only the thumbnails, never the icon. Note that not all items have thumbnails + so ShellThumbnailFormatOption.ThumbnailOnly can fail in these cases. + + + + + The IconOnly behavior returns only the icon, never the thumbnail. + + + + + Represents a link to existing FileSystem or Virtual item. + + + + + Path for this file e.g. c:\Windows\file.txt, + + + + + The path for this link + + + + + Gets the location to which this link points to. + + + + + Gets the ShellObject to which this link points to. + + + + + Gets or sets the link's title + + + + + Gets the arguments associated with this link. + + + + + Gets the comments associated with this link. + + + + + Factory class for creating typed ShellProperties. + Generates/caches expressions to create generic ShellProperties. + + + + + Creates a generic ShellProperty. + + PropertyKey + Shell object from which to get property + ShellProperty matching type of value in property. + + + + Creates a generic ShellProperty. + + PropertyKey + IPropertyStore from which to get property + ShellProperty matching type of value in property. + + + + Converts VarEnum to its associated .net Type. + + VarEnum value + Associated .net equivelent. + + + + Creates a property writer capable of setting multiple properties for a given ShellObject. + + + + + Writes the given property key and value. + + The property key. + The value associated with the key. + + + + Writes the given property key and value. To allow truncation of the given value, set allowTruncatedValue + to true. + + The property key. + The value associated with the key. + True to allow truncation (default); otherwise False. + If the writable property store is already + closed. + If AllowTruncatedValue is set to false + and while setting the value on the property it had to be truncated in a string or rounded in + a numeric value. + + + + Writes the specified property given the canonical name and a value. + + The canonical name. + The property value. + + + + Writes the specified property given the canonical name and a value. To allow truncation of the given value, set allowTruncatedValue + to true. + + The canonical name. + The property value. + True to allow truncation (default); otherwise False. + If the given canonical name is not valid. + + + + Writes the specified property using an IShellProperty and a value. + + The property name. + The property value. + + + + Writes the specified property given an IShellProperty and a value. To allow truncation of the given value, set allowTruncatedValue + to true. + + The property name. + The property value. + True to allow truncation (default); otherwise False. + + + + Writes the specified property using a strongly-typed ShellProperty and a value. + + The type of the property name. + The property name. + The property value. + + + + Writes the specified property given a strongly-typed ShellProperty and a value. To allow truncation of the given value, set allowTruncatedValue + to true. + + The type of the property name. + The property name. + The property value. + True to allow truncation (default); otherwise False. + + + + Release the native objects. + + + + + + + + + + Release the native and managed objects. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Call this method to commit the writes (calls to WriteProperty method) + and dispose off the writer. + + + + + Reference to parent ShellObject (associated with this writer) + + + + + Provides easy access to all the system properties (property keys and their descriptions) + + + + + Returns the property description for a given property key. + + Property key of the property whose description is required. + Property Description for a given property key + + + + Gets the property description for a given property's canonical name. + + Canonical name of the property whose description is required. + Property Description for a given property key + + + + System Properties + + + + + Name: System.AcquisitionID -- PKEY_AcquisitionID + Description: Hash to determine acquisition session. + + Type: Int32 -- VT_I4 + FormatID: {65A98875-3C80-40AB-ABBC-EFDAF77DBEE2}, 100 + + + + + Name: System.ApplicationName -- PKEY_ApplicationName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 18 (PIDSI_APPNAME) + + + + + Name: System.Author -- PKEY_Author + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 4 (PIDSI_AUTHOR) + + + + + Name: System.Capacity -- PKEY_Capacity + Description: The amount of total space in bytes. + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 3 (PID_VOLUME_CAPACITY) (Filesystem Volume Properties) + + + + + Name: System.Category -- PKEY_Category + Description: Legacy code treats this as VT_LPSTR. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 2 (PIDDSI_CATEGORY) + + + + + Name: System.Comment -- PKEY_Comment + Description: Comments. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 6 (PIDSI_COMMENTS) + + + + + Name: System.Company -- PKEY_Company + Description: The company or publisher. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 15 (PIDDSI_COMPANY) + + + + + Name: System.ComputerName -- PKEY_ComputerName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 5 (PID_COMPUTERNAME) + + + + + Name: System.ContainedItems -- PKEY_ContainedItems + Description: The list of type of items, this item contains. For example, this item contains urls, attachments etc. + This is represented as a vector array of GUIDs where each GUID represents certain type. + + Type: Multivalue Guid -- VT_VECTOR | VT_CLSID (For variants: VT_ARRAY | VT_CLSID) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 29 + + + + + Name: System.ContentStatus -- PKEY_ContentStatus + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 27 + + + + + Name: System.ContentType -- PKEY_ContentType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 26 + + + + + Name: System.Copyright -- PKEY_Copyright + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 11 (PIDMSI_COPYRIGHT) + + + + + Name: System.DateAccessed -- PKEY_DateAccessed + Description: The time of the last access to the item. The Indexing Service friendly name is 'access'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 16 (PID_STG_ACCESSTIME) + + + + + Name: System.DateAcquired -- PKEY_DateAcquired + Description: The time the file entered the system via acquisition. This is not the same as System.DateImported. + Examples are when pictures are acquired from a camera, or when music is purchased online. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {2CBAA8F5-D81F-47CA-B17A-F8D822300131}, 100 + + + + + Name: System.DateArchived -- PKEY_DateArchived + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {43F8D7B7-A444-4F87-9383-52271C9B915C}, 100 + + + + + Name: System.DateCompleted -- PKEY_DateCompleted + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {72FAB781-ACDA-43E5-B155-B2434F85E678}, 100 + + + + + Name: System.DateCreated -- PKEY_DateCreated + Description: The date and time the item was created. The Indexing Service friendly name is 'create'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 15 (PID_STG_CREATETIME) + + + + + Name: System.DateImported -- PKEY_DateImported + Description: The time the file is imported into a separate database. This is not the same as System.DateAcquired. (Eg, 2003:05:22 13:55:04) + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 18258 + + + + + Name: System.DateModified -- PKEY_DateModified + Description: The date and time of the last write to the item. The Indexing Service friendly name is 'write'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 14 (PID_STG_WRITETIME) + + + + + Name: System.DescriptionID -- PKEY_DescriptionID + Description: The contents of a SHDESCRIPTIONID structure as a buffer of bytes. + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 2 (PID_DESCRIPTIONID) + + + + + Name: System.DueDate -- PKEY_DueDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {3F8472B5-E0AF-4DB2-8071-C53FE76AE7CE}, 100 + + + + + Name: System.EndDate -- PKEY_EndDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {C75FAA05-96FD-49E7-9CB4-9F601082D553}, 100 + + + + + Name: System.FileAllocationSize -- PKEY_FileAllocationSize + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 18 (PID_STG_ALLOCSIZE) + + + + + Name: System.FileAttributes -- PKEY_FileAttributes + Description: This is the WIN32_FIND_DATA dwFileAttributes for the file-based item. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 13 (PID_STG_ATTRIBUTES) + + + + + Name: System.FileCount -- PKEY_FileCount + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 12 + + + + + Name: System.FileDescription -- PKEY_FileDescription + Description: This is a user-friendly description of the file. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 3 (PIDVSI_FileDescription) + + + + + Name: System.FileExtension -- PKEY_FileExtension + Description: This is the file extension of the file based item, including the leading period. + + If System.FileName is VT_EMPTY, then this property should be too. Otherwise, it should be derived + appropriately by the data source from System.FileName. If System.FileName does not have a file + extension, this value should be VT_EMPTY. + + To obtain the type of any item (including an item that is not a file), use System.ItemType. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" ".txt" + "\\server\share\mydir\goodnews.doc" ".doc" + "\\server\share\numbers.xls" ".xls" + "\\server\share\folder" VT_EMPTY + "c:\foo\MyFolder" VT_EMPTY + [desktop] VT_EMPTY + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E4F10A3C-49E6-405D-8288-A23BD4EEAA6C}, 100 + + + + + Name: System.FileFRN -- PKEY_FileFRN + Description: This is the unique file ID, also known as the File Reference Number. For a given file, this is the same value + as is found in the structure variable FILE_ID_BOTH_DIR_INFO.FileId, via GetFileInformationByHandleEx(). + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 21 (PID_STG_FRN) + + + + + Name: System.FileName -- PKEY_FileName + Description: This is the file name (including extension) of the file. + + It is possible that the item might not exist on a filesystem (ie, it may not be opened + using CreateFile). Nonetheless, if the item is represented as a file from the logical sense + (and its name follows standard Win32 file-naming syntax), then the data source should emit this property. + + If an item is not a file, then the value for this property is VT_EMPTY. See + System.ItemNameDisplay. + + This has the same value as System.ParsingName for items that are provided by the Shell's file folder. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "hello.txt" + "\\server\share\mydir\goodnews.doc" "goodnews.doc" + "\\server\share\numbers.xls" "numbers.xls" + "c:\foo\MyFolder" "MyFolder" + (email message) VT_EMPTY + (song on portable device) "song.wma" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {41CF5AE0-F75A-4806-BD87-59C7D9248EB9}, 100 + + + + + Name: System.FileOwner -- PKEY_FileOwner + Description: This is the owner of the file, according to the file system. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Misc) {9B174B34-40FF-11D2-A27E-00C04FC30871}, 4 (PID_MISC_OWNER) + + + + + Name: System.FileVersion -- PKEY_FileVersion + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 4 (PIDVSI_FileVersion) + + + + + Name: System.FindData -- PKEY_FindData + Description: WIN32_FIND_DATAW in buffer of bytes. + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 0 (PID_FINDDATA) + + + + + Name: System.FlagColor -- PKEY_FlagColor + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {67DF94DE-0CA7-4D6F-B792-053A3E4F03CF}, 100 + + + + + Name: System.FlagColorText -- PKEY_FlagColorText + Description: This is the user-friendly form of System.FlagColor. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {45EAE747-8E2A-40AE-8CBF-CA52ABA6152A}, 100 + + + + + Name: System.FlagStatus -- PKEY_FlagStatus + Description: Status of Flag. Values: (0=none 1=white 2=Red). cdoPR_FLAG_STATUS + + Type: Int32 -- VT_I4 + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 12 + + + + + Name: System.FlagStatusText -- PKEY_FlagStatusText + Description: This is the user-friendly form of System.FlagStatus. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DC54FD2E-189D-4871-AA01-08C2F57A4ABC}, 100 + + + + + Name: System.FreeSpace -- PKEY_FreeSpace + Description: The amount of free space in bytes. + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 2 (PID_VOLUME_FREE) (Filesystem Volume Properties) + + + + + Name: System.FullText -- PKEY_FullText + Description: This PKEY is used to specify search terms that should be applied as broadly as possible, + across all valid properties for the data source(s) being searched. It should not be + emitted from a data source. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1E3EE840-BC2B-476C-8237-2ACD1A839B22}, 6 + + + + + Name: System.Identity -- PKEY_Identity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A26F4AFC-7346-4299-BE47-EB1AE613139F}, 100 + + + + + Name: System.ImageParsingName -- PKEY_ImageParsingName + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D7750EE0-C6A4-48EC-B53E-B87B52E6D073}, 100 + + + + + Name: System.Importance -- PKEY_Importance + Description: + Type: Int32 -- VT_I4 + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 11 + + + + + Name: System.ImportanceText -- PKEY_ImportanceText + Description: This is the user-friendly form of System.Importance. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A3B29791-7713-4E1D-BB40-17DB85F01831}, 100 + + + + + Name: System.InfoTipText -- PKEY_InfoTipText + Description: The text (with formatted property values) to show in the infotip. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 17 + + + + + Name: System.InternalName -- PKEY_InternalName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 5 (PIDVSI_InternalName) + + + + + Name: System.IsAttachment -- PKEY_IsAttachment + Description: Identifies if this item is an attachment. + + Type: Boolean -- VT_BOOL + FormatID: {F23F425C-71A1-4FA8-922F-678EA4A60408}, 100 + + + + + Name: System.IsDefaultNonOwnerSaveLocation -- PKEY_IsDefaultNonOwnerSaveLocation + Description: Identifies the default save location for a library for non-owners of the library + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 5 + + + + + Name: System.IsDefaultSaveLocation -- PKEY_IsDefaultSaveLocation + Description: Identifies the default save location for a library for the owner of the library + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 3 + + + + + Name: System.IsDeleted -- PKEY_IsDeleted + Description: + Type: Boolean -- VT_BOOL + FormatID: {5CDA5FC8-33EE-4FF3-9094-AE7BD8868C4D}, 100 + + + + + Name: System.IsEncrypted -- PKEY_IsEncrypted + Description: Is the item encrypted? + + Type: Boolean -- VT_BOOL + FormatID: {90E5E14E-648B-4826-B2AA-ACAF790E3513}, 10 + + + + + Name: System.IsFlagged -- PKEY_IsFlagged + Description: + Type: Boolean -- VT_BOOL + FormatID: {5DA84765-E3FF-4278-86B0-A27967FBDD03}, 100 + + + + + Name: System.IsFlaggedComplete -- PKEY_IsFlaggedComplete + Description: + Type: Boolean -- VT_BOOL + FormatID: {A6F360D2-55F9-48DE-B909-620E090A647C}, 100 + + + + + Name: System.IsIncomplete -- PKEY_IsIncomplete + Description: Identifies if the message was not completely received for some error condition. + + Type: Boolean -- VT_BOOL + FormatID: {346C8BD1-2E6A-4C45-89A4-61B78E8E700F}, 100 + + + + + Name: System.IsLocationSupported -- PKEY_IsLocationSupported + Description: A bool value to know if a location is supported (locally indexable, or remotely indexed). + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 8 + + + + + Name: System.IsPinnedToNameSpaceTree -- PKEY_IsPinnedToNameSpaceTree + Description: A bool value to know if a shell folder is pinned to the navigation pane + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 2 + + + + + Name: System.IsRead -- PKEY_IsRead + Description: Has the item been read? + + Type: Boolean -- VT_BOOL + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 10 + + + + + Name: System.IsSearchOnlyItem -- PKEY_IsSearchOnlyItem + Description: Identifies if a location or a library is search only + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 4 + + + + + Name: System.IsSendToTarget -- PKEY_IsSendToTarget + Description: Provided by certain shell folders. Return TRUE if the folder is a valid Send To target. + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 33 + + + + + Name: System.IsShared -- PKEY_IsShared + Description: Is this item shared? This only checks for ACLs that are not inherited. + + Type: Boolean -- VT_BOOL + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 100 + + + + + Name: System.ItemAuthors -- PKEY_ItemAuthors + Description: This is the generic list of authors associated with an item. + + For example, the artist name for a track is the item author. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D0A04F0A-462A-48A4-BB2F-3706E88DBD7D}, 100 + + + + + Name: System.ItemClassType -- PKEY_ItemClassType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {048658AD-2DB8-41A4-BBB6-AC1EF1207EB1}, 100 + + + + + Name: System.ItemDate -- PKEY_ItemDate + Description: This is the main date for an item. The date of interest. + + For example, for photos this maps to System.Photo.DateTaken. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {F7DB74B4-4287-4103-AFBA-F1B13DCD75CF}, 100 + + + + + Name: System.ItemFolderNameDisplay -- PKEY_ItemFolderNameDisplay + Description: This is the user-friendly display name of the parent folder of an item. + + If System.ItemFolderPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it + should be derived appropriately by the data source from System.ItemFolderPathDisplay. + + If the folder is a file folder, the value will be localized if a localized name is available. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "bar" + "\\server\share\mydir\goodnews.doc" "mydir" + "\\server\share\numbers.xls" "share" + "c:\foo\MyFolder" "foo" + "/Mailbox Account/Inbox/'Re: Hello!'" "Inbox" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 2 (PID_STG_DIRECTORY) + + + + + Name: System.ItemFolderPathDisplay -- PKEY_ItemFolderPathDisplay + Description: This is the user-friendly display path of the parent folder of an item. + + If System.ItemPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it should + be derived appropriately by the data source from System.ItemPathDisplay. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "c:\foo\bar" + "\\server\share\mydir\goodnews.doc" "\\server\share\mydir" + "\\server\share\numbers.xls" "\\server\share" + "c:\foo\MyFolder" "c:\foo" + "/Mailbox Account/Inbox/'Re: Hello!'" "/Mailbox Account/Inbox" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 6 + + + + + Name: System.ItemFolderPathDisplayNarrow -- PKEY_ItemFolderPathDisplayNarrow + Description: This is the user-friendly display path of the parent folder of an item. The format of the string + should be tailored such that the folder name comes first, to optimize for a narrow viewing column. + + If the folder is a file folder, the value includes localized names if they are present. + + If System.ItemFolderPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it should + be derived appropriately by the data source from System.ItemFolderPathDisplay. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "bar (c:\foo)" + "\\server\share\mydir\goodnews.doc" "mydir (\\server\share)" + "\\server\share\numbers.xls" "share (\\server)" + "c:\foo\MyFolder" "foo (c:\)" + "/Mailbox Account/Inbox/'Re: Hello!'" "Inbox (/Mailbox Account)" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DABD30ED-0043-4789-A7F8-D013A4736622}, 100 + + + + + Name: System.ItemName -- PKEY_ItemName + Description: This is the base-name of the System.ItemNameDisplay. + + If the item is a file this property + includes the extension in all cases, and will be localized if a localized name is available. + + If the item is a message, then the value of this property does not include the forwarding or + reply prefixes (see System.ItemNamePrefix). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6B8DA074-3B5C-43BC-886F-0A2CDCE00B6F}, 100 + + + + + Name: System.ItemNameDisplay -- PKEY_ItemNameDisplay + Description: This is the display name in "most complete" form. This is the best effort unique representation + of the name of an item that makes sense for end users to read. It is the concatentation of + System.ItemNamePrefix and System.ItemName. + + If the item is a file this property + includes the extension in all cases, and will be localized if a localized name is available. + + There are acceptable cases when System.FileName is not VT_EMPTY, yet the value of this property + is completely different. Email messages are a key example. If the item is an email message, + the item name is likely the subject. In that case, the value must be the concatenation of the + System.ItemNamePrefix and System.ItemName. Since the value of System.ItemNamePrefix excludes + any trailing whitespace, the concatenation must include a whitespace when generating System.ItemNameDisplay. + + Note that this property is not guaranteed to be unique, but the idea is to promote the most likely + candidate that can be unique and also makes sense for end users. For example, for documents, you + might think about using System.Title as the System.ItemNameDisplay, but in practice the title of + the documents may not be useful or unique enough to be of value as the sole System.ItemNameDisplay. + Instead, providing the value of System.FileName as the value of System.ItemNameDisplay is a better + candidate. In Windows Mail, the emails are stored in the file system as .eml files and the + System.FileName for those files are not human-friendly as they contain GUIDs. In this example, + promoting System.Subject as System.ItemNameDisplay makes more sense. + + Compatibility notes: + + Shell folder implementations on Vista: use PKEY_ItemNameDisplay for the name column when + you want Explorer to call ISF::GetDisplayNameOf(SHGDN_NORMAL) to get the value of the name. Use + another PKEY (like PKEY_ItemName) when you want Explorer to call either the folder's property store or + ISF2::GetDetailsEx in order to get the value of the name. + + Shell folder implementations on XP: the first column needs to be the name column, and Explorer + will call ISF::GetDisplayNameOf to get the value of the name. The PKEY/SCID does not matter. + + Example values: + + File: "hello.txt" + Message: "Re: Let's talk about Tom's argyle socks!" + Device folder: "song.wma" + Folder: "Documents" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10 (PID_STG_NAME) + + + + + Name: System.ItemNamePrefix -- PKEY_ItemNamePrefix + Description: This is the prefix of an item, used for email messages. + where the subject begins with "Re:" which is the prefix. + + If the item is a file, then the value of this property is VT_EMPTY. + + If the item is a message, then the value of this property is the forwarding or reply + prefixes (including delimiting colon, but no whitespace), or VT_EMPTY if there is no prefix. + + Example values: + + System.ItemNamePrefix System.ItemName System.ItemNameDisplay + --------------------- ------------------- ---------------------- + VT_EMPTY "Great day" "Great day" + "Re:" "Great day" "Re: Great day" + "Fwd: " "Monthly budget" "Fwd: Monthly budget" + VT_EMPTY "accounts.xls" "accounts.xls" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D7313FF1-A77A-401C-8C99-3DBDD68ADD36}, 100 + + + + + Name: System.ItemParticipants -- PKEY_ItemParticipants + Description: This is the generic list of people associated with an item and who contributed + to the item. + + For example, this is the combination of people in the To list, Cc list and + sender of an email message. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D4D0AA16-9948-41A4-AA85-D97FF9646993}, 100 + + + + + Name: System.ItemPathDisplay -- PKEY_ItemPathDisplay + Description: This is the user-friendly display path to the item. + + If the item is a file or folder this property + includes the extension in all cases, and will be localized if a localized name is available. + + For other items,this is the user-friendly equivalent, assuming the item exists in hierarchical storage. + + Unlike System.ItemUrl, this property value does not include the URL scheme. + + To parse an item path, use System.ItemUrl or System.ParsingPath. To reference shell + namespace items using shell APIs, use System.ParsingPath. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "c:\foo\bar\hello.txt" + "\\server\share\mydir\goodnews.doc" "\\server\share\mydir\goodnews.doc" + "\\server\share\numbers.xls" "\\server\share\numbers.xls" + "c:\foo\MyFolder" "c:\foo\MyFolder" + "/Mailbox Account/Inbox/'Re: Hello!'" "/Mailbox Account/Inbox/'Re: Hello!'" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 7 + + + + + Name: System.ItemPathDisplayNarrow -- PKEY_ItemPathDisplayNarrow + Description: This is the user-friendly display path to the item. The format of the string should be + tailored such that the name comes first, to optimize for a narrow viewing column. + + If the item is a file, the value excludes the file extension, and includes localized names if they are present. + If the item is a message, the value includes the System.ItemNamePrefix. + + To parse an item path, use System.ItemUrl or System.ParsingPath. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "hello (c:\foo\bar)" + "\\server\share\mydir\goodnews.doc" "goodnews (\\server\share\mydir)" + "\\server\share\folder" "folder (\\server\share)" + "c:\foo\MyFolder" "MyFolder (c:\foo)" + "/Mailbox Account/Inbox/'Re: Hello!'" "Re: Hello! (/Mailbox Account/Inbox)" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 8 + + + + + Name: System.ItemType -- PKEY_ItemType + Description: This is the canonical type of the item and is intended to be programmatically + parsed. + + If there is no canonical type, the value is VT_EMPTY. + + If the item is a file (ie, System.FileName is not VT_EMPTY), the value is the same as + System.FileExtension. + + Use System.ItemTypeText when you want to display the type to end users in a view. (If + the item is a file, passing the System.ItemType value to PSFormatForDisplay will + result in the same value as System.ItemTypeText.) + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" ".txt" + "\\server\share\mydir\goodnews.doc" ".doc" + "\\server\share\folder" "Directory" + "c:\foo\MyFolder" "Directory" + [desktop] "Folder" + "/Mailbox Account/Inbox/'Re: Hello!'" "MAPI/IPM.Message" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 11 + + + + + Name: System.ItemTypeText -- PKEY_ItemTypeText + Description: This is the user friendly type name of the item. This is not intended to be + programmatically parsed. + + If System.ItemType is VT_EMPTY, the value of this property is also VT_EMPTY. + + If the item is a file, the value of this property is the same as if you passed the + file's System.ItemType value to PSFormatForDisplay. + + This property should not be confused with System.Kind, where System.Kind is a high-level + user friendly kind name. For example, for a document, System.Kind = "Document" and + System.Item.Type = ".doc" and System.Item.TypeText = "Microsoft Word Document" + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "Text File" + "\\server\share\mydir\goodnews.doc" "Microsoft Word Document" + "\\server\share\folder" "File Folder" + "c:\foo\MyFolder" "File Folder" + "/Mailbox Account/Inbox/'Re: Hello!'" "Outlook E-Mail Message" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 4 (PID_STG_STORAGETYPE) + + + + + Name: System.ItemUrl -- PKEY_ItemUrl + Description: This always represents a well formed URL that points to the item. + + To reference shell namespace items using shell APIs, use System.ParsingPath. + + Example values: + + Files: "file:///c:/foo/bar/hello.txt" + "csc://{GUID}/..." + Messages: "mapi://..." + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 9 (DISPID_QUERY_VIRTUALPATH) + + + + + Name: System.Keywords -- PKEY_Keywords + Description: The keywords for the item. Also referred to as tags. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 5 (PIDSI_KEYWORDS) + + + + + Name: System.Kind -- PKEY_Kind + Description: System.Kind is used to map extensions to various .Search folders. + Extensions are mapped to Kinds at HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\KindMap + The list of kinds is not extensible. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {1E3EE840-BC2B-476C-8237-2ACD1A839B22}, 3 + + + + + Name: System.KindText -- PKEY_KindText + Description: This is the user-friendly form of System.Kind. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F04BEF95-C585-4197-A2B7-DF46FDC9EE6D}, 100 + + + + + Name: System.Language -- PKEY_Language + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 28 + + + + + Name: System.MileageInformation -- PKEY_MileageInformation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FDF84370-031A-4ADD-9E91-0D775F1C6605}, 100 + + + + + Name: System.MIMEType -- PKEY_MIMEType + Description: The MIME type. Eg, for EML files: 'message/rfc822'. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B63E350-9CCC-11D0-BCDB-00805FCCCE04}, 5 + + + + + Name: System.NamespaceCLSID -- PKEY_NamespaceCLSID + Description: The CLSID of the name space extension for an item, the object that implements IShellFolder for this item + + Type: Guid -- VT_CLSID + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 6 + + + + + Name: System.Null -- PKEY_Null + Description: + Type: Null -- VT_NULL + FormatID: {00000000-0000-0000-0000-000000000000}, 0 + + + + + Name: System.OfflineAvailability -- PKEY_OfflineAvailability + Description: + Type: UInt32 -- VT_UI4 + FormatID: {A94688B6-7D9F-4570-A648-E3DFC0AB2B3F}, 100 + + + + + Name: System.OfflineStatus -- PKEY_OfflineStatus + Description: + Type: UInt32 -- VT_UI4 + FormatID: {6D24888F-4718-4BDA-AFED-EA0FB4386CD8}, 100 + + + + + Name: System.OriginalFileName -- PKEY_OriginalFileName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 6 + + + + + Name: System.OwnerSID -- PKEY_OwnerSID + Description: SID of the user that owns the library. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 6 + + + + + Name: System.ParentalRating -- PKEY_ParentalRating + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 21 (PIDMSI_PARENTAL_RATING) + + + + + Name: System.ParentalRatingReason -- PKEY_ParentalRatingReason + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {10984E0A-F9F2-4321-B7EF-BAF195AF4319}, 100 + + + + + Name: System.ParentalRatingsOrganization -- PKEY_ParentalRatingsOrganization + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A7FE0840-1344-46F0-8D37-52ED712A4BF9}, 100 + + + + + Name: System.ParsingBindContext -- PKEY_ParsingBindContext + Description: used to get the IBindCtx for an item for parsing + + Type: Any -- VT_NULL Legacy code may treat this as VT_UNKNOWN. + FormatID: {DFB9A04D-362F-4CA3-B30B-0254B17B5B84}, 100 + + + + + Name: System.ParsingName -- PKEY_ParsingName + Description: The shell namespace name of an item relative to a parent folder. This name may be passed to + IShellFolder::ParseDisplayName() of the parent shell folder. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 24 + + + + + Name: System.ParsingPath -- PKEY_ParsingPath + Description: This is the shell namespace path to the item. This path may be passed to + SHParseDisplayName to parse the path to the correct shell folder. + + If the item is a file, the value is identical to System.ItemPathDisplay. + + If the item cannot be accessed through the shell namespace, this value is VT_EMPTY. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 30 + + + + + Name: System.PerceivedType -- PKEY_PerceivedType + Description: The perceived type of a shell item, based upon its canonical type. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 9 + + + + + Name: System.PercentFull -- PKEY_PercentFull + Description: The amount filled as a percentage, multiplied by 100 (ie, the valid range is 0 through 100). + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 5 (Filesystem Volume Properties) + + + + + Name: System.Priority -- PKEY_Priority + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {9C1FCF74-2D97-41BA-B4AE-CB2E3661A6E4}, 5 + + + + + Name: System.PriorityText -- PKEY_PriorityText + Description: This is the user-friendly form of System.Priority. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D98BE98B-B86B-4095-BF52-9D23B2E0A752}, 100 + + + + + Name: System.Project -- PKEY_Project + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {39A7F922-477C-48DE-8BC8-B28441E342E3}, 100 + + + + + Name: System.ProviderItemID -- PKEY_ProviderItemID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F21D9941-81F0-471A-ADEE-4E74B49217ED}, 100 + + + + + Name: System.Rating -- PKEY_Rating + Description: Indicates the users preference rating of an item on a scale of 1-99 (1-12 = One Star, + 13-37 = Two Stars, 38-62 = Three Stars, 63-87 = Four Stars, 88-99 = Five Stars). + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 9 (PIDMSI_RATING) + + + + + Name: System.RatingText -- PKEY_RatingText + Description: This is the user-friendly form of System.Rating. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {90197CA7-FD8F-4E8C-9DA3-B57E1E609295}, 100 + + + + + Name: System.Sensitivity -- PKEY_Sensitivity + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {F8D3F6AC-4874-42CB-BE59-AB454B30716A}, 100 + + + + + Name: System.SensitivityText -- PKEY_SensitivityText + Description: This is the user-friendly form of System.Sensitivity. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D0C7F054-3F72-4725-8527-129A577CB269}, 100 + + + + + Name: System.SFGAOFlags -- PKEY_SFGAOFlags + Description: IShellFolder::GetAttributesOf flags, with SFGAO_PKEYSFGAOMASK attributes masked out. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 25 + + + + + Name: System.SharedWith -- PKEY_SharedWith + Description: Who is the item shared with? + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 200 + + + + + Name: System.ShareUserRating -- PKEY_ShareUserRating + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 12 (PIDMSI_SHARE_USER_RATING) + + + + + Name: System.SharingStatus -- PKEY_SharingStatus + Description: What is the item's sharing status (not shared, shared, everyone (homegroup or everyone), or private)? + + Type: UInt32 -- VT_UI4 + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 300 + + + + + Name: System.SimpleRating -- PKEY_SimpleRating + Description: Indicates the users preference rating of an item on a scale of 0-5 (0=unrated, 1=One Star, 2=Two Stars, 3=Three Stars, + 4=Four Stars, 5=Five Stars) + + Type: UInt32 -- VT_UI4 + FormatID: {A09F084E-AD41-489F-8076-AA5BE3082BCA}, 100 + + + + + Name: System.Size -- PKEY_Size + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 12 (PID_STG_SIZE) + + + + + Name: System.SoftwareUsed -- PKEY_SoftwareUsed + Description: PropertyTagSoftwareUsed + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 305 + + + + + Name: System.SourceItem -- PKEY_SourceItem + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {668CDFA5-7A1B-4323-AE4B-E527393A1D81}, 100 + + + + + Name: System.StartDate -- PKEY_StartDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {48FD6EC8-8A12-4CDF-A03E-4EC5A511EDDE}, 100 + + + + + Name: System.Status -- PKEY_Status + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_IntSite) {000214A1-0000-0000-C000-000000000046}, 9 + + + + + Name: System.Subject -- PKEY_Subject + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 3 (PIDSI_SUBJECT) + + + + + Name: System.Thumbnail -- PKEY_Thumbnail + Description: A data that represents the thumbnail in VT_CF format. + + Type: Clipboard -- VT_CF + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 17 (PIDSI_THUMBNAIL) + + + + + Name: System.ThumbnailCacheId -- PKEY_ThumbnailCacheId + Description: Unique value that can be used as a key to cache thumbnails. The value changes when the name, volume, or data modified + of an item changes. + + Type: UInt64 -- VT_UI8 + FormatID: {446D16B1-8DAD-4870-A748-402EA43D788C}, 100 + + + + + Name: System.ThumbnailStream -- PKEY_ThumbnailStream + Description: Data that represents the thumbnail in VT_STREAM format that GDI+/WindowsCodecs supports (jpg, png, etc). + + Type: Stream -- VT_STREAM + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 27 + + + + + Name: System.Title -- PKEY_Title + Description: Title of item. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 2 (PIDSI_TITLE) + + + + + Name: System.TotalFileSize -- PKEY_TotalFileSize + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 14 + + + + + Name: System.Trademarks -- PKEY_Trademarks + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 9 (PIDVSI_Trademarks) + + + + + AppUserModel Properties + + + + + Name: System.AppUserModel.ExcludeFromShowInNewInstall -- PKEY_AppUserModel_ExcludeFromShowInNewInstall + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 8 + + + + + Name: System.AppUserModel.ID -- PKEY_AppUserModel_ID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5 + + + + + Name: System.AppUserModel.IsDestListSeparator -- PKEY_AppUserModel_IsDestListSeparator + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 6 + + + + + Name: System.AppUserModel.PreventPinning -- PKEY_AppUserModel_PreventPinning + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 9 + + + + + Name: System.AppUserModel.RelaunchCommand -- PKEY_AppUserModel_RelaunchCommand + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 2 + + + + + Name: System.AppUserModel.RelaunchDisplayNameResource -- PKEY_AppUserModel_RelaunchDisplayNameResource + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 4 + + + + + Name: System.AppUserModel.RelaunchIconResource -- PKEY_AppUserModel_RelaunchIconResource + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 3 + + + + + Audio Properties + + + + + Name: System.Audio.ChannelCount -- PKEY_Audio_ChannelCount + Description: Indicates the channel count for the audio file. Values: 1 (mono), 2 (stereo). + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 7 (PIDASI_CHANNEL_COUNT) + + + + + Name: System.Audio.Compression -- PKEY_Audio_Compression + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 10 (PIDASI_COMPRESSION) + + + + + Name: System.Audio.EncodingBitrate -- PKEY_Audio_EncodingBitrate + Description: Indicates the average data rate in Hz for the audio file in "bits per second". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 4 (PIDASI_AVG_DATA_RATE) + + + + + Name: System.Audio.Format -- PKEY_Audio_Format + Description: Indicates the format of the audio file. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_BSTR. + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 2 (PIDASI_FORMAT) + + + + + Name: System.Audio.IsVariableBitRate -- PKEY_Audio_IsVariableBitRate + Description: + Type: Boolean -- VT_BOOL + FormatID: {E6822FEE-8C17-4D62-823C-8E9CFCBD1D5C}, 100 + + + + + Name: System.Audio.PeakValue -- PKEY_Audio_PeakValue + Description: + Type: UInt32 -- VT_UI4 + FormatID: {2579E5D0-1116-4084-BD9A-9B4F7CB4DF5E}, 100 + + + + + Name: System.Audio.SampleRate -- PKEY_Audio_SampleRate + Description: Indicates the audio sample rate for the audio file in "samples per second". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 5 (PIDASI_SAMPLE_RATE) + + + + + Name: System.Audio.SampleSize -- PKEY_Audio_SampleSize + Description: Indicates the audio sample size for the audio file in "bits per sample". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 6 (PIDASI_SAMPLE_SIZE) + + + + + Name: System.Audio.StreamName -- PKEY_Audio_StreamName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 9 (PIDASI_STREAM_NAME) + + + + + Name: System.Audio.StreamNumber -- PKEY_Audio_StreamNumber + Description: + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 8 (PIDASI_STREAM_NUMBER) + + + + + Calendar Properties + + + + + Name: System.Calendar.Duration -- PKEY_Calendar_Duration + Description: The duration as specified in a string. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {293CA35A-09AA-4DD2-B180-1FE245728A52}, 100 + + + + + Name: System.Calendar.IsOnline -- PKEY_Calendar_IsOnline + Description: Identifies if the event is an online event. + + Type: Boolean -- VT_BOOL + FormatID: {BFEE9149-E3E2-49A7-A862-C05988145CEC}, 100 + + + + + Name: System.Calendar.IsRecurring -- PKEY_Calendar_IsRecurring + Description: + Type: Boolean -- VT_BOOL + FormatID: {315B9C8D-80A9-4EF9-AE16-8E746DA51D70}, 100 + + + + + Name: System.Calendar.Location -- PKEY_Calendar_Location + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F6272D18-CECC-40B1-B26A-3911717AA7BD}, 100 + + + + + Name: System.Calendar.OptionalAttendeeAddresses -- PKEY_Calendar_OptionalAttendeeAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D55BAE5A-3892-417A-A649-C6AC5AAAEAB3}, 100 + + + + + Name: System.Calendar.OptionalAttendeeNames -- PKEY_Calendar_OptionalAttendeeNames + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {09429607-582D-437F-84C3-DE93A2B24C3C}, 100 + + + + + Name: System.Calendar.OrganizerAddress -- PKEY_Calendar_OrganizerAddress + Description: Address of the organizer organizing the event. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {744C8242-4DF5-456C-AB9E-014EFB9021E3}, 100 + + + + + Name: System.Calendar.OrganizerName -- PKEY_Calendar_OrganizerName + Description: Name of the organizer organizing the event. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AAA660F9-9865-458E-B484-01BC7FE3973E}, 100 + + + + + Name: System.Calendar.ReminderTime -- PKEY_Calendar_ReminderTime + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {72FC5BA4-24F9-4011-9F3F-ADD27AFAD818}, 100 + + + + + Name: System.Calendar.RequiredAttendeeAddresses -- PKEY_Calendar_RequiredAttendeeAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {0BA7D6C3-568D-4159-AB91-781A91FB71E5}, 100 + + + + + Name: System.Calendar.RequiredAttendeeNames -- PKEY_Calendar_RequiredAttendeeNames + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {B33AF30B-F552-4584-936C-CB93E5CDA29F}, 100 + + + + + Name: System.Calendar.Resources -- PKEY_Calendar_Resources + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {00F58A38-C54B-4C40-8696-97235980EAE1}, 100 + + + + + Name: System.Calendar.ResponseStatus -- PKEY_Calendar_ResponseStatus + Description: This property stores the status of the user responses to meetings in her calendar. + + Type: UInt16 -- VT_UI2 + FormatID: {188C1F91-3C40-4132-9EC5-D8B03B72A8A2}, 100 + + + + + Name: System.Calendar.ShowTimeAs -- PKEY_Calendar_ShowTimeAs + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {5BF396D4-5EB2-466F-BDE9-2FB3F2361D6E}, 100 + + + + + Name: System.Calendar.ShowTimeAsText -- PKEY_Calendar_ShowTimeAsText + Description: This is the user-friendly form of System.Calendar.ShowTimeAs. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {53DA57CF-62C0-45C4-81DE-7610BCEFD7F5}, 100 + + + + + Communication Properties + + + + + Name: System.Communication.AccountName -- PKEY_Communication_AccountName + Description: Account Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 9 + + + + + Name: System.Communication.DateItemExpires -- PKEY_Communication_DateItemExpires + Description: Date the item expires due to the retention policy. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {428040AC-A177-4C8A-9760-F6F761227F9A}, 100 + + + + + Name: System.Communication.FollowupIconIndex -- PKEY_Communication_FollowupIconIndex + Description: This is the icon index used on messages marked for followup. + + Type: Int32 -- VT_I4 + FormatID: {83A6347E-6FE4-4F40-BA9C-C4865240D1F4}, 100 + + + + + Name: System.Communication.HeaderItem -- PKEY_Communication_HeaderItem + Description: This property will be true if the item is a header item which means the item hasn't been fully downloaded. + + Type: Boolean -- VT_BOOL + FormatID: {C9C34F84-2241-4401-B607-BD20ED75AE7F}, 100 + + + + + Name: System.Communication.PolicyTag -- PKEY_Communication_PolicyTag + Description: This a string used to identify the retention policy applied to the item. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {EC0B4191-AB0B-4C66-90B6-C6637CDEBBAB}, 100 + + + + + Name: System.Communication.SecurityFlags -- PKEY_Communication_SecurityFlags + Description: Security flags associated with the item to know if the item is encrypted, signed or DRM enabled. + + Type: Int32 -- VT_I4 + FormatID: {8619A4B6-9F4D-4429-8C0F-B996CA59E335}, 100 + + + + + Name: System.Communication.Suffix -- PKEY_Communication_Suffix + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {807B653A-9E91-43EF-8F97-11CE04EE20C5}, 100 + + + + + Name: System.Communication.TaskStatus -- PKEY_Communication_TaskStatus + Description: + Type: UInt16 -- VT_UI2 + FormatID: {BE1A72C6-9A1D-46B7-AFE7-AFAF8CEF4999}, 100 + + + + + Name: System.Communication.TaskStatusText -- PKEY_Communication_TaskStatusText + Description: This is the user-friendly form of System.Communication.TaskStatus. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A6744477-C237-475B-A075-54F34498292A}, 100 + + + + + Computer Properties + + + + + Name: System.Computer.DecoratedFreeSpace -- PKEY_Computer_DecoratedFreeSpace + Description: Free space and total space: "%s free of %s" + + Type: Multivalue UInt64 -- VT_VECTOR | VT_UI8 (For variants: VT_ARRAY | VT_UI8) + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 7 (Filesystem Volume Properties) + + + + + Contact Properties + + + + + Name: System.Contact.Anniversary -- PKEY_Contact_Anniversary + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {9AD5BADB-CEA7-4470-A03D-B84E51B9949E}, 100 + + + + + Name: System.Contact.AssistantName -- PKEY_Contact_AssistantName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CD102C9C-5540-4A88-A6F6-64E4981C8CD1}, 100 + + + + + Name: System.Contact.AssistantTelephone -- PKEY_Contact_AssistantTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9A93244D-A7AD-4FF8-9B99-45EE4CC09AF6}, 100 + + + + + Name: System.Contact.Birthday -- PKEY_Contact_Birthday + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 47 + + + + + Name: System.Contact.BusinessAddress -- PKEY_Contact_BusinessAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {730FB6DD-CF7C-426B-A03F-BD166CC9EE24}, 100 + + + + + Name: System.Contact.BusinessAddressCity -- PKEY_Contact_BusinessAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {402B5934-EC5A-48C3-93E6-85E86A2D934E}, 100 + + + + + Name: System.Contact.BusinessAddressCountry -- PKEY_Contact_BusinessAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {B0B87314-FCF6-4FEB-8DFF-A50DA6AF561C}, 100 + + + + + Name: System.Contact.BusinessAddressPostalCode -- PKEY_Contact_BusinessAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E1D4A09E-D758-4CD1-B6EC-34A8B5A73F80}, 100 + + + + + Name: System.Contact.BusinessAddressPostOfficeBox -- PKEY_Contact_BusinessAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BC4E71CE-17F9-48D5-BEE9-021DF0EA5409}, 100 + + + + + Name: System.Contact.BusinessAddressState -- PKEY_Contact_BusinessAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {446F787F-10C4-41CB-A6C4-4D0343551597}, 100 + + + + + Name: System.Contact.BusinessAddressStreet -- PKEY_Contact_BusinessAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DDD1460F-C0BF-4553-8CE4-10433C908FB0}, 100 + + + + + Name: System.Contact.BusinessFaxNumber -- PKEY_Contact_BusinessFaxNumber + Description: Business fax number of the contact. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {91EFF6F3-2E27-42CA-933E-7C999FBE310B}, 100 + + + + + Name: System.Contact.BusinessHomePage -- PKEY_Contact_BusinessHomePage + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {56310920-2491-4919-99CE-EADB06FAFDB2}, 100 + + + + + Name: System.Contact.BusinessTelephone -- PKEY_Contact_BusinessTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6A15E5A0-0A1E-4CD7-BB8C-D2F1B0C929BC}, 100 + + + + + Name: System.Contact.CallbackTelephone -- PKEY_Contact_CallbackTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BF53D1C3-49E0-4F7F-8567-5A821D8AC542}, 100 + + + + + Name: System.Contact.CarTelephone -- PKEY_Contact_CarTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8FDC6DEA-B929-412B-BA90-397A257465FE}, 100 + + + + + Name: System.Contact.Children -- PKEY_Contact_Children + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D4729704-8EF1-43EF-9024-2BD381187FD5}, 100 + + + + + Name: System.Contact.CompanyMainTelephone -- PKEY_Contact_CompanyMainTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8589E481-6040-473D-B171-7FA89C2708ED}, 100 + + + + + Name: System.Contact.Department -- PKEY_Contact_Department + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FC9F7306-FF8F-4D49-9FB6-3FFE5C0951EC}, 100 + + + + + Name: System.Contact.EmailAddress -- PKEY_Contact_EmailAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F8FA7FA3-D12B-4785-8A4E-691A94F7A3E7}, 100 + + + + + Name: System.Contact.EmailAddress2 -- PKEY_Contact_EmailAddress2 + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {38965063-EDC8-4268-8491-B7723172CF29}, 100 + + + + + Name: System.Contact.EmailAddress3 -- PKEY_Contact_EmailAddress3 + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {644D37B4-E1B3-4BAD-B099-7E7C04966ACA}, 100 + + + + + Name: System.Contact.EmailAddresses -- PKEY_Contact_EmailAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {84D8F337-981D-44B3-9615-C7596DBA17E3}, 100 + + + + + Name: System.Contact.EmailName -- PKEY_Contact_EmailName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CC6F4F24-6083-4BD4-8754-674D0DE87AB8}, 100 + + + + + Name: System.Contact.FileAsName -- PKEY_Contact_FileAsName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F1A24AA7-9CA7-40F6-89EC-97DEF9FFE8DB}, 100 + + + + + Name: System.Contact.FirstName -- PKEY_Contact_FirstName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {14977844-6B49-4AAD-A714-A4513BF60460}, 100 + + + + + Name: System.Contact.FullName -- PKEY_Contact_FullName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {635E9051-50A5-4BA2-B9DB-4ED056C77296}, 100 + + + + + Name: System.Contact.Gender -- PKEY_Contact_Gender + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3C8CEE58-D4F0-4CF9-B756-4E5D24447BCD}, 100 + + + + + Name: System.Contact.GenderValue -- PKEY_Contact_GenderValue + Description: + Type: UInt16 -- VT_UI2 + FormatID: {3C8CEE58-D4F0-4CF9-B756-4E5D24447BCD}, 101 + + + + + Name: System.Contact.Hobbies -- PKEY_Contact_Hobbies + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {5DC2253F-5E11-4ADF-9CFE-910DD01E3E70}, 100 + + + + + Name: System.Contact.HomeAddress -- PKEY_Contact_HomeAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {98F98354-617A-46B8-8560-5B1B64BF1F89}, 100 + + + + + Name: System.Contact.HomeAddressCity -- PKEY_Contact_HomeAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 65 + + + + + Name: System.Contact.HomeAddressCountry -- PKEY_Contact_HomeAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {08A65AA1-F4C9-43DD-9DDF-A33D8E7EAD85}, 100 + + + + + Name: System.Contact.HomeAddressPostalCode -- PKEY_Contact_HomeAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8AFCC170-8A46-4B53-9EEE-90BAE7151E62}, 100 + + + + + Name: System.Contact.HomeAddressPostOfficeBox -- PKEY_Contact_HomeAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7B9F6399-0A3F-4B12-89BD-4ADC51C918AF}, 100 + + + + + Name: System.Contact.HomeAddressState -- PKEY_Contact_HomeAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C89A23D0-7D6D-4EB8-87D4-776A82D493E5}, 100 + + + + + Name: System.Contact.HomeAddressStreet -- PKEY_Contact_HomeAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0ADEF160-DB3F-4308-9A21-06237B16FA2A}, 100 + + + + + Name: System.Contact.HomeFaxNumber -- PKEY_Contact_HomeFaxNumber + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {660E04D6-81AB-4977-A09F-82313113AB26}, 100 + + + + + Name: System.Contact.HomeTelephone -- PKEY_Contact_HomeTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 20 + + + + + Name: System.Contact.IMAddress -- PKEY_Contact_IMAddress + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D68DBD8A-3374-4B81-9972-3EC30682DB3D}, 100 + + + + + Name: System.Contact.Initials -- PKEY_Contact_Initials + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F3D8F40D-50CB-44A2-9718-40CB9119495D}, 100 + + + + + Name: System.Contact.JobTitle -- PKEY_Contact_JobTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 6 + + + + + Name: System.Contact.Label -- PKEY_Contact_Label + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {97B0AD89-DF49-49CC-834E-660974FD755B}, 100 + + + + + Name: System.Contact.LastName -- PKEY_Contact_LastName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8F367200-C270-457C-B1D4-E07C5BCD90C7}, 100 + + + + + Name: System.Contact.MailingAddress -- PKEY_Contact_MailingAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C0AC206A-827E-4650-95AE-77E2BB74FCC9}, 100 + + + + + Name: System.Contact.MiddleName -- PKEY_Contact_MiddleName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 71 + + + + + Name: System.Contact.MobileTelephone -- PKEY_Contact_MobileTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 35 + + + + + Name: System.Contact.NickName -- PKEY_Contact_NickName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 74 + + + + + Name: System.Contact.OfficeLocation -- PKEY_Contact_OfficeLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 7 + + + + + Name: System.Contact.OtherAddress -- PKEY_Contact_OtherAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {508161FA-313B-43D5-83A1-C1ACCF68622C}, 100 + + + + + Name: System.Contact.OtherAddressCity -- PKEY_Contact_OtherAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6E682923-7F7B-4F0C-A337-CFCA296687BF}, 100 + + + + + Name: System.Contact.OtherAddressCountry -- PKEY_Contact_OtherAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8F167568-0AAE-4322-8ED9-6055B7B0E398}, 100 + + + + + Name: System.Contact.OtherAddressPostalCode -- PKEY_Contact_OtherAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {95C656C1-2ABF-4148-9ED3-9EC602E3B7CD}, 100 + + + + + Name: System.Contact.OtherAddressPostOfficeBox -- PKEY_Contact_OtherAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8B26EA41-058F-43F6-AECC-4035681CE977}, 100 + + + + + Name: System.Contact.OtherAddressState -- PKEY_Contact_OtherAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {71B377D6-E570-425F-A170-809FAE73E54E}, 100 + + + + + Name: System.Contact.OtherAddressStreet -- PKEY_Contact_OtherAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FF962609-B7D6-4999-862D-95180D529AEA}, 100 + + + + + Name: System.Contact.PagerTelephone -- PKEY_Contact_PagerTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D6304E01-F8F5-4F45-8B15-D024A6296789}, 100 + + + + + Name: System.Contact.PersonalTitle -- PKEY_Contact_PersonalTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 69 + + + + + Name: System.Contact.PrimaryAddressCity -- PKEY_Contact_PrimaryAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C8EA94F0-A9E3-4969-A94B-9C62A95324E0}, 100 + + + + + Name: System.Contact.PrimaryAddressCountry -- PKEY_Contact_PrimaryAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E53D799D-0F3F-466E-B2FF-74634A3CB7A4}, 100 + + + + + Name: System.Contact.PrimaryAddressPostalCode -- PKEY_Contact_PrimaryAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {18BBD425-ECFD-46EF-B612-7B4A6034EDA0}, 100 + + + + + Name: System.Contact.PrimaryAddressPostOfficeBox -- PKEY_Contact_PrimaryAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE5EF3C7-46E1-484E-9999-62C5308394C1}, 100 + + + + + Name: System.Contact.PrimaryAddressState -- PKEY_Contact_PrimaryAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F1176DFE-7138-4640-8B4C-AE375DC70A6D}, 100 + + + + + Name: System.Contact.PrimaryAddressStreet -- PKEY_Contact_PrimaryAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {63C25B20-96BE-488F-8788-C09C407AD812}, 100 + + + + + Name: System.Contact.PrimaryEmailAddress -- PKEY_Contact_PrimaryEmailAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 48 + + + + + Name: System.Contact.PrimaryTelephone -- PKEY_Contact_PrimaryTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 25 + + + + + Name: System.Contact.Profession -- PKEY_Contact_Profession + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7268AF55-1CE4-4F6E-A41F-B6E4EF10E4A9}, 100 + + + + + Name: System.Contact.SpouseName -- PKEY_Contact_SpouseName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9D2408B6-3167-422B-82B0-F583B7A7CFE3}, 100 + + + + + Name: System.Contact.Suffix -- PKEY_Contact_Suffix + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 73 + + + + + Name: System.Contact.TelexNumber -- PKEY_Contact_TelexNumber + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C554493C-C1F7-40C1-A76C-EF8C0614003E}, 100 + + + + + Name: System.Contact.TTYTDDTelephone -- PKEY_Contact_TTYTDDTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AAF16BAC-2B55-45E6-9F6D-415EB94910DF}, 100 + + + + + Name: System.Contact.WebPage -- PKEY_Contact_WebPage + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 18 + + + + + JA Properties + + + + + Name: System.Contact.JA.CompanyNamePhonetic -- PKEY_Contact_JA_CompanyNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 2 + + + + + Name: System.Contact.JA.FirstNamePhonetic -- PKEY_Contact_JA_FirstNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 3 + + + + + Name: System.Contact.JA.LastNamePhonetic -- PKEY_Contact_JA_LastNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 4 + + + + + JA Properties + + + + + Name: System.Contact.JA.CompanyNamePhonetic -- PKEY_Contact_JA_CompanyNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 2 + + + + + Name: System.Contact.JA.FirstNamePhonetic -- PKEY_Contact_JA_FirstNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 3 + + + + + Name: System.Contact.JA.LastNamePhonetic -- PKEY_Contact_JA_LastNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 4 + + + + + Device Properties + + + + + Name: System.Device.PrinterURL -- PKEY_Device_PrinterURL + Description: Printer information Printer URL. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B48F35A-BE6E-4F17-B108-3C4073D1669A}, 15 + + + + + DeviceInterface Properties + + + + + Name: System.DeviceInterface.PrinterDriverDirectory -- PKEY_DeviceInterface_PrinterDriverDirectory + Description: Printer information Printer Driver Directory. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {847C66DE-B8D6-4AF9-ABC3-6F4F926BC039}, 14 + + + + + Name: System.DeviceInterface.PrinterDriverName -- PKEY_DeviceInterface_PrinterDriverName + Description: Printer information Driver Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AFC47170-14F5-498C-8F30-B0D19BE449C6}, 11 + + + + + Name: System.DeviceInterface.PrinterName -- PKEY_DeviceInterface_PrinterName + Description: Printer information Printer Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0A7B84EF-0C27-463F-84EF-06C5070001BE}, 10 + + + + + Name: System.DeviceInterface.PrinterPortName -- PKEY_DeviceInterface_PrinterPortName + Description: Printer information Port Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {EEC7B761-6F94-41B1-949F-C729720DD13C}, 12 + + + + + Devices Properties + + + + + Name: System.Devices.BatteryLife -- PKEY_Devices_BatteryLife + Description: Remaining battery life of the device as an integer between 0 and 100 percent. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 10 + + + + + Name: System.Devices.BatteryPlusCharging -- PKEY_Devices_BatteryPlusCharging + Description: Remaining battery life of the device as an integer between 0 and 100 percent and the device's charging state. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 22 + + + + + Name: System.Devices.BatteryPlusChargingText -- PKEY_Devices_BatteryPlusChargingText + Description: Remaining battery life of the device and the device's charging state as a string. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 23 + + + + + Name: System.Devices.Category -- PKEY_Devices_Category_Desc_Singular + Description: Singular form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 91 + + + + + Name: System.Devices.CategoryGroup -- PKEY_Devices_CategoryGroup_Desc + Description: Plural form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 94 + + + + + Name: System.Devices.CategoryPlural -- PKEY_Devices_Category_Desc_Plural + Description: Plural form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 92 + + + + + Name: System.Devices.ChargingState -- PKEY_Devices_ChargingState + Description: Boolean value representing if the device is currently charging. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 11 + + + + + Name: System.Devices.Connected -- PKEY_Devices_IsConnected + Description: Device connection state. If VARIANT_TRUE, indicates the device is currently connected to the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 55 + + + + + Name: System.Devices.ContainerId -- PKEY_Devices_ContainerId + Description: Device container ID. + + Type: Guid -- VT_CLSID + FormatID: {8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C}, 2 + + + + + Name: System.Devices.DefaultTooltip -- PKEY_Devices_DefaultTooltip + Description: Tooltip for default state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 153 + + + + + Name: System.Devices.DeviceDescription1 -- PKEY_Devices_DeviceDescription1 + Description: First line of descriptive text about the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 81 + + + + + Name: System.Devices.DeviceDescription2 -- PKEY_Devices_DeviceDescription2 + Description: Second line of descriptive text about the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 82 + + + + + Name: System.Devices.DiscoveryMethod -- PKEY_Devices_DiscoveryMethod + Description: Device discovery method. This indicates on what transport or physical connection the device is discovered. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 52 + + + + + Name: System.Devices.FriendlyName -- PKEY_Devices_FriendlyName + Description: Device friendly name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 12288 + + + + + Name: System.Devices.FunctionPaths -- PKEY_Devices_FunctionPaths + Description: Available functions for this device. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 3 + + + + + Name: System.Devices.InterfacePaths -- PKEY_Devices_InterfacePaths + Description: Available interfaces for this device. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 2 + + + + + Name: System.Devices.IsDefault -- PKEY_Devices_IsDefaultDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 86 + + + + + Name: System.Devices.IsNetworkConnected -- PKEY_Devices_IsNetworkDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 85 + + + + + Name: System.Devices.IsShared -- PKEY_Devices_IsSharedDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 84 + + + + + Name: System.Devices.IsSoftwareInstalling -- PKEY_Devices_IsSoftwareInstalling + Description: If VARIANT_TRUE, the device installer is currently installing software. + + Type: Boolean -- VT_BOOL + FormatID: {83DA6326-97A6-4088-9453-A1923F573B29}, 9 + + + + + Name: System.Devices.LaunchDeviceStageFromExplorer -- PKEY_Devices_LaunchDeviceStageFromExplorer + Description: Indicates whether to launch Device Stage or not + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 77 + + + + + Name: System.Devices.LocalMachine -- PKEY_Devices_IsLocalMachine + Description: If VARIANT_TRUE, the device in question is actually the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 70 + + + + + Name: System.Devices.Manufacturer -- PKEY_Devices_Manufacturer + Description: Device manufacturer. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8192 + + + + + Name: System.Devices.MissedCalls -- PKEY_Devices_MissedCalls + Description: Number of missed calls on the device. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 5 + + + + + Name: System.Devices.ModelName -- PKEY_Devices_ModelName + Description: Model name of the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8194 + + + + + Name: System.Devices.ModelNumber -- PKEY_Devices_ModelNumber + Description: Model number of the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8195 + + + + + Name: System.Devices.NetworkedTooltip -- PKEY_Devices_NetworkedTooltip + Description: Tooltip for connection state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 152 + + + + + Name: System.Devices.NetworkName -- PKEY_Devices_NetworkName + Description: Name of the device's network. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 7 + + + + + Name: System.Devices.NetworkType -- PKEY_Devices_NetworkType + Description: String representing the type of the device's network. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 8 + + + + + Name: System.Devices.NewPictures -- PKEY_Devices_NewPictures + Description: Number of new pictures on the device. + + Type: UInt16 -- VT_UI2 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 4 + + + + + Name: System.Devices.Notification -- PKEY_Devices_Notification + Description: Device Notification Property. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {06704B0C-E830-4C81-9178-91E4E95A80A0}, 3 + + + + + Name: System.Devices.NotificationStore -- PKEY_Devices_NotificationStore + Description: Device Notification Store. + + Type: Object -- VT_UNKNOWN + FormatID: {06704B0C-E830-4C81-9178-91E4E95A80A0}, 2 + + + + + Name: System.Devices.NotWorkingProperly -- PKEY_Devices_IsNotWorkingProperly + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 83 + + + + + Name: System.Devices.Paired -- PKEY_Devices_IsPaired + Description: Device paired state. If VARIANT_TRUE, indicates the device is not paired with the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 56 + + + + + Name: System.Devices.PrimaryCategory -- PKEY_Devices_PrimaryCategory + Description: Primary category group for this device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 10 + + + + + Name: System.Devices.Roaming -- PKEY_Devices_Roaming + Description: Status indicator used to indicate if the device is roaming. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 9 + + + + + Name: System.Devices.SafeRemovalRequired -- PKEY_Devices_SafeRemovalRequired + Description: Indicates if a device requires safe removal or not + + Type: Boolean -- VT_BOOL + FormatID: {AFD97640-86A3-4210-B67C-289C41AABE55}, 2 + + + + + Name: System.Devices.SharedTooltip -- PKEY_Devices_SharedTooltip + Description: Tooltip for sharing state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 151 + + + + + Name: System.Devices.SignalStrength -- PKEY_Devices_SignalStrength + Description: Device signal strength. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 2 + + + + + Name: System.Devices.Status1 -- PKEY_Devices_Status1 + Description: 1st line of device status. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 257 + + + + + Name: System.Devices.Status2 -- PKEY_Devices_Status2 + Description: 2nd line of device status. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 258 + + + + + Name: System.Devices.StorageCapacity -- PKEY_Devices_StorageCapacity + Description: Total storage capacity of the device. + + Type: UInt64 -- VT_UI8 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 12 + + + + + Name: System.Devices.StorageFreeSpace -- PKEY_Devices_StorageFreeSpace + Description: Total free space of the storage of the device. + + Type: UInt64 -- VT_UI8 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 13 + + + + + Name: System.Devices.StorageFreeSpacePercent -- PKEY_Devices_StorageFreeSpacePercent + Description: Total free space of the storage of the device as a percentage. + + Type: UInt32 -- VT_UI4 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 14 + + + + + Name: System.Devices.TextMessages -- PKEY_Devices_TextMessages + Description: Number of unread text messages on the device. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 3 + + + + + Name: System.Devices.Voicemail -- PKEY_Devices_Voicemail + Description: Status indicator used to indicate if the device has voicemail. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 6 + + + + + Notifications Properties + + + + + Name: System.Devices.Notifications.LowBattery -- PKEY_Devices_Notification_LowBattery + Description: Device Low Battery Notification. + + Type: Byte -- VT_UI1 + FormatID: {C4C07F2B-8524-4E66-AE3A-A6235F103BEB}, 2 + + + + + Name: System.Devices.Notifications.MissedCall -- PKEY_Devices_Notification_MissedCall + Description: Device Missed Call Notification. + + Type: Byte -- VT_UI1 + FormatID: {6614EF48-4EFE-4424-9EDA-C79F404EDF3E}, 2 + + + + + Name: System.Devices.Notifications.NewMessage -- PKEY_Devices_Notification_NewMessage + Description: Device New Message Notification. + + Type: Byte -- VT_UI1 + FormatID: {2BE9260A-2012-4742-A555-F41B638B7DCB}, 2 + + + + + Name: System.Devices.Notifications.NewVoicemail -- PKEY_Devices_Notification_NewVoicemail + Description: Device Voicemail Notification. + + Type: Byte -- VT_UI1 + FormatID: {59569556-0A08-4212-95B9-FAE2AD6413DB}, 2 + + + + + Name: System.Devices.Notifications.StorageFull -- PKEY_Devices_Notification_StorageFull + Description: Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 2 + + + + + Name: System.Devices.Notifications.StorageFullLinkText -- PKEY_Devices_Notification_StorageFullLinkText + Description: Link Text for the Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 3 + + + + + Notifications Properties + + + + + Name: System.Devices.Notifications.LowBattery -- PKEY_Devices_Notification_LowBattery + Description: Device Low Battery Notification. + + Type: Byte -- VT_UI1 + FormatID: {C4C07F2B-8524-4E66-AE3A-A6235F103BEB}, 2 + + + + + Name: System.Devices.Notifications.MissedCall -- PKEY_Devices_Notification_MissedCall + Description: Device Missed Call Notification. + + Type: Byte -- VT_UI1 + FormatID: {6614EF48-4EFE-4424-9EDA-C79F404EDF3E}, 2 + + + + + Name: System.Devices.Notifications.NewMessage -- PKEY_Devices_Notification_NewMessage + Description: Device New Message Notification. + + Type: Byte -- VT_UI1 + FormatID: {2BE9260A-2012-4742-A555-F41B638B7DCB}, 2 + + + + + Name: System.Devices.Notifications.NewVoicemail -- PKEY_Devices_Notification_NewVoicemail + Description: Device Voicemail Notification. + + Type: Byte -- VT_UI1 + FormatID: {59569556-0A08-4212-95B9-FAE2AD6413DB}, 2 + + + + + Name: System.Devices.Notifications.StorageFull -- PKEY_Devices_Notification_StorageFull + Description: Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 2 + + + + + Name: System.Devices.Notifications.StorageFullLinkText -- PKEY_Devices_Notification_StorageFullLinkText + Description: Link Text for the Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 3 + + + + + Document Properties + + + + + Name: System.Document.ByteCount -- PKEY_Document_ByteCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 4 (PIDDSI_BYTECOUNT) + + + + + Name: System.Document.CharacterCount -- PKEY_Document_CharacterCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 16 (PIDSI_CHARCOUNT) + + + + + Name: System.Document.ClientID -- PKEY_Document_ClientID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {276D7BB0-5B34-4FB0-AA4B-158ED12A1809}, 100 + + + + + Name: System.Document.Contributor -- PKEY_Document_Contributor + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {F334115E-DA1B-4509-9B3D-119504DC7ABB}, 100 + + + + + Name: System.Document.DateCreated -- PKEY_Document_DateCreated + Description: This property is stored in the document, not obtained from the file system. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 12 (PIDSI_CREATE_DTM) + + + + + Name: System.Document.DatePrinted -- PKEY_Document_DatePrinted + Description: Legacy name: "DocLastPrinted". + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 11 (PIDSI_LASTPRINTED) + + + + + Name: System.Document.DateSaved -- PKEY_Document_DateSaved + Description: Legacy name: "DocLastSavedTm". + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 13 (PIDSI_LASTSAVE_DTM) + + + + + Name: System.Document.Division -- PKEY_Document_Division + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1E005EE6-BF27-428B-B01C-79676ACD2870}, 100 + + + + + Name: System.Document.DocumentID -- PKEY_Document_DocumentID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E08805C8-E395-40DF-80D2-54F0D6C43154}, 100 + + + + + Name: System.Document.HiddenSlideCount -- PKEY_Document_HiddenSlideCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 9 (PIDDSI_HIDDENCOUNT) + + + + + Name: System.Document.LastAuthor -- PKEY_Document_LastAuthor + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 8 (PIDSI_LASTAUTHOR) + + + + + Name: System.Document.LineCount -- PKEY_Document_LineCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 5 (PIDDSI_LINECOUNT) + + + + + Name: System.Document.Manager -- PKEY_Document_Manager + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 14 (PIDDSI_MANAGER) + + + + + Name: System.Document.MultimediaClipCount -- PKEY_Document_MultimediaClipCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 10 (PIDDSI_MMCLIPCOUNT) + + + + + Name: System.Document.NoteCount -- PKEY_Document_NoteCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 8 (PIDDSI_NOTECOUNT) + + + + + Name: System.Document.PageCount -- PKEY_Document_PageCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 14 (PIDSI_PAGECOUNT) + + + + + Name: System.Document.ParagraphCount -- PKEY_Document_ParagraphCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 6 (PIDDSI_PARCOUNT) + + + + + Name: System.Document.PresentationFormat -- PKEY_Document_PresentationFormat + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 3 (PIDDSI_PRESFORMAT) + + + + + Name: System.Document.RevisionNumber -- PKEY_Document_RevisionNumber + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 9 (PIDSI_REVNUMBER) + + + + + Name: System.Document.Security -- PKEY_Document_Security + Description: Access control information, from SummaryInfo propset + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 19 + + + + + Name: System.Document.SlideCount -- PKEY_Document_SlideCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 7 (PIDDSI_SLIDECOUNT) + + + + + Name: System.Document.Template -- PKEY_Document_Template + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 7 (PIDSI_TEMPLATE) + + + + + Name: System.Document.TotalEditingTime -- PKEY_Document_TotalEditingTime + Description: 100ns units, not milliseconds. VT_FILETIME for IPropertySetStorage handlers (legacy) + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 10 (PIDSI_EDITTIME) + + + + + Name: System.Document.Version -- PKEY_Document_Version + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 29 + + + + + Name: System.Document.WordCount -- PKEY_Document_WordCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 15 (PIDSI_WORDCOUNT) + + + + + DRM Properties + + + + + Name: System.DRM.DatePlayExpires -- PKEY_DRM_DatePlayExpires + Description: Indicates when play expires for digital rights management. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 6 (PIDDRSI_PLAYEXPIRES) + + + + + Name: System.DRM.DatePlayStarts -- PKEY_DRM_DatePlayStarts + Description: Indicates when play starts for digital rights management. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 5 (PIDDRSI_PLAYSTARTS) + + + + + Name: System.DRM.Description -- PKEY_DRM_Description + Description: Displays the description for digital rights management. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 3 (PIDDRSI_DESCRIPTION) + + + + + Name: System.DRM.IsProtected -- PKEY_DRM_IsProtected + Description: + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 2 (PIDDRSI_PROTECTED) + + + + + Name: System.DRM.PlayCount -- PKEY_DRM_PlayCount + Description: Indicates the play count for digital rights management. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 4 (PIDDRSI_PLAYCOUNT) + + + + + GPS Properties + + + + + Name: System.GPS.Altitude -- PKEY_GPS_Altitude + Description: Indicates the altitude based on the reference in PKEY_GPS_AltitudeRef. Calculated from PKEY_GPS_AltitudeNumerator and + PKEY_GPS_AltitudeDenominator + + Type: Double -- VT_R8 + FormatID: {827EDB4F-5B73-44A7-891D-FDFFABEA35CA}, 100 + + + + + Name: System.GPS.AltitudeDenominator -- PKEY_GPS_AltitudeDenominator + Description: Denominator of PKEY_GPS_Altitude + + Type: UInt32 -- VT_UI4 + FormatID: {78342DCB-E358-4145-AE9A-6BFE4E0F9F51}, 100 + + + + + Name: System.GPS.AltitudeNumerator -- PKEY_GPS_AltitudeNumerator + Description: Numerator of PKEY_GPS_Altitude + + Type: UInt32 -- VT_UI4 + FormatID: {2DAD1EB7-816D-40D3-9EC3-C9773BE2AADE}, 100 + + + + + Name: System.GPS.AltitudeRef -- PKEY_GPS_AltitudeRef + Description: Indicates the reference for the altitude property. (eg: above sea level, below sea level, absolute value) + + Type: Byte -- VT_UI1 + FormatID: {46AC629D-75EA-4515-867F-6DC4321C5844}, 100 + + + + + Name: System.GPS.AreaInformation -- PKEY_GPS_AreaInformation + Description: Represents the name of the GPS area + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {972E333E-AC7E-49F1-8ADF-A70D07A9BCAB}, 100 + + + + + Name: System.GPS.Date -- PKEY_GPS_Date + Description: Date and time of the GPS record + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {3602C812-0F3B-45F0-85AD-603468D69423}, 100 + + + + + Name: System.GPS.DestBearing -- PKEY_GPS_DestBearing + Description: Indicates the bearing to the destination point. Calculated from PKEY_GPS_DestBearingNumerator and + PKEY_GPS_DestBearingDenominator. + + Type: Double -- VT_R8 + FormatID: {C66D4B3C-E888-47CC-B99F-9DCA3EE34DEA}, 100 + + + + + Name: System.GPS.DestBearingDenominator -- PKEY_GPS_DestBearingDenominator + Description: Denominator of PKEY_GPS_DestBearing + + Type: UInt32 -- VT_UI4 + FormatID: {7ABCF4F8-7C3F-4988-AC91-8D2C2E97ECA5}, 100 + + + + + Name: System.GPS.DestBearingNumerator -- PKEY_GPS_DestBearingNumerator + Description: Numerator of PKEY_GPS_DestBearing + + Type: UInt32 -- VT_UI4 + FormatID: {BA3B1DA9-86EE-4B5D-A2A4-A271A429F0CF}, 100 + + + + + Name: System.GPS.DestBearingRef -- PKEY_GPS_DestBearingRef + Description: Indicates the reference used for the giving the bearing to the destination point. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9AB84393-2A0F-4B75-BB22-7279786977CB}, 100 + + + + + Name: System.GPS.DestDistance -- PKEY_GPS_DestDistance + Description: Indicates the distance to the destination point. Calculated from PKEY_GPS_DestDistanceNumerator and + PKEY_GPS_DestDistanceDenominator. + + Type: Double -- VT_R8 + FormatID: {A93EAE04-6804-4F24-AC81-09B266452118}, 100 + + + + + Name: System.GPS.DestDistanceDenominator -- PKEY_GPS_DestDistanceDenominator + Description: Denominator of PKEY_GPS_DestDistance + + Type: UInt32 -- VT_UI4 + FormatID: {9BC2C99B-AC71-4127-9D1C-2596D0D7DCB7}, 100 + + + + + Name: System.GPS.DestDistanceNumerator -- PKEY_GPS_DestDistanceNumerator + Description: Numerator of PKEY_GPS_DestDistance + + Type: UInt32 -- VT_UI4 + FormatID: {2BDA47DA-08C6-4FE1-80BC-A72FC517C5D0}, 100 + + + + + Name: System.GPS.DestDistanceRef -- PKEY_GPS_DestDistanceRef + Description: Indicates the unit used to express the distance to the destination. (eg: kilometers, miles, knots) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {ED4DF2D3-8695-450B-856F-F5C1C53ACB66}, 100 + + + + + Name: System.GPS.DestLatitude -- PKEY_GPS_DestLatitude + Description: Indicates the latitude of the destination point. This is an array of three values. Index 0 is the degrees, index 1 + is the minutes, index 2 is the seconds. Each is calculated from the values in PKEY_GPS_DestLatitudeNumerator and + PKEY_GPS_DestLatitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {9D1D7CC5-5C39-451C-86B3-928E2D18CC47}, 100 + + + + + Name: System.GPS.DestLatitudeDenominator -- PKEY_GPS_DestLatitudeDenominator + Description: Denominator of PKEY_GPS_DestLatitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {3A372292-7FCA-49A7-99D5-E47BB2D4E7AB}, 100 + + + + + Name: System.GPS.DestLatitudeNumerator -- PKEY_GPS_DestLatitudeNumerator + Description: Numerator of PKEY_GPS_DestLatitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {ECF4B6F6-D5A6-433C-BB92-4076650FC890}, 100 + + + + + Name: System.GPS.DestLatitudeRef -- PKEY_GPS_DestLatitudeRef + Description: Indicates whether the latitude destination point is north or south latitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CEA820B9-CE61-4885-A128-005D9087C192}, 100 + + + + + Name: System.GPS.DestLongitude -- PKEY_GPS_DestLongitude + Description: Indicates the latitude of the destination point. This is an array of three values. Index 0 is the degrees, index 1 + is the minutes, index 2 is the seconds. Each is calculated from the values in PKEY_GPS_DestLongitudeNumerator and + PKEY_GPS_DestLongitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {47A96261-CB4C-4807-8AD3-40B9D9DBC6BC}, 100 + + + + + Name: System.GPS.DestLongitudeDenominator -- PKEY_GPS_DestLongitudeDenominator + Description: Denominator of PKEY_GPS_DestLongitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {425D69E5-48AD-4900-8D80-6EB6B8D0AC86}, 100 + + + + + Name: System.GPS.DestLongitudeNumerator -- PKEY_GPS_DestLongitudeNumerator + Description: Numerator of PKEY_GPS_DestLongitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {A3250282-FB6D-48D5-9A89-DBCACE75CCCF}, 100 + + + + + Name: System.GPS.DestLongitudeRef -- PKEY_GPS_DestLongitudeRef + Description: Indicates whether the longitude destination point is east or west longitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {182C1EA6-7C1C-4083-AB4B-AC6C9F4ED128}, 100 + + + + + Name: System.GPS.Differential -- PKEY_GPS_Differential + Description: Indicates whether differential correction was applied to the GPS receiver + + Type: UInt16 -- VT_UI2 + FormatID: {AAF4EE25-BD3B-4DD7-BFC4-47F77BB00F6D}, 100 + + + + + Name: System.GPS.DOP -- PKEY_GPS_DOP + Description: Indicates the GPS DOP (data degree of precision). Calculated from PKEY_GPS_DOPNumerator and PKEY_GPS_DOPDenominator + + Type: Double -- VT_R8 + FormatID: {0CF8FB02-1837-42F1-A697-A7017AA289B9}, 100 + + + + + Name: System.GPS.DOPDenominator -- PKEY_GPS_DOPDenominator + Description: Denominator of PKEY_GPS_DOP + + Type: UInt32 -- VT_UI4 + FormatID: {A0BE94C5-50BA-487B-BD35-0654BE8881ED}, 100 + + + + + Name: System.GPS.DOPNumerator -- PKEY_GPS_DOPNumerator + Description: Numerator of PKEY_GPS_DOP + + Type: UInt32 -- VT_UI4 + FormatID: {47166B16-364F-4AA0-9F31-E2AB3DF449C3}, 100 + + + + + Name: System.GPS.ImgDirection -- PKEY_GPS_ImgDirection + Description: Indicates direction of the image when it was captured. Calculated from PKEY_GPS_ImgDirectionNumerator and + PKEY_GPS_ImgDirectionDenominator. + + Type: Double -- VT_R8 + FormatID: {16473C91-D017-4ED9-BA4D-B6BAA55DBCF8}, 100 + + + + + Name: System.GPS.ImgDirectionDenominator -- PKEY_GPS_ImgDirectionDenominator + Description: Denominator of PKEY_GPS_ImgDirection + + Type: UInt32 -- VT_UI4 + FormatID: {10B24595-41A2-4E20-93C2-5761C1395F32}, 100 + + + + + Name: System.GPS.ImgDirectionNumerator -- PKEY_GPS_ImgDirectionNumerator + Description: Numerator of PKEY_GPS_ImgDirection + + Type: UInt32 -- VT_UI4 + FormatID: {DC5877C7-225F-45F7-BAC7-E81334B6130A}, 100 + + + + + Name: System.GPS.ImgDirectionRef -- PKEY_GPS_ImgDirectionRef + Description: Indicates reference for giving the direction of the image when it was captured. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A4AAA5B7-1AD0-445F-811A-0F8F6E67F6B5}, 100 + + + + + Name: System.GPS.Latitude -- PKEY_GPS_Latitude + Description: Indicates the latitude. This is an array of three values. Index 0 is the degrees, index 1 is the minutes, index 2 + is the seconds. Each is calculated from the values in PKEY_GPS_LatitudeNumerator and PKEY_GPS_LatitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {8727CFFF-4868-4EC6-AD5B-81B98521D1AB}, 100 + + + + + Name: System.GPS.LatitudeDenominator -- PKEY_GPS_LatitudeDenominator + Description: Denominator of PKEY_GPS_Latitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {16E634EE-2BFF-497B-BD8A-4341AD39EEB9}, 100 + + + + + Name: System.GPS.LatitudeNumerator -- PKEY_GPS_LatitudeNumerator + Description: Numerator of PKEY_GPS_Latitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {7DDAAAD1-CCC8-41AE-B750-B2CB8031AEA2}, 100 + + + + + Name: System.GPS.LatitudeRef -- PKEY_GPS_LatitudeRef + Description: Indicates whether latitude is north or south latitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {029C0252-5B86-46C7-ACA0-2769FFC8E3D4}, 100 + + + + + Name: System.GPS.Longitude -- PKEY_GPS_Longitude + Description: Indicates the longitude. This is an array of three values. Index 0 is the degrees, index 1 is the minutes, index 2 + is the seconds. Each is calculated from the values in PKEY_GPS_LongitudeNumerator and PKEY_GPS_LongitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {C4C4DBB2-B593-466B-BBDA-D03D27D5E43A}, 100 + + + + + Name: System.GPS.LongitudeDenominator -- PKEY_GPS_LongitudeDenominator + Description: Denominator of PKEY_GPS_Longitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {BE6E176C-4534-4D2C-ACE5-31DEDAC1606B}, 100 + + + + + Name: System.GPS.LongitudeNumerator -- PKEY_GPS_LongitudeNumerator + Description: Numerator of PKEY_GPS_Longitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {02B0F689-A914-4E45-821D-1DDA452ED2C4}, 100 + + + + + Name: System.GPS.LongitudeRef -- PKEY_GPS_LongitudeRef + Description: Indicates whether longitude is east or west longitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {33DCF22B-28D5-464C-8035-1EE9EFD25278}, 100 + + + + + Name: System.GPS.MapDatum -- PKEY_GPS_MapDatum + Description: Indicates the geodetic survey data used by the GPS receiver + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2CA2DAE6-EDDC-407D-BEF1-773942ABFA95}, 100 + + + + + Name: System.GPS.MeasureMode -- PKEY_GPS_MeasureMode + Description: Indicates the GPS measurement mode. (eg: 2-dimensional, 3-dimensional) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A015ED5D-AAEA-4D58-8A86-3C586920EA0B}, 100 + + + + + Name: System.GPS.ProcessingMethod -- PKEY_GPS_ProcessingMethod + Description: Indicates the name of the method used for location finding + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {59D49E61-840F-4AA9-A939-E2099B7F6399}, 100 + + + + + Name: System.GPS.Satellites -- PKEY_GPS_Satellites + Description: Indicates the GPS satellites used for measurements + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {467EE575-1F25-4557-AD4E-B8B58B0D9C15}, 100 + + + + + Name: System.GPS.Speed -- PKEY_GPS_Speed + Description: Indicates the speed of the GPS receiver movement. Calculated from PKEY_GPS_SpeedNumerator and + PKEY_GPS_SpeedDenominator. + + Type: Double -- VT_R8 + FormatID: {DA5D0862-6E76-4E1B-BABD-70021BD25494}, 100 + + + + + Name: System.GPS.SpeedDenominator -- PKEY_GPS_SpeedDenominator + Description: Denominator of PKEY_GPS_Speed + + Type: UInt32 -- VT_UI4 + FormatID: {7D122D5A-AE5E-4335-8841-D71E7CE72F53}, 100 + + + + + Name: System.GPS.SpeedNumerator -- PKEY_GPS_SpeedNumerator + Description: Numerator of PKEY_GPS_Speed + + Type: UInt32 -- VT_UI4 + FormatID: {ACC9CE3D-C213-4942-8B48-6D0820F21C6D}, 100 + + + + + Name: System.GPS.SpeedRef -- PKEY_GPS_SpeedRef + Description: Indicates the unit used to express the speed of the GPS receiver movement. (eg: kilometers per hour, + miles per hour, knots). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {ECF7F4C9-544F-4D6D-9D98-8AD79ADAF453}, 100 + + + + + Name: System.GPS.Status -- PKEY_GPS_Status + Description: Indicates the status of the GPS receiver when the image was recorded. (eg: measurement in progress, + measurement interoperability). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {125491F4-818F-46B2-91B5-D537753617B2}, 100 + + + + + Name: System.GPS.Track -- PKEY_GPS_Track + Description: Indicates the direction of the GPS receiver movement. Calculated from PKEY_GPS_TrackNumerator and + PKEY_GPS_TrackDenominator. + + Type: Double -- VT_R8 + FormatID: {76C09943-7C33-49E3-9E7E-CDBA872CFADA}, 100 + + + + + Name: System.GPS.TrackDenominator -- PKEY_GPS_TrackDenominator + Description: Denominator of PKEY_GPS_Track + + Type: UInt32 -- VT_UI4 + FormatID: {C8D1920C-01F6-40C0-AC86-2F3A4AD00770}, 100 + + + + + Name: System.GPS.TrackNumerator -- PKEY_GPS_TrackNumerator + Description: Numerator of PKEY_GPS_Track + + Type: UInt32 -- VT_UI4 + FormatID: {702926F4-44A6-43E1-AE71-45627116893B}, 100 + + + + + Name: System.GPS.TrackRef -- PKEY_GPS_TrackRef + Description: Indicates reference for the direction of the GPS receiver movement. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {35DBE6FE-44C3-4400-AAAE-D2C799C407E8}, 100 + + + + + Name: System.GPS.VersionID -- PKEY_GPS_VersionID + Description: Indicates the version of the GPS information + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {22704DA4-C6B2-4A99-8E56-F16DF8C92599}, 100 + + + + + Identity Properties + + + + + Name: System.Identity.Blob -- PKEY_Identity_Blob + Description: Blob used to import/export identities + + Type: Blob -- VT_BLOB + FormatID: {8C3B93A4-BAED-1A83-9A32-102EE313F6EB}, 100 + + + + + Name: System.Identity.DisplayName -- PKEY_Identity_DisplayName + Description: Display Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7D683FC9-D155-45A8-BB1F-89D19BCB792F}, 100 + + + + + Name: System.Identity.IsMeIdentity -- PKEY_Identity_IsMeIdentity + Description: Is it Me Identity + + Type: Boolean -- VT_BOOL + FormatID: {A4108708-09DF-4377-9DFC-6D99986D5A67}, 100 + + + + + Name: System.Identity.PrimaryEmailAddress -- PKEY_Identity_PrimaryEmailAddress + Description: Primary Email Address + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FCC16823-BAED-4F24-9B32-A0982117F7FA}, 100 + + + + + Name: System.Identity.ProviderID -- PKEY_Identity_ProviderID + Description: Provider ID + + Type: Guid -- VT_CLSID + FormatID: {74A7DE49-FA11-4D3D-A006-DB7E08675916}, 100 + + + + + Name: System.Identity.UniqueID -- PKEY_Identity_UniqueID + Description: Unique ID + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E55FC3B0-2B60-4220-918E-B21E8BF16016}, 100 + + + + + Name: System.Identity.UserName -- PKEY_Identity_UserName + Description: Identity User Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C4322503-78CA-49C6-9ACC-A68E2AFD7B6B}, 100 + + + + + IdentityProvider Properties + + + + + Name: System.IdentityProvider.Name -- PKEY_IdentityProvider_Name + Description: Identity Provider Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {B96EFF7B-35CA-4A35-8607-29E3A54C46EA}, 100 + + + + + Name: System.IdentityProvider.Picture -- PKEY_IdentityProvider_Picture + Description: Picture for the Identity Provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2425166F-5642-4864-992F-98FD98F294C3}, 100 + + + + + Image Properties + + + + + Name: System.Image.BitDepth -- PKEY_Image_BitDepth + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 7 (PIDISI_BITDEPTH) + + + + + Name: System.Image.ColorSpace -- PKEY_Image_ColorSpace + Description: PropertyTagExifColorSpace + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 40961 + + + + + Name: System.Image.CompressedBitsPerPixel -- PKEY_Image_CompressedBitsPerPixel + Description: Calculated from PKEY_Image_CompressedBitsPerPixelNumerator and PKEY_Image_CompressedBitsPerPixelDenominator. + + Type: Double -- VT_R8 + FormatID: {364B6FA9-37AB-482A-BE2B-AE02F60D4318}, 100 + + + + + Name: System.Image.CompressedBitsPerPixelDenominator -- PKEY_Image_CompressedBitsPerPixelDenominator + Description: Denominator of PKEY_Image_CompressedBitsPerPixel. + + Type: UInt32 -- VT_UI4 + FormatID: {1F8844E1-24AD-4508-9DFD-5326A415CE02}, 100 + + + + + Name: System.Image.CompressedBitsPerPixelNumerator -- PKEY_Image_CompressedBitsPerPixelNumerator + Description: Numerator of PKEY_Image_CompressedBitsPerPixel. + + Type: UInt32 -- VT_UI4 + FormatID: {D21A7148-D32C-4624-8900-277210F79C0F}, 100 + + + + + Name: System.Image.Compression -- PKEY_Image_Compression + Description: Indicates the image compression level. PropertyTagCompression. + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 259 + + + + + Name: System.Image.CompressionText -- PKEY_Image_CompressionText + Description: This is the user-friendly form of System.Image.Compression. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3F08E66F-2F44-4BB9-A682-AC35D2562322}, 100 + + + + + Name: System.Image.Dimensions -- PKEY_Image_Dimensions + Description: Indicates the dimensions of the image. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 13 (PIDISI_DIMENSIONS) + + + + + Name: System.Image.HorizontalResolution -- PKEY_Image_HorizontalResolution + Description: + + Type: Double -- VT_R8 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 5 (PIDISI_RESOLUTIONX) + + + + + Name: System.Image.HorizontalSize -- PKEY_Image_HorizontalSize + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 3 (PIDISI_CX) + + + + + Name: System.Image.ImageID -- PKEY_Image_ImageID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {10DABE05-32AA-4C29-BF1A-63E2D220587F}, 100 + + + + + Name: System.Image.ResolutionUnit -- PKEY_Image_ResolutionUnit + Description: + Type: Int16 -- VT_I2 + FormatID: {19B51FA6-1F92-4A5C-AB48-7DF0ABD67444}, 100 + + + + + Name: System.Image.VerticalResolution -- PKEY_Image_VerticalResolution + Description: + + Type: Double -- VT_R8 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 6 (PIDISI_RESOLUTIONY) + + + + + Name: System.Image.VerticalSize -- PKEY_Image_VerticalSize + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 4 (PIDISI_CY) + + + + + Journal Properties + + + + + Name: System.Journal.Contacts -- PKEY_Journal_Contacts + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {DEA7C82C-1D89-4A66-9427-A4E3DEBABCB1}, 100 + + + + + Name: System.Journal.EntryType -- PKEY_Journal_EntryType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {95BEB1FC-326D-4644-B396-CD3ED90E6DDF}, 100 + + + + + LayoutPattern Properties + + + + + Name: System.LayoutPattern.ContentViewModeForBrowse -- PKEY_LayoutPattern_ContentViewModeForBrowse + Description: Specifies the layout pattern that the content view mode should apply for this item in the context of browsing. + Register the regvalue under the name of "ContentViewModeLayoutPatternForBrowse". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 500 + + + + + Name: System.LayoutPattern.ContentViewModeForSearch -- PKEY_LayoutPattern_ContentViewModeForSearch + Description: Specifies the layout pattern that the content view mode should apply for this item in the context of searching. + Register the regvalue under the name of "ContentViewModeLayoutPatternForSearch". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 501 + + + + + Link Properties + + + + + Name: System.Link.Arguments -- PKEY_Link_Arguments + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {436F2667-14E2-4FEB-B30A-146C53B5B674}, 100 + + + + + Name: System.Link.Comment -- PKEY_Link_Comment + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 5 + + + + + Name: System.Link.DateVisited -- PKEY_Link_DateVisited + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 23 (PKEYs relating to URLs. Used by IE History.) + + + + + Name: System.Link.Description -- PKEY_Link_Description + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 21 (PKEYs relating to URLs. Used by IE History.) + + + + + Name: System.Link.Status -- PKEY_Link_Status + Description: + + Type: Int32 -- VT_I4 + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 3 (PID_LINK_TARGET_TYPE) + + + + + Name: System.Link.TargetExtension -- PKEY_Link_TargetExtension + Description: The file extension of the link target. See System.File.Extension + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {7A7D76F4-B630-4BD7-95FF-37CC51A975C9}, 2 + + + + + Name: System.Link.TargetParsingPath -- PKEY_Link_TargetParsingPath + Description: This is the shell namespace path to the target of the link item. This path may be passed to + SHParseDisplayName to parse the path to the correct shell folder. + + If the target item is a file, the value is identical to System.ItemPathDisplay. + + If the target item cannot be accessed through the shell namespace, this value is VT_EMPTY. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 2 (PID_LINK_TARGET) + + + + + Name: System.Link.TargetSFGAOFlags -- PKEY_Link_TargetSFGAOFlags + Description: IShellFolder::GetAttributesOf flags for the target of a link, with SFGAO_PKEYSFGAOMASK + attributes masked out. + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 8 + + + + + Name: System.Link.TargetSFGAOFlagsStrings -- PKEY_Link_TargetSFGAOFlagsStrings + Description: Expresses the SFGAO flags of a link as string values and is used as a query optimization. See + PKEY_Shell_SFGAOFlagsStrings for possible values of this. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D6942081-D53B-443D-AD47-5E059D9CD27A}, 3 + + + + + Name: System.Link.TargetUrl -- PKEY_Link_TargetUrl + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 2 (PKEYs relating to URLs. Used by IE History.) + + + + + Media Properties + + + + + Name: System.Media.AuthorUrl -- PKEY_Media_AuthorUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 32 (PIDMSI_AUTHOR_URL) + + + + + Name: System.Media.AverageLevel -- PKEY_Media_AverageLevel + Description: + Type: UInt32 -- VT_UI4 + FormatID: {09EDD5B6-B301-43C5-9990-D00302EFFD46}, 100 + + + + + Name: System.Media.ClassPrimaryID -- PKEY_Media_ClassPrimaryID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 13 (PIDMSI_CLASS_PRIMARY_ID) + + + + + Name: System.Media.ClassSecondaryID -- PKEY_Media_ClassSecondaryID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 14 (PIDMSI_CLASS_SECONDARY_ID) + + + + + Name: System.Media.CollectionGroupID -- PKEY_Media_CollectionGroupID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 24 (PIDMSI_COLLECTION_GROUP_ID) + + + + + Name: System.Media.CollectionID -- PKEY_Media_CollectionID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 25 (PIDMSI_COLLECTION_ID) + + + + + Name: System.Media.ContentDistributor -- PKEY_Media_ContentDistributor + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 18 (PIDMSI_CONTENTDISTRIBUTOR) + + + + + Name: System.Media.ContentID -- PKEY_Media_ContentID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 26 (PIDMSI_CONTENT_ID) + + + + + Name: System.Media.CreatorApplication -- PKEY_Media_CreatorApplication + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 27 (PIDMSI_TOOL_NAME) + + + + + Name: System.Media.CreatorApplicationVersion -- PKEY_Media_CreatorApplicationVersion + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 28 (PIDMSI_TOOL_VERSION) + + + + + Name: System.Media.DateEncoded -- PKEY_Media_DateEncoded + Description: DateTime is in UTC (in the doc, not file system). + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {2E4B640D-5019-46D8-8881-55414CC5CAA0}, 100 + + + + + Name: System.Media.DateReleased -- PKEY_Media_DateReleased + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE41CC29-6971-4290-B472-F59F2E2F31E2}, 100 + + + + + Name: System.Media.Duration -- PKEY_Media_Duration + Description: 100ns units, not milliseconds + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 3 (PIDASI_TIMELENGTH) + + + + + Name: System.Media.DVDID -- PKEY_Media_DVDID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 15 (PIDMSI_DVDID) + + + + + Name: System.Media.EncodedBy -- PKEY_Media_EncodedBy + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 36 (PIDMSI_ENCODED_BY) + + + + + Name: System.Media.EncodingSettings -- PKEY_Media_EncodingSettings + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 37 (PIDMSI_ENCODING_SETTINGS) + + + + + Name: System.Media.FrameCount -- PKEY_Media_FrameCount + Description: Indicates the frame count for the image. + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 12 (PIDISI_FRAMECOUNT) + + + + + Name: System.Media.MCDI -- PKEY_Media_MCDI + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 16 (PIDMSI_MCDI) + + + + + Name: System.Media.MetadataContentProvider -- PKEY_Media_MetadataContentProvider + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 17 (PIDMSI_PROVIDER) + + + + + Name: System.Media.Producer -- PKEY_Media_Producer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 22 (PIDMSI_PRODUCER) + + + + + Name: System.Media.PromotionUrl -- PKEY_Media_PromotionUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 33 (PIDMSI_PROMOTION_URL) + + + + + Name: System.Media.ProtectionType -- PKEY_Media_ProtectionType + Description: If media is protected, how is it protected? + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 38 + + + + + Name: System.Media.ProviderRating -- PKEY_Media_ProviderRating + Description: Rating (0 - 99) supplied by metadata provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 39 + + + + + Name: System.Media.ProviderStyle -- PKEY_Media_ProviderStyle + Description: Style of music or video, supplied by metadata provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 40 + + + + + Name: System.Media.Publisher -- PKEY_Media_Publisher + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 30 (PIDMSI_PUBLISHER) + + + + + Name: System.Media.SubscriptionContentId -- PKEY_Media_SubscriptionContentId + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9AEBAE7A-9644-487D-A92C-657585ED751A}, 100 + + + + + Name: System.Media.SubTitle -- PKEY_Media_SubTitle + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 38 (PIDSI_MUSIC_SUB_TITLE) + + + + + Name: System.Media.UniqueFileIdentifier -- PKEY_Media_UniqueFileIdentifier + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 35 (PIDMSI_UNIQUE_FILE_IDENTIFIER) + + + + + Name: System.Media.UserNoAutoInfo -- PKEY_Media_UserNoAutoInfo + Description: If true, do NOT alter this file's metadata. Set by user. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 41 + + + + + Name: System.Media.UserWebUrl -- PKEY_Media_UserWebUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 34 (PIDMSI_USER_WEB_URL) + + + + + Name: System.Media.Writer -- PKEY_Media_Writer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 23 (PIDMSI_WRITER) + + + + + Name: System.Media.Year -- PKEY_Media_Year + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 (PIDSI_MUSIC_YEAR) + + + + + Message Properties + + + + + Name: System.Message.AttachmentContents -- PKEY_Message_AttachmentContents + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3143BF7C-80A8-4854-8880-E2E40189BDD0}, 100 + + + + + Name: System.Message.AttachmentNames -- PKEY_Message_AttachmentNames + Description: The names of the attachments in a message + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 21 + + + + + Name: System.Message.BccAddress -- PKEY_Message_BccAddress + Description: Addresses in Bcc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 2 + + + + + Name: System.Message.BccName -- PKEY_Message_BccName + Description: person names in Bcc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 3 + + + + + Name: System.Message.CcAddress -- PKEY_Message_CcAddress + Description: Addresses in Cc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 4 + + + + + Name: System.Message.CcName -- PKEY_Message_CcName + Description: person names in Cc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 5 + + + + + Name: System.Message.ConversationID -- PKEY_Message_ConversationID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DC8F80BD-AF1E-4289-85B6-3DFC1B493992}, 100 + + + + + Name: System.Message.ConversationIndex -- PKEY_Message_ConversationIndex + Description: + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {DC8F80BD-AF1E-4289-85B6-3DFC1B493992}, 101 + + + + + Name: System.Message.DateReceived -- PKEY_Message_DateReceived + Description: Date and Time communication was received + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 20 + + + + + Name: System.Message.DateSent -- PKEY_Message_DateSent + Description: Date and Time communication was sent + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 19 + + + + + Name: System.Message.Flags -- PKEY_Message_Flags + Description: These are flags associated with email messages to know if a read receipt is pending, etc. + The values stored here by Outlook are defined for PR_MESSAGE_FLAGS on MSDN. + + Type: Int32 -- VT_I4 + FormatID: {A82D9EE7-CA67-4312-965E-226BCEA85023}, 100 + + + + + Name: System.Message.FromAddress -- PKEY_Message_FromAddress + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 13 + + + + + Name: System.Message.FromName -- PKEY_Message_FromName + Description: Address in from field as person name + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 14 + + + + + Name: System.Message.HasAttachments -- PKEY_Message_HasAttachments + Description: + + Type: Boolean -- VT_BOOL + FormatID: {9C1FCF74-2D97-41BA-B4AE-CB2E3661A6E4}, 8 + + + + + Name: System.Message.IsFwdOrReply -- PKEY_Message_IsFwdOrReply + Description: + Type: Int32 -- VT_I4 + FormatID: {9A9BC088-4F6D-469E-9919-E705412040F9}, 100 + + + + + Name: System.Message.MessageClass -- PKEY_Message_MessageClass + Description: What type of outlook msg this is (meeting, task, mail, etc.) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CD9ED458-08CE-418F-A70E-F912C7BB9C5C}, 103 + + + + + Name: System.Message.ProofInProgress -- PKEY_Message_ProofInProgress + Description: This property will be true if the message junk email proofing is still in progress. + + Type: Boolean -- VT_BOOL + FormatID: {9098F33C-9A7D-48A8-8DE5-2E1227A64E91}, 100 + + + + + Name: System.Message.SenderAddress -- PKEY_Message_SenderAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0BE1C8E7-1981-4676-AE14-FDD78F05A6E7}, 100 + + + + + Name: System.Message.SenderName -- PKEY_Message_SenderName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0DA41CFA-D224-4A18-AE2F-596158DB4B3A}, 100 + + + + + Name: System.Message.Store -- PKEY_Message_Store + Description: The store (aka protocol handler) FILE, MAIL, OUTLOOKEXPRESS + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 15 + + + + + Name: System.Message.ToAddress -- PKEY_Message_ToAddress + Description: Addresses in To: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 16 + + + + + Name: System.Message.ToDoFlags -- PKEY_Message_ToDoFlags + Description: Flags associated with a message flagged to know if it's still active, if it was custom flagged, etc. + + Type: Int32 -- VT_I4 + FormatID: {1F856A9F-6900-4ABA-9505-2D5F1B4D66CB}, 100 + + + + + Name: System.Message.ToDoTitle -- PKEY_Message_ToDoTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BCCC8A3C-8CEF-42E5-9B1C-C69079398BC7}, 100 + + + + + Name: System.Message.ToName -- PKEY_Message_ToName + Description: Person names in To: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 17 + + + + + Music Properties + + + + + Name: System.Music.AlbumArtist -- PKEY_Music_AlbumArtist + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 13 (PIDSI_MUSIC_ALBUM_ARTIST) + + + + + Name: System.Music.AlbumID -- PKEY_Music_AlbumID + Description: Concatenation of System.Music.AlbumArtist and System.Music.AlbumTitle, suitable for indexing and display. + Used to differentiate albums with the same title from different artists. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 100 + + + + + Name: System.Music.AlbumTitle -- PKEY_Music_AlbumTitle + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 4 (PIDSI_MUSIC_ALBUM) + + + + + Name: System.Music.Artist -- PKEY_Music_Artist + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 2 (PIDSI_MUSIC_ARTIST) + + + + + Name: System.Music.BeatsPerMinute -- PKEY_Music_BeatsPerMinute + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 35 (PIDSI_MUSIC_BEATS_PER_MINUTE) + + + + + Name: System.Music.Composer -- PKEY_Music_Composer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 19 (PIDMSI_COMPOSER) + + + + + Name: System.Music.Conductor -- PKEY_Music_Conductor + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 36 (PIDSI_MUSIC_CONDUCTOR) + + + + + Name: System.Music.ContentGroupDescription -- PKEY_Music_ContentGroupDescription + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 33 (PIDSI_MUSIC_CONTENT_GROUP_DESCRIPTION) + + + + + Name: System.Music.DisplayArtist -- PKEY_Music_DisplayArtist + Description: This property returns the best representation of Album Artist for a given music file + based upon AlbumArtist, ContributingArtist and compilation info. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FD122953-FA93-4EF7-92C3-04C946B2F7C8}, 100 + + + + + Name: System.Music.Genre -- PKEY_Music_Genre + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 11 (PIDSI_MUSIC_GENRE) + + + + + Name: System.Music.InitialKey -- PKEY_Music_InitialKey + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 34 (PIDSI_MUSIC_INITIAL_KEY) + + + + + Name: System.Music.IsCompilation -- PKEY_Music_IsCompilation + Description: Indicates whether the file is part of a compilation. + + Type: Boolean -- VT_BOOL + FormatID: {C449D5CB-9EA4-4809-82E8-AF9D59DED6D1}, 100 + + + + + Name: System.Music.Lyrics -- PKEY_Music_Lyrics + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 12 (PIDSI_MUSIC_LYRICS) + + + + + Name: System.Music.Mood -- PKEY_Music_Mood + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 39 (PIDSI_MUSIC_MOOD) + + + + + Name: System.Music.PartOfSet -- PKEY_Music_PartOfSet + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 37 (PIDSI_MUSIC_PART_OF_SET) + + + + + Name: System.Music.Period -- PKEY_Music_Period + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 31 (PIDMSI_PERIOD) + + + + + Name: System.Music.SynchronizedLyrics -- PKEY_Music_SynchronizedLyrics + Description: + Type: Blob -- VT_BLOB + FormatID: {6B223B6A-162E-4AA9-B39F-05D678FC6D77}, 100 + + + + + Name: System.Music.TrackNumber -- PKEY_Music_TrackNumber + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 7 (PIDSI_MUSIC_TRACK) + + + + + Note Properties + + + + + Name: System.Note.Color -- PKEY_Note_Color + Description: + Type: UInt16 -- VT_UI2 + FormatID: {4776CAFA-BCE4-4CB1-A23E-265E76D8EB11}, 100 + + + + + Name: System.Note.ColorText -- PKEY_Note_ColorText + Description: This is the user-friendly form of System.Note.Color. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {46B4E8DE-CDB2-440D-885C-1658EB65B914}, 100 + + + + + Photo Properties + + + + + Name: System.Photo.Aperture -- PKEY_Photo_Aperture + Description: PropertyTagExifAperture. Calculated from PKEY_Photo_ApertureNumerator and PKEY_Photo_ApertureDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37378 + + + + + Name: System.Photo.ApertureDenominator -- PKEY_Photo_ApertureDenominator + Description: Denominator of PKEY_Photo_Aperture + + Type: UInt32 -- VT_UI4 + FormatID: {E1A9A38B-6685-46BD-875E-570DC7AD7320}, 100 + + + + + Name: System.Photo.ApertureNumerator -- PKEY_Photo_ApertureNumerator + Description: Numerator of PKEY_Photo_Aperture + + Type: UInt32 -- VT_UI4 + FormatID: {0337ECEC-39FB-4581-A0BD-4C4CC51E9914}, 100 + + + + + Name: System.Photo.Brightness -- PKEY_Photo_Brightness + Description: This is the brightness of the photo. + + Calculated from PKEY_Photo_BrightnessNumerator and PKEY_Photo_BrightnessDenominator. + + The units are "APEX", normally in the range of -99.99 to 99.99. If the numerator of + the recorded value is FFFFFFFF.H, "Unknown" should be indicated. + + Type: Double -- VT_R8 + FormatID: {1A701BF6-478C-4361-83AB-3701BB053C58}, 100 (PropertyTagExifBrightness) + + + + + Name: System.Photo.BrightnessDenominator -- PKEY_Photo_BrightnessDenominator + Description: Denominator of PKEY_Photo_Brightness + + Type: UInt32 -- VT_UI4 + FormatID: {6EBE6946-2321-440A-90F0-C043EFD32476}, 100 + + + + + Name: System.Photo.BrightnessNumerator -- PKEY_Photo_BrightnessNumerator + Description: Numerator of PKEY_Photo_Brightness + + Type: UInt32 -- VT_UI4 + FormatID: {9E7D118F-B314-45A0-8CFB-D654B917C9E9}, 100 + + + + + Name: System.Photo.CameraManufacturer -- PKEY_Photo_CameraManufacturer + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 271 (PropertyTagEquipMake) + + + + + Name: System.Photo.CameraModel -- PKEY_Photo_CameraModel + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 272 (PropertyTagEquipModel) + + + + + Name: System.Photo.CameraSerialNumber -- PKEY_Photo_CameraSerialNumber + Description: Serial number of camera that produced this photo + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 273 + + + + + Name: System.Photo.Contrast -- PKEY_Photo_Contrast + Description: This indicates the direction of contrast processing applied by the camera + when the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {2A785BA9-8D23-4DED-82E6-60A350C86A10}, 100 + + + + + Name: System.Photo.ContrastText -- PKEY_Photo_ContrastText + Description: This is the user-friendly form of System.Photo.Contrast. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {59DDE9F2-5253-40EA-9A8B-479E96C6249A}, 100 + + + + + Name: System.Photo.DateTaken -- PKEY_Photo_DateTaken + Description: PropertyTagExifDTOrig + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 36867 + + + + + Name: System.Photo.DigitalZoom -- PKEY_Photo_DigitalZoom + Description: PropertyTagExifDigitalZoom. Calculated from PKEY_Photo_DigitalZoomNumerator and PKEY_Photo_DigitalZoomDenominator + + Type: Double -- VT_R8 + FormatID: {F85BF840-A925-4BC2-B0C4-8E36B598679E}, 100 + + + + + Name: System.Photo.DigitalZoomDenominator -- PKEY_Photo_DigitalZoomDenominator + Description: Denominator of PKEY_Photo_DigitalZoom + + Type: UInt32 -- VT_UI4 + FormatID: {745BAF0E-E5C1-4CFB-8A1B-D031A0A52393}, 100 + + + + + Name: System.Photo.DigitalZoomNumerator -- PKEY_Photo_DigitalZoomNumerator + Description: Numerator of PKEY_Photo_DigitalZoom + + Type: UInt32 -- VT_UI4 + FormatID: {16CBB924-6500-473B-A5BE-F1599BCBE413}, 100 + + + + + Name: System.Photo.Event -- PKEY_Photo_Event + Description: The event at which the photo was taken + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 18248 + + + + + Name: System.Photo.EXIFVersion -- PKEY_Photo_EXIFVersion + Description: The EXIF version. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D35F743A-EB2E-47F2-A286-844132CB1427}, 100 + + + + + Name: System.Photo.ExposureBias -- PKEY_Photo_ExposureBias + Description: PropertyTagExifExposureBias. Calculated from PKEY_Photo_ExposureBiasNumerator and PKEY_Photo_ExposureBiasDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37380 + + + + + Name: System.Photo.ExposureBiasDenominator -- PKEY_Photo_ExposureBiasDenominator + Description: Denominator of PKEY_Photo_ExposureBias + + Type: Int32 -- VT_I4 + FormatID: {AB205E50-04B7-461C-A18C-2F233836E627}, 100 + + + + + Name: System.Photo.ExposureBiasNumerator -- PKEY_Photo_ExposureBiasNumerator + Description: Numerator of PKEY_Photo_ExposureBias + + Type: Int32 -- VT_I4 + FormatID: {738BF284-1D87-420B-92CF-5834BF6EF9ED}, 100 + + + + + Name: System.Photo.ExposureIndex -- PKEY_Photo_ExposureIndex + Description: PropertyTagExifExposureIndex. Calculated from PKEY_Photo_ExposureIndexNumerator and PKEY_Photo_ExposureIndexDenominator + + Type: Double -- VT_R8 + FormatID: {967B5AF8-995A-46ED-9E11-35B3C5B9782D}, 100 + + + + + Name: System.Photo.ExposureIndexDenominator -- PKEY_Photo_ExposureIndexDenominator + Description: Denominator of PKEY_Photo_ExposureIndex + + Type: UInt32 -- VT_UI4 + FormatID: {93112F89-C28B-492F-8A9D-4BE2062CEE8A}, 100 + + + + + Name: System.Photo.ExposureIndexNumerator -- PKEY_Photo_ExposureIndexNumerator + Description: Numerator of PKEY_Photo_ExposureIndex + + Type: UInt32 -- VT_UI4 + FormatID: {CDEDCF30-8919-44DF-8F4C-4EB2FFDB8D89}, 100 + + + + + Name: System.Photo.ExposureProgram -- PKEY_Photo_ExposureProgram + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 34850 (PropertyTagExifExposureProg) + + + + + Name: System.Photo.ExposureProgramText -- PKEY_Photo_ExposureProgramText + Description: This is the user-friendly form of System.Photo.ExposureProgram. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FEC690B7-5F30-4646-AE47-4CAAFBA884A3}, 100 + + + + + Name: System.Photo.ExposureTime -- PKEY_Photo_ExposureTime + Description: PropertyTagExifExposureTime. Calculated from PKEY_Photo_ExposureTimeNumerator and PKEY_Photo_ExposureTimeDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 33434 + + + + + Name: System.Photo.ExposureTimeDenominator -- PKEY_Photo_ExposureTimeDenominator + Description: Denominator of PKEY_Photo_ExposureTime + + Type: UInt32 -- VT_UI4 + FormatID: {55E98597-AD16-42E0-B624-21599A199838}, 100 + + + + + Name: System.Photo.ExposureTimeNumerator -- PKEY_Photo_ExposureTimeNumerator + Description: Numerator of PKEY_Photo_ExposureTime + + Type: UInt32 -- VT_UI4 + FormatID: {257E44E2-9031-4323-AC38-85C552871B2E}, 100 + + + + + Name: System.Photo.Flash -- PKEY_Photo_Flash + Description: PropertyTagExifFlash + + Type: Byte -- VT_UI1 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37385 + + + + + Name: System.Photo.FlashEnergy -- PKEY_Photo_FlashEnergy + Description: PropertyTagExifFlashEnergy. Calculated from PKEY_Photo_FlashEnergyNumerator and PKEY_Photo_FlashEnergyDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 41483 + + + + + Name: System.Photo.FlashEnergyDenominator -- PKEY_Photo_FlashEnergyDenominator + Description: Denominator of PKEY_Photo_FlashEnergy + + Type: UInt32 -- VT_UI4 + FormatID: {D7B61C70-6323-49CD-A5FC-C84277162C97}, 100 + + + + + Name: System.Photo.FlashEnergyNumerator -- PKEY_Photo_FlashEnergyNumerator + Description: Numerator of PKEY_Photo_FlashEnergy + + Type: UInt32 -- VT_UI4 + FormatID: {FCAD3D3D-0858-400F-AAA3-2F66CCE2A6BC}, 100 + + + + + Name: System.Photo.FlashManufacturer -- PKEY_Photo_FlashManufacturer + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AABAF6C9-E0C5-4719-8585-57B103E584FE}, 100 + + + + + Name: System.Photo.FlashModel -- PKEY_Photo_FlashModel + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FE83BB35-4D1A-42E2-916B-06F3E1AF719E}, 100 + + + + + Name: System.Photo.FlashText -- PKEY_Photo_FlashText + Description: This is the user-friendly form of System.Photo.Flash. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6B8B68F6-200B-47EA-8D25-D8050F57339F}, 100 + + + + + Name: System.Photo.FNumber -- PKEY_Photo_FNumber + Description: PropertyTagExifFNumber. Calculated from PKEY_Photo_FNumberNumerator and PKEY_Photo_FNumberDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 33437 + + + + + Name: System.Photo.FNumberDenominator -- PKEY_Photo_FNumberDenominator + Description: Denominator of PKEY_Photo_FNumber + + Type: UInt32 -- VT_UI4 + FormatID: {E92A2496-223B-4463-A4E3-30EABBA79D80}, 100 + + + + + Name: System.Photo.FNumberNumerator -- PKEY_Photo_FNumberNumerator + Description: Numerator of PKEY_Photo_FNumber + + Type: UInt32 -- VT_UI4 + FormatID: {1B97738A-FDFC-462F-9D93-1957E08BE90C}, 100 + + + + + Name: System.Photo.FocalLength -- PKEY_Photo_FocalLength + Description: PropertyTagExifFocalLength. Calculated from PKEY_Photo_FocalLengthNumerator and PKEY_Photo_FocalLengthDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37386 + + + + + Name: System.Photo.FocalLengthDenominator -- PKEY_Photo_FocalLengthDenominator + Description: Denominator of PKEY_Photo_FocalLength + + Type: UInt32 -- VT_UI4 + FormatID: {305BC615-DCA1-44A5-9FD4-10C0BA79412E}, 100 + + + + + Name: System.Photo.FocalLengthInFilm -- PKEY_Photo_FocalLengthInFilm + Description: + Type: UInt16 -- VT_UI2 + FormatID: {A0E74609-B84D-4F49-B860-462BD9971F98}, 100 + + + + + Name: System.Photo.FocalLengthNumerator -- PKEY_Photo_FocalLengthNumerator + Description: Numerator of PKEY_Photo_FocalLength + + Type: UInt32 -- VT_UI4 + FormatID: {776B6B3B-1E3D-4B0C-9A0E-8FBAF2A8492A}, 100 + + + + + Name: System.Photo.FocalPlaneXResolution -- PKEY_Photo_FocalPlaneXResolution + Description: PropertyTagExifFocalXRes. Calculated from PKEY_Photo_FocalPlaneXResolutionNumerator and + PKEY_Photo_FocalPlaneXResolutionDenominator. + + Type: Double -- VT_R8 + FormatID: {CFC08D97-C6F7-4484-89DD-EBEF4356FE76}, 100 + + + + + Name: System.Photo.FocalPlaneXResolutionDenominator -- PKEY_Photo_FocalPlaneXResolutionDenominator + Description: Denominator of PKEY_Photo_FocalPlaneXResolution + + Type: UInt32 -- VT_UI4 + FormatID: {0933F3F5-4786-4F46-A8E8-D64DD37FA521}, 100 + + + + + Name: System.Photo.FocalPlaneXResolutionNumerator -- PKEY_Photo_FocalPlaneXResolutionNumerator + Description: Numerator of PKEY_Photo_FocalPlaneXResolution + + Type: UInt32 -- VT_UI4 + FormatID: {DCCB10AF-B4E2-4B88-95F9-031B4D5AB490}, 100 + + + + + Name: System.Photo.FocalPlaneYResolution -- PKEY_Photo_FocalPlaneYResolution + Description: PropertyTagExifFocalYRes. Calculated from PKEY_Photo_FocalPlaneYResolutionNumerator and + PKEY_Photo_FocalPlaneYResolutionDenominator. + + Type: Double -- VT_R8 + FormatID: {4FFFE4D0-914F-4AC4-8D6F-C9C61DE169B1}, 100 + + + + + Name: System.Photo.FocalPlaneYResolutionDenominator -- PKEY_Photo_FocalPlaneYResolutionDenominator + Description: Denominator of PKEY_Photo_FocalPlaneYResolution + + Type: UInt32 -- VT_UI4 + FormatID: {1D6179A6-A876-4031-B013-3347B2B64DC8}, 100 + + + + + Name: System.Photo.FocalPlaneYResolutionNumerator -- PKEY_Photo_FocalPlaneYResolutionNumerator + Description: Numerator of PKEY_Photo_FocalPlaneYResolution + + Type: UInt32 -- VT_UI4 + FormatID: {A2E541C5-4440-4BA8-867E-75CFC06828CD}, 100 + + + + + Name: System.Photo.GainControl -- PKEY_Photo_GainControl + Description: This indicates the degree of overall image gain adjustment. + + Calculated from PKEY_Photo_GainControlNumerator and PKEY_Photo_GainControlDenominator. + + Type: Double -- VT_R8 + FormatID: {FA304789-00C7-4D80-904A-1E4DCC7265AA}, 100 (PropertyTagExifGainControl) + + + + + Name: System.Photo.GainControlDenominator -- PKEY_Photo_GainControlDenominator + Description: Denominator of PKEY_Photo_GainControl + + Type: UInt32 -- VT_UI4 + FormatID: {42864DFD-9DA4-4F77-BDED-4AAD7B256735}, 100 + + + + + Name: System.Photo.GainControlNumerator -- PKEY_Photo_GainControlNumerator + Description: Numerator of PKEY_Photo_GainControl + + Type: UInt32 -- VT_UI4 + FormatID: {8E8ECF7C-B7B8-4EB8-A63F-0EE715C96F9E}, 100 + + + + + Name: System.Photo.GainControlText -- PKEY_Photo_GainControlText + Description: This is the user-friendly form of System.Photo.GainControl. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C06238B2-0BF9-4279-A723-25856715CB9D}, 100 + + + + + Name: System.Photo.ISOSpeed -- PKEY_Photo_ISOSpeed + Description: PropertyTagExifISOSpeed + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 34855 + + + + + Name: System.Photo.LensManufacturer -- PKEY_Photo_LensManufacturer + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E6DDCAF7-29C5-4F0A-9A68-D19412EC7090}, 100 + + + + + Name: System.Photo.LensModel -- PKEY_Photo_LensModel + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E1277516-2B5F-4869-89B1-2E585BD38B7A}, 100 + + + + + Name: System.Photo.LightSource -- PKEY_Photo_LightSource + Description: PropertyTagExifLightSource + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37384 + + + + + Name: System.Photo.MakerNote -- PKEY_Photo_MakerNote + Description: + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {FA303353-B659-4052-85E9-BCAC79549B84}, 100 + + + + + Name: System.Photo.MakerNoteOffset -- PKEY_Photo_MakerNoteOffset + Description: + Type: UInt64 -- VT_UI8 + FormatID: {813F4124-34E6-4D17-AB3E-6B1F3C2247A1}, 100 + + + + + Name: System.Photo.MaxAperture -- PKEY_Photo_MaxAperture + Description: Calculated from PKEY_Photo_MaxApertureNumerator and PKEY_Photo_MaxApertureDenominator + + Type: Double -- VT_R8 + FormatID: {08F6D7C2-E3F2-44FC-AF1E-5AA5C81A2D3E}, 100 + + + + + Name: System.Photo.MaxApertureDenominator -- PKEY_Photo_MaxApertureDenominator + Description: Denominator of PKEY_Photo_MaxAperture + + Type: UInt32 -- VT_UI4 + FormatID: {C77724D4-601F-46C5-9B89-C53F93BCEB77}, 100 + + + + + Name: System.Photo.MaxApertureNumerator -- PKEY_Photo_MaxApertureNumerator + Description: Numerator of PKEY_Photo_MaxAperture + + Type: UInt32 -- VT_UI4 + FormatID: {C107E191-A459-44C5-9AE6-B952AD4B906D}, 100 + + + + + Name: System.Photo.MeteringMode -- PKEY_Photo_MeteringMode + Description: PropertyTagExifMeteringMode + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37383 + + + + + Name: System.Photo.MeteringModeText -- PKEY_Photo_MeteringModeText + Description: This is the user-friendly form of System.Photo.MeteringMode. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F628FD8C-7BA8-465A-A65B-C5AA79263A9E}, 100 + + + + + Name: System.Photo.Orientation -- PKEY_Photo_Orientation + Description: This is the image orientation viewed in terms of rows and columns. + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 274 (PropertyTagOrientation) + + + + + Name: System.Photo.OrientationText -- PKEY_Photo_OrientationText + Description: This is the user-friendly form of System.Photo.Orientation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A9EA193C-C511-498A-A06B-58E2776DCC28}, 100 + + + + + Name: System.Photo.PeopleNames -- PKEY_Photo_PeopleNames + Description: The people tags on an image. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: {E8309B6E-084C-49B4-B1FC-90A80331B638}, 100 + + + + + Name: System.Photo.PhotometricInterpretation -- PKEY_Photo_PhotometricInterpretation + Description: This is the pixel composition. In JPEG compressed data, a JPEG marker is used + instead of this property. + + Type: UInt16 -- VT_UI2 + FormatID: {341796F1-1DF9-4B1C-A564-91BDEFA43877}, 100 + + + + + Name: System.Photo.PhotometricInterpretationText -- PKEY_Photo_PhotometricInterpretationText + Description: This is the user-friendly form of System.Photo.PhotometricInterpretation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {821437D6-9EAB-4765-A589-3B1CBBD22A61}, 100 + + + + + Name: System.Photo.ProgramMode -- PKEY_Photo_ProgramMode + Description: This is the class of the program used by the camera to set exposure when the + picture is taken. + + Type: UInt32 -- VT_UI4 + FormatID: {6D217F6D-3F6A-4825-B470-5F03CA2FBE9B}, 100 + + + + + Name: System.Photo.ProgramModeText -- PKEY_Photo_ProgramModeText + Description: This is the user-friendly form of System.Photo.ProgramMode. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7FE3AA27-2648-42F3-89B0-454E5CB150C3}, 100 + + + + + Name: System.Photo.RelatedSoundFile -- PKEY_Photo_RelatedSoundFile + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {318A6B45-087F-4DC2-B8CC-05359551FC9E}, 100 + + + + + Name: System.Photo.Saturation -- PKEY_Photo_Saturation + Description: This indicates the direction of saturation processing applied by the camera when + the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {49237325-A95A-4F67-B211-816B2D45D2E0}, 100 + + + + + Name: System.Photo.SaturationText -- PKEY_Photo_SaturationText + Description: This is the user-friendly form of System.Photo.Saturation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {61478C08-B600-4A84-BBE4-E99C45F0A072}, 100 + + + + + Name: System.Photo.Sharpness -- PKEY_Photo_Sharpness + Description: This indicates the direction of sharpness processing applied by the camera when + the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {FC6976DB-8349-4970-AE97-B3C5316A08F0}, 100 + + + + + Name: System.Photo.SharpnessText -- PKEY_Photo_SharpnessText + Description: This is the user-friendly form of System.Photo.Sharpness. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {51EC3F47-DD50-421D-8769-334F50424B1E}, 100 + + + + + Name: System.Photo.ShutterSpeed -- PKEY_Photo_ShutterSpeed + Description: PropertyTagExifShutterSpeed. Calculated from PKEY_Photo_ShutterSpeedNumerator and PKEY_Photo_ShutterSpeedDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37377 + + + + + Name: System.Photo.ShutterSpeedDenominator -- PKEY_Photo_ShutterSpeedDenominator + Description: Denominator of PKEY_Photo_ShutterSpeed + + Type: Int32 -- VT_I4 + FormatID: {E13D8975-81C7-4948-AE3F-37CAE11E8FF7}, 100 + + + + + Name: System.Photo.ShutterSpeedNumerator -- PKEY_Photo_ShutterSpeedNumerator + Description: Numerator of PKEY_Photo_ShutterSpeed + + Type: Int32 -- VT_I4 + FormatID: {16EA4042-D6F4-4BCA-8349-7C78D30FB333}, 100 + + + + + Name: System.Photo.SubjectDistance -- PKEY_Photo_SubjectDistance + Description: PropertyTagExifSubjectDist. Calculated from PKEY_Photo_SubjectDistanceNumerator and PKEY_Photo_SubjectDistanceDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37382 + + + + + Name: System.Photo.SubjectDistanceDenominator -- PKEY_Photo_SubjectDistanceDenominator + Description: Denominator of PKEY_Photo_SubjectDistance + + Type: UInt32 -- VT_UI4 + FormatID: {0C840A88-B043-466D-9766-D4B26DA3FA77}, 100 + + + + + Name: System.Photo.SubjectDistanceNumerator -- PKEY_Photo_SubjectDistanceNumerator + Description: Numerator of PKEY_Photo_SubjectDistance + + Type: UInt32 -- VT_UI4 + FormatID: {8AF4961C-F526-43E5-AA81-DB768219178D}, 100 + + + + + Name: System.Photo.TagViewAggregate -- PKEY_Photo_TagViewAggregate + Description: A read-only aggregation of tag-like properties for use in building views. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: {B812F15D-C2D8-4BBF-BACD-79744346113F}, 100 + + + + + Name: System.Photo.TranscodedForSync -- PKEY_Photo_TranscodedForSync + Description: + Type: Boolean -- VT_BOOL + FormatID: {9A8EBB75-6458-4E82-BACB-35C0095B03BB}, 100 + + + + + Name: System.Photo.WhiteBalance -- PKEY_Photo_WhiteBalance + Description: This indicates the white balance mode set when the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {EE3D3D8A-5381-4CFA-B13B-AAF66B5F4EC9}, 100 + + + + + Name: System.Photo.WhiteBalanceText -- PKEY_Photo_WhiteBalanceText + Description: This is the user-friendly form of System.Photo.WhiteBalance. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6336B95E-C7A7-426D-86FD-7AE3D39C84B4}, 100 + + + + + PropGroup Properties + + + + + Name: System.PropGroup.Advanced -- PKEY_PropGroup_Advanced + Description: + Type: Null -- VT_NULL + FormatID: {900A403B-097B-4B95-8AE2-071FDAEEB118}, 100 + + + + + Name: System.PropGroup.Audio -- PKEY_PropGroup_Audio + Description: + Type: Null -- VT_NULL + FormatID: {2804D469-788F-48AA-8570-71B9C187E138}, 100 + + + + + Name: System.PropGroup.Calendar -- PKEY_PropGroup_Calendar + Description: + Type: Null -- VT_NULL + FormatID: {9973D2B5-BFD8-438A-BA94-5349B293181A}, 100 + + + + + Name: System.PropGroup.Camera -- PKEY_PropGroup_Camera + Description: + Type: Null -- VT_NULL + FormatID: {DE00DE32-547E-4981-AD4B-542F2E9007D8}, 100 + + + + + Name: System.PropGroup.Contact -- PKEY_PropGroup_Contact + Description: + Type: Null -- VT_NULL + FormatID: {DF975FD3-250A-4004-858F-34E29A3E37AA}, 100 + + + + + Name: System.PropGroup.Content -- PKEY_PropGroup_Content + Description: + Type: Null -- VT_NULL + FormatID: {D0DAB0BA-368A-4050-A882-6C010FD19A4F}, 100 + + + + + Name: System.PropGroup.Description -- PKEY_PropGroup_Description + Description: + Type: Null -- VT_NULL + FormatID: {8969B275-9475-4E00-A887-FF93B8B41E44}, 100 + + + + + Name: System.PropGroup.FileSystem -- PKEY_PropGroup_FileSystem + Description: + Type: Null -- VT_NULL + FormatID: {E3A7D2C1-80FC-4B40-8F34-30EA111BDC2E}, 100 + + + + + Name: System.PropGroup.General -- PKEY_PropGroup_General + Description: + Type: Null -- VT_NULL + FormatID: {CC301630-B192-4C22-B372-9F4C6D338E07}, 100 + + + + + Name: System.PropGroup.GPS -- PKEY_PropGroup_GPS + Description: + Type: Null -- VT_NULL + FormatID: {F3713ADA-90E3-4E11-AAE5-FDC17685B9BE}, 100 + + + + + Name: System.PropGroup.Image -- PKEY_PropGroup_Image + Description: + Type: Null -- VT_NULL + FormatID: {E3690A87-0FA8-4A2A-9A9F-FCE8827055AC}, 100 + + + + + Name: System.PropGroup.Media -- PKEY_PropGroup_Media + Description: + Type: Null -- VT_NULL + FormatID: {61872CF7-6B5E-4B4B-AC2D-59DA84459248}, 100 + + + + + Name: System.PropGroup.MediaAdvanced -- PKEY_PropGroup_MediaAdvanced + Description: + Type: Null -- VT_NULL + FormatID: {8859A284-DE7E-4642-99BA-D431D044B1EC}, 100 + + + + + Name: System.PropGroup.Message -- PKEY_PropGroup_Message + Description: + Type: Null -- VT_NULL + FormatID: {7FD7259D-16B4-4135-9F97-7C96ECD2FA9E}, 100 + + + + + Name: System.PropGroup.Music -- PKEY_PropGroup_Music + Description: + Type: Null -- VT_NULL + FormatID: {68DD6094-7216-40F1-A029-43FE7127043F}, 100 + + + + + Name: System.PropGroup.Origin -- PKEY_PropGroup_Origin + Description: + Type: Null -- VT_NULL + FormatID: {2598D2FB-5569-4367-95DF-5CD3A177E1A5}, 100 + + + + + Name: System.PropGroup.PhotoAdvanced -- PKEY_PropGroup_PhotoAdvanced + Description: + Type: Null -- VT_NULL + FormatID: {0CB2BF5A-9EE7-4A86-8222-F01E07FDADAF}, 100 + + + + + Name: System.PropGroup.RecordedTV -- PKEY_PropGroup_RecordedTV + Description: + Type: Null -- VT_NULL + FormatID: {E7B33238-6584-4170-A5C0-AC25EFD9DA56}, 100 + + + + + Name: System.PropGroup.Video -- PKEY_PropGroup_Video + Description: + Type: Null -- VT_NULL + FormatID: {BEBE0920-7671-4C54-A3EB-49FDDFC191EE}, 100 + + + + + PropList Properties + + + + + Name: System.PropList.ConflictPrompt -- PKEY_PropList_ConflictPrompt + Description: The list of properties to show in the file operation conflict resolution dialog. Properties with empty + values will not be displayed. Register under the regvalue of "ConflictPrompt". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 11 + + + + + Name: System.PropList.ContentViewModeForBrowse -- PKEY_PropList_ContentViewModeForBrowse + Description: The list of properties to show in the content view mode of an item in the context of browsing. + Register the regvalue under the name of "ContentViewModeForBrowse". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 13 + + + + + Name: System.PropList.ContentViewModeForSearch -- PKEY_PropList_ContentViewModeForSearch + Description: The list of properties to show in the content view mode of an item in the context of searching. + Register the regvalue under the name of "ContentViewModeForSearch". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 14 + + + + + Name: System.PropList.ExtendedTileInfo -- PKEY_PropList_ExtendedTileInfo + Description: The list of properties to show in the listview on extended tiles. Register under the regvalue of + "ExtendedTileInfo". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 9 + + + + + Name: System.PropList.FileOperationPrompt -- PKEY_PropList_FileOperationPrompt + Description: The list of properties to show in the file operation confirmation dialog. Properties with empty values + will not be displayed. If this list is not specified, then the InfoTip property list is used instead. + Register under the regvalue of "FileOperationPrompt". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 10 + + + + + Name: System.PropList.FullDetails -- PKEY_PropList_FullDetails + Description: The list of all the properties to show in the details page. Property groups can be included in this list + in order to more easily organize the UI. Register under the regvalue of "FullDetails". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 2 + + + + + Name: System.PropList.InfoTip -- PKEY_PropList_InfoTip + Description: The list of properties to show in the infotip. Properties with empty values will not be displayed. Register + under the regvalue of "InfoTip". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 4 (PID_PROPLIST_INFOTIP) + + + + + Name: System.PropList.NonPersonal -- PKEY_PropList_NonPersonal + Description: The list of properties that are considered 'non-personal'. When told to remove all non-personal properties + from a given file, the system will leave these particular properties untouched. Register under the regvalue + of "NonPersonal". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49D1091F-082E-493F-B23F-D2308AA9668C}, 100 + + + + + Name: System.PropList.PreviewDetails -- PKEY_PropList_PreviewDetails + Description: The list of properties to display in the preview pane. Register under the regvalue of "PreviewDetails". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 8 + + + + + Name: System.PropList.PreviewTitle -- PKEY_PropList_PreviewTitle + Description: The one or two properties to display in the preview pane title section. The optional second property is + displayed as a subtitle. Register under the regvalue of "PreviewTitle". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 6 + + + + + Name: System.PropList.QuickTip -- PKEY_PropList_QuickTip + Description: The list of properties to show in the infotip when the item is on a slow network. Properties with empty + values will not be displayed. Register under the regvalue of "QuickTip". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 5 (PID_PROPLIST_QUICKTIP) + + + + + Name: System.PropList.TileInfo -- PKEY_PropList_TileInfo + Description: The list of properties to show in the listview on tiles. Register under the regvalue of "TileInfo". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 3 (PID_PROPLIST_TILEINFO) + + + + + Name: System.PropList.XPDetailsPanel -- PKEY_PropList_XPDetailsPanel + Description: The list of properties to display in the XP webview details panel. Obsolete. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_WebView) {F2275480-F782-4291-BD94-F13693513AEC}, 0 (PID_DISPLAY_PROPERTIES) + + + + + RecordedTV Properties + + + + + Name: System.RecordedTV.ChannelNumber -- PKEY_RecordedTV_ChannelNumber + Description: Example: 42 + + Type: UInt32 -- VT_UI4 + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 7 + + + + + Name: System.RecordedTV.Credits -- PKEY_RecordedTV_Credits + Description: Example: "Don Messick/Frank Welker/Casey Kasem/Heather North/Nicole Jaffe;;;" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 4 + + + + + Name: System.RecordedTV.DateContentExpires -- PKEY_RecordedTV_DateContentExpires + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 15 + + + + + Name: System.RecordedTV.EpisodeName -- PKEY_RecordedTV_EpisodeName + Description: Example: "Nowhere to Hyde" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 2 + + + + + Name: System.RecordedTV.IsATSCContent -- PKEY_RecordedTV_IsATSCContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 16 + + + + + Name: System.RecordedTV.IsClosedCaptioningAvailable -- PKEY_RecordedTV_IsClosedCaptioningAvailable + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 12 + + + + + Name: System.RecordedTV.IsDTVContent -- PKEY_RecordedTV_IsDTVContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 17 + + + + + Name: System.RecordedTV.IsHDContent -- PKEY_RecordedTV_IsHDContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 18 + + + + + Name: System.RecordedTV.IsRepeatBroadcast -- PKEY_RecordedTV_IsRepeatBroadcast + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 13 + + + + + Name: System.RecordedTV.IsSAP -- PKEY_RecordedTV_IsSAP + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 14 + + + + + Name: System.RecordedTV.NetworkAffiliation -- PKEY_RecordedTV_NetworkAffiliation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2C53C813-FB63-4E22-A1AB-0B331CA1E273}, 100 + + + + + Name: System.RecordedTV.OriginalBroadcastDate -- PKEY_RecordedTV_OriginalBroadcastDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {4684FE97-8765-4842-9C13-F006447B178C}, 100 + + + + + Name: System.RecordedTV.ProgramDescription -- PKEY_RecordedTV_ProgramDescription + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 3 + + + + + Name: System.RecordedTV.RecordingTime -- PKEY_RecordedTV_RecordingTime + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {A5477F61-7A82-4ECA-9DDE-98B69B2479B3}, 100 + + + + + Name: System.RecordedTV.StationCallSign -- PKEY_RecordedTV_StationCallSign + Description: Example: "TOONP" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 5 + + + + + Name: System.RecordedTV.StationName -- PKEY_RecordedTV_StationName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1B5439E7-EBA1-4AF8-BDD7-7AF1D4549493}, 100 + + + + + Search Properties + + + + + Name: System.Search.AutoSummary -- PKEY_Search_AutoSummary + Description: General Summary of the document. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 2 + + + + + Name: System.Search.ContainerHash -- PKEY_Search_ContainerHash + Description: Hash code used to identify attachments to be deleted based on a common container url + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BCEEE283-35DF-4D53-826A-F36A3EEFC6BE}, 100 + + + + + Name: System.Search.Contents -- PKEY_Search_Contents + Description: The contents of the item. This property is for query restrictions only; it cannot be retrieved in a + query result. The Indexing Service friendly name is 'contents'. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 19 (PID_STG_CONTENTS) + + + + + Name: System.Search.EntryID -- PKEY_Search_EntryID + Description: The entry ID for an item within a given catalog in the Windows Search Index. + This value may be recycled, and therefore is not considered unique over time. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 5 (PROPID_QUERY_WORKID) + + + + + Name: System.Search.ExtendedProperties -- PKEY_Search_ExtendedProperties + Description: + Type: Blob -- VT_BLOB + FormatID: {7B03B546-FA4F-4A52-A2FE-03D5311E5865}, 100 + + + + + Name: System.Search.GatherTime -- PKEY_Search_GatherTime + Description: The Datetime that the Windows Search Gatherer process last pushed properties of this document to the Windows Search Gatherer Plugins. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {0B63E350-9CCC-11D0-BCDB-00805FCCCE04}, 8 + + + + + Name: System.Search.HitCount -- PKEY_Search_HitCount + Description: When using CONTAINS over the Windows Search Index, this is the number of matches of the term. + If there are multiple CONTAINS, an AND computes the min number of hits and an OR the max number of hits. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 4 (PROPID_QUERY_HITCOUNT) + + + + + Name: System.Search.IsClosedDirectory -- PKEY_Search_IsClosedDirectory + Description: If this property is emitted with a value of TRUE, then it indicates that this URL's last modified time applies to all of it's children, and if this URL is deleted then all of it's children are deleted as well. For example, this would be emitted as TRUE when emitting the URL of an email so that all attachments are tied to the last modified time of that email. + + Type: Boolean -- VT_BOOL + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 23 + + + + + Name: System.Search.IsFullyContained -- PKEY_Search_IsFullyContained + Description: Any child URL of a URL which has System.Search.IsClosedDirectory=TRUE must emit System.Search.IsFullyContained=TRUE. This ensures that the URL is not deleted at the end of a crawl because it hasn't been visited (which is the normal mechanism for detecting deletes). For example an email attachment would emit this property + + Type: Boolean -- VT_BOOL + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 24 + + + + + Name: System.Search.QueryFocusedSummary -- PKEY_Search_QueryFocusedSummary + Description: Query Focused Summary of the document. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 3 + + + + + Name: System.Search.QueryFocusedSummaryWithFallback -- PKEY_Search_QueryFocusedSummaryWithFallback + Description: Query Focused Summary of the document, if none is available it returns the AutoSummary. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 4 + + + + + Name: System.Search.Rank -- PKEY_Search_Rank + Description: Relevance rank of row. Ranges from 0-1000. Larger numbers = better matches. Query-time only. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 3 (PROPID_QUERY_RANK) + + + + + Name: System.Search.Store -- PKEY_Search_Store + Description: The identifier for the protocol handler that produced this item. (E.g. MAPI, CSC, FILE etc.) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A06992B3-8CAF-4ED7-A547-B259E32AC9FC}, 100 + + + + + Name: System.Search.UrlToIndex -- PKEY_Search_UrlToIndex + Description: This property should be emitted by a container IFilter for each child URL within the container. The children will eventually be crawled by the indexer if they are within scope. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 2 + + + + + Name: System.Search.UrlToIndexWithModificationTime -- PKEY_Search_UrlToIndexWithModificationTime + Description: This property is the same as System.Search.UrlToIndex except that it includes the time the URL was last modified. This is an optimization for the indexer as it doesn't have to call back into the protocol handler to ask for this information to determine if the content needs to be indexed again. The property is a vector with two elements, a VT_LPWSTR with the URL and a VT_FILETIME for the last modified time. + + Type: Multivalue Any -- VT_VECTOR | VT_NULL (For variants: VT_ARRAY | VT_NULL) + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 12 + + + + + Shell Properties + + + + + Name: System.Shell.OmitFromView -- PKEY_Shell_OmitFromView + Description: Set this to a string value of 'True' to omit this item from shell views + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE35258C-C695-4CBC-B982-38B0AD24CED0}, 2 + + + + + Name: System.Shell.SFGAOFlagsStrings -- PKEY_Shell_SFGAOFlagsStrings + Description: Expresses the SFGAO flags as string values and is used as a query optimization. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D6942081-D53B-443D-AD47-5E059D9CD27A}, 2 + + + + + Software Properties + + + + + Name: System.Software.DateLastUsed -- PKEY_Software_DateLastUsed + Description: + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {841E4F90-FF59-4D16-8947-E81BBFFAB36D}, 16 + + + + + Name: System.Software.ProductName -- PKEY_Software_ProductName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 7 + + + + + Sync Properties + + + + + Name: System.Sync.Comments -- PKEY_Sync_Comments + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 13 + + + + + Name: System.Sync.ConflictDescription -- PKEY_Sync_ConflictDescription + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 4 + + + + + Name: System.Sync.ConflictFirstLocation -- PKEY_Sync_ConflictFirstLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 6 + + + + + Name: System.Sync.ConflictSecondLocation -- PKEY_Sync_ConflictSecondLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 7 + + + + + Name: System.Sync.HandlerCollectionID -- PKEY_Sync_HandlerCollectionID + Description: + Type: Guid -- VT_CLSID + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 2 + + + + + Name: System.Sync.HandlerID -- PKEY_Sync_HandlerID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 3 + + + + + Name: System.Sync.HandlerName -- PKEY_Sync_HandlerName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 2 + + + + + Name: System.Sync.HandlerType -- PKEY_Sync_HandlerType + Description: + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 8 + + + + + Name: System.Sync.HandlerTypeLabel -- PKEY_Sync_HandlerTypeLabel + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 9 + + + + + Name: System.Sync.ItemID -- PKEY_Sync_ItemID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 6 + + + + + Name: System.Sync.ItemName -- PKEY_Sync_ItemName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 3 + + + + + Name: System.Sync.ProgressPercentage -- PKEY_Sync_ProgressPercentage + Description: An integer value between 0 and 100 representing the percentage completed. + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 23 + + + + + Name: System.Sync.State -- PKEY_Sync_State + Description: Sync state. + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 24 + + + + + Name: System.Sync.Status -- PKEY_Sync_Status + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 10 + + + + + Task Properties + + + + + Name: System.Task.BillingInformation -- PKEY_Task_BillingInformation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D37D52C6-261C-4303-82B3-08B926AC6F12}, 100 + + + + + Name: System.Task.CompletionStatus -- PKEY_Task_CompletionStatus + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {084D8A0A-E6D5-40DE-BF1F-C8820E7C877C}, 100 + + + + + Name: System.Task.Owner -- PKEY_Task_Owner + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {08C7CC5F-60F2-4494-AD75-55E3E0B5ADD0}, 100 + + + + + Video Properties + + + + + Name: System.Video.Compression -- PKEY_Video_Compression + Description: Indicates the level of compression for the video stream. "Compression". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 10 (PIDVSI_COMPRESSION) + + + + + Name: System.Video.Director -- PKEY_Video_Director + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 20 (PIDMSI_DIRECTOR) + + + + + Name: System.Video.EncodingBitrate -- PKEY_Video_EncodingBitrate + Description: Indicates the data rate in "bits per second" for the video stream. "DataRate". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 8 (PIDVSI_DATA_RATE) + + + + + Name: System.Video.FourCC -- PKEY_Video_FourCC + Description: Indicates the 4CC for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 44 + + + + + Name: System.Video.FrameHeight -- PKEY_Video_FrameHeight + Description: Indicates the frame height for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 4 + + + + + Name: System.Video.FrameRate -- PKEY_Video_FrameRate + Description: Indicates the frame rate in "frames per millisecond" for the video stream. "FrameRate". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 6 (PIDVSI_FRAME_RATE) + + + + + Name: System.Video.FrameWidth -- PKEY_Video_FrameWidth + Description: Indicates the frame width for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 3 + + + + + Name: System.Video.HorizontalAspectRatio -- PKEY_Video_HorizontalAspectRatio + Description: Indicates the horizontal portion of the aspect ratio. The X portion of XX:YY, + like 16:9. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 42 + + + + + Name: System.Video.SampleSize -- PKEY_Video_SampleSize + Description: Indicates the sample size in bits for the video stream. "SampleSize". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 9 (PIDVSI_SAMPLE_SIZE) + + + + + Name: System.Video.StreamName -- PKEY_Video_StreamName + Description: Indicates the name for the video stream. "StreamName". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 2 (PIDVSI_STREAM_NAME) + + + + + Name: System.Video.StreamNumber -- PKEY_Video_StreamNumber + Description: "Stream Number". + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 11 (PIDVSI_STREAM_NUMBER) + + + + + Name: System.Video.TotalBitrate -- PKEY_Video_TotalBitrate + Description: Indicates the total data rate in "bits per second" for all video and audio streams. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 43 (PIDVSI_TOTAL_BITRATE) + + + + + Name: System.Video.TranscodedForSync -- PKEY_Video_TranscodedForSync + Description: + Type: Boolean -- VT_BOOL + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 46 + + + + + Name: System.Video.VerticalAspectRatio -- PKEY_Video_VerticalAspectRatio + Description: Indicates the vertical portion of the aspect ratio. The Y portion of + XX:YY, like 16:9. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 45 + + + + + Volume Properties + + + + + Name: System.Volume.FileSystem -- PKEY_Volume_FileSystem + Description: Indicates the filesystem of the volume. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 4 (PID_VOLUME_FILESYSTEM) (Filesystem Volume Properties) + + + + + Name: System.Volume.IsMappedDrive -- PKEY_Volume_IsMappedDrive + Description: + Type: Boolean -- VT_BOOL + FormatID: {149C0B69-2C2D-48FC-808F-D318D78C4636}, 2 + + + + + Name: System.Volume.IsRoot -- PKEY_Volume_IsRoot + Description: + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 10 (Filesystem Volume Properties) + + + + + Helper class to modify properties for a given window + + + + + Sets a shell property for a given window + + The property to set + Handle to the window that the property will be set on + The value to set for the property + + + + Sets a shell property for a given window + + The property to set + Window that the property will be set on + The value to set for the property + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to AddToMostRecentlyUsedList cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to AlwaysAppendDefaultExtension cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Index was outside the bounds of the CommonFileDialogComboBox.. + + + + + Looks up a localized string similar to File name not available - dialog was canceled.. + + + + + Looks up a localized string similar to Shell item could not be created.. + + + + + Looks up a localized string similar to Handle provided cannot be IntPtr.Zero.. + + + + + Looks up a localized string similar to Multiple files selected - the FileNames property should be used instead.. + + + + + Looks up a localized string similar to Multiple files selected - the Items property should be used instead.. + + + + + Looks up a localized string similar to File name not available - dialog has not closed yet.. + + + + + Looks up a localized string similar to Common File Dialog requires Windows Vista or later.. + + + + + Looks up a localized string similar to Office Files. + + + + + Looks up a localized string similar to All Picture Files. + + + + + Looks up a localized string similar to Text Files. + + + + + Looks up a localized string similar to CreatePrompt cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Custom controls cannot be removed from a File dialog once added.. + + + + + Looks up a localized string similar to Control name cannot be null or zero length.. + + + + + Looks up a localized string similar to CommonFileDialogMenuItem controls can only be added to CommonFileDialogMenu controls.. + + + + + Looks up a localized string similar to Modifying controls collection while dialog is showing is not supported.. + + + + + Looks up a localized string similar to Dialog cannot have more than one control with the same name.. + + + + + Looks up a localized string similar to Dialog control must be removed from current collections first.. + + + + + Looks up a localized string similar to EnsureFileExists cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to EnsurePathExists cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to EnsureReadOnly cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to EnsureValidNames cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Browsing to object failed.. + + + + + Looks up a localized string similar to ExplorerBrowser failed to get current view.. + + + + + Looks up a localized string similar to Unable to get icon size.. + + + + + Looks up a localized string similar to Unexpected error retrieving item count.. + + + + + Looks up a localized string similar to Unexpected error retrieving selected item count.. + + + + + Looks up a localized string similar to Unexpected error retrieving selection.. + + + + + Looks up a localized string similar to Unexpected error retrieving view items.. + + + + + Looks up a localized string similar to The given path does not exist ({0}). + + + + + Looks up a localized string similar to Guid does not identify a known folder.. + + + + + Looks up a localized string similar to ControlPanel Category. + + + + + Looks up a localized string similar to ControlPanel Classic. + + + + + Looks up a localized string similar to Communications. + + + + + Looks up a localized string similar to Compressed Folder. + + + + + Looks up a localized string similar to Contacts. + + + + + Looks up a localized string similar to Documents. + + + + + Looks up a localized string similar to Games. + + + + + Looks up a localized string similar to Generic Library. + + + + + Looks up a localized string similar to Invalid. + + + + + Looks up a localized string similar to Library. + + + + + Looks up a localized string similar to Music. + + + + + Looks up a localized string similar to Music Icons. + + + + + Looks up a localized string similar to Network Explorer. + + + + + Looks up a localized string similar to Not Specified. + + + + + Looks up a localized string similar to Open Search. + + + + + Looks up a localized string similar to Other Users. + + + + + Looks up a localized string similar to Pictures. + + + + + Looks up a localized string similar to Printers. + + + + + Looks up a localized string similar to RecordedTV. + + + + + Looks up a localized string similar to RecycleBin. + + + + + Looks up a localized string similar to Saved Games. + + + + + Looks up a localized string similar to Search Connector. + + + + + Looks up a localized string similar to Searches. + + + + + Looks up a localized string similar to Generic SearchResults. + + + + + Looks up a localized string similar to Software Explorer. + + + + + Looks up a localized string similar to User Files. + + + + + Looks up a localized string similar to Users Libraries. + + + + + Looks up a localized string similar to Videos. + + + + + Looks up a localized string similar to IsExpandedMode cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Custom categories cannot be added while recent documents tracking is turned off.. + + + + + Looks up a localized string similar to The file type is not registered with this application.. + + + + + Looks up a localized string similar to JumpListLink's path is required and cannot be null.. + + + + + Looks up a localized string similar to JumpListLink's title is required and cannot be null.. + + + + + Looks up a localized string similar to Negative numbers are not allowed for the ordinal position.. + + + + + Looks up a localized string similar to Given Known Folder ID is invalid.. + + + + + Looks up a localized string similar to Parsing name is invalid.. + + + + + Looks up a localized string similar to Creation of window has failed, view inner exception for details.. + + + + + Looks up a localized string similar to Window class could not be registered, check inner exception for more details.. + + + + + Looks up a localized string similar to Message filter registration failed.. + + + + + Looks up a localized string similar to No listener handled of that value is registered.. + + + + + Looks up a localized string similar to Cannot create window on the listener thread because there is no existing window on the listener thread.. + + + + + Looks up a localized string similar to NavigateToShortcut cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Parent cannot be null.. + + + + + Looks up a localized string similar to The method or operation is not implemented.. + + + + + Looks up a localized string similar to OverwritePrompt cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to This CanonicalName is not a valid index.. + + + + + Looks up a localized string similar to This PropertyKey is not a valid index.. + + + + + Looks up a localized string similar to Argument CanonicalName cannot be null or empty.. + + + + + Looks up a localized string similar to Index was outside the bounds of the CommonFileDialogRadioButtonList.. + + + + + Looks up a localized string similar to RestoreDirectory cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Retrieved a null shell item from dialog.. + + + + + Looks up a localized string similar to Given property key is invalid.. + + + + + Looks up a localized string similar to Shell Exception has occurred, look at inner exception for information.. + + + + + Looks up a localized string similar to GetParsingName has failed.. + + + + + Looks up a localized string similar to The given CanonicalName is not valid.. + + + + + Looks up a localized string similar to DefaultSaveFolder path not found.. + + + + + Looks up a localized string similar to LibraryName cannot be empty.. + + + + + Looks up a localized string similar to Folder path not found.. + + + + + Looks up a localized string similar to Invalid FolderType Guid.. + + + + + Looks up a localized string similar to The given known folder is not a valid library.. + + + + + Looks up a localized string similar to Can't get the display name.. + + + + + Looks up a localized string similar to Destination array too small, or invalid arrayIndex.. + + + + + Looks up a localized string similar to Must have at least one shell object in the collection.. + + + + + Looks up a localized string similar to Cannot insert items into a read only list.. + + + + + Looks up a localized string similar to Cannot remove items from a read only list.. + + + + + Looks up a localized string similar to Shell item could not be created.. + + + + + Looks up a localized string similar to Shell Object creation requires Windows Vista or higher operating system.. + + + + + Looks up a localized string similar to Unable to Create Shell Item.. + + + + + Looks up a localized string similar to Registration for change notification has failed.. + + + + + Looks up a localized string similar to Unable to change watched events while listening.. + + + + + Looks up a localized string similar to The value on this property cannot be set. To set the property value, use the ShellObject that is associated with this property.. + + + + + Looks up a localized string similar to No constructor found matching requested argument types.. + + + + + Looks up a localized string similar to Unable to set property.. + + + + + Looks up a localized string similar to Unable to get writable property store for this property.. + + + + + Looks up a localized string similar to A value had to be truncated in a string or rounded if a numeric value. Set AllowTruncatedValue to true to prevent this exception.. + + + + + Looks up a localized string similar to This Property is available on Windows 7 only.. + + + + + Looks up a localized string similar to This property only accepts a value of type \"{0}\".. + + + + + Looks up a localized string similar to Unable to set list of sort columns.. + + + + + Looks up a localized string similar to Unable to set visible columns.. + + + + + Looks up a localized string similar to CurrentSize (width or height) cannot be greater than the maximum size: {0}.. + + + + + Looks up a localized string similar to The current ShellObject does not have a thumbnail. Try using ShellThumbnailFormatOption.Default to get the icon for this item.. + + + + + Looks up a localized string similar to The current ShellObject does not have a valid thumbnail handler or there was a problem in extracting the thumbnail for this specific shell object.. + + + + + Looks up a localized string similar to CurrentSize (width or height) cannot be 0.. + + + + + Looks up a localized string similar to ShowHiddenItems cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Show places list cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to The Stock Icon identifier given is invalid ({0}).. + + + + + Looks up a localized string similar to Child control's window handle cannot be zero.. + + + + + Looks up a localized string similar to Parent window handle cannot be zero.. + + + + + Looks up a localized string similar to TabbedThumbnailProxyWindow has not been set.. + + + + + Looks up a localized string similar to A valid active Window is needed to update the Taskbar.. + + + + + Looks up a localized string similar to The array of buttons must contain at least 1 item.. + + + + + Looks up a localized string similar to Tool bar buttons for this window are already added. Please refer to the Remarks section of the AddButtons method for more information on updating the properties or hiding existing buttons.. + + + + + Looks up a localized string similar to Value is already set. It cannot be set more than once.. + + + + + Looks up a localized string similar to The given control has not been added to the taskbar.. + + + + + Looks up a localized string similar to Window handle is invalid.. + + + + + Looks up a localized string similar to This preview has already been added.. + + + + + Looks up a localized string similar to The given preview has not been added to the taskbar.. + + + + + Looks up a localized string similar to Maximum number of buttons allowed is 7.. + + + + + Looks up a localized string similar to Null or empty arrays are not allowed.. + + + + + Encapsulates the data about a window message + + + + + Received windows message. + + + + + The result of registering with the MessageListenerFilter + + + + + Gets the window handle to which the callback was registered. + + + + + Gets the message for which the callback was registered. + + + + + Base class for the Event Args for change notifications raised by . + + + + + The type of the change that happened to the ShellObject + + + + + True if the event was raised as a result of a system interrupt. + + + + + The data that describes a ShellObject event with a single path parameter + + + + + The path of the shell object + + + + + The data that describes a ShellObject renamed event + + + + + The new path of the shell object + + + + + The data that describes a SystemImageUpdated event. + + + + + Gets the index of the system image that has been updated. + + + + + Listens for changes in/on a ShellObject and raises events when they occur. + This class supports all items under the shell namespace including + files, folders and virtual folders (libraries, search results and network items), etc. + + + + + Creates the ShellObjectWatcher for the given ShellObject + + The ShellObject to monitor + Whether to listen for changes recursively (for when monitoring a container) + + + + Start the watcher and begin receiving change notifications. + + If the watcher is running, has no effect. + Registration for notifications should be done before this is called. + + + + + + Stop the watcher and prevent further notifications from being received. + If the watcher is not running, this has no effect. + + + + + Processes all change notifications sent by the Windows Shell. + + The windows message representing the notification event + + + + Disposes ShellObjectWatcher + + + + + + Disposes ShellObjectWatcher. + + + + + Finalizer for ShellObjectWatcher + + + + + Gets whether the watcher is currently running. + + + + + Raised when any event occurs. + + + + + Raised when global events occur. + + + + + Raised when disk events occur. + + + + + Raised when an item is renamed. + + + + + Raised when an item is created. + + + + + Raised when an item is deleted. + + + + + Raised when an item is updated. + + + + + Raised when a directory is updated. + + + + + Raised when a directory is renamed. + + + + + Raised when a directory is created. + + + + + Raised when a directory is deleted. + + + + + Raised when media is inserted. + + + + + Raised when media is removed. + + + + + Raised when a drive is added. + + + + + Raised when a drive is removed. + + + + + Raised when a folder is shared on a network. + + + + + Raised when a folder is unshared from the network. + + + + + Raised when a server is disconnected. + + + + + Raised when a system image is changed. + + + + + Raised when free space changes. + + + + + Raised when a file type association changes. + + + + + Describes the event that has occurred. + Typically, only one event is specified at a time. + If more than one event is specified, + the values contained in the dwItem1 and dwItem2 parameters must be the same, + respectively, for all specified events. + This parameter can be one or more of the following values: + + + + + None + + + + + The name of a nonfolder item has changed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the previous PIDL or name of the item. + dwItem2 contains the new PIDL or name of the item. + + + + + A nonfolder item has been created. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the item that was created. + dwItem2 is not used and should be NULL. + + + + + A nonfolder item has been deleted. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the item that was deleted. + dwItem2 is not used and should be NULL. + + + + + A folder has been created. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that was created. + dwItem2 is not used and should be NULL. + + + + + A folder has been removed. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that was removed. + dwItem2 is not used and should be NULL. + + + + + Storage media has been inserted into a drive. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive that contains the new media. + dwItem2 is not used and should be NULL. + + + + + Storage media has been removed from a drive. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive from which the media was removed. + dwItem2 is not used and should be NULL. + + + + + A drive has been removed. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive that was removed. + dwItem2 is not used and should be NULL. + + + + + A drive has been added. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive that was added. + dwItem2 is not used and should be NULL. + + + + + A folder on the local computer is being shared via the network. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that is being shared. + dwItem2 is not used and should be NULL. + + + + + A folder on the local computer is no longer being shared via the network. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that is no longer being shared. + dwItem2 is not used and should be NULL. + + + + + The attributes of an item or folder have changed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the item or folder that has changed. + dwItem2 is not used and should be NULL. + + + + + The contents of an existing folder have changed, but the folder still exists and has not been renamed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that has changed. + dwItem2 is not used and should be NULL. + If a folder has been created, deleted, or renamed, use SHCNE_MKDIR, SHCNE_RMDIR, or SHCNE_RENAMEFOLDER, respectively. + + + + + An existing item (a folder or a nonfolder) has changed, but the item still exists and has not been renamed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the item that has changed. + dwItem2 is not used and should be NULL. + If a nonfolder item has been created, deleted, or renamed, + use SHCNE_CREATE, SHCNE_DELETE, or SHCNE_RENAMEITEM, respectively, instead. + + + + + The computer has disconnected from a server. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the server from which the computer was disconnected. + dwItem2 is not used and should be NULL. + + + + + An image in the system image list has changed. + SHCNF_DWORD must be specified in uFlags. + dwItem1 is not used and should be NULL. + dwItem2 contains the index in the system image list that has changed. + //verify this is not opposite? + + + + The name of a folder has changed. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the previous PIDL or name of the folder. + dwItem2 contains the new PIDL or name of the folder. + + + + + The amount of free space on a drive has changed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive on which the free space changed. + dwItem2 is not used and should be NULL. + + + + + A file type association has changed. + SHCNF_IDLIST must be specified in the uFlags parameter. + dwItem1 and dwItem2 are not used and must be NULL. + + + + + Specifies a combination of all of the disk event identifiers. + + + + + Specifies a combination of all of the global event identifiers. + + + + + All events have occurred. + + + + + The specified event occurred as a result of a system interrupt. + As this value modifies other event values, it cannot be used alone. + + + + + Represents a standard system icon. + + + + + Creates a new StockIcon instance with the specified identifer, default size + and no link overlay or selected states. + + A value that identifies the icon represented by this instance. + + + + Creates a new StockIcon instance with the specified identifer and options. + + A value that identifies the icon represented by this instance. + A value that indicates the size of the stock icon. + A bool value that indicates whether the icon has a link overlay. + A bool value that indicates whether the icon is in a selected state. + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects + + + + + + + + + + Gets or sets a value indicating whether the icon appears selected. + + A value. + + + + Gets or sets a value that cotrols whether to put a link overlay on the icon. + + A value. + + + + Gets or sets a value that controls the size of the Stock Icon. + + A value. + + + + Gets or sets the Stock Icon identifier associated with this icon. + + + + + Gets the icon image in format. + + + + + Gets the icon image in format. + + + + + Gets the icon image in format. + + + + + Specifies options for the size of the stock icon. + + + + + Retrieve the small version of the icon, as specified by SM_CXSMICON and SM_CYSMICON system metrics. + + + + + Retrieve the large version of the icon, as specified by SM_CXICON and SM_CYICON system metrics. + + + + + Retrieve the shell-sized icons (instead of the size specified by the system metrics). + + + + + Provides values used to specify which standard icon to retrieve. + + + + + Icon for a document (blank page), no associated program. + + + + + Icon for a document with an associated program. + + + + + Icon for a generic application with no custom icon. + + + + + Icon for a closed folder. + + + + + Icon for an open folder. + + + + + Icon for a 5.25" floppy disk drive. + + + + + Icon for a 3.5" floppy disk drive. + + + + + Icon for a removable drive. + + + + + Icon for a fixed (hard disk) drive. + + + + + Icon for a network drive. + + + + + Icon for a disconnected network drive. + + + + + Icon for a CD drive. + + + + + Icon for a RAM disk drive. + + + + + Icon for an entire network. + + + + + Icon for a computer on the network. + + + + + Icon for a printer. + + + + + Icon for My Network places. + + + + + Icon for search (magnifying glass). + + + + + Icon for help. + + + + + Icon for an overlay indicating shared items. + + + + + Icon for an overlay indicating shortcuts to items. + + + + + Icon for an overlay for slow items. + + + + + Icon for a empty recycle bin. + + + + + Icon for a full recycle bin. + + + + + Icon for audio CD media. + + + + + Icon for a security lock. + + + + + Icon for a auto list. + + + + + Icon for a network printer. + + + + + Icon for a server share. + + + + + Icon for a Fax printer. + + + + + Icon for a networked Fax printer. + + + + + Icon for print to file. + + + + + Icon for a stack. + + + + + Icon for a SVCD media. + + + + + Icon for a folder containing other items. + + + + + Icon for an unknown drive. + + + + + Icon for a DVD drive. + + + + + Icon for DVD media. + + + + + Icon for DVD-RAM media. + + + + + Icon for DVD-RW media. + + + + + Icon for DVD-R media. + + + + + Icon for a DVD-ROM media. + + + + + Icon for CD+ (Enhanced CD) media. + + + + + Icon for CD-RW media. + + + + + Icon for a CD-R media. + + + + + Icon burning a CD. + + + + + Icon for blank CD media. + + + + + Icon for CD-ROM media. + + + + + Icon for audio files. + + + + + Icon for image files. + + + + + Icon for video files. + + + + + Icon for mixed Files. + + + + + Icon for a folder back. + + + + + Icon for a folder front. + + + + + Icon for a security shield. Use for UAC prompts only. + + + + + Icon for a warning. + + + + + Icon for an informational message. + + + + + Icon for an error message. + + + + + Icon for a key. + + + + + Icon for software. + + + + + Icon for a rename. + + + + + Icon for delete. + + + + + Icon for audio DVD media. + + + + + Icon for movie DVD media. + + + + + Icon for enhanced CD media. + + + + + Icon for enhanced DVD media. + + + + + Icon for HD-DVD media. + + + + + Icon for BluRay media. + + + + + Icon for VCD media. + + + + + Icon for DVD+R media. + + + + + Icon for DVD+RW media. + + + + + Icon for desktop computer. + + + + + Icon for mobile computer (laptop/notebook). + + + + + Icon for users. + + + + + Icon for smart media. + + + + + Icon for compact flash. + + + + + Icon for a cell phone. + + + + + Icon for a camera. + + + + + Icon for video camera. + + + + + Icon for audio player. + + + + + Icon for connecting to network. + + + + + Icon for the Internet. + + + + + Icon for a ZIP file. + + + + + Icon for settings. + + + + + HDDVD Drive (all types) + + + + + Icon for BluRay Drive (all types) + + + + + Icon for HDDVD-ROM Media + + + + + Icon for HDDVD-R Media + + + + + Icon for HDDVD-RAM Media + + + + + Icon for BluRay ROM Media + + + + + Icon for BluRay R Media + + + + + Icon for BluRay RE Media (Rewriable and RAM) + + + + + Icon for Clustered disk + + + + + Collection of all the standard system stock icons + + + + + Creates a stock icon collection using the default options for + size, link overlay and selection state. + + + + + Overloaded constructor that takes in size and Boolean values for + link overlay and selected icon state. The settings are applied to + all the stock icons in the collection. + + StockIcon size for all the icons in the collection. + Link Overlay state for all the icons in the collection. + Selection state for all the icons in the collection. + + + + Returns the existing stock icon from the internal cache, or creates a new one + based on the current settings if it's not in the cache. + + Unique identifier for the requested stock icon + Stock Icon based on the identifier given (either from the cache or created new) + + + + Gets the default stock icon size in one of the StockIconSize values. + This size applies to all the stock icons in the collection. + + + + + Gets the default link overlay state for the icon. This property + applies to all the stock icons in the collection. + + + + + Gets the default selected state for the icon. This property + applies to all the stock icons in the collection. + + + + + Gets a collection of all the system stock icons + + + + + Icon for a document (blank page), no associated program. + + + + + Icon for a document with an associated program. + + + + + Icon for a generic application with no custom icon. + + + + + Icon for a closed folder. + + + + + Icon for an open folder. + + + + + Icon for a 5.25" floppy disk drive. + + + + + Icon for a 3.5" floppy disk drive. + + + + + Icon for a removable drive. + + + + + Icon for a fixed (hard disk) drive. + + + + + Icon for a network drive. + + + + + Icon for a disconnected network drive. + + + + + Icon for a CD drive. + + + + + Icon for a RAM disk drive. + + + + + Icon for an entire network. + + + + + Icon for a computer on the network. + + + + + Icon for a printer. + + + + + Icon for My Network places. + + + + + Icon for search (magnifying glass). + + + + + Icon for help. + + + + + Icon for an overlay indicating shared items. + + + + + Icon for an overlay indicating shortcuts to items. + + + + + Icon for an overlay for slow items. + + + + + Icon for a empty recycle bin. + + + + + Icon for a full recycle bin. + + + + + Icon for audio CD media. + + + + + Icon for a security lock. + + + + + Icon for a auto list. + + + + + Icon for a network printer. + + + + + Icon for a server share. + + + + + Icon for a Fax printer. + + + + + Icon for a networked Fax printer. + + + + + Icon for print to file. + + + + + Icon for a stack. + + + + + Icon for a SVCD media. + + + + + Icon for a folder containing other items. + + + + + Icon for an unknown drive. + + + + + Icon for a DVD drive. + + + + + Icon for DVD media. + + + + + Icon for DVD-RAM media. + + + + + Icon for DVD-RW media. + + + + + Icon for DVD-R media. + + + + + Icon for a DVD-ROM media. + + + + + Icon for CD+ (Enhanced CD) media. + + + + + Icon for CD-RW media. + + + + + Icon for a CD-R media. + + + + + Icon burning a CD. + + + + + Icon for blank CD media. + + + + + Icon for CD-ROM media. + + + + + Icon for audio files. + + + + + Icon for image files. + + + + + Icon for video files. + + + + + Icon for mixed Files. + + + + + Icon for a folder back. + + + + + Icon for a folder front. + + + + + Icon for a security shield. Use for UAC prompts only. + + + + + Icon for a warning. + + + + + Icon for an informational message. + + + + + Icon for an error message. + + + + + Icon for a key. + + + + + Icon for software. + + + + + Icon for a rename. + + + + + Icon for delete. + + + + + Icon for audio DVD media. + + + + + Icon for movie DVD media. + + + + + Icon for enhanced CD media. + + + + + Icon for enhanced DVD media. + + + + + Icon for HD-DVD media. + + + + + Icon for BluRay media. + + + + + Icon for VCD media. + + + + + Icon for DVD+R media. + + + + + Icon for DVD+RW media. + + + + + Icon for desktop computer. + + + + + Icon for mobile computer (laptop/notebook). + + + + + Icon for users. + + + + + Icon for smart media. + + + + + Icon for compact flash. + + + + + Icon for a cell phone. + + + + + Icon for a camera. + + + + + Icon for video camera. + + + + + Icon for audio player. + + + + + Icon for connecting to network. + + + + + Icon for the Internet. + + + + + Icon for a ZIP file. + + + + + Icon for settings. + + + + + HDDVD Drive (all types) + + + + + Icon for BluRay Drive (all types) + + + + + Icon for HDDVD-ROM Media + + + + + Icon for HDDVD-R Media + + + + + Icon for HDDVD-RAM Media + + + + + Icon for BluRay ROM Media + + + + + Icon for BluRay R Media + + + + + Icon for BluRay RE Media (Rewriable and RAM) + + + + + Icon for Clustered disk + + + + + Represents a collection of custom categories + + + + + Add the specified category to this collection + + Category to add + + + + Remove the specified category from this collection + + Category item to remove + True if item was removed. + + + + Clear all items from the collection + + + + + Determine if this collection contains the specified item + + Category to search for + True if category was found + + + + Copy this collection to a compatible one-dimensional array, + starting at the specified index of the target array + + Array to copy to + Index of target array to start copy + + + + Returns an enumerator that iterates through this collection. + + Enumerator to iterate through this collection. + + + + Returns an enumerator that iterates through this collection. + + Enumerator to iterate through this collection. + + + + Event to trigger anytime this collection is modified + + + + + Determines if this collection is read-only + + + + + The number of items in this collection + + + + + Represents a collection of jump list items. + + The type of elements in this collection. + + + + Adds the specified item to this collection. + + The item to add. + + + + Removes the first instance of the specified item from the collection. + + The item to remove. + true if an item was removed, otherwise false if no items were removed. + + + + Clears all items from this collection. + + + + + Determines if this collection contains the specified item. + + The search item. + true if an item was found, otherwise false. + + + + Copies this collection to a compatible one-dimensional array, + starting at the specified index of the target array. + + The array name. + The index of the starting element. + + + + Returns an enumerator that iterates through a collection. + + An enumerator to iterate through this collection. + + + + Returns an enumerator that iterates through a collection of a specified type. + + An enumerator to iterate through this collection. + + + + Occurs anytime a change is made to the underlying collection. + + + + + Gets or sets a value that determines if this collection is read-only. + + + + + Gets a count of the items currently in this collection. + + + + + Represents a jump list link object. + + + + + Interface for jump list tasks + + + + + Interface for jump list items + + + + + Gets or sets this item's path + + + + + Initializes a new instance of a JumpListLink with the specified path. + + The path to the item. The path is required for the JumpList Link + The title for the JumpListLink item. The title is required for the JumpList link. + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects. + + + + + Implement the finalizer. + + + + + Gets or sets the link's title + + + + + Gets or sets the link's path + + + + + Gets or sets the icon reference (location and index) of the link's icon. + + + + + Gets or sets the object's arguments (passed to the command line). + + + + + Gets or sets the object's working directory. + + + + + Gets or sets the show command of the lauched application. + + + + + Gets an IShellLinkW representation of this object + + + + + Represents a separator in the user task list. The JumpListSeparator control + can only be used in a user task list. + + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects. + + + + + Implement the finalizer. + + + + + Gets an IShellLinkW representation of this object + + + + + Event args for when close is selected on a tabbed thumbnail proxy window. + + + + + Event args for various Tabbed Thumbnail related events + + + + + Creates a Event Args for a specific tabbed thumbnail event. + + Window handle for the control/window related to the event + + + + Creates a Event Args for a specific tabbed thumbnail event. + + WPF Control (UIElement) related to the event + + + + Gets the Window handle for the specific control/window that is related to this event. + + For WPF Controls (UIElement) the WindowHandle will be IntPtr.Zero. + Check the WindowsControl property to get the specific control associated with this event. + + + + Gets the WPF Control (UIElement) that is related to this event. This property may be null + for non-WPF applications. + + + + + Creates a Event Args for a specific tabbed thumbnail event. + + Window handle for the control/window related to the event + + + + Creates a Event Args for a specific tabbed thumbnail event. + + WPF Control (UIElement) related to the event + + + + If set to true, the proxy window will not be removed from the taskbar. + + + + + Helper class to capture a control or window as System.Drawing.Bitmap + + + + + Captures a screenshot of the specified window at the specified + bitmap size. NOTE: This method will not accurately capture controls + that are hidden or obstructed (partially or completely) by another control (e.g. hidden tabs, + or MDI child windows that are obstructed by other child windows/forms). + + The window handle. + The requested bitmap size. + A screen capture of the window. + + + + Grabs a snapshot of a WPF UIElement and returns the image as Bitmap. + + Represents the element to take the snapshot from. + Represents the X DPI value used to capture this snapshot. + Represents the Y DPI value used to capture this snapshot. + The requested bitmap width. + The requested bitmap height. + Returns the bitmap (PNG format). + + + + Resizes the given bitmap while maintaining the aspect ratio. + + Original/source bitmap + Maximum width for the new image + Maximum height for the new image + If true and requested image is wider than the source, the new image is resized accordingly. + + + + + Represents the main class for adding and removing tabbed thumbnails on the Taskbar + for child windows and controls. + + + + + Internal dictionary to keep track of the user's window handle and its + corresponding thumbnail preview objects. + + + + + Internal constructor that creates a new dictionary for keeping track of the window handles + and their corresponding thumbnail preview objects. + + + + + Adds a new tabbed thumbnail to the taskbar. + + Thumbnail preview for a specific window handle or control. The preview + object can be initialized with specific properties for the title, bitmap, and tooltip. + If the tabbed thumbnail has already been added + + + + Gets the TabbedThumbnail object associated with the given window handle + + Window handle for the control/window + TabbedThumbnail associated with the given window handle + + + + Gets the TabbedThumbnail object associated with the given control + + Specific control for which the preview object is requested + TabbedThumbnail associated with the given control + + + + Gets the TabbedThumbnail object associated with the given WPF Window + + WPF Control (UIElement) for which the preview object is requested + TabbedThumbnail associated with the given WPF Window + + + + Remove the tabbed thumbnail from the taskbar. + + TabbedThumbnail associated with the control/window that + is to be removed from the taskbar + + + + Remove the tabbed thumbnail from the taskbar. + + TabbedThumbnail associated with the window handle that + is to be removed from the taskbar + + + + Remove the tabbed thumbnail from the taskbar. + + TabbedThumbnail associated with the control that + is to be removed from the taskbar + + + + Remove the tabbed thumbnail from the taskbar. + + TabbedThumbnail associated with the WPF Control (UIElement) that + is to be removed from the taskbar + + + + Sets the given tabbed thumbnail preview object as being active on the taskbar tabbed thumbnails list. + Call this method to keep the application and the taskbar in sync as to which window/control + is currently active (or selected, in the case of tabbed application). + + TabbedThumbnail for the specific control/indow that is currently active in the application + If the control/window is not yet added to the tabbed thumbnails list + + + + Sets the given window handle as being active on the taskbar tabbed thumbnails list. + Call this method to keep the application and the taskbar in sync as to which window/control + is currently active (or selected, in the case of tabbed application). + + Window handle for the control/window that is currently active in the application + If the control/window is not yet added to the tabbed thumbnails list + + + + Sets the given Control/Form window as being active on the taskbar tabbed thumbnails list. + Call this method to keep the application and the taskbar in sync as to which window/control + is currently active (or selected, in the case of tabbed application). + + Control/Form that is currently active in the application + If the control/window is not yet added to the tabbed thumbnails list + + + + Sets the given WPF window as being active on the taskbar tabbed thumbnails list. + Call this method to keep the application and the taskbar in sync as to which window/control + is currently active (or selected, in the case of tabbed application). + + WPF control that is currently active in the application + If the control/window is not yet added to the tabbed thumbnails list + + + + Determines whether the given preview has been added to the taskbar's tabbed thumbnail list. + + The preview to locate on the taskbar's tabbed thumbnail list + true if the tab is already added on the taskbar; otherwise, false. + + + + Determines whether the given window has been added to the taskbar's tabbed thumbnail list. + + The window to locate on the taskbar's tabbed thumbnail list + true if the tab is already added on the taskbar; otherwise, false. + + + + Determines whether the given control has been added to the taskbar's tabbed thumbnail list. + + The preview to locate on the taskbar's tabbed thumbnail list + true if the tab is already added on the taskbar; otherwise, false. + + + + Determines whether the given control has been added to the taskbar's tabbed thumbnail list. + + The preview to locate on the taskbar's tabbed thumbnail list + true if the tab is already added on the taskbar; otherwise, false. + + + + Invalidates all the tabbed thumbnails. This will force the Desktop Window Manager + to not use the cached thumbnail or preview or aero peek and request a new one next time. + + This method should not be called frequently. + Doing so can lead to poor performance as new bitmaps are created and retrieved. + + + + Clear a clip that is already in place and return to the default display of the thumbnail. + + The handle to a window represented in the taskbar. This has to be a top-level window. + + + + Selects a portion of a window's client area to display as that window's thumbnail in the taskbar. + + The handle to a window represented in the taskbar. This has to be a top-level window. + Rectangle structure that specifies a selection within the window's client area, + relative to the upper-left corner of that client area. + If this parameter is null, the clipping area will be cleared and the default display of the thumbnail will be used instead. + + + + Moves an existing thumbnail to a new position in the application's group. + + Preview for the window whose order is being changed. + This value is required, must already be added via AddThumbnailPreview method, and cannot be null. + The preview of the tab window whose thumbnail that previewToChange is inserted to the left of. + This preview must already be added via AddThumbnailPreview. If this value is null, the previewToChange tab is added to the end of the list. + + + + + Event args for the TabbedThumbnailBitmapRequested event. The event allows applications to + provide a bitmap for the tabbed thumbnail's preview and peek. The application should also + set the Handled property if a custom bitmap is provided. + + + + + Creates a Event Args for a TabbedThumbnailBitmapRequested event. + + Window handle for the control/window related to the event + + + + Creates a Event Args for a TabbedThumbnailBitmapRequested event. + + WPF Control (UIElement) related to the event + + + + Gets or sets a value indicating whether the TabbedThumbnailBitmapRequested event was handled. + Set this property if the SetImage method is called with a custom bitmap for the thumbnail/peek. + + + + + Represents a tabbed thumbnail on the taskbar for a given window or a control. + + + + + Creates a new TabbedThumbnail with the given window handle of the parent and + a child control/window's handle (e.g. TabPage or Panel) + + Window handle of the parent window. + This window has to be a top-level window and the handle cannot be null or IntPtr.Zero + Window handle of the child control or window for which a tabbed + thumbnail needs to be displayed + + + + Creates a new TabbedThumbnail with the given window handle of the parent and + a child control (e.g. TabPage or Panel) + + Window handle of the parent window. + This window has to be a top-level window and the handle cannot be null or IntPtr.Zero + Child control for which a tabbed thumbnail needs to be displayed + This method can also be called when using a WindowsFormHost control in a WPF application. + Call this method with the main WPF Window's handle, and windowsFormHost.Child control. + + + + Creates a new TabbedThumbnail with the given window handle of the parent and + a WPF child Window. For WindowsFormHost control, use TabbedThumbnail(IntPtr, Control) overload and pass + the WindowsFormHost.Child as the second parameter. + + Parent window for the UIElement control. + This window has to be a top-level window and the handle cannot be null + WPF Control (UIElement) for which a tabbed thumbnail needs to be displayed + Offset point used for displaying the peek bitmap. This setting is + recomended for hidden WPF controls as it is difficult to calculate their offset. + + + + Sets the window icon for this thumbnail preview + + System.Drawing.Icon for the window/control associated with this preview + + + + Sets the window icon for this thumbnail preview + + Icon handle (hIcon) for the window/control associated with this preview + This method will not release the icon handle. It is the caller's responsibility to release the icon handle. + + + + Override the thumbnail and peek bitmap. + By providing this bitmap manually, Thumbnail Window manager will provide the + Desktop Window Manager (DWM) this bitmap instead of rendering one automatically. + Use this property to update the bitmap whenever the control is updated and the user + needs to be shown a new thumbnail on the taskbar preview (or aero peek). + + The image to use. + + If the bitmap doesn't have the right dimensions, the DWM may scale it or not + render certain areas as appropriate - it is the user's responsibility + to render a bitmap with the proper dimensions. + + + + + Override the thumbnail and peek bitmap. + By providing this bitmap manually, Thumbnail Window manager will provide the + Desktop Window Manager (DWM) this bitmap instead of rendering one automatically. + Use this property to update the bitmap whenever the control is updated and the user + needs to be shown a new thumbnail on the taskbar preview (or aero peek). + + The image to use. + + If the bitmap doesn't have the right dimensions, the DWM may scale it or not + render certain areas as appropriate - it is the user's responsibility + to render a bitmap with the proper dimensions. + + + + + Override the thumbnail and peek bitmap. + By providing this bitmap manually, Thumbnail Window manager will provide the + Desktop Window Manager (DWM) this bitmap instead of rendering one automatically. + Use this property to update the bitmap whenever the control is updated and the user + needs to be shown a new thumbnail on the taskbar preview (or aero peek). + + A bitmap handle for the image to use. + When the TabbedThumbnail is finalized, this class will delete the provided hBitmap. + + If the bitmap doesn't have the right dimensions, the DWM may scale it or not + render certain areas as appropriate - it is the user's responsibility + to render a bitmap with the proper dimensions. + + + + + Invalidate any existing thumbnail preview. Calling this method + will force DWM to request a new bitmap next time user previews the thumbnails + or requests Aero peek preview. + + + + + Returns true if the thumbnail was removed from the taskbar; false if it was not. + + Returns true if the thumbnail was removed from the taskbar; false if it was not. + + + + + + + + + Release the native objects. + + + + + Release the native objects. + + + + + + Title for the window shown as the taskbar thumbnail. + + + + + Tooltip to be shown for this thumbnail on the taskbar. + By default this is full title of the window shown on the taskbar. + + + + + Specifies that only a portion of the window's client area + should be used in the window's thumbnail. + A value of null will clear the clipping area and use the default thumbnail. + + + + + Specifies whether a standard window frame will be displayed + around the bitmap. If the bitmap represents a top-level window, + you would probably set this flag to true. If the bitmap + represents a child window (or a frameless window), you would + probably set this flag to false. + + + + + Gets or sets the offset used for displaying the peek bitmap. This setting is + recomended for hidden WPF controls as it is difficult to calculate their offset. + + + + + This event is raised when the Title property changes. + + + + + This event is raised when the Tooltip property changes. + + + + + The event that occurs when a tab is closed on the taskbar thumbnail preview. + + + + + The event that occurs when a tab is maximized via the taskbar thumbnail preview (context menu). + + + + + The event that occurs when a tab is minimized via the taskbar thumbnail preview (context menu). + + + + + The event that occurs when a tab is activated (clicked) on the taskbar thumbnail preview. + + + + + The event that occurs when a thumbnail or peek bitmap is requested by the user. + + + + + + + + + + Release the native objects. + + + + + Known category to display + + + + + Don't display either known category. You must have at least one + user task or custom category link in order to not see the + default 'Recent' known category + + + + + Display the 'Recent' known category + + + + + Display the 'Frequent' known category + + + + + Represents the thumbnail progress bar state. + + + + + No progress is displayed. + + + + + The progress is indeterminate (marquee). + + + + + Normal progress is displayed. + + + + + An error occurred (red). + + + + + The operation is paused (yellow). + + + + + WPARAM value for a THUMBBUTTON being clicked. + + + + + Sets the window's application id by its window handle. + + The window handle. + The application id. + + + + Thumbnail Alpha Types + + + + + Let the system decide. + + + + + No transparency + + + + + Has transparency + + + + + Defines the properties used by a Shell Property. + + + + + Gets a formatted, Unicode string representation of a property value. + + One or more PropertyDescriptionFormat flags + chosen to produce the desired display format. + The formatted value as a string. + + + + Gets the property key that identifies this property. + + + + + Get the property description object. + + + + + Gets the case-sensitive name of the property as it is known to the system, + regardless of its localized name. + + + + + Gets the value for this property using the generic Object type. + + + To obtain a specific type for this value, use the more strongly-typed + Property<T> class. + You can only set a value for this type using the Property<T> + class. + + + + + Gets the System.Type value for this property. + + + + + Gets the image reference path and icon index associated with a property value. + This API is only available in Windows 7. + + + + + Creates a readonly collection of IProperty objects. + + + + + Creates a new Property collection given an IPropertyStore object + + IPropertyStore + + + + Creates a new Property collection given an IShellItem2 native interface + + Parent ShellObject + + + + Creates a new ShellPropertyCollection object with the specified file or folder path. + + The path to the file or folder. + + + + Checks if a property with the given canonical name is available. + + The canonical name of the property. + True if available, false otherwise. + + + + Checks if a property with the given property key is available. + + The property key. + True if available, false otherwise. + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects. + + + + + Implement the finalizer. + + + + + Gets the property associated with the supplied canonical name string. + The canonical name property is case-sensitive. + + + The canonical name. + The property associated with the canonical name, if found. + Throws IndexOutOfRangeException + if no matching property is found. + + + + Gets a property associated with the supplied property key. + + + The property key. + The property associated with the property key, if found. + Throws IndexOutOfRangeException + if no matching property is found. + + + + Defines the shell property description information for a property. + + + + + Gets the localized display string that describes the current sort order. + + Indicates the sort order should + reference the string "Z on top"; otherwise, the sort order should reference the string "A on top". + The sort description for this property. + The string retrieved by this method is determined by flags set in the + sortDescription attribute of the labelInfo element in the property's .propdesc file. + + + + Release the native objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects + + + + + Release the native objects + + + + + Gets the case-sensitive name of a property as it is known to the system, + regardless of its localized name. + + + + + Gets the property key identifying the underlying property. + + + + + Gets the display name of the property as it is shown in any user interface (UI). + + + + + Gets the text used in edit controls hosted in various dialog boxes. + + + + + Gets the VarEnum OLE type for this property. + + + + + Gets the .NET system type for a value of this property, or + null if the value is empty. + + + + + Gets the current data type used to display the property. + + + + + Gets the default user interface (UI) column width for this property. + + + + + Gets a value that describes how the property values are displayed when + multiple items are selected in the user interface (UI). + + + + + Gets a list of the possible values for this property. + + + + + Gets the column state flag, which describes how the property + should be treated by interfaces or APIs that use this flag. + + + + + Gets the condition type to use when displaying the property in + the query builder user interface (UI). This influences the list + of predicate conditions (for example, equals, less than, and + contains) that are shown for this property. + + For more information, see the conditionType attribute + of the typeInfo element in the property's .propdesc file. + + + + Gets the default condition operation to use + when displaying the property in the query builder user + interface (UI). This influences the list of predicate conditions + (for example, equals, less than, and contains) that are shown + for this property. + + For more information, see the conditionType attribute of the + typeInfo element in the property's .propdesc file. + + + + Gets the method used when a view is grouped by this property. + + The information retrieved by this method comes from + the groupingRange attribute of the typeInfo element in the + property's .propdesc file. + + + + Gets the current sort description flags for the property, + which indicate the particular wordings of sort offerings. + + The settings retrieved by this method are set + through the sortDescription attribute of the labelInfo + element in the property's .propdesc file. + + + + Gets a set of flags that describe the uses and capabilities of the property. + + + + + Gets the current set of flags governing the property's view. + + + + + Gets a value that determines if the native property description is present on the system. + + + + + Get the native property description COM interface + + + + + Indicate flags that modify the property store object retrieved by methods + that create a property store, such as IShellItem2::GetPropertyStore or + IPropertyStoreFactory::GetPropertyStore. + + + + + Meaning to a calling process: Return a read-only property store that contains all + properties. Slow items (offline files) are not opened. + Combination with other flags: Can be overridden by other flags. + + + + + Meaning to a calling process: Include only properties directly from the property + handler, which opens the file on the disk, network, or device. Meaning to a file + folder: Only include properties directly from the handler. + + Meaning to other folders: When delegating to a file folder, pass this flag on + to the file folder; do not do any multiplexing (MUX). When not delegating to a + file folder, ignore this flag instead of returning a failure code. + + Combination with other flags: Cannot be combined with GPS_TEMPORARY, + GPS_FASTPROPERTIESONLY, or GPS_BESTEFFORT. + + + + + Meaning to a calling process: Can write properties to the item. + Note: The store may contain fewer properties than a read-only store. + + Meaning to a file folder: ReadWrite. + + Meaning to other folders: ReadWrite. Note: When using default MUX, + return a single unmultiplexed store because the default MUX does not support ReadWrite. + + Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_FASTPROPERTIESONLY, + GPS_BESTEFFORT, or GPS_DELAYCREATION. Implies GPS_HANDLERPROPERTIESONLY. + + + + + Meaning to a calling process: Provides a writable store, with no initial properties, + that exists for the lifetime of the Shell item instance; basically, a property bag + attached to the item instance. + + Meaning to a file folder: Not applicable. Handled by the Shell item. + + Meaning to other folders: Not applicable. Handled by the Shell item. + + Combination with other flags: Cannot be combined with any other flag. Implies GPS_READWRITE + + + + + Meaning to a calling process: Provides a store that does not involve reading from the + disk or network. Note: Some values may be different, or missing, compared to a store + without this flag. + + Meaning to a file folder: Include the "innate" and "fallback" stores only. Do not load the handler. + + Meaning to other folders: Include only properties that are available in memory or can + be computed very quickly (no properties from disk, network, or peripheral IO devices). + This is normally only data sources from the IDLIST. When delegating to other folders, pass this flag on to them. + + Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_READWRITE, + GPS_HANDLERPROPERTIESONLY, or GPS_DELAYCREATION. + + + + + Meaning to a calling process: Open a slow item (offline file) if necessary. + Meaning to a file folder: Retrieve a file from offline storage, if necessary. + Note: Without this flag, the handler is not created for offline files. + + Meaning to other folders: Do not return any properties that are very slow. + + Combination with other flags: Cannot be combined with GPS_TEMPORARY or GPS_FASTPROPERTIESONLY. + + + + + Meaning to a calling process: Delay memory-intensive operations, such as file access, until + a property is requested that requires such access. + + Meaning to a file folder: Do not create the handler until needed; for example, either + GetCount/GetAt or GetValue, where the innate store does not satisfy the request. + Note: GetValue might fail due to file access problems. + + Meaning to other folders: If the folder has memory-intensive properties, such as + delegating to a file folder or network access, it can optimize performance by + supporting IDelayedPropertyStoreFactory and splitting up its properties into a + fast and a slow store. It can then use delayed MUX to recombine them. + + Combination with other flags: Cannot be combined with GPS_TEMPORARY or + GPS_READWRITE + + + + + Meaning to a calling process: Succeed at getting the store, even if some + properties are not returned. Note: Some values may be different, or missing, + compared to a store without this flag. + + Meaning to a file folder: Succeed and return a store, even if the handler or + innate store has an error during creation. Only fail if substores fail. + + Meaning to other folders: Succeed on getting the store, even if some properties + are not returned. + + Combination with other flags: Cannot be combined with GPS_TEMPORARY, + GPS_READWRITE, or GPS_HANDLERPROPERTIESONLY. + + + + + Mask for valid GETPROPERTYSTOREFLAGS values. + + + + + The specified items can be copied. + + + + + The specified items can be moved. + + + + + Shortcuts can be created for the specified items. This flag has the same value as DROPEFFECT. + The normal use of this flag is to add a Create Shortcut item to the shortcut menu that is displayed + during drag-and-drop operations. However, SFGAO_CANLINK also adds a Create Shortcut item to the Microsoft + Windows Explorer's File menu and to normal shortcut menus. + If this item is selected, your application's IContextMenu::InvokeCommand is invoked with the lpVerb + member of the CMINVOKECOMMANDINFO structure set to "link." Your application is responsible for creating the link. + + + + + The specified items can be bound to an IStorage interface through IShellFolder::BindToObject. + + + + + The specified items can be renamed. + + + + + The specified items can be deleted. + + + + + The specified items have property sheets. + + + + + The specified items are drop targets. + + + + + This flag is a mask for the capability flags. + + + + + Windows 7 and later. The specified items are system items. + + + + + The specified items are encrypted. + + + + + Indicates that accessing the object = through IStream or other storage interfaces, + is a slow operation. + Applications should avoid accessing items flagged with SFGAO_ISSLOW. + + + + + The specified items are ghosted icons. + + + + + The specified items are shortcuts. + + + + + The specified folder objects are shared. + + + + + The specified items are read-only. In the case of folders, this means + that new items cannot be created in those folders. + + + + + The item is hidden and should not be displayed unless the + Show hidden files and folders option is enabled in Folder Settings. + + + + + This flag is a mask for the display attributes. + + + + + The specified folders contain one or more file system folders. + + + + + The specified items are folders. + + + + + The specified folders or file objects are part of the file system + that is, they are files, directories, or root directories). + + + + + The specified folders have subfolders = and are, therefore, + expandable in the left pane of Windows Explorer). + + + + + This flag is a mask for the contents attributes. + + + + + When specified as input, SFGAO_VALIDATE instructs the folder to validate that the items + pointed to by the contents of apidl exist. If one or more of those items do not exist, + IShellFolder::GetAttributesOf returns a failure code. + When used with the file system folder, SFGAO_VALIDATE instructs the folder to discard cached + properties retrieved by clients of IShellFolder2::GetDetailsEx that may + have accumulated for the specified items. + + + + + The specified items are on removable media or are themselves removable devices. + + + + + The specified items are compressed. + + + + + The specified items can be browsed in place. + + + + + The items are nonenumerated items. + + + + + The objects contain new content. + + + + + It is possible to create monikers for the specified file objects or folders. + + + + + Not supported. + + + + + Indicates that the item has a stream associated with it that can be accessed + by a call to IShellFolder::BindToObject with IID_IStream in the riid parameter. + + + + + Children of this item are accessible through IStream or IStorage. + Those children are flagged with SFGAO_STORAGE or SFGAO_STREAM. + + + + + This flag is a mask for the storage capability attributes. + + + + + Mask used by PKEY_SFGAOFlags to remove certain values that are considered + to cause slow calculations or lack context. + Equal to SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER. + + + + + Represents a saved search + + + + + Defines a strongly-typed property object. + All writable property objects must be of this type + to be able to call the value setter. + + The type of this property's value. + Because a property value can be empty, only nullable types + are allowed. + + + + Constructs a new Property object + + + + + + + + Constructs a new Property object + + + + + + + + Returns a formatted, Unicode string representation of a property value. + + One or more of the PropertyDescriptionFormat flags + that indicate the desired format. + The formatted value as a string, or null if this property + cannot be formatted for display. + True if the method successfully locates the formatted string; otherwise + False. + + + + Returns a formatted, Unicode string representation of a property value. + + One or more of the PropertyDescriptionFormat flags + that indicate the desired format. + The formatted value as a string, or null if this property + cannot be formatted for display. + + + + Clears the value of the property. + + + + + Gets or sets the strongly-typed value of this property. + The value of the property is cleared if the value is set to null. + + + If the property value cannot be retrieved or updated in the Property System + If the type of this property is not supported; e.g. writing a binary object. + Thrown if is false, and either + a string value was truncated or a numeric value was rounded. + + + + Gets the property key identifying this property. + + + + + Get the property description object. + + + + + Gets the case-sensitive name of a property as it is known to the system, + regardless of its localized name. + + + + + Gets the value for this property using the generic Object type. + To obtain a specific type for this value, use the more type strong + Property<T> class. + Also, you can only set a value for this type using Property<T> + + + + + Gets the associated runtime type. + + + + + Gets the image reference path and icon index associated with a property value (Windows 7 only). + + + + + Gets or sets a value that determines if a value can be truncated. The default for this property is false. + + + An will be thrown if + this property is not set to true, and a property value was set + but later truncated. + + + + + + Represents a custom category on the taskbar's jump list + + + + + Add JumpList items for this category + + The items to add to the JumpList. + + + + Creates a new custom category instance + + Category name + + + + Category name + + + + + Event that is triggered when the jump list collection is modified + + + + + Represents an instance of a Taskbar button jump list. + + + + + Create a JumpList for the application's taskbar button. + + A new JumpList that is associated with the app id of the main application window + If there are any other child (top-level) windows for this application and they don't have + a specific JumpList created for them, they all will share the same JumpList as the main application window. + In order to have a individual JumpList for a top-level window, use the overloaded method CreateJumpListForIndividualWindow. + + + + Create a JumpList for the application's taskbar button. + + Application Id for the individual window. This must be unique for each top-level window in order to have a individual JumpList. + Handle of the window associated with the new JumpList + A new JumpList that is associated with the specific window handle + + + + Create a JumpList for the application's taskbar button. + + Application Id for the individual window. This must be unique for each top-level window in order to have a individual JumpList. + WPF Window associated with the new JumpList + A new JumpList that is associated with the specific WPF window + + + + Adds a collection of custom categories to the Taskbar jump list. + + The catagories to add to the jump list. + + + + Adds user tasks to the Taskbar JumpList. User tasks can only consist of JumpListTask or + JumpListSeparator objects. + + The user tasks to add to the JumpList. + + + + Removes all user tasks that have been added. + + + + + Creates a new instance of the JumpList class with the specified + appId. The JumpList is associated with the main window of the application. + + Application Id to use for this instace. + + + + Creates a new instance of the JumpList class with the specified + appId. The JumpList is associated with the given WPF Window. + + Application Id to use for this instace. + WPF Window that is associated with this JumpList + + + + Creates a new instance of the JumpList class with the specified + appId. The JumpList is associated with the given window. + + Application Id to use for this instace. + Window handle for the window that is associated with this JumpList + + + + Reports document usage to the shell. + + The full path of the file to report usage. + + + + Commits the pending JumpList changes and refreshes the Taskbar. + + Will throw if the type of the file being added to the JumpList is not registered with the application. + Will throw if recent documents tracking is turned off by the user or via group policy. + Will throw if updating the JumpList fails for any other reason. + + + + Gets the recommended number of items to add to the jump list. + + + This number doesn’t + imply or suggest how many items will appear on the jump list. + This number should only be used for reference purposes since + the actual number of slots in the jump list can change after the last + refresh due to items being pinned or removed and resolution changes. + The jump list can increase in size accordingly. + + + + + Gets or sets the type of known categories to display. + + + + + Gets or sets the value for the known category location relative to the + custom category collection. + + + + + Gets or sets the application ID to use for this jump list. + + + + + Occurs when items are removed from the Taskbar's jump list since the last + refresh. + + + This event is not triggered + immediately when a user removes an item from the jump list but rather + when the application refreshes the task bar list directly. + + + + + Retrieves the current list of destinations that have been removed from the existing jump list by the user. + The removed destinations may become items on a custom jump list. + + A collection of items (filenames) removed from the existing jump list by the user. + + + + Represents a jump list item. + + + + + Creates a jump list item with the specified path. + + The path to the jump list item. + The file type should associate the given file + with the calling application. + + + + Gets or sets the target path for this jump list item. + + + + + Provides internal access to the functions provided by the ITaskbarList4 interface, + without being forced to refer to it through another singleton. + + + + + Represents an instance of the Windows taskbar + + + + + Applies an overlay to a taskbar button of the main application window to indicate application status or a notification to the user. + + The overlay icon + String that provides an alt text version of the information conveyed by the overlay, for accessibility purposes + + + + Applies an overlay to a taskbar button of the given window handle to indicate application status or a notification to the user. + + The handle of the window whose associated taskbar button receives the overlay. This handle must belong to a calling process associated with the button's application and must be a valid HWND or the call is ignored. + The overlay icon + String that provides an alt text version of the information conveyed by the overlay, for accessibility purposes + + + + Applies an overlay to a taskbar button of the given WPF window to indicate application status or a notification to the user. + + The window whose associated taskbar button receives the overlay. This window belong to a calling process associated with the button's application and must be already loaded. + The overlay icon + String that provides an alt text version of the information conveyed by the overlay, for accessibility purposes + + + + Displays or updates a progress bar hosted in a taskbar button of the main application window + to show the specific percentage completed of the full operation. + + An application-defined value that indicates the proportion of the operation that has been completed at the time the method is called. + An application-defined value that specifies the value currentValue will have when the operation is complete. + + + + Displays or updates a progress bar hosted in a taskbar button of the given window handle + to show the specific percentage completed of the full operation. + + The handle of the window whose associated taskbar button is being used as a progress indicator. + This window belong to a calling process associated with the button's application and must be already loaded. + An application-defined value that indicates the proportion of the operation that has been completed at the time the method is called. + An application-defined value that specifies the value currentValue will have when the operation is complete. + + + + Displays or updates a progress bar hosted in a taskbar button of the given WPF window + to show the specific percentage completed of the full operation. + + The window whose associated taskbar button is being used as a progress indicator. + This window belong to a calling process associated with the button's application and must be already loaded. + An application-defined value that indicates the proportion of the operation that has been completed at the time the method is called. + An application-defined value that specifies the value currentValue will have when the operation is complete. + + + + Sets the type and state of the progress indicator displayed on a taskbar button of the main application window. + + Progress state of the progress button + + + + Sets the type and state of the progress indicator displayed on a taskbar button + of the given window handle + + The handle of the window whose associated taskbar button is being used as a progress indicator. + This window belong to a calling process associated with the button's application and must be already loaded. + Progress state of the progress button + + + + Sets the type and state of the progress indicator displayed on a taskbar button + of the given WPF window + + The window whose associated taskbar button is being used as a progress indicator. + This window belong to a calling process associated with the button's application and must be already loaded. + Progress state of the progress button + + + + Sets the application user model id for an individual window + + The app id to set + Window handle for the window that needs a specific application id + AppId specifies a unique Application User Model ID (AppID) for the application or individual + top-level window whose taskbar button will hold the custom JumpList built through the methods class. + By setting an appId for a specific window, the window will not be grouped with it's parent window/application. Instead it will have it's own taskbar button. + + + + Sets the application user model id for a given window + + The app id to set + Window that needs a specific application id + AppId specifies a unique Application User Model ID (AppID) for the application or individual + top-level window whose taskbar button will hold the custom JumpList built through the methods class. + By setting an appId for a specific window, the window will not be grouped with it's parent window/application. Instead it will have it's own taskbar button. + + + + Sets the current process' explicit application user model id. + + The application id. + + + + Gets the current process' explicit application user model id. + + The app id or null if no app id has been defined. + + + + Represents an instance of the Windows Taskbar + + + + + Gets the Tabbed Thumbnail manager class for adding/updating + tabbed thumbnail previews. + + + + + Gets the Thumbnail toolbar manager class for adding/updating + toolbar buttons. + + + + + Gets or sets the application user model id. Use this to explicitly + set the application id when generating custom jump lists + + + + + Sets the handle of the window whose taskbar button will be used + to display progress. + + + + + Indicates if the user has set the application id for the whole process (all windows) + + + + + Indicates whether this feature is supported on the current platform. + + + + + + + + + + Release the native objects. + + + + + Dispatches a window message so that the appropriate events + can be invoked. This is used for the Taskbar's thumbnail toolbar feature. + + The window message, typically obtained + from a Windows Forms or WPF window procedure. + Taskbar window for which we are intercepting the messages + Returns true if this method handles the window message + + + + Helper function to capture a bitmap for a given window handle or incase of WPF app, + an UIElement. + + The proxy window for which a bitmap needs to be created + Size for the requested bitmap image + Bitmap captured from the window handle or UIElement. Null if the window is hidden or it's size is zero. + + + + Represents a taskbar thumbnail button in the thumbnail toolbar. + + + + + Initializes an instance of this class + + The icon to use for this button + The tooltip string to use for this button. + + + + The window manager should call this method to raise the public click event to all + the subscribers. + + Taskbar Window associated with this button + + + + + + + + + Release the native objects. + + + + + Release the native objects. + + + + + + The event that occurs when the taskbar thumbnail button + is clicked. + + + + + Gets thumbnail button's id. + + + + + Gets or sets the thumbnail button's icon. + + + + + Gets or sets the thumbnail button's tooltip. + + + + + Gets or sets the thumbnail button's visibility. Default is true. + + + + + Gets or sets the thumbnail button's enabled state. If the button is disabled, it is present, + but has a visual state that indicates that it will not respond to user action. Default is true. + + + + + Gets or sets the property that describes the behavior when the button is clicked. + If set to true, the taskbar button's flyout will close immediately. Default is false. + + + + + Gets or sets the property that describes whether the button is interactive with the user. Default is true. + + + Non-interactive buttons don't display any hover behavior nor do they raise click events. + They are intended to be used as status icons. This is mostly similar to being not Enabled, + but the image is not desaturated. + + + + + Native flags enum (used when creating the native button) + + + + + Native representation of the thumbnail button + + + + + Handle to the window to which this button is for (on the taskbar). + + + + + Indicates if this button was added to the taskbar. If it's not yet added, + then we can't do any updates on it. + + + + + Event args for TabbedThumbnailButton.Click event + + + + + Creates a Event Args for the TabbedThumbnailButton.Click event + + Window handle for the control/window related to the event + Thumbnail toolbar button that was clicked + + + + Creates a Event Args for the TabbedThumbnailButton.Click event + + WPF Control (UIElement) related to the event + Thumbnail toolbar button that was clicked + + + + Gets the Window handle for the specific control/window that is related to this event. + + For WPF Controls (UIElement) the WindowHandle will be IntPtr.Zero. + Check the WindowsControl property to get the specific control associated with this event. + + + + Gets the WPF Control (UIElement) that is related to this event. This property may be null + for non-WPF applications. + + + + + Gets the ThumbnailToolBarButton that was clicked + + + + + Thumbnail toolbar manager class for adding a thumbnail toolbar with a specified set of buttons + to the thumbnail image of a window in a taskbar button flyout. + + + + + Adds thumbnail toolbar for the specified window. + + Window handle for which the thumbnail toolbar buttons need to be added + Thumbnail buttons for the window's thumbnail toolbar + If the number of buttons exceed the maximum allowed capacity (7). + If the Window Handle passed in invalid + After a toolbar has been added to a thumbnail, buttons can be altered only through various + properties on the . While individual buttons cannot be added or removed, + they can be shown and hidden through as needed. + The toolbar itself cannot be removed without re-creating the window itself. + + + + + Adds thumbnail toolbar for the specified WPF Control. + + WPF Control for which the thumbnail toolbar buttons need to be added + Thumbnail buttons for the window's thumbnail toolbar + If the number of buttons exceed the maximum allowed capacity (7). + If the control passed in null + After a toolbar has been added to a thumbnail, buttons can be altered only through various + properties on the ThumbnailToolBarButton. While individual buttons cannot be added or removed, + they can be shown and hidden through ThumbnailToolBarButton.Visible as needed. + The toolbar itself cannot be removed without re-creating the window itself. + + + + + + + + + + Release the native objects. + + + + + Event arguments for when the user is notified of items + that have been removed from the taskbar destination list + + + + + The collection of removed items based on path. + + + + diff --git a/README.md b/README.md index b7b84ae..97e687a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,33 @@ -# RCEU_PDFWorkflowManager +# PDF Workflow Manager +Tool To assist in making PDF's, partially a wrapper + +Coded in Visual Studio 2019 + +Install required tools, ScanTailor, Ghostscript, pdftk + + +(this is for the current alpha version) +Work process: +Start MakeManual + +Project dir should contain a folder called origs +Click Open Project Dir button + +If the originals are correct sort order, just click the button Prepare Work Dir. +If the images has been scanned dualsided on a simplex scanner (1,3,5 -> 6,4,2) +check the Simplex scanned checkbox before clicking the button Prepare Work Dir. +(don't close the PDF Workflow Manager program) + +Clicking the Open ScanTailor, also copies the work directory path to the clipboard, giving you the oppertunity +to just paste into the Input field. + +When finished using ScanTailor, if needed, do what is needed to the outfiles. + +Back to the PDF Workflow Manager program. +Click the Convert Files button, and fill out the metadata fields. +The title gets automatically filled out using the title, publisher, language and resolution. +Pagecount is also automatically filled out after converting the files. + +When all is done, click Make PDF. +Release files will be put in the root of the project folder -PDF Workflow Manager \ No newline at end of file