diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/42e3816b-963a-4da4-9b85-4407952b641f.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/42e3816b-963a-4da4-9b85-4407952b641f.vsidx new file mode 100644 index 0000000..a5b4633 Binary files /dev/null and b/LeatherProject/.vs/LeatherApp/FileContentIndex/42e3816b-963a-4da4-9b85-4407952b641f.vsidx differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/6387276b-579c-4ca9-a0cf-343a1eda1bf8.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/6387276b-579c-4ca9-a0cf-343a1eda1bf8.vsidx deleted file mode 100644 index ae172a1..0000000 Binary files a/LeatherProject/.vs/LeatherApp/FileContentIndex/6387276b-579c-4ca9-a0cf-343a1eda1bf8.vsidx and /dev/null differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/6937d47b-3606-4753-9cb3-1952fa419e9b.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/6937d47b-3606-4753-9cb3-1952fa419e9b.vsidx deleted file mode 100644 index c74b65a..0000000 Binary files a/LeatherProject/.vs/LeatherApp/FileContentIndex/6937d47b-3606-4753-9cb3-1952fa419e9b.vsidx and /dev/null differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/7ac572a6-4d10-41eb-a099-ecab8479037d.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/7ac572a6-4d10-41eb-a099-ecab8479037d.vsidx deleted file mode 100644 index 70aef67..0000000 Binary files a/LeatherProject/.vs/LeatherApp/FileContentIndex/7ac572a6-4d10-41eb-a099-ecab8479037d.vsidx and /dev/null differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/8e59aa30-7f26-4667-a896-6d6e6b9c3246.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/8e59aa30-7f26-4667-a896-6d6e6b9c3246.vsidx deleted file mode 100644 index 3631d95..0000000 Binary files a/LeatherProject/.vs/LeatherApp/FileContentIndex/8e59aa30-7f26-4667-a896-6d6e6b9c3246.vsidx and /dev/null differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/b58fbe50-ec7d-4d10-922f-fdb523c084d3.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/b58fbe50-ec7d-4d10-922f-fdb523c084d3.vsidx new file mode 100644 index 0000000..ec993cd Binary files /dev/null and b/LeatherProject/.vs/LeatherApp/FileContentIndex/b58fbe50-ec7d-4d10-922f-fdb523c084d3.vsidx differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/cfe460ec-7498-4888-9be8-216a3eadd26a.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/cfe460ec-7498-4888-9be8-216a3eadd26a.vsidx new file mode 100644 index 0000000..dfed760 Binary files /dev/null and b/LeatherProject/.vs/LeatherApp/FileContentIndex/cfe460ec-7498-4888-9be8-216a3eadd26a.vsidx differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/d74d9791-89cb-43bd-8fc5-8bddf5011a0f.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/d74d9791-89cb-43bd-8fc5-8bddf5011a0f.vsidx new file mode 100644 index 0000000..6d7703f Binary files /dev/null and b/LeatherProject/.vs/LeatherApp/FileContentIndex/d74d9791-89cb-43bd-8fc5-8bddf5011a0f.vsidx differ diff --git a/LeatherProject/GeBoShi/Ge.ico b/LeatherProject/GeBoShi/Ge.ico new file mode 100644 index 0000000..df15b2b Binary files /dev/null and b/LeatherProject/GeBoShi/Ge.ico differ diff --git a/LeatherProject/GeBoShi/GeBoShi.csproj b/LeatherProject/GeBoShi/GeBoShi.csproj index fdb196e..9a534c9 100644 --- a/LeatherProject/GeBoShi/GeBoShi.csproj +++ b/LeatherProject/GeBoShi/GeBoShi.csproj @@ -14,7 +14,7 @@ true - AnyCPU + x64 true full false @@ -32,9 +32,62 @@ prompt 4 + + + + + + ..\..\..\..\..\版博士\源码\标签打印模块\BarTender\BarTenderPrint\BarTenderPrint\bin\x64\Debug\BarTenderPrint.dll + + + ..\..\..\..\..\..\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\CSkin.dll + + + ..\..\..\..\..\版博士\源码\V2.0\halftoneproject-master\BanBoShi\Dlls\HZH_Controls.dll + + + ..\..\..\..\..\..\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\MaiMuControl.dll + + + False + ..\Models\bin\Debug\Models.dll + + + ..\packages\OpenCvSharp4.4.8.0.20230708\lib\net48\OpenCvSharp.dll + + + ..\packages\OpenCvSharp4.Extensions.4.7.0.20230115\lib\net48\OpenCvSharp.Extensions.dll + + + ..\Service\bin\Debug\Service.dll + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + ..\packages\System.Drawing.Common.5.0.3\lib\net461\System.Drawing.Common.dll + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + + + + @@ -46,6 +99,7 @@ + Form @@ -54,6 +108,22 @@ + + + + + Form + + + InitFrm.cs + + + Form + + + SysSetFrm.cs + + Main.cs @@ -65,7 +135,15 @@ True Resources.resx + True + + InitFrm.cs + + + SysSetFrm.cs + + SettingsSingleFileGenerator Settings.Designer.cs @@ -79,5 +157,8 @@ + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/ImageDefect/DefectLib.cs b/LeatherProject/GeBoShi/ImageDefect/DefectLib.cs new file mode 100644 index 0000000..b587514 --- /dev/null +++ b/LeatherProject/GeBoShi/ImageDefect/DefectLib.cs @@ -0,0 +1,697 @@ +using HZH_Controls.Controls; +using MaiMuControl.Device; +using Models; +using OpenCvSharp; +using System; +using System.Collections.Generic; +using System.Data; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using static System.ComponentModel.Design.ObjectSelectorEditor; + +namespace GeBoShi.ImageDefect +{ + public class DefectLib + { + #region C++dll + private const string dll_path = "yolo_trt.dll"; + [DllImport(dll_path, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall)] + static extern IntPtr CreateDetector(string model_path); + + [DllImport(dll_path, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + extern static bool DestroyDetector(IntPtr detector); + + /// + /// 非0值表示成功,0表示失败 返回小图张数 + /// + /// + /// + [DllImport(dll_path, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall)] + static extern int GetBatchSize(IntPtr detector); + + [DllImport(dll_path, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall)] + static extern bool Detect(IntPtr detector, ref byte bgrs_data, + int image_num, int width, int height, int channels, + float conf_threshold, float iou_threshold, + ref float output, int output_size, ref int object_num, + int expand_pixel); + #endregion + + public Action WarningEvent; + /// + /// 检测结果JSON(原图,结果) + /// + public Action finishEvent; + /// + /// 是否打开设备成功 + /// + public bool IsInit { get; private set; } = false; + + private IntPtr detector = IntPtr.Zero; + + private Thread t_task, t_task_operation, t_task_maketag; + //=======task list + private List taskList = new List(); + private List taskOperationList = new List(); + private List taskMakeTagList = new List(); + + private string preModelName = ""; + + #region 图片处理参数 + private readonly int image_width = 2048; + private readonly int image_hight = 2048; + private readonly int image_channels = 3; + private readonly int image_bytes = 2048 * 2048 * 3; + private readonly int detect_elem_size = 7; //维度数据结果,x y w h conf classid + private readonly int detect_max_object_num = 20;//这个指的是一张子图可能最多给你返回的目标个球 + + public Action QueueCountEvent;//0/1/2, 数量 + #endregion + public DefectLib() + { + } + + public bool start() + { + try + { + //detector = CreateDetector(Config.model_path, Config.labels_path, true, 6); + //if (detector == IntPtr.Zero) + // throw new Exception("模型初始化失败!"); + preModelName = ""; + + IsInit = true; + taskList.Clear(); + taskOperationList.Clear(); + taskMakeTagList.Clear(); + + t_task = new System.Threading.Thread(runStep); + t_task.IsBackground = true; + t_task.Start(); + + t_task_operation = new System.Threading.Thread(run2); + t_task_operation.IsBackground = true; + t_task_operation.Start(); + + t_task_maketag = new System.Threading.Thread(run3); + t_task_maketag.IsBackground = true; + t_task_maketag.Start(); + + return true; + } + catch (Exception ex) + { + WarningEvent?.Invoke(WarningEnum.High, ex.Message); + return false; + } + } + + public void stop() + { + if (!IsInit) return; + + try + { + IsInit = false; + //timer.Elapsed -= Timer_Elapsed; + preModelName = ""; + //释放模型 + if (detector != IntPtr.Zero) + { + DestroyDetector(detector); + detector = IntPtr.Zero; + } + if (t_task != null) + { + bool b = t_task.Join(5000); + if (!b) t_task.Abort(); + t_task = null; + } + + if (t_task_operation != null) + { + bool b = t_task_operation.Join(5000); + if (!b) t_task_operation.Abort(); + t_task_operation = null; + } + + if (t_task_maketag != null) + { + bool b = t_task_maketag.Join(5000); + if (!b) t_task_maketag.Abort(); + t_task_maketag = null; + } + taskList.Clear(); + taskOperationList.Clear(); + taskMakeTagList.Clear(); + } + catch { } + } + + /// + /// 切割(先左右,后上下) + /// + /// + /// + /// + /// + private Mat[] OpenCVToCutsMat(Mat mat, int width, int height) + { + Mat[] array = new Mat[mat.Width / width * mat.Height / height]; + int num = 0; + for (int i = 0; i < mat.Height / height; i++) + { + for (int j = 0; j < mat.Width / width; j++) + { + int x = j * width; + int y = i * height; + System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(x, y, width, height); + Rect roi = new Rect(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height); + array[num] = new Mat(mat, roi).Clone(); + num++; + } + } + + return array; + } + + private void runStep() + { + int step = 0; + while (IsInit) + { + if (taskList.Count < 1) + { + Thread.Sleep(0); + continue; + } + + // + step = 1; + var task = pop(); + try + { + if (task != null) + { + Stopwatch stopwatch = Stopwatch.StartNew(); + step = 2; + if (preModelName != task.modelName) + { + step = 3; + //先释放模型 + if (detector != IntPtr.Zero) + { + step = 4; + DestroyDetector(detector); + detector = IntPtr.Zero; + } + step = 5; + detector = CreateDetector($"./models/{task.modelName}"); + if (detector == IntPtr.Zero) + throw new Exception($"模型({task.modelName})初始化失败!"); + step = 6; + preModelName = task.modelName; + } + //源图 + //Bitmap bmp = yolo1.Read2Bmp(file_path); + //切割图像,输入图像格式14208*10640 + stopwatch.Start(); + //task.resizeBmp = OpenCVUtil.resize( task.bmp.Clone(), task.resize.Width, task.resize.Height);//在外面已做了resize + + //Cv2.CvtColor(task.bmp, task.bmpBgr2rgb, ColorConversionCodes.BGR2RGB); + //task.bmps_cut = OpenCVToCutsMat(task.bmpBgr2rgb, image_width, image_hight); //这里cut时之前加的clone + step = 7; + task.bmps_cut = OpenCVToCutsMat(task.bmp, image_width, image_hight); //这里cut时之前加的clone + stopwatch.Stop(); + task.stopwatch[0] = stopwatch.ElapsedMilliseconds; + + //Resize图像 + //stopwatch.Restart(); + //task.bmps_resize = yolo1.OpenCVToResizesMat(task.bmps_cut, task.resize.Width, task.resize.Height); + //stopwatch.Stop(); + //task.stopwatch[1] = stopwatch.ElapsedMilliseconds; + + //预处理模型 + //stopwatch.Restart(); + //task.tensors = yolo1.PreprocessImageMat(task.bmps_resize); + //stopwatch.Stop(); + //task.stopwatch[2] = stopwatch.ElapsedMilliseconds; + step = 8; + lock (taskOperationList) + { + taskOperationList.Add(task); + QueueCountEvent?.BeginInvoke(1, taskOperationList.Count, null, null); + } + step = 9; + } + } + catch (Exception ex) + { + WarningEvent?.Invoke(WarningEnum.Low, $"DefectLib task1 err({step}):" + ex.Message); + task.isSucceed = false; + task.resultInfo = ex.Message; + callback(task); + } + } + } + //推理 + private void run2() + { + QualifiedLimit qualifiedLimit; + while (IsInit) + { + if (taskOperationList.Count < 1) + { + Thread.Sleep(0); + continue; + } + + // + var task = pop2(); + int cut_count = 0, step = 0; + try + { + if (task != null && task.bmps_cut.Count() > 0) + { + //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, "DefectLib tasks 运行推理..."); + cut_count = task.bmps_cut.Count(); + Stopwatch stopwatch = Stopwatch.StartNew(); + //====推理(必需单队列) + stopwatch.Start(); + // 把数据转为byte数组,【h, w, c】的bgr格式,第一张在前,第二张在后 + byte[] imgData = new byte[image_bytes * cut_count]; + for (int i = 0; i < cut_count; i++) + Marshal.Copy(task.bmps_cut[i].Data, imgData, image_bytes * i, image_bytes); + step = 1; + stopwatch.Stop(); + task.stopwatch[1] = stopwatch.ElapsedMilliseconds; + stopwatch.Restart(); + + task.output = new float[cut_count * detect_elem_size * detect_max_object_num]; + task.output_num = new int[cut_count]; + //执行推理 + step = 2; + bool ok = Detect(detector, ref imgData[0], cut_count, image_width, image_hight, image_channels, + 0.25f, 0.45f, ref task.output[0], task.output.Length, ref task.output_num[0], task.expand_pixel); + //bool ok = Detect(_detector, ref imgData[0], imgs.Count, ImageWidth, image_hight, image_channels, + // 0.25f, 0.45f, ref output[0], output.Length, ref output_num[0]); + step = 3; + stopwatch.Stop(); + task.stopwatch[2] = stopwatch.ElapsedMilliseconds; + //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"DefectLib tasks 结果推理={ok}"); + for (int i = 0; i < cut_count; i++) + task.bmps_cut[i].Dispose(); + if (ok == false) + throw new Exception($"推理失败或者输入数组太小({cut_count})"); + + // + lock (taskMakeTagList) + { + taskMakeTagList.Add(task); + QueueCountEvent?.BeginInvoke(2, taskMakeTagList.Count, null, null); + } + } + } + catch (Exception ex) + { + WarningEvent?.Invoke(WarningEnum.Low, $"DefectLib task2 err({step}):({cut_count}){ex.Message}"); + task.isSucceed = false; + task.resultInfo = ex.Message; + callback(task); + } + } + } + //打标 + private void run3() + { + QualifiedLimit qualifiedLimit; + while (IsInit) + { + if (taskMakeTagList.Count < 1) + { + Thread.Sleep(0); + continue; + } + + // + var task = pop3(); + int liStep = 0; + try + { + Stopwatch stopwatch = Stopwatch.StartNew(); + stopwatch.Restart(); + int cut_count = task.bmps_cut.Count();//上面bmps_cut已销毁 + int colNum = task.bmp.Width / image_width; + int rowNum = task.bmp.Height / image_hight; + int count = 0; + liStep = 3; + + //车用革去除接头处横档误判 + bool haveJieTou = false; + List DefectLabelInfoList = new List(); + + for (int i = 0; i < cut_count; i++) + { + liStep = i * 100; + task.resultInfo += $"第 {i}/{cut_count} 张小图(大图索引{task.photoIndex}): 缺陷数 = {task.output_num[i]}\n"; + //task.resultInfo +=$"大图({task.tag})[{task.bmp.Width}*{task.bmp.Height}],第 {i + 1}/{cut_count} 张小图[{task.bmps_cut[i].Width}*{task.bmps_cut[i].Height}]: 瑕疵output_num = {output_num[i]}\n"; + #region 检测信息汇总 + for (int j = 0; j < task.output_num[i]; j++)//缺陷数 + { + liStep += j;//0 + //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"-------"); + int index = count * detect_elem_size; + + // 打印输出信息(示例代码,根据实际情况进行修改和格式化) + // 获取输出信息 + int x = (int)task.output[index]; + int y = (int)task.output[index + 1]; + int w = (int)task.output[index + 2]; + int h = (int)task.output[index + 3]; + int classId = (int)task.output[index + 4]; + double confidence = Math.Round(task.output[index + 5], 2); //置信度 + double contrast = Math.Round(task.output[index + 6], 3);//对比度 + //y = image_hight-y-h;//转到右下角为原点 + count++; + + var cmW = Math.Round(w * task.widthRatio / task.cm2px_x, 2); + var cmH = Math.Round(h * task.widthRatio / task.cm2px_y, 2); + // 打印输出信息 + task.resultInfo += $"----{i}----col:{i % colNum}/{colNum} row:{i / colNum}/{colNum}-----------\n目标:{j + 1} 类别ID:{classId} 置信度:{confidence} 对比度:{contrast} 坐标:({x},{y})-({x + w},{y + h}) 宽高:w={w},h={h}; \n"; + + DefectLabelInfoList.Add(new DefectLabelInfo() + { + x = (int)task.output[index], + y = (int)task.output[index + 1], + w = (int)task.output[index + 2], + h = (int)task.output[index + 3], + classId = (int)task.output[index + 4], + confidence = Math.Round(task.output[index + 5], 2), //置信度 + contrast = Math.Round(task.output[index + 6], 3),//对比度 + cmW = Math.Round(w * task.widthRatio / task.cm2px_x, 2), + cmH = Math.Round(h * task.widthRatio / task.cm2px_y, 2), + i = i, + j = j, + }); + } + + #endregion + } + + //结果过滤 + #region 结果过滤 + //降序排序,先得到是否有接头检出 + List DefectLabelInfoListByClassID = DefectLabelInfoList.OrderByDescending(t => t.classId).ToList();//降序 + for (int q = 0; q < DefectLabelInfoList.Count; q++) + { + //是否满足此产品标准 + if (task.qualifiedLimitList != null && task.qualifiedLimitList.Count > 0) + { + qualifiedLimit = task.qualifiedLimitList.FirstOrDefault(m => m.Code == task.labelDic[DefectLabelInfoList[q].classId]); + if (qualifiedLimit != null) + { + //if ((qualifiedLimit.ZXD > 0 && qualifiedLimit.ZXD > confidence) + // || (qualifiedLimit.ContrastTop + qualifiedLimit.ContrastLower > 0 && x> qualifiedLimit.ContrastLower && x < qualifiedLimit.ContrastTop) + // || (qualifiedLimit.Area > 0 && qualifiedLimit.Area > cmW * cmH)) + if (DefectLabelInfoList[q].confidence <= qualifiedLimit.ZXD)//confidence > qualifiedLimit.ZXD 是瑕疵 才继续判断下面的两个条件 + { + task.resultInfo += $" 置信度不满足此产品瑕疵标准,跳过! \n"; + continue; + } + + //下限<对比度<上限:不是瑕疵 + var ContrastTotal = qualifiedLimit.ContrastTop + qualifiedLimit.ContrastLower; + if (qualifiedLimit.IsOR) + { + if (!( + (qualifiedLimit.Area <= 0 || DefectLabelInfoList[q].cmW * DefectLabelInfoList[q].cmH >= qualifiedLimit.Area) || + (ContrastTotal <= 0 || (DefectLabelInfoList[q].contrast < qualifiedLimit.ContrastLower || DefectLabelInfoList[q].contrast > qualifiedLimit.ContrastTop)))) + { + task.resultInfo += $" 不满足此产品瑕疵标准,跳过! \n"; + //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"判断不是瑕疵:类别ID:{classId}; 置信度({confidence},[{qualifiedLimit.ZXD}]); isOr({qualifiedLimit.IsOR}); 面积({cmW * cmH},[{ qualifiedLimit.Area}]); 对比度({contrast},[{qualifiedLimit.ContrastLower}-{qualifiedLimit.ContrastTop}])"); + continue; + } + } + else + { + if (!( + (qualifiedLimit.Area <= 0 || DefectLabelInfoList[q].cmW * DefectLabelInfoList[q].cmH >= qualifiedLimit.Area) && + (ContrastTotal <= 0 || (DefectLabelInfoList[q].contrast < qualifiedLimit.ContrastLower || DefectLabelInfoList[q].contrast > qualifiedLimit.ContrastTop)))) + { + task.resultInfo += $" 不满足此产品瑕疵标准,跳过! \n"; + //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"判断不是瑕疵:类别ID:{classId}; 置信度({confidence},[{qualifiedLimit.ZXD}]); isOr({qualifiedLimit.IsOR}); 面积({cmW * cmH},[{ qualifiedLimit.Area}]); 对比度({contrast},[{qualifiedLimit.ContrastLower}-{qualifiedLimit.ContrastTop}])"); + continue; + } + } + if (task.labelDic[DefectLabelInfoList[q].classId] == "jietou") + haveJieTou = true; + if (haveJieTou && (task.labelDic[DefectLabelInfoList[q].classId] == "hengdang")) + { + task.resultInfo += $" 判断为接头处横档,跳过! \n"; + continue; + } + //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"判断是瑕疵:类别ID:{classId}; 置信度({confidence},[{qualifiedLimit.ZXD}]); isOr({qualifiedLimit.IsOR}); 面积({cmW * cmH},[{ qualifiedLimit.Area}]); 对比度({contrast},[{qualifiedLimit.ContrastLower}-{qualifiedLimit.ContrastTop}])"); + } + } + liStep++;//1 + //打标 + var point1 = new OpenCvSharp.Point((DefectLabelInfoList[q].i % colNum) * image_width + DefectLabelInfoList[q].x, (DefectLabelInfoList[q].i / colNum) * image_hight + DefectLabelInfoList[q].y); + var point2 = new OpenCvSharp.Point(point1.X + DefectLabelInfoList[q].w, point1.Y + DefectLabelInfoList[q].h); + liStep++;//2 + task.resultInfo += $" 转换到大图坐标(px):p1={point1.X},{point1.Y}; p2={point2.X},{point2.Y}\n"; + Cv2.Rectangle(task.bmpTag, point1, point2, new Scalar(0.0, 0.0, 255.0), 1);//画打标点 + //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"保存第 {count} 行缺陷信息;"); + var cmX = Math.Round(point1.X * task.widthRatio / task.cm2px_x, 2); + var cmY = Math.Round((task.bmp.Height - point1.Y - DefectLabelInfoList[q].h) * task.widthRatio / task.cm2px_y, 2);//外面计Y从右下角为原点 + liStep++;//3 + task.resultInfo += $" 转换到大图坐标(cm)[widthRatio={task.widthRatio}]:x={cmX},y={cmY}; w={DefectLabelInfoList[q].cmW},h={DefectLabelInfoList[q].cmH}\n"; + task.excelTable.Rows.Add($"{task.photoIndex}", cmX, cmY, DefectLabelInfoList[q].cmW, DefectLabelInfoList[q].cmH, DefectLabelInfoList[q].j + 1, DefectLabelInfoList[q].classId, DefectLabelInfoList[q].confidence, DefectLabelInfoList[q].contrast); + + liStep++;//4 + //切缺陷小图 + //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"保存第 {count} 个缺陷小图;"); + int left, top, decX, decY; + decX = (DefectLabelInfoList[q].w > 236 ? 20 : 256 - DefectLabelInfoList[q].w) / 2; + decY = (DefectLabelInfoList[q].h > 236 ? 20 : 256 - DefectLabelInfoList[q].h) / 2; + left = point1.X - decX; + top = point1.Y - decY; + if (left < 0) left = 0; + if (top < 0) top = 0; + + int width = DefectLabelInfoList[q].w + decX * 2; + int height = DefectLabelInfoList[q].h + decY * 2; + if (left + width > task.bmp.Width - 1) width = task.bmp.Width - left - 1; + if (top + height > task.bmp.Height - 1) height = task.bmp.Height - top - 1; + liStep++;//5 + Rect roi = new Rect(left, top, width, height); + liStep++;//6 + if (height < 1 || width < 1) + { + task.resultInfo += $" 打标到大图坐标Rect(px):left={left},top={top}; width={width},height={height}\n"; + task.resultInfo += $" test point1.Y={point1.Y},h={DefectLabelInfoList[q].h}; top={top},mat.Height={task.bmp.Height}\n================\n"; + WarningEvent?.Invoke(WarningEnum.Normal, task.resultInfo); + } + + //保存 + //string filename = $"{Config.appBasePath}\\temp\\{task.tag}\\{task.tag}_X{mmX.ToString()}_Y{mmY.ToString()}_W{mmW.ToString()}_H{mmH.ToString()}_目标{j + 1}_类别{classId}_置信度{confidence}.bmp"; + //OpenCvSharp.Extensions.BitmapConverter.ToBitmap(new Mat(task.bmp, roi)).Save(filename, ImageFormat.Jpeg); + + task.lstDefectBmp.Add(new Mat(task.bmpTag, roi).Clone()); + liStep++;//7 + } + #endregion + liStep = 99; + stopwatch.Stop(); + task.stopwatch[3] = stopwatch.ElapsedMilliseconds; + + task.isSucceed = true; + callback(task); + } + catch (Exception ex) + { + WarningEvent?.Invoke(WarningEnum.Low, $"DefectLib task3 err({liStep}):" + ex.Message); + task.isSucceed = false; + task.resultInfo = ex.Message; + callback(task); + } + } + } + + #region 结果回调 + private void callback(DefectTask task) + { + //返回成功/失败,异步调用 + if (task.finishEvent != null || (task.finishEvent = finishEvent) != null) + //task.finishEvent.BeginInvoke(result, errInfo, res => task.finishEvent.EndInvoke(res), null); + System.Threading.ThreadPool.QueueUserWorkItem(waitCallback, task); + } + //异步回调 + WaitCallback waitCallback = new WaitCallback(o => + { + var task = (DefectTask)o; + task.finishEvent(task); + }); + #endregion + + #region 处理队列 + public void add(DefectTask task) + { + lock (taskList) + { + taskList.Add(task); + QueueCountEvent?.BeginInvoke(0, taskList.Count, null, null); + } + } + + + private DefectTask pop() + { + lock (taskList) + { + if (taskList.Count < 1) + return null; + + //int index = 0;// taskList.FindIndex(p => { return p.isSync; }); + //if (index < 0) index = 0; + var task = taskList[0]; + taskList.RemoveAt(0); + QueueCountEvent?.BeginInvoke(0, taskList.Count, null, null); + return task; + } + } + private DefectTask pop2() + { + lock (taskOperationList) + { + if (taskOperationList.Count < 1) + return null; + + //int index = 0;// taskList.FindIndex(p => { return p.isSync; }); + //if (index < 0) index = 0; + var task = taskOperationList[0]; + taskOperationList.RemoveAt(0); + QueueCountEvent?.BeginInvoke(1, taskOperationList.Count, null, null); + return task; + } + } + private DefectTask pop3() + { + lock (taskMakeTagList) + { + if (taskMakeTagList.Count < 1) + return null; + + //int index = 0;// taskList.FindIndex(p => { return p.isSync; }); + //if (index < 0) index = 0; + var task = taskMakeTagList[0]; + taskMakeTagList.RemoveAt(0); + QueueCountEvent?.BeginInvoke(2, taskMakeTagList.Count, null, null); + return task; + } + } + #endregion + + public void Dispose() + { + stop(); + } + + private class DefectLabelInfo + { + public int x { get; set; } + public int y { get; set; } + public int w { get; set; } + public int h { get; set; } + public int classId { get; set; } + public double confidence { get; set; } //置信度 + public double contrast { get; set; }//对比度 + + public double cmW { get; set; } + public double cmH { get; set; } + + public int i { get; set; }//小图index + public int j { get; set; }//缺陷index + } + } + + public class DefectTask + { + public DefectTask() + { + // 创建一个 DataTable 对象来存储数据 + excelTable = new DataTable("MyData"); + // 添加列到 DataTable + excelTable.Columns.Add("FileName", typeof(string)); + excelTable.Columns.Add("X", typeof(decimal)); + excelTable.Columns.Add("Y", typeof(decimal)); + excelTable.Columns.Add("W", typeof(decimal)); + excelTable.Columns.Add("H", typeof(decimal)); + excelTable.Columns.Add("目标", typeof(int)); + excelTable.Columns.Add("类别", typeof(int)); + excelTable.Columns.Add("置信度", typeof(decimal)); + excelTable.Columns.Add("对比度", typeof(decimal)); + // 向 DataTable 中添加数据行 + //excelTable.Rows.Add("John Doe", 30); + //excelTable.Rows.Add("Jane Smith", 25); + } + /// + /// 处理参数 + /// + public int expand_pixel; + public int cm2px_x; + public int cm2px_y; + + public Dictionary labelDic; + /// + /// 模型名字 + /// + public string modelName; + + public Models.Records record; + //public string bmpPath;//源图路径(仅目录) + /// + /// 源图(resize后的) + /// + public Mat bmp; + //public Mat bmpBgr2rgb=new Mat(); + + public System.Drawing.Size resize = new System.Drawing.Size(224, 224); + //public Mat resizeBmp;//resize后 BGR2RGB图,只用于识别 + public Mat bmpTag; + /// + /// 图片索引0-n + /// + public int photoIndex;//excel中对应的图像路径标识 + public float widthRatio;//宽度比例,resize前/resize后 + //切割后 + public Mat[] bmps_cut; + + //用于比对参数 }//置信度 面积 对比度 + public List qualifiedLimitList; + + //推理后结果用于打标 + public float[] output; + public int[] output_num; + + // + /// + /// 完成后回调 + /// + public Action finishEvent; + //==结果返回 + public bool isSucceed;//转换是否成功 + public string resultInfo = "";//成功或失败信息 + + public List lstDefectBmp = new List(); + /// + /// fileIndex,x_mm,y_mm,w_mm,h_mm,目标,类别ID,置信度 + /// + public DataTable excelTable = new DataTable(); + public long[] stopwatch = new long[4]; + } +} diff --git a/LeatherProject/GeBoShi/Main.Designer.cs b/LeatherProject/GeBoShi/Main.Designer.cs index 87335a3..2314189 100644 --- a/LeatherProject/GeBoShi/Main.Designer.cs +++ b/LeatherProject/GeBoShi/Main.Designer.cs @@ -28,20 +28,1389 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main)); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea5 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Legend legend5 = new System.Windows.Forms.DataVisualization.Charting.Legend(); + System.Windows.Forms.DataVisualization.Charting.Series series5 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea6 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); + System.Windows.Forms.DataVisualization.Charting.Legend legend6 = new System.Windows.Forms.DataVisualization.Charting.Legend(); + System.Windows.Forms.DataVisualization.Charting.Series series6 = new System.Windows.Forms.DataVisualization.Charting.Series(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); + this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbtnImpStop = new System.Windows.Forms.ToolStripButton(); + this.tsbtnStart = new System.Windows.Forms.ToolStripButton(); + this.tsbtnStop = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbtnWarning = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbtnReset = new System.Windows.Forms.ToolStripButton(); + this.tsbGoHome = new System.Windows.Forms.ToolStripButton(); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.tsmSysmgr = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmPdtMgr = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmSysDataFind = new System.Windows.Forms.ToolStripMenuItem(); + this.本地数据库查询ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmSysUserMgr = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmUserRight = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmUserList = new System.Windows.Forms.ToolStripMenuItem(); + this.stmSysSet = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmSysSet = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.tsmDebug = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmHelp = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmReadLog = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); + this.tsmHelpInfo = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmInfoUS = new System.Windows.Forms.ToolStripMenuItem(); + this.tsmSoftFile = new System.Windows.Forms.ToolStripMenuItem(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.gpbProductInfo = new System.Windows.Forms.GroupBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.cbProductNum = new System.Windows.Forms.ComboBox(); + this.label5 = new System.Windows.Forms.Label(); + this.cbProductReelNum = new System.Windows.Forms.ComboBox(); + this.label1 = new System.Windows.Forms.Label(); + this.cbPdtSN = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.cbProductBatch = new System.Windows.Forms.ComboBox(); + this.cbProductCode = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.ucSwitch1 = new HZH_Controls.Controls.UCSwitch(); + this.ucTrackBar1 = new HZH_Controls.Controls.UCTrackBar(); + this.panel3 = new System.Windows.Forms.Panel(); + this.gpbLog = new System.Windows.Forms.GroupBox(); + this.lstLog = new System.Windows.Forms.ListBox(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.panel5 = new System.Windows.Forms.Panel(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.skinTabImage = new CCWin.SkinControl.SkinTabControl(); + this.skinTabPage1 = new CCWin.SkinControl.SkinTabPage(); + this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.pictureBox3 = new System.Windows.Forms.PictureBox(); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.skinTabPage2 = new CCWin.SkinControl.SkinTabPage(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.panel8 = new System.Windows.Forms.Panel(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.panel9 = new System.Windows.Forms.Panel(); + this.chart3 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.panel6 = new System.Windows.Forms.Panel(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.panel7 = new System.Windows.Forms.Panel(); + this.pictureBox4 = new System.Windows.Forms.PictureBox(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.panel4 = new System.Windows.Forms.Panel(); + this.skinDataGridView1 = new CCWin.SkinControl.SkinDataGridView(); + this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.tsAxisState = new System.Windows.Forms.ToolStripStatusLabel(); + this.tsslLoginTime = new System.Windows.Forms.ToolStripStatusLabel(); + this.tsslLoginInfo = new System.Windows.Forms.ToolStripStatusLabel(); + this.tslabelTime = new System.Windows.Forms.ToolStripStatusLabel(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel(); + this.toolStrip1.SuspendLayout(); + this.menuStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.tableLayoutPanel1.SuspendLayout(); + this.gpbProductInfo.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.panel3.SuspendLayout(); + this.gpbLog.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.panel5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); + this.skinTabImage.SuspendLayout(); + this.skinTabPage1.SuspendLayout(); + this.tableLayoutPanel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); + this.skinTabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.tableLayoutPanel3.SuspendLayout(); + this.panel8.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.panel9.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart3)).BeginInit(); + this.panel6.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.panel7.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit(); + this.groupBox1.SuspendLayout(); + this.panel4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.skinDataGridView1)).BeginInit(); + this.statusStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); this.SuspendLayout(); // - // Form1 + // toolStrip1 + // + this.toolStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(51)))), ((int)(((byte)(122))))); + this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.toolStrip1.ImageScalingSize = new System.Drawing.Size(32, 32); + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripSeparator10, + this.tsbtnImpStop, + this.tsbtnStart, + this.tsbtnStop, + this.toolStripSeparator2, + this.tsbtnWarning, + this.toolStripSeparator3, + this.tsbtnReset, + this.tsbGoHome}); + this.toolStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow; + this.toolStrip1.Location = new System.Drawing.Point(0, 89); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; + this.toolStrip1.Size = new System.Drawing.Size(1145, 56); + this.toolStrip1.TabIndex = 23; + this.toolStrip1.Text = "toolStrip1"; + // + // toolStripSeparator10 + // + this.toolStripSeparator10.Name = "toolStripSeparator10"; + this.toolStripSeparator10.Size = new System.Drawing.Size(6, 56); + // + // tsbtnImpStop + // + this.tsbtnImpStop.ForeColor = System.Drawing.SystemColors.Control; + this.tsbtnImpStop.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnImpStop.Image"))); + this.tsbtnImpStop.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnImpStop.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnImpStop.Name = "tsbtnImpStop"; + this.tsbtnImpStop.Size = new System.Drawing.Size(60, 53); + this.tsbtnImpStop.Text = "结束验布"; + this.tsbtnImpStop.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // tsbtnStart + // + this.tsbtnStart.ForeColor = System.Drawing.SystemColors.Control; + this.tsbtnStart.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnStart.Image"))); + this.tsbtnStart.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnStart.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnStart.Name = "tsbtnStart"; + this.tsbtnStart.Size = new System.Drawing.Size(60, 53); + this.tsbtnStart.Text = "开始验布"; + this.tsbtnStart.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // tsbtnStop + // + this.tsbtnStop.ForeColor = System.Drawing.SystemColors.Control; + this.tsbtnStop.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnStop.Image"))); + this.tsbtnStop.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnStop.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnStop.Name = "tsbtnStop"; + this.tsbtnStop.Size = new System.Drawing.Size(52, 53); + this.tsbtnStop.Text = " 暂停 "; + this.tsbtnStop.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(6, 56); + // + // tsbtnWarning + // + this.tsbtnWarning.ForeColor = System.Drawing.Color.White; + this.tsbtnWarning.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnWarning.Image"))); + this.tsbtnWarning.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnWarning.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnWarning.Name = "tsbtnWarning"; + this.tsbtnWarning.Size = new System.Drawing.Size(60, 53); + this.tsbtnWarning.Text = "解除报警"; + this.tsbtnWarning.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(6, 56); + // + // tsbtnReset + // + this.tsbtnReset.ForeColor = System.Drawing.SystemColors.Control; + this.tsbtnReset.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnReset.Image"))); + this.tsbtnReset.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnReset.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnReset.Name = "tsbtnReset"; + this.tsbtnReset.Size = new System.Drawing.Size(52, 53); + this.tsbtnReset.Text = " 复位 "; + this.tsbtnReset.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // tsbGoHome + // + this.tsbGoHome.ForeColor = System.Drawing.Color.White; + this.tsbGoHome.Image = ((System.Drawing.Image)(resources.GetObject("tsbGoHome.Image"))); + this.tsbGoHome.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbGoHome.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbGoHome.Name = "tsbGoHome"; + this.tsbGoHome.Size = new System.Drawing.Size(60, 53); + this.tsbGoHome.Text = "硬件重启"; + this.tsbGoHome.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // menuStrip1 + // + this.menuStrip1.AutoSize = false; + this.menuStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsmSysmgr, + this.tsmSysDataFind, + this.tsmSysUserMgr, + this.stmSysSet, + this.tsmHelp}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(1145, 43); + this.menuStrip1.TabIndex = 22; + this.menuStrip1.Text = "menuStrip1"; + // + // tsmSysmgr + // + this.tsmSysmgr.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsmPdtMgr, + this.toolStripSeparator1, + this.退出ToolStripMenuItem}); + this.tsmSysmgr.ForeColor = System.Drawing.SystemColors.Control; + this.tsmSysmgr.Name = "tsmSysmgr"; + this.tsmSysmgr.ShortcutKeyDisplayString = "Ctrl+M"; + this.tsmSysmgr.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.M))); + this.tsmSysmgr.Size = new System.Drawing.Size(104, 39); + this.tsmSysmgr.Text = "系统管理(M)"; + // + // tsmPdtMgr + // + this.tsmPdtMgr.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.tsmPdtMgr.Image = ((System.Drawing.Image)(resources.GetObject("tsmPdtMgr.Image"))); + this.tsmPdtMgr.Name = "tsmPdtMgr"; + this.tsmPdtMgr.Size = new System.Drawing.Size(180, 22); + this.tsmPdtMgr.Text = "产品管理"; + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6); + // + // 退出ToolStripMenuItem + // + this.退出ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("退出ToolStripMenuItem.Image"))); + this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem"; + this.退出ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.退出ToolStripMenuItem.Text = "退出"; + this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click); + // + // tsmSysDataFind + // + this.tsmSysDataFind.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.本地数据库查询ToolStripMenuItem}); + this.tsmSysDataFind.ForeColor = System.Drawing.SystemColors.Control; + this.tsmSysDataFind.Name = "tsmSysDataFind"; + this.tsmSysDataFind.ShortcutKeyDisplayString = "Ctrl+R"; + this.tsmSysDataFind.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); + this.tsmSysDataFind.Size = new System.Drawing.Size(100, 39); + this.tsmSysDataFind.Text = "系统查询(R)"; + // + // 本地数据库查询ToolStripMenuItem + // + this.本地数据库查询ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("本地数据库查询ToolStripMenuItem.Image"))); + this.本地数据库查询ToolStripMenuItem.Name = "本地数据库查询ToolStripMenuItem"; + this.本地数据库查询ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); + this.本地数据库查询ToolStripMenuItem.Text = "数据查询"; + // + // tsmSysUserMgr + // + this.tsmSysUserMgr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.tsmSysUserMgr.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsmUserRight, + this.tsmUserList}); + this.tsmSysUserMgr.ForeColor = System.Drawing.Color.White; + this.tsmSysUserMgr.Name = "tsmSysUserMgr"; + this.tsmSysUserMgr.Size = new System.Drawing.Size(85, 39); + this.tsmSysUserMgr.Text = "用户管理(U)"; + // + // tsmUserRight + // + this.tsmUserRight.Image = ((System.Drawing.Image)(resources.GetObject("tsmUserRight.Image"))); + this.tsmUserRight.Name = "tsmUserRight"; + this.tsmUserRight.Size = new System.Drawing.Size(124, 22); + this.tsmUserRight.Text = "权限管理"; + this.tsmUserRight.Click += new System.EventHandler(this.tsmUserRight_Click); + // + // tsmUserList + // + this.tsmUserList.Image = ((System.Drawing.Image)(resources.GetObject("tsmUserList.Image"))); + this.tsmUserList.Name = "tsmUserList"; + this.tsmUserList.Size = new System.Drawing.Size(124, 22); + this.tsmUserList.Text = "用户设置"; + this.tsmUserList.Click += new System.EventHandler(this.tsmUserList_Click); + // + // stmSysSet + // + this.stmSysSet.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsmSysSet, + this.toolStripSeparator5, + this.tsmDebug}); + this.stmSysSet.ForeColor = System.Drawing.SystemColors.Control; + this.stmSysSet.Name = "stmSysSet"; + this.stmSysSet.ShortcutKeyDisplayString = "Ctrl+S"; + this.stmSysSet.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); + this.stmSysSet.Size = new System.Drawing.Size(99, 39); + this.stmSysSet.Text = "系统设置(S)"; + // + // tsmSysSet + // + this.tsmSysSet.Image = ((System.Drawing.Image)(resources.GetObject("tsmSysSet.Image"))); + this.tsmSysSet.Name = "tsmSysSet"; + this.tsmSysSet.Size = new System.Drawing.Size(180, 22); + this.tsmSysSet.Text = "系统设置"; + this.tsmSysSet.Click += new System.EventHandler(this.tsmSysSet_Click); + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(121, 6); + // + // tsmDebug + // + this.tsmDebug.Image = ((System.Drawing.Image)(resources.GetObject("tsmDebug.Image"))); + this.tsmDebug.Name = "tsmDebug"; + this.tsmDebug.Size = new System.Drawing.Size(124, 22); + this.tsmDebug.Text = "调试"; + // + // tsmHelp + // + this.tsmHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsmReadLog, + this.toolStripSeparator6, + this.tsmHelpInfo, + this.tsmInfoUS, + this.tsmSoftFile}); + this.tsmHelp.ForeColor = System.Drawing.SystemColors.Control; + this.tsmHelp.Name = "tsmHelp"; + this.tsmHelp.ShortcutKeyDisplayString = "Ctrl+H"; + this.tsmHelp.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.H))); + this.tsmHelp.Size = new System.Drawing.Size(77, 39); + this.tsmHelp.Text = "帮助(H)"; + // + // tsmReadLog + // + this.tsmReadLog.Image = ((System.Drawing.Image)(resources.GetObject("tsmReadLog.Image"))); + this.tsmReadLog.Name = "tsmReadLog"; + this.tsmReadLog.Size = new System.Drawing.Size(148, 22); + this.tsmReadLog.Text = "日志查询"; + // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + this.toolStripSeparator6.Size = new System.Drawing.Size(145, 6); + // + // tsmHelpInfo + // + this.tsmHelpInfo.Image = ((System.Drawing.Image)(resources.GetObject("tsmHelpInfo.Image"))); + this.tsmHelpInfo.Name = "tsmHelpInfo"; + this.tsmHelpInfo.Size = new System.Drawing.Size(148, 22); + this.tsmHelpInfo.Text = "帮助"; + // + // tsmInfoUS + // + this.tsmInfoUS.Image = ((System.Drawing.Image)(resources.GetObject("tsmInfoUS.Image"))); + this.tsmInfoUS.Name = "tsmInfoUS"; + this.tsmInfoUS.Size = new System.Drawing.Size(148, 22); + this.tsmInfoUS.Text = "关于"; + // + // tsmSoftFile + // + this.tsmSoftFile.Name = "tsmSoftFile"; + this.tsmSoftFile.Size = new System.Drawing.Size(148, 22); + this.tsmSoftFile.Text = "软件使用说明"; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(0, 145); + this.splitContainer1.Name = "splitContainer1"; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel1); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); + this.splitContainer1.Size = new System.Drawing.Size(1145, 496); + this.splitContainer1.SplitterDistance = 381; + this.splitContainer1.TabIndex = 24; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 1; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.gpbProductInfo, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.panel2, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.panel3, 0, 2); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 3; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 210F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 106F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.Size = new System.Drawing.Size(381, 496); + this.tableLayoutPanel1.TabIndex = 0; + // + // gpbProductInfo + // + this.gpbProductInfo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.gpbProductInfo.Controls.Add(this.panel1); + this.gpbProductInfo.Dock = System.Windows.Forms.DockStyle.Fill; + this.gpbProductInfo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.gpbProductInfo.ForeColor = System.Drawing.SystemColors.Control; + this.gpbProductInfo.Location = new System.Drawing.Point(2, 2); + this.gpbProductInfo.Margin = new System.Windows.Forms.Padding(2); + this.gpbProductInfo.Name = "gpbProductInfo"; + this.gpbProductInfo.Padding = new System.Windows.Forms.Padding(2); + this.gpbProductInfo.Size = new System.Drawing.Size(377, 206); + this.gpbProductInfo.TabIndex = 4; + this.gpbProductInfo.TabStop = false; + this.gpbProductInfo.Text = "产品信息"; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.Controls.Add(this.cbProductNum); + this.panel1.Controls.Add(this.label5); + this.panel1.Controls.Add(this.cbProductReelNum); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.cbPdtSN); + this.panel1.Controls.Add(this.label4); + this.panel1.Controls.Add(this.cbProductBatch); + this.panel1.Controls.Add(this.cbProductCode); + this.panel1.Controls.Add(this.label3); + this.panel1.Controls.Add(this.label2); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(2, 16); + this.panel1.Margin = new System.Windows.Forms.Padding(2); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(373, 188); + this.panel1.TabIndex = 0; + // + // cbProductNum + // + this.cbProductNum.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cbProductNum.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cbProductNum.FormattingEnabled = true; + this.cbProductNum.Items.AddRange(new object[] { + "1", + "2", + "3", + "4", + "5"}); + this.cbProductNum.Location = new System.Drawing.Point(91, 146); + this.cbProductNum.Name = "cbProductNum"; + this.cbProductNum.Size = new System.Drawing.Size(258, 28); + this.cbProductNum.TabIndex = 17; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); + this.label5.Location = new System.Drawing.Point(8, 149); + this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(79, 20); + this.label5.TabIndex = 16; + this.label5.Text = "产品数量:"; + // + // cbProductReelNum + // + this.cbProductReelNum.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cbProductReelNum.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cbProductReelNum.FormattingEnabled = true; + this.cbProductReelNum.Items.AddRange(new object[] { + "1", + "2", + "3", + "4", + "5"}); + this.cbProductReelNum.Location = new System.Drawing.Point(91, 112); + this.cbProductReelNum.Name = "cbProductReelNum"; + this.cbProductReelNum.Size = new System.Drawing.Size(258, 28); + this.cbProductReelNum.TabIndex = 15; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); + this.label1.Location = new System.Drawing.Point(8, 115); + this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(79, 20); + this.label1.TabIndex = 14; + this.label1.Text = "产品卷号:"; + // + // cbPdtSN + // + this.cbPdtSN.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cbPdtSN.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cbPdtSN.FormattingEnabled = true; + this.cbPdtSN.Items.AddRange(new object[] { + "test"}); + this.cbPdtSN.Location = new System.Drawing.Point(91, 10); + this.cbPdtSN.Name = "cbPdtSN"; + this.cbPdtSN.Size = new System.Drawing.Size(258, 28); + this.cbPdtSN.TabIndex = 13; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); + this.label4.Location = new System.Drawing.Point(8, 13); + this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(79, 20); + this.label4.TabIndex = 12; + this.label4.Text = "产品条码:"; + // + // cbProductBatch + // + this.cbProductBatch.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cbProductBatch.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cbProductBatch.FormattingEnabled = true; + this.cbProductBatch.Items.AddRange(new object[] { + "1", + "2", + "3", + "4", + "5"}); + this.cbProductBatch.Location = new System.Drawing.Point(91, 78); + this.cbProductBatch.Name = "cbProductBatch"; + this.cbProductBatch.Size = new System.Drawing.Size(258, 28); + this.cbProductBatch.TabIndex = 11; + // + // cbProductCode + // + this.cbProductCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cbProductCode.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cbProductCode.FormattingEnabled = true; + this.cbProductCode.Items.AddRange(new object[] { + "1", + "2", + "3", + "4", + "5"}); + this.cbProductCode.Location = new System.Drawing.Point(91, 44); + this.cbProductCode.Name = "cbProductCode"; + this.cbProductCode.Size = new System.Drawing.Size(258, 28); + this.cbProductCode.TabIndex = 10; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); + this.label3.Location = new System.Drawing.Point(8, 47); + this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(79, 20); + this.label3.TabIndex = 6; + this.label3.Text = "产品品名:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); + this.label2.Location = new System.Drawing.Point(8, 81); + this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(79, 20); + this.label2.TabIndex = 7; + this.label2.Text = "产品批号:"; + // + // panel2 + // + this.panel2.Controls.Add(this.groupBox2); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(3, 213); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(375, 100); + this.panel2.TabIndex = 5; + // + // groupBox2 + // + this.groupBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox2.Controls.Add(this.label7); + this.groupBox2.Controls.Add(this.label6); + this.groupBox2.Controls.Add(this.ucSwitch1); + this.groupBox2.Controls.Add(this.ucTrackBar1); + this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox2.ForeColor = System.Drawing.Color.White; + this.groupBox2.Location = new System.Drawing.Point(0, 0); + this.groupBox2.Margin = new System.Windows.Forms.Padding(2); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Padding = new System.Windows.Forms.Padding(2); + this.groupBox2.Size = new System.Drawing.Size(375, 100); + this.groupBox2.TabIndex = 8; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "检测控制"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label7.Location = new System.Drawing.Point(37, 65); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(93, 20); + this.label7.TabIndex = 8; + this.label7.Text = "瑕疵二次判断"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label6.Location = new System.Drawing.Point(37, 24); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(37, 20); + this.label6.TabIndex = 7; + this.label6.Text = "光源"; + // + // ucSwitch1 + // + this.ucSwitch1.BackColor = System.Drawing.Color.Transparent; + this.ucSwitch1.Checked = false; + this.ucSwitch1.FalseColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(189)))), ((int)(((byte)(189))))); + this.ucSwitch1.FalseTextColr = System.Drawing.Color.Black; + this.ucSwitch1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ucSwitch1.Location = new System.Drawing.Point(187, 59); + this.ucSwitch1.Name = "ucSwitch1"; + this.ucSwitch1.Size = new System.Drawing.Size(83, 31); + this.ucSwitch1.SwitchType = HZH_Controls.Controls.SwitchType.Ellipse; + this.ucSwitch1.TabIndex = 0; + this.ucSwitch1.Texts = new string[] { + "开启", + "关闭"}; + this.ucSwitch1.TrueColor = System.Drawing.Color.Lime; + this.ucSwitch1.TrueTextColr = System.Drawing.Color.Black; + // + // ucTrackBar1 + // + this.ucTrackBar1.Cursor = System.Windows.Forms.Cursors.Hand; + this.ucTrackBar1.DcimalDigits = 0; + this.ucTrackBar1.IsShowTips = true; + this.ucTrackBar1.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(228)))), ((int)(((byte)(231)))), ((int)(((byte)(237))))); + this.ucTrackBar1.LineWidth = 8F; + this.ucTrackBar1.Location = new System.Drawing.Point(92, 19); + this.ucTrackBar1.MaxValue = 100F; + this.ucTrackBar1.MinValue = 0F; + this.ucTrackBar1.Name = "ucTrackBar1"; + this.ucTrackBar1.Size = new System.Drawing.Size(258, 30); + this.ucTrackBar1.TabIndex = 6; + this.ucTrackBar1.Text = "光源"; + this.ucTrackBar1.TipsFormat = null; + this.ucTrackBar1.Value = 0F; + this.ucTrackBar1.ValueColor = System.Drawing.Color.DeepSkyBlue; + // + // panel3 + // + this.panel3.Controls.Add(this.gpbLog); + this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel3.Location = new System.Drawing.Point(3, 319); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(375, 174); + this.panel3.TabIndex = 6; + // + // gpbLog + // + this.gpbLog.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.gpbLog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.gpbLog.Controls.Add(this.lstLog); + this.gpbLog.ForeColor = System.Drawing.SystemColors.Control; + this.gpbLog.Location = new System.Drawing.Point(0, 0); + this.gpbLog.Margin = new System.Windows.Forms.Padding(2); + this.gpbLog.Name = "gpbLog"; + this.gpbLog.Padding = new System.Windows.Forms.Padding(2); + this.gpbLog.Size = new System.Drawing.Size(375, 153); + this.gpbLog.TabIndex = 7; + this.gpbLog.TabStop = false; + this.gpbLog.Text = "日志信息"; + // + // lstLog + // + this.lstLog.Dock = System.Windows.Forms.DockStyle.Fill; + this.lstLog.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.lstLog.FormattingEnabled = true; + this.lstLog.HorizontalScrollbar = true; + this.lstLog.ItemHeight = 16; + this.lstLog.Location = new System.Drawing.Point(2, 16); + this.lstLog.Name = "lstLog"; + this.lstLog.Size = new System.Drawing.Size(371, 135); + this.lstLog.TabIndex = 27; + // + // splitContainer2 + // + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.splitContainer3); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.tableLayoutPanel3); + this.splitContainer2.Size = new System.Drawing.Size(760, 496); + this.splitContainer2.SplitterDistance = 483; + this.splitContainer2.TabIndex = 0; + // + // splitContainer3 + // + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.Location = new System.Drawing.Point(0, 0); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.groupBox3); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.skinTabImage); + this.splitContainer3.Size = new System.Drawing.Size(483, 496); + this.splitContainer3.SplitterDistance = 245; + this.splitContainer3.TabIndex = 0; + // + // groupBox3 + // + this.groupBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox3.Controls.Add(this.panel5); + this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox3.ForeColor = System.Drawing.SystemColors.Control; + this.groupBox3.Location = new System.Drawing.Point(0, 0); + this.groupBox3.Margin = new System.Windows.Forms.Padding(2); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Padding = new System.Windows.Forms.Padding(2); + this.groupBox3.Size = new System.Drawing.Size(483, 245); + this.groupBox3.TabIndex = 6; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "瑕疵分布"; + // + // panel5 + // + this.panel5.BackColor = System.Drawing.Color.White; + this.panel5.Controls.Add(this.chart1); + this.panel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel5.Location = new System.Drawing.Point(2, 16); + this.panel5.Margin = new System.Windows.Forms.Padding(2); + this.panel5.Name = "panel5"; + this.panel5.Size = new System.Drawing.Size(479, 227); + this.panel5.TabIndex = 0; + // + // chart1 + // + chartArea5.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea5); + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + legend5.Name = "Legend1"; + this.chart1.Legends.Add(legend5); + this.chart1.Location = new System.Drawing.Point(0, 0); + this.chart1.Name = "chart1"; + series5.ChartArea = "ChartArea1"; + series5.Legend = "Legend1"; + series5.Name = "Series1"; + this.chart1.Series.Add(series5); + this.chart1.Size = new System.Drawing.Size(479, 227); + this.chart1.TabIndex = 0; + this.chart1.Text = "chart1"; + // + // skinTabImage + // + this.skinTabImage.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.skinTabImage.AnimatorType = CCWin.SkinControl.AnimationType.HorizSlide; + this.skinTabImage.CloseRect = new System.Drawing.Rectangle(2, 2, 12, 12); + this.skinTabImage.Controls.Add(this.skinTabPage1); + this.skinTabImage.Controls.Add(this.skinTabPage2); + this.skinTabImage.HeadBack = null; + this.skinTabImage.ImgTxtOffset = new System.Drawing.Point(0, 0); + this.skinTabImage.ItemSize = new System.Drawing.Size(240, 36); + this.skinTabImage.ItemStretch = true; + this.skinTabImage.Location = new System.Drawing.Point(0, 0); + this.skinTabImage.Name = "skinTabImage"; + this.skinTabImage.PageArrowDown = ((System.Drawing.Image)(resources.GetObject("skinTabImage.PageArrowDown"))); + this.skinTabImage.PageArrowHover = ((System.Drawing.Image)(resources.GetObject("skinTabImage.PageArrowHover"))); + this.skinTabImage.PageCloseHover = ((System.Drawing.Image)(resources.GetObject("skinTabImage.PageCloseHover"))); + this.skinTabImage.PageCloseNormal = ((System.Drawing.Image)(resources.GetObject("skinTabImage.PageCloseNormal"))); + this.skinTabImage.PageDown = ((System.Drawing.Image)(resources.GetObject("skinTabImage.PageDown"))); + this.skinTabImage.PageDownTxtColor = System.Drawing.Color.White; + this.skinTabImage.PageHover = ((System.Drawing.Image)(resources.GetObject("skinTabImage.PageHover"))); + this.skinTabImage.PageHoverTxtColor = System.Drawing.Color.White; + this.skinTabImage.PageImagePosition = CCWin.SkinControl.SkinTabControl.ePageImagePosition.Left; + this.skinTabImage.PageNorml = null; + this.skinTabImage.PageNormlTxtColor = System.Drawing.Color.White; + this.skinTabImage.SelectedIndex = 0; + this.skinTabImage.Size = new System.Drawing.Size(483, 222); + this.skinTabImage.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; + this.skinTabImage.TabIndex = 0; + // + // skinTabPage1 + // + this.skinTabPage1.BackColor = System.Drawing.Color.White; + this.skinTabPage1.Controls.Add(this.tableLayoutPanel2); + this.skinTabPage1.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabPage1.ForeColor = System.Drawing.SystemColors.ButtonHighlight; + this.skinTabPage1.Location = new System.Drawing.Point(0, 36); + this.skinTabPage1.Name = "skinTabPage1"; + this.skinTabPage1.Size = new System.Drawing.Size(483, 186); + this.skinTabPage1.TabIndex = 0; + this.skinTabPage1.TabItemImage = null; + this.skinTabPage1.Text = "实时采集图像"; + // + // tableLayoutPanel2 + // + this.tableLayoutPanel2.ColumnCount = 2; + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.Controls.Add(this.pictureBox3, 0, 0); + this.tableLayoutPanel2.Controls.Add(this.pictureBox2, 0, 0); + this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel2.Name = "tableLayoutPanel2"; + this.tableLayoutPanel2.RowCount = 1; + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.Size = new System.Drawing.Size(483, 186); + this.tableLayoutPanel2.TabIndex = 0; + // + // pictureBox3 + // + this.pictureBox3.BackColor = System.Drawing.SystemColors.Control; + this.pictureBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBox3.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox3.Location = new System.Drawing.Point(243, 2); + this.pictureBox3.Margin = new System.Windows.Forms.Padding(2); + this.pictureBox3.Name = "pictureBox3"; + this.pictureBox3.Size = new System.Drawing.Size(238, 182); + this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox3.TabIndex = 12; + this.pictureBox3.TabStop = false; + // + // pictureBox2 + // + this.pictureBox2.BackColor = System.Drawing.SystemColors.Control; + this.pictureBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBox2.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox2.Location = new System.Drawing.Point(2, 2); + this.pictureBox2.Margin = new System.Windows.Forms.Padding(2); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.Size = new System.Drawing.Size(237, 182); + this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox2.TabIndex = 11; + this.pictureBox2.TabStop = false; + // + // skinTabPage2 + // + this.skinTabPage2.BackColor = System.Drawing.Color.White; + this.skinTabPage2.Controls.Add(this.pictureBox1); + this.skinTabPage2.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabPage2.ForeColor = System.Drawing.SystemColors.ButtonHighlight; + this.skinTabPage2.Location = new System.Drawing.Point(0, 36); + this.skinTabPage2.Name = "skinTabPage2"; + this.skinTabPage2.Size = new System.Drawing.Size(483, 186); + this.skinTabPage2.TabIndex = 1; + this.skinTabPage2.TabItemImage = null; + this.skinTabPage2.Text = "处理合并图像"; + // + // pictureBox1 + // + this.pictureBox1.BackColor = System.Drawing.SystemColors.Control; + this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox1.Location = new System.Drawing.Point(0, 0); + this.pictureBox1.Margin = new System.Windows.Forms.Padding(2); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(483, 186); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 10; + this.pictureBox1.TabStop = false; + // + // tableLayoutPanel3 + // + this.tableLayoutPanel3.ColumnCount = 1; + this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel3.Controls.Add(this.panel8, 0, 2); + this.tableLayoutPanel3.Controls.Add(this.panel6, 0, 1); + this.tableLayoutPanel3.Controls.Add(this.groupBox1, 0, 0); + this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel3.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel3.Name = "tableLayoutPanel3"; + this.tableLayoutPanel3.RowCount = 3; + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F)); + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F)); + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F)); + this.tableLayoutPanel3.Size = new System.Drawing.Size(273, 496); + this.tableLayoutPanel3.TabIndex = 0; + // + // panel8 + // + this.panel8.Controls.Add(this.groupBox5); + this.panel8.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel8.Location = new System.Drawing.Point(3, 349); + this.panel8.Name = "panel8"; + this.panel8.Size = new System.Drawing.Size(267, 144); + this.panel8.TabIndex = 8; + // + // groupBox5 + // + this.groupBox5.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.groupBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox5.Controls.Add(this.panel9); + this.groupBox5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox5.ForeColor = System.Drawing.SystemColors.Control; + this.groupBox5.Location = new System.Drawing.Point(0, 0); + this.groupBox5.Margin = new System.Windows.Forms.Padding(2); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Padding = new System.Windows.Forms.Padding(2); + this.groupBox5.Size = new System.Drawing.Size(267, 122); + this.groupBox5.TabIndex = 7; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "幅宽"; + // + // panel9 + // + this.panel9.BackColor = System.Drawing.Color.White; + this.panel9.Controls.Add(this.chart3); + this.panel9.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel9.Location = new System.Drawing.Point(2, 16); + this.panel9.Margin = new System.Windows.Forms.Padding(2); + this.panel9.Name = "panel9"; + this.panel9.Size = new System.Drawing.Size(263, 104); + this.panel9.TabIndex = 0; + // + // chart3 + // + chartArea6.Name = "ChartArea1"; + this.chart3.ChartAreas.Add(chartArea6); + this.chart3.Dock = System.Windows.Forms.DockStyle.Fill; + legend6.Name = "Legend1"; + this.chart3.Legends.Add(legend6); + this.chart3.Location = new System.Drawing.Point(0, 0); + this.chart3.Name = "chart3"; + series6.ChartArea = "ChartArea1"; + series6.Legend = "Legend1"; + series6.Name = "Series1"; + this.chart3.Series.Add(series6); + this.chart3.Size = new System.Drawing.Size(263, 104); + this.chart3.TabIndex = 0; + this.chart3.Text = "chart3"; + // + // panel6 + // + this.panel6.Controls.Add(this.groupBox4); + this.panel6.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel6.Location = new System.Drawing.Point(3, 201); + this.panel6.Name = "panel6"; + this.panel6.Size = new System.Drawing.Size(267, 142); + this.panel6.TabIndex = 7; + // + // groupBox4 + // + this.groupBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox4.Controls.Add(this.panel7); + this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox4.ForeColor = System.Drawing.SystemColors.Control; + this.groupBox4.Location = new System.Drawing.Point(0, 0); + this.groupBox4.Margin = new System.Windows.Forms.Padding(2); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Padding = new System.Windows.Forms.Padding(2); + this.groupBox4.Size = new System.Drawing.Size(267, 142); + this.groupBox4.TabIndex = 6; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "瑕疵信息"; + // + // panel7 + // + this.panel7.BackColor = System.Drawing.Color.White; + this.panel7.Controls.Add(this.pictureBox4); + this.panel7.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel7.Location = new System.Drawing.Point(2, 16); + this.panel7.Margin = new System.Windows.Forms.Padding(2); + this.panel7.Name = "panel7"; + this.panel7.Size = new System.Drawing.Size(263, 124); + this.panel7.TabIndex = 0; + // + // pictureBox4 + // + this.pictureBox4.BackColor = System.Drawing.SystemColors.Control; + this.pictureBox4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBox4.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox4.Location = new System.Drawing.Point(0, 0); + this.pictureBox4.Margin = new System.Windows.Forms.Padding(2); + this.pictureBox4.Name = "pictureBox4"; + this.pictureBox4.Size = new System.Drawing.Size(263, 124); + this.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox4.TabIndex = 13; + this.pictureBox4.TabStop = false; + // + // groupBox1 + // + this.groupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox1.Controls.Add(this.panel4); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox1.ForeColor = System.Drawing.SystemColors.Control; + this.groupBox1.Location = new System.Drawing.Point(2, 2); + this.groupBox1.Margin = new System.Windows.Forms.Padding(2); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(2); + this.groupBox1.Size = new System.Drawing.Size(269, 194); + this.groupBox1.TabIndex = 5; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "瑕疵列表"; + // + // panel4 + // + this.panel4.BackColor = System.Drawing.Color.White; + this.panel4.Controls.Add(this.skinDataGridView1); + this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel4.Location = new System.Drawing.Point(2, 16); + this.panel4.Margin = new System.Windows.Forms.Padding(2); + this.panel4.Name = "panel4"; + this.panel4.Size = new System.Drawing.Size(265, 176); + this.panel4.TabIndex = 0; + // + // skinDataGridView1 + // + dataGridViewCellStyle11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(231)))), ((int)(((byte)(246)))), ((int)(((byte)(253))))); + this.skinDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11; + this.skinDataGridView1.BackgroundColor = System.Drawing.SystemColors.Window; + this.skinDataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.skinDataGridView1.ColumnFont = null; + this.skinDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(247)))), ((int)(((byte)(246)))), ((int)(((byte)(239))))); + dataGridViewCellStyle12.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.skinDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12; + this.skinDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.skinDataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.Column1, + this.Column2}); + this.skinDataGridView1.ColumnSelectForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle13.BackColor = System.Drawing.Color.White; + dataGridViewCellStyle13.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle13.ForeColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle13.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(59)))), ((int)(((byte)(188)))), ((int)(((byte)(240))))); + dataGridViewCellStyle13.SelectionForeColor = System.Drawing.Color.White; + dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.skinDataGridView1.DefaultCellStyle = dataGridViewCellStyle13; + this.skinDataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinDataGridView1.EnableHeadersVisualStyles = false; + this.skinDataGridView1.GridColor = System.Drawing.SystemColors.GradientActiveCaption; + this.skinDataGridView1.HeadFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.skinDataGridView1.HeadForeColor = System.Drawing.SystemColors.Window; + this.skinDataGridView1.HeadSelectForeColor = System.Drawing.SystemColors.HighlightText; + this.skinDataGridView1.Location = new System.Drawing.Point(0, 0); + this.skinDataGridView1.Name = "skinDataGridView1"; + this.skinDataGridView1.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; + dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle14.BackColor = System.Drawing.SystemColors.ButtonHighlight; + dataGridViewCellStyle14.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle14.ForeColor = System.Drawing.SystemColors.MenuText; + dataGridViewCellStyle14.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle14.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.skinDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle14; + this.skinDataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; + dataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle15.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle15.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle15.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + this.skinDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle15; + this.skinDataGridView1.RowTemplate.Height = 23; + this.skinDataGridView1.Size = new System.Drawing.Size(265, 176); + this.skinDataGridView1.TabIndex = 0; + this.skinDataGridView1.TitleBack = null; + this.skinDataGridView1.TitleBackColorBegin = System.Drawing.SystemColors.HotTrack; + this.skinDataGridView1.TitleBackColorEnd = System.Drawing.SystemColors.HotTrack; + // + // Column1 + // + this.Column1.HeaderText = "图号"; + this.Column1.Name = "Column1"; + this.Column1.ReadOnly = true; + // + // Column2 + // + this.Column2.HeaderText = "名称"; + this.Column2.Name = "Column2"; + this.Column2.ReadOnly = true; + // + // statusStrip1 + // + this.statusStrip1.BackColor = System.Drawing.SystemColors.HotTrack; + this.statusStrip1.ImageScalingSize = new System.Drawing.Size(24, 24); + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsAxisState, + this.tsslLoginTime, + this.tsslLoginInfo, + this.tslabelTime}); + this.statusStrip1.Location = new System.Drawing.Point(0, 619); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 9, 0); + this.statusStrip1.Size = new System.Drawing.Size(1145, 22); + this.statusStrip1.TabIndex = 25; + this.statusStrip1.Text = "statusStrip1"; + // + // tsAxisState + // + this.tsAxisState.ForeColor = System.Drawing.Color.White; + this.tsAxisState.Name = "tsAxisState"; + this.tsAxisState.Size = new System.Drawing.Size(56, 17); + this.tsAxisState.Text = "测试信息"; + // + // tsslLoginTime + // + this.tsslLoginTime.ForeColor = System.Drawing.Color.White; + this.tsslLoginTime.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.tsslLoginTime.Name = "tsslLoginTime"; + this.tsslLoginTime.Size = new System.Drawing.Size(186, 17); + this.tsslLoginTime.Text = "登录时间:2022-12-12 12:44:56"; + this.tsslLoginTime.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // tsslLoginInfo + // + this.tsslLoginInfo.ForeColor = System.Drawing.Color.White; + this.tsslLoginInfo.Name = "tsslLoginInfo"; + this.tsslLoginInfo.Size = new System.Drawing.Size(92, 17); + this.tsslLoginInfo.Text = "操作员:admin"; + // + // tslabelTime + // + this.tslabelTime.ForeColor = System.Drawing.Color.White; + this.tslabelTime.Name = "tslabelTime"; + this.tslabelTime.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.tslabelTime.Size = new System.Drawing.Size(103, 17); + this.tslabelTime.Text = "实时测试:360.00s"; + // + // uiTitel1 + // + this.uiTitel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.uiTitel1.Dock = System.Windows.Forms.DockStyle.Top; + this.uiTitel1.FatherForm = null; + this.uiTitel1.Location = new System.Drawing.Point(0, 43); + this.uiTitel1.Name = "uiTitel1"; + this.uiTitel1.Size = new System.Drawing.Size(1145, 46); + this.uiTitel1.TabIndex = 21; + // + // Main // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(978, 602); - this.Name = "Form1"; + this.ClientSize = new System.Drawing.Size(1145, 641); + this.Controls.Add(this.statusStrip1); + this.Controls.Add(this.splitContainer1); + this.Controls.Add(this.toolStrip1); + this.Controls.Add(this.uiTitel1); + this.Controls.Add(this.menuStrip1); + this.Name = "Main"; this.Text = "Form1"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Main_FormClosing); + this.Load += new System.EventHandler(this.Main_Load); + this.SizeChanged += new System.EventHandler(this.Main_SizeChanged); + this.Paint += new System.Windows.Forms.PaintEventHandler(this.MainFrm_Paint); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.tableLayoutPanel1.ResumeLayout(false); + this.gpbProductInfo.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.panel3.ResumeLayout(false); + this.gpbLog.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.groupBox3.ResumeLayout(false); + this.panel5.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); + this.skinTabImage.ResumeLayout(false); + this.skinTabPage1.ResumeLayout(false); + this.tableLayoutPanel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); + this.skinTabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.tableLayoutPanel3.ResumeLayout(false); + this.panel8.ResumeLayout(false); + this.groupBox5.ResumeLayout(false); + this.panel9.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart3)).EndInit(); + this.panel6.ResumeLayout(false); + this.groupBox4.ResumeLayout(false); + this.panel7.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit(); + this.groupBox1.ResumeLayout(false); + this.panel4.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.skinDataGridView1)).EndInit(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); this.ResumeLayout(false); + this.PerformLayout(); } #endregion + + private System.Windows.Forms.ToolStrip toolStrip1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator10; + private System.Windows.Forms.ToolStripButton tsbtnImpStop; + private System.Windows.Forms.ToolStripButton tsbtnStart; + private System.Windows.Forms.ToolStripButton tsbtnStop; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripButton tsbtnWarning; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripButton tsbtnReset; + private System.Windows.Forms.ToolStripButton tsbGoHome; + private MaiMuControl.UIKits.MaiMuMenu.UITitel uiTitel1; + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem tsmSysmgr; + private System.Windows.Forms.ToolStripMenuItem tsmPdtMgr; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem tsmSysDataFind; + private System.Windows.Forms.ToolStripMenuItem 本地数据库查询ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem tsmSysUserMgr; + private System.Windows.Forms.ToolStripMenuItem tsmUserRight; + private System.Windows.Forms.ToolStripMenuItem tsmUserList; + private System.Windows.Forms.ToolStripMenuItem stmSysSet; + private System.Windows.Forms.ToolStripMenuItem tsmSysSet; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; + private System.Windows.Forms.ToolStripMenuItem tsmDebug; + private System.Windows.Forms.ToolStripMenuItem tsmHelp; + private System.Windows.Forms.ToolStripMenuItem tsmReadLog; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; + private System.Windows.Forms.ToolStripMenuItem tsmHelpInfo; + private System.Windows.Forms.ToolStripMenuItem tsmInfoUS; + private System.Windows.Forms.ToolStripMenuItem tsmSoftFile; + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.GroupBox gpbProductInfo; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.ComboBox cbProductCode; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.SplitContainer splitContainer2; + private System.Windows.Forms.ComboBox cbProductNum; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.ComboBox cbProductReelNum; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ComboBox cbPdtSN; + private System.Windows.Forms.ComboBox cbProductBatch; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripStatusLabel tsAxisState; + private System.Windows.Forms.ToolStripStatusLabel tsslLoginTime; + private System.Windows.Forms.ToolStripStatusLabel tsslLoginInfo; + private System.Windows.Forms.ToolStripStatusLabel tslabelTime; + private System.Windows.Forms.BindingSource bindingSource1; + private HZH_Controls.Controls.UCSwitch ucSwitch1; + private HZH_Controls.Controls.UCTrackBar ucTrackBar1; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.GroupBox gpbLog; + private System.Windows.Forms.ListBox lstLog; + private System.Windows.Forms.SplitContainer splitContainer3; + private CCWin.SkinControl.SkinTabControl skinTabImage; + private CCWin.SkinControl.SkinTabPage skinTabPage1; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; + private System.Windows.Forms.PictureBox pictureBox3; + private System.Windows.Forms.PictureBox pictureBox2; + private CCWin.SkinControl.SkinTabPage skinTabPage2; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Panel panel5; + private System.Windows.Forms.DataVisualization.Charting.Chart chart1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Panel panel4; + private CCWin.SkinControl.SkinDataGridView skinDataGridView1; + private System.Windows.Forms.DataGridViewTextBoxColumn Column1; + private System.Windows.Forms.DataGridViewTextBoxColumn Column2; + private System.Windows.Forms.Panel panel8; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.Panel panel9; + private System.Windows.Forms.DataVisualization.Charting.Chart chart3; + private System.Windows.Forms.Panel panel6; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.Panel panel7; + private System.Windows.Forms.PictureBox pictureBox4; } } diff --git a/LeatherProject/GeBoShi/Main.cs b/LeatherProject/GeBoShi/Main.cs index ee7dad2..dcdeb70 100644 --- a/LeatherProject/GeBoShi/Main.cs +++ b/LeatherProject/GeBoShi/Main.cs @@ -1,10 +1,16 @@ -using System; +using GeBoShi.SysCtrl; +using GeBoShi.UI; +using GeBoShi.UI.Load; +using GeBoShi.UI.SysSet; +using HZH_Controls.Forms; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; +using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; @@ -15,6 +21,262 @@ namespace GeBoShi public Main() { InitializeComponent(); + UIStyle.SetUIStyle(this); + + this.uiTitel1.FatherForm = this; + this.uiTitel1.UserMenuStrip = this.menuStrip1; + this.uiTitel1.ShowContrlBox(true, true, true); + this.uiTitel1.ShowMenu(); + + this.DoubleBuffered = true;//设置本窗体 + SetStyle(ControlStyles.UserPaint, true); + SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. + SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲 } + + #region 初始化 + /// + /// 初始化 + /// + /// + private bool InitSystem() + { + //进入初始化,初始化失败则中断 + InitFrm initFrm = new InitFrm(); + initFrm.ShowDialog(); + if (initFrm.DialogResult == DialogResult.OK) + { + //初始化成功 + } + else + { + initFrm.Dispose(); + return false; + } + initFrm.Dispose(); + return true; + } + #endregion + + #region 界面刷新 + private void ResetUI(bool clearSN) + { + + //保持产品名称和料号 + //txtProductName.Text = txtProductCode.Text = txtProductSN.Text = ""; + if (clearSN) + cbPdtSN.Text = ""; + + this.lstLog.Items.Clear(); + + this.tsbtnImpStop.Enabled = false; + this.tsbtnStart.Enabled = true; + this.tsbtnStop.Enabled = false; + + this.cbPdtSN.Enabled = true; + this.cbProductCode.Enabled = true; + this.cbProductBatch.Enabled = true; + this.cbProductReelNum.Enabled = true; + this.cbProductNum.Enabled = true; + + tslabelTime.Text = "实时测试:0.00s"; + + this.Refresh(); + } + #endregion + + #region 权限判断 + private void UserRightCheck() + { + this.tsmPdtMgr.Enabled = SysMgr.Instance.UserMgr.RightControl(MaiMuControl.SysStatusMgr.UserMgr.UserRightEnum.Product); + this.tsmSysDataFind.Visible = SysMgr.Instance.UserMgr.RightControl(MaiMuControl.SysStatusMgr.UserMgr.UserRightEnum.Statistics); + + this.tsmUserList.Enabled = SysMgr.Instance.UserMgr.RightControl(MaiMuControl.SysStatusMgr.UserMgr.UserRightEnum.User); + this.tsmUserRight.Enabled = SysMgr.Instance.UserMgr.RightControl(MaiMuControl.SysStatusMgr.UserMgr.UserRightEnum.Role); + if (this.tsmUserList.Enabled == false && this.tsmUserRight.Enabled == false) + this.tsmSysUserMgr.Visible = false; + else + this.tsmSysUserMgr.Visible = true; + + this.tsmDebug.Enabled = SysMgr.Instance.UserMgr.RightControl(MaiMuControl.SysStatusMgr.UserMgr.UserRightEnum.Debug); + this.tsmSysSet.Enabled = SysMgr.Instance.UserMgr.RightControl(MaiMuControl.SysStatusMgr.UserMgr.UserRightEnum.ParamsSetting); + + if (this.tsmDebug.Enabled == false && this.tsmSysSet.Enabled == false) + this.stmSysSet.Visible = false; + else + this.stmSysSet.Visible = true; + } + #endregion + + #region 运行判断 + /// + /// 系统是否在运行 + /// + /// + private bool SystemIsRun() + { + if (SysMgr.Instance.IsRuning) + { + FrmDialog.ShowDialog(this, "设备正在运行中!", "警告", false); + //MessageBox.Show("设备正在运行中!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return false; + } + return true; + } + #endregion + + #region 界面事件 + private void Main_Load(object sender, EventArgs e) + { + //登入 + if (SysMgr.Instance.LoginSystem()) + { + //登入成功 + if (InitSystem()) + { + this.Cursor = Cursors.WaitCursor; + + //this.WindowState = FormWindowState.Normal; + this.Top = 0; + this.Left = 0; + this.Width = SystemInformation.WorkingArea.Width; + this.Height = SystemInformation.WorkingArea.Height; + //this.WindowState = FormWindowState.Maximized; + //this.splitContainer1.SplitterDistance = this.Width / 3; + + ResetUI(true); + this.Show(); + this.tsslLoginInfo.Text = $"操作员:{SysMgr.Instance.UserMgr.LoginUser.Code}({SysMgr.Instance.UserMgr.LoginUser.Name})"; + this.statusStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow; + this.tsslLoginTime.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsslLoginInfo.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.tsAxisState.Text = ""; + + + + //更新数据库格式 + Service.InitDB.initDB(ConfMgr.Instance.DBConStr); + //权限判断 + UserRightCheck(); + //开启后台 + //timer1.Enabled = true; + //backgroundWorkerDo = true; + //backgroundWorker1.RunWorkerAsync(); + //s_BackWorker = true; + //backgroundWorker.RunWorkerAsync(); + + //开启云端连接 + //SysMgr.Instance.InitCloudConnect(); + //开启产品服务 + //SysMgr.Instance.InitPdtService(); + //开启处理事件反馈 + //SysMgr.Instance.InitDefectEvent(); + //加载产品料号 + //SysMgr.Instance.LoadProductCodeList(); + //加载产品选择 + //LoadPdtList(SysMgr.Instance.ProductCodeList); + //LoadSNList(SysMgr.Instance.ProductSNList); + this.Cursor = Cursors.Default; + + //运行前检测磁盘空间 + SysMgr.CheckDisk(this); + } + else + { + Application.Exit(); + } + } + else + { + Application.Exit(); + } + } + + private void Main_FormClosing(object sender, FormClosingEventArgs e) + { + //backgroundWorkerDo = false; + Thread.Sleep(300); + if (SystemIsRun()) + { + DialogResult dr = DialogResult.Cancel; + if (SysMgr.Instance.IsInit) + { + dr = FrmDialog.ShowDialog(this, "确定要退出当前系统?", "警告", true); + } + else + dr = DialogResult.OK; + if (dr == DialogResult.Cancel) + { + e.Cancel = true; + } + else + { + Thread.Sleep(300); + if (SysMgr.Instance.IsInit) + SysMgr.Instance.Close(); + //SysMgr.Instance.MainRuning -= main_running; + } + } + else + e.Cancel = true; + } + + private void Main_SizeChanged(object sender, EventArgs e) + { + if (this.WindowState == FormWindowState.Maximized) + { + this.WindowState = FormWindowState.Normal; + this.Top = 0; + this.Left = 0; + this.Width = SystemInformation.WorkingArea.Width; + this.Height = SystemInformation.WorkingArea.Height; + } + } + #endregion + + #region 菜单 + + #region 退出 + private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) + { + this.Close(); + } + #endregion + + #region 用户 + private void tsmUserRight_Click(object sender, EventArgs e) + { + SysMgr.Instance.UserPermissiomMgr(); + } + private void tsmUserList_Click(object sender, EventArgs e) + { + SysMgr.Instance.UserListMgr(); + } + #endregion + + #region 系统设置 + private void MainFrm_Paint(object sender, PaintEventArgs e) + { + this.tsbtnReset.Visible = ConfMgr.Instance.SysConfigParams.ShowResetBtn; + } + + private void tsmSysSet_Click(object sender, EventArgs e) + { + if (SystemIsRun()) + { + SysMgr.Instance.StatusMgr.GotoSetParams(); + SysMgr.Instance.SendStatus(); + SysSetFrm frm = new SysSetFrm(); + frm.ShowDialog(); + MainFrm_Paint(null, null); + SysMgr.Instance.StatusMgr.GotoNormalStandby(); + SysMgr.Instance.SendStatus(); + } + } + #endregion + + #endregion + + } } diff --git a/LeatherProject/GeBoShi/Main.resx b/LeatherProject/GeBoShi/Main.resx index 29dcb1b..d084cc5 100644 --- a/LeatherProject/GeBoShi/Main.resx +++ b/LeatherProject/GeBoShi/Main.resx @@ -117,4 +117,330 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 241, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFISURBVFhH1VftEYIwDOWOQ4fgUEdxFDfpKIziGPjPUTAp + EWhJv1t7vrt3Ak2TZ5o20Pwdpuv59rqcBHEkimnoHlPf3sksL3ZBZyf79g2/I86h6fEICqxzESLIVThk + 8KF7HhyHEoQEZwPXknUWSxThWx+Udt5RCn0zkSXtJoIICsMDjHBL8ZPzcaRwKqypp4qWe92TNIf1xS4F + DBr/PTokM29IEYwv4jELRsXA7AL0WnCoLZGBWdmWVQTsfcID63FbQgBwO6bhxrr9CgnYChFvtEGFvxBQ + dwlcxiUEKD5dDaiIAP00tDWhEgLIbAM8NNZBAQHHo9jVjNChL2GOsB7tXDNCwGDc+18Y+XaMkFmwKE+m + 3oQ4uHZECuu9F2INhX60ZFuOmOBfUCZSCjP+w2SPVYhPRhabPIE5oJh1ry9dFInXIjrV9dA0H/ABIzl5 + lqSJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH3SURBVFhHvVfbbcMwDPQo3aFo8ttN7E06ij+LxkN0lI7S + 8mhSpqwXpRg9gEgikdTxSKno1IP75/xyeywfb1/L9+u2/Ny25RefMKzR7/W+ze/ifg30UBzmNSZHMYiV + NGPIHSyVr7wHNR7zwr93S33JR9L5AeYi6ZEQFTnkzSkGIm41OIEJBpERKc9EXCTgIBLvBEbkO6GLhJX9 + ymmWOQkkZDlG1LdC5SA10g4gyk8DK8sHdBMqyFICBLIPVSRLXVCFk1ZoYlitQuuH771qwN/Gy/JRfbSY + AfaNb9/1EmiOMAt2QFrJNPhsPS3BHGkcDzp9CUnFpwjrmzF3S2yMvXpV+QH4iG/WvC3RM3ngESQJniag + 1mqJXkmegxBYuPsW5OciwFbJ9y8Equ+JEIAdLbiQQOsZJx/OwwpEA9GABpYMCT1/Q8iX8/CZUT8a0MCc + eQpQBNUpX/owVIAA9bXmqVoRPXyIK77PGWDf+Lolt7A5ZOlYbCW0wT2SK4rFelXAHvs4bkwOOvCw5MW0 + vSkdAJ9eyRX27mfzg5FlOFplDiCteautAwlzRS4hYSv3XPWEBBgn/XLgrGjXjUEwBYWJF0Ku//s41vab + rCp7CblEMCUD48GFz+4XCEdGe5JyDCUiNWOSzx58BojINK+QVOcEnzDuNx3ad02n6Q9WpF/OirtI5AAA + AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFoSURBVFhH3VfbDcIwDIyEgCEQj1EYhU0ySkZhjPaPUcDn + mAKNG5w2kRCWToTGta9n10pdiXXH7ak/bHy/X1/73epG6zv/Arh22IRutzqLex0bkiKZFZGcx70SZp4h + yEfgUggRCWc3fuooqR64FETErIZIrgdaAgsJTh5l04MsxTcSVWWfApGQdJ9Gm8sargxB0r5McWqHcSno + YkicdPhuv75k+gQqWpV8qaBsahhuoHWSBMRk29ZLz17gJ9IcUtQlQOCxTQur/NUJEHyJc30C5OcyDTVG + fQLoA3VDxx8SIPxACexsGzWhEmwCLUoQHIaBsqGhOgEeROYDCOQSo//a8BqOXta+EvfJgBrw5HrJKClU + oHVxSdsdwzJITkbCXnVugPSkzCrYu3c+3nopMSZhH0zlwOD5Zs1IoEmtn23VSeRknzImYX+lcij/NHu3 + WUSiessSjw1EZGwHflueJcIvEN8gb64zm3MPKind9AUiYpEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAZHSURBVFhH1Zd5TFRXFIdRZh4yLANapTbiUiurtsjqwAAG + FwRkEVSQQlWEIKigzkCriSiKAkWURVExosEF12rFpbU2NdJamyoDiBQQUbHQAuKCWtf29Jw3b3DAN4Oa + /tOTfMnlvt8958495y7o/K9siYdwjEzKpMilTBlySW7DvGShNvbRN9Jw8v/OlroxiUulurWFCwdD5Vlv + uN+yAh62r4N/XpSyUJv66BtpSEtjuOHvbjKpMHKplLlwcrMtPLqTCX8/3QUvH2fCi84keH5vPjzrmM1C + beqjb6QhbWmeNU6EuUA+OHdvZzI3YVpO5ADouCWDFw/Xw/M7CfDkj3B40jJTO6ghLY3puCmDrFATkLsJ + Uzm3b2ZyqTBnd/JQeNy2Bp62yeHxrVnw6Mb0t4LGPG1Lgketq4F8kU/OvXaj2RbLzeFJ6yr4qykOOutC + oLN22ruBY8kH+SpKHNL7SlC+soLFcK9hEXQ2RMHdikAk4DVSJhjCtmlGXWwJMoIMHzGvlnx0NkSzPtMD + jWkS4Vy4142Kpv4bX3hQOw/af/GH9ot+vOQHGMHJOSZdlH5mAjvC+vNqWdDXg9oYuHbGF1PBlHHhuhtt + m6KIQdBxORJaf/SHP89N0Ui2nyEciRB3cThcDAXTTXm1KtrQ593KKCicNRBkbnoLubBKmzFDRzfJnYHy + HEdoOesPzacnaSV9iiHsCxN3sSdUDBsCTXi16rSeD4HLG+xBLtG9yoVWmsxdzys3uD/UbpFAQ5E7NB31 + 0krqJCMomm7cxfYQY8jwN+XVqtO4xxNjuEI2TlbuKpBw4dniSz8UMwxq8lygKsMBbpR4aiU9cABsClQW + H5GHNZETOpBXq86VLx3ZGAdjzDENwjQuPO17puzcMiuo3uAE5Ss+YVfi2k6pRjaGvQ9Zvhh0qpIMHwMo + mDOEV6uibpsr67s62xm+T7Kkc+EMFx5XwJlpK8+0h8q19qxIscoOagvGQd1WCS9b5ppD6kQDyPQxZFmF + 7aLYEbxaFvxBFavHsr6r1jnAr2vt8JgW3OLC6+jES5lnV3NcQLHSjhURFaljoQb7anJfZ3vsh7BsvAjW + TDZkSfYUQXHCKF4tUbFGGVz146pwpRPcmPtceOUEKDeKlFcTYMU4oSuZDlCd5diN4gQLWCwV4YFkwJLo + JoL9ckxhDx2NpYDdfNIEcnpMgFJQlevclYKeKFLtoDJNmSLioMwa4l1EuAoGLHHYPv65bdd30tIK8vli + Y2Q7dE8BFeFPa8dA9XplEWpCkaJclRPJNhDtpA9JHiKWKKd+cHb5aPYbafjGqqjOdoLzK217FCFuw2OL + hkPNJhfeQT35YfkYCLDRg4ix/VgCrPXg514Cq6AYRxcO674Nk6QCz7xgU6jf4aZx6dShir5xAPe2GuoF + rAkaV18kZU/NZHeBMxdeafSMqixwgt82j+MdrM7pRGtY7j0IVvqasVD7+AJLXq06tQUSUOQ74o3IVHFh + XxldRjsjzOB6iQdbRHwOVBzGYOF2/SBunD7Lp9jeGzuKV6uCfF7f5wGFYe9h/gVxXNjuRtexIs+ePbm0 + LelXiVYw10EfluBWJKIc9aFkgQWvliBf13ZJoTzXTvN1TEYPErrpGg954OmFqdBQWEcSrCBIrQin2erB + 3ngNE0AfdYUSaDzsAWmTRdofJGT0bNo6sz/cPj0Rz2/MGc9KVKXjhdWjCOmi6amjQ6duuyv8/u1EyA9+ + i8cpPSALQ3ESpyZAQ7G015rgg8Y07Mar/YQXbA4xpX3/Zo9SldFs0/GiaSyRQMsZb/ZSUV0o2iAN3Xwt + 33lDQ4kLkA/6j4lz26v1QXQRfUQc7ShYsFjCXDowzwyaT3ni284Pmr72gnpcVjrRKBUEtamv6bgXq2k+ + NR72zzWDJRLmYpyzcB760kP6IuRfq5HIEBmK0EERjMROGiU4FussbMsPEkNZyki4eQjzWuoB9xT+LNSm + Pvq20d8I7wlhi5+lYDeO9UPskMEI/Sjyr9VIIEI+QByQIGQ+8gWSOtykzw4fi74XIu0FzbMdhe3xrswz + IsZR2DbbXnB7qmXf88PEffJRm4xEI77Ix8ggRLUKWo2WiEQkNkZooDkyAvkIsUCsEBtktBr0N/XT95EI + 6YcgAxEjhEF4guvo/AsMq/UIa/uj/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGGSURBVFhH7VftcYMwDGWUbkDZoKP0Lsl1jI7SUTIKySSp + nlCoLGwsgZP+aN/du4At68uyTLp/7MH40b+A8vp4wNjl+Pp5PQ1n4m3mYRiZNI55EW8HGF4YXSM5czkN + X7nsXI/9uzz6IBHnDdUIR1RG4BSNn+W1DggnCkUpxqF4PPRvnB2KChQDqTzRbJvPAbUgUSTTRXCdFBwR + 1h1YpJ2iRrQy7QJnZsqWNg6uOyAF97OAlMhUGDCW6Jq47gAE9IJo5HdYPYpVB2Zh7KUMhwAjWo9h2QGu + ZiWcO8ceYF2JIpKHrV4Zfh7I6Jy6renfBX1sPGe+OZIM/LYDeJbh5yEpwh0NaDPQdFQGNjehHO4X0upR + xKR2oNVJgGG3TtsLwh8QBjarVQdsFvgmrHWwAliXvhG9dWVbMjsRvY5N5GBIx+KbgOjpDYg6uzZaTyVF + yAaUYQ4RQQ6/eM/KEzEuauMoKfUyunVZcDGlXbJKzhCtExVtoLZl6cxU7Y/5Y1IC73/rKP8Yuu4b4r2U + wFZ1ZhkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAcLSURBVFhH1ZZ5UNVVFMdfOdooy3u/9x4osiiKpChGrrii + LMqiiCixCOKCIhBqpmJiKogj5KgoDIop5iBkOi65kmZTbriAIqioyZhgmJATmSOR1ul7fvwevt8DAZ3+ + 6cx85v3eveeec++55557Ff8r2aUyd8xRaZfnmmrO5AraghWC9gXD39zGfawjqf93AsPzclXaW2ds7ahy + YgjVbtxGdVm76Z+bt0X4m9u4j3VYl8dIw99cvlRpwnKV2vM3Bg6huuyv6e+zF+nF7sP0fEMm/bUimeoW + LhPhb27jPtZh3ZJ+g4jHsg3J3OtJrqBJOmndlZ4mb6Ln+/KoLmUjPZsfR89iFjQPdOpS0uj5gTx6umYj + He9sTbCVIJltnWBA6gV7B/pzx16qXZ9JT2MX0x+R814LHlObupVqt39FbIttSuabF57tefveVIt9fZqQ + QjWzY6kmIubNmD0XNj4TbZ3t0bPlSPB+HUXInqxOpd8/WUWPp8+hx9MiZVSFzaAydy+67DSA9nW3pyM9 + HKgQ39xWHT6rQa8yYArtRD/beBKfJNo8ZGFF8BEiuWssnDQVIdOpZtkqqoKxR2EzZZT5+NMWS2vapDaj + rRpz+hzwb4bGjFLRlmreiUpGuNLDkKmUZdON4k3V4ji2VbNsNT2AbT6ukju58LE5gRlXL1xKv2BAZXC4 + jPwBg2m1WktpcLQBv4mCmrKhn43QZiJZkwWtOLF1+N3SsTNl4DtBqW4YzzYfx62gPNselKNSfyi5rZc9 + CkUbFBMqdh1DDxC+coRPn/whLpSg0tB6GF1j1pEKx/nTrwviqSp2EVhI1fPi6G54JO2x70XpiEamFJlP + VWqZncqIWCoa5cHH84bkul5ylRrXwza2dH3seLrl40f3JgY2cMd3Eq0wM6cUTDDJrBPdmzGHKkJnyHSY + Uuh90c0O0TETo8TEKQWZzp3xk0Qfhyy7UI4gDJHci3u/5jsHRyr28KIrLm70I4zpON5/MMXD0DKVQKcQ + oTK/D2T9TP4od5qv0dIS6K1EpBIlok2UMr2rWP01+DjVy5FPRJLkHhNAYuSj2hW5jqWLQ0fS9TE+dMt7 + gki6nT0txV4uQUjvTgpuaNfnwABn2uHoRLve6y9jR99+DTo3xo4TbRdhEfnQ36XSnpDcKxTZgrqq0MWd + Cka6iUqXh4/CJLwxyIeWI+s/xsqSbbuL/5vijl8AlWGP9Sn2nSz+6nQujxgt2i6Ej0J85xhr70vuFYp0 + QVtX7O5Jl4a5iEq6SVxDRBZZWVOosQlt6tWHit08W0UGkjEYYz7q2En8XyA5Z9gHR2GnoK2R3Osm4C2b + gE65FCs55+lLt3396epoj1aR2MWWYkxUFIm8uISFGNoscvWUT4C34JrBTHUkIvQrYTABsGFmuU1XykBE + Cke6NkkkTkAEEnBuZ6tG9rifj6JsCzgJC4a6iLM3HBBgrKRpxqY0XSLMyIQmw/jegc7iNunDq8txfJ+m + QCcMW7DBoW8je+zjsvNweRLyMTyDLC7x8G40YIqpiubAYRSIBNFaczqLaPFxNdT9fvAwmokqyRMNgu65 + JnTYxw99nOTHEGXY5SjK6U0cF16J/gCeADvmCcwGCy0s6RhWr6/D5GLl7DwczoMRgc04hob7zyeBfRyy + QiFSqwdJ7uuFn1HXcaMZRiEEE+AVRaCshsKwzsEsOItChYwGQWjjsHNfoJExrcIpuOZWX1P04fpSgpOF + LS+W3L4UvoxOdn9XLL36yRiIGjBda0ZXUEiy8MwKUapEZ1Oxx7rc4F+xTdDQfuQS1xB9x0wBbkm2ndfV + DpeRJkpyKxe+jq+PHkOlCJPuSEYgk7/FXnI4uS7cQF9Wv8GUgFswFvd7FG6+eDxEt2FyRZ7j6QrKsqFz + tsXVsMQFF9GrrmMWfpAc7GhJZRMCUL3qS2eply8qpKvMGJdsDmep18syy5PTTdoQ7meb+80tmn+QsPCz + 6Rs8Ju5PDhZL6KuMtgYey87LA0LoGJK8xSeZTqCYeqJLNyrnywfXc1MFqiV4z29jbLl/EB23tm39o1Qn + PFvejvt4hlUEhonRMDyiTcFHjVf9AGN+8vIjtoEEXy6ZbVHeAm1Ae6DcaKqK2SkIBaeRcJUTg+hR6Ezx + YXETyVaEZC1EcjL8zW33sFp+A1ZC57RdT9qh0l7YrFTPhK13wNuA7TcrrGQMbAAXCn8QOauD0UEYqjpm + aUPF/Z2pwmciPcTD5Ldps0X4m9u474iFNaUplZXR7Y2zMdYHOAELwIti+80KK3QAnUF/4AfmgCUgwalN + u+1RRkbn15qa/pyqFKrTVZo6Zq1SqFpnYlIR3cHkdO+2bdOguxhEAG/QF5gDXRSaFQ4RK7GyKeCB1sAW + 2AF70BM4gD568H9u5/7ugPWtgBkwAe1AE84Vin8BLf0+DUMI9pQAAAAASUVORK5CYII= + + + + 353, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAW1JREFUWEft + ldFxgzAMhhkhJQtklI7STTJF4TGjdIzexbnrKMSypEgIYxsHv/T47ziMZev/LAzuDtXoNP5e+tFd+8FN + /XD/68fH7TS6Twq3Exo/bmLsIV7P/moFEjOmUJBUxMf2BMkZW+0GIonKjK0WIP4OfRROC4hrja3mIIUQ + 5+/7l5SvkDohXcmifELNVagDkRxu+hjcz+YctSBS8grj2PsvBUkZ6/nJr+I1cGa4DhL2S+hLGWMMxut8 + UbEBtJeGFoQSh/t8ZVhJjGsonScqDcBCQ/kZwaopFGLUDIJnMOSxttxVAKxl8rl5ypj1FgArVAQS+Yu6 + yDyT3GsXABBCuIlXCm39atbUBMDCpHQAHABZAD6KISl1RVUPkPlaMJmnzJBuBYAY54Xx1B0XDNB/tRhx + KYDNlTXXWk4WgxyAnVvyk1oVTLYgawChrQ6u5IbbKtyg8B7xiLUAzYy1cIXuigByGEFfU+N/rK57Armc + yzE7MZQkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAZdJREFUWEft + ldFxAjEMRK+UlEIplMEfpVBKSkkpZJ9ZzZE5Y8t3Jl/szA4jWdbKOmEvHxzB/XK5Qpv/D4nfoM35UPKv + 1gl7BbCXHDbHwEbxG9q1gdZ6BbD/RxwrQhtO4l1stpf1ZEy+CAJFxLvDpZjUDJBLzBWhoGbbn6G4VAFA + cRTQPpQCzgTa7AJxaLMJxdFZijjbtYUWOX36f63YdAGA3GjY/AstlG9vMwXEoc0uQoNfu1bIWQbFZgqK + HyoAKL7e5ZcLDSAObaaARnWPnBTwekAqIFE1WQNooGVzhZx8m5PNFBCHNlNAAy2bK+QcvjIVTztHPxsF + bGcNJ4s23wZp1O8aOYdnYA+kUb8LvDD0PfcAcbRsrpAzXsCxp3MA5G5qaKH/YBwAudGwuUUEiNO7QE6R + 07fnzAVM74Jy8u37V72C4tmcVgS5UuIBBZf/6owiLD58y7Kx3FhOsGsmtK+0Xdx3wSHsJGV4sL3UhOLi + 1Ow9PtBKEt2IpAjgC1JceeXEiJl/rZNURBwBCnouipcx3aUPHliWX+WksNj7r3wlAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAKBJREFUWEdj + GAWjAB10P/P63/3Mcz+US38w6gBCDmh/7qHQ/dSrHoZBfKgUdQAhB3Q/93GAqIFiIB8qRR0w6gBqOgBk + DkItbjNRALJicIIDWQjFYHl6OgCc0uEGeP0Hiw1WByBnTbgYXR2ALAbUBxEbdcCoA0YdMOqAoe6AAQEw + B4B9SgNMsAmHCDIaYWj04ATgeKclBoYC1KpRMBgAAwMAqk+AdECToL8AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAYxJREFUWEft + l9FtwzAMRD1Gmq+OkjH8mU06SkbxKJ4g7Qgpn8EL5EqyLFUuWqAHHMCYR+pCy3Iy/CPEfTy9vY8vj86c + 6etL5HHQ4k/ex/PNl0rDRDPCj/F08UtdYP1e3cTsl9Jw0cM/dkXYmy9o8RR90T0GrOhKsZFpQRpdPZ0F + fSGxbnW0L0JRCpZj4UXzlaVNJh1xkwEVbXHLhDTETQaUK3ByeQRpiKsNBLu4SLRetoLyxNUGVLCHUVOH + 8sQNBs435UrMHTbKE1cb8EdvtVCOpk0eYsoTVxsAe6YQNQwgDXGTAd+Iy1Gd4eYxKx1xkwHgtyJpIjd6 + QTriZgOAhUwTmphLiwPpib81ARWH5BomjMkzAEhLXGWApjWPoZGXU2REeeIqA/Z5a+PlGB3JyhHXTuDi + BeErOFxM5PrEtKjx8iekI64y0At/xsAyXhth8RdODbgluwwocRS1YNYAj89BJlb/C7IGfgo6V3YZ0FR6 + UpNJPa4RKk/BGmZ/P67ABIzLO6AX6entfwOG4RPOwTWlOwT6PQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAQFJREFUWEft + lcENwjAMRTtGjozCKGzCKAxAK0boKJ6gZASwJYdD6gQndiSQ+qV3afNtJ3Xc6dDfKT7CaVvC9TmHFXkh + sM3hRs/oHS8bo3gPZ05aAqgQXu4r3rWUdId7EYqd5wB52G4XBkzfuwVgu11CcBVstyku4SIF1+DyGUwF + oJfD9KujAT/4FIDDRQquwW0wYbDmW0DTke129ZyC6xwgtTSje/IkTUMO+RdwYsiTVQDPG9AzhhPQfRMs + 1y+jvQjH5Im2ItBgOfYSur+jZfZ/Q9WYktGR+imM3H2iego0vyWTJ9VBhQtGNF/Oyun2wpct066Xch8I + i4fA6Q79gqbpDVvluAR1f2kTAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAXJJREFUWEft + VsFtwzAM9Cix2wEKxP13lG7SUfwskAzhUTpKStJHiZIlRWrs9lEfcEAsieTpREjpDlhcx+HjMg633Xge + vrgGyoXYvbhhUgSrkwVQeR2f37bk5fXp3dZAWQ+nkBZiaHOICNTBkIdOsFoMbQ5x4hBwCDgE/KWAz5fT + SeqULqI9BTBYBH6G+C0BWagAsmda3oI8a65rsbvlWncCKpm1EtCHp9pRl1wC+7lEdgFhDvraqTAVoC6I + c6nmU6iAn/bAIg4b0OL6rXOl/HcX3IGcuS2cIvUXlq/hF/YzhprhBfQzC2KK9chd3Jy1SRKVaERy0iCW + GDeom0d8qofqLDTU3dh/OUpJaEB5p2AN1cFUiMUy2hEnzRFJVIAIX82FO/QbIydoXexQE2IBFoGDuNDs + WCqmGblkttmyzFmfgx6JpSaLBZhGm+xxLE5QHJyI47IIkiQYJ1Kx+FzdhDzfdPaiOirqWGGlnv9DDfcP + 0HXfsvKIP/AcQ5QAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAXdJREFUWEft + VtsRwjAM6xg8fhiFUdiEURiFUXLwTxkB7KAGp3XSxGl/OHSn4xpkWW0ebfeHFU+3OTzv+5On2xwxvD64 + cX/fXvvb7iX5uO0u/B9k64GauXFzQQfZOqC7PCtNI7IG8uVBDXJ3/yFND+Q2YH6dNp+TZjon08BevEaY + GEpDLLBJCL4uIeQefD14FgXwBd9HrT6JUsDr82RqpkamXoQ1zQdE6RsJy3poZhbCrh6amYWwq4dmZiHs + 6qGZWQi7efDCk9TMJElzLNRFvmgXg4Tzx+yIKLU8qelLCy8aDiGpFQeitCRA5MvfECjNA8VJQlasq4Zm + JgnZigFmjmPI8gEsx/AAfnuppiBk2QBFb8AU5rYYZNkA5NH2wUomyd0ASS5A2zfiImvAGkI09/uWf3Ed + CKkWYFxTHsLPu2yOOeRxHFahkS8gyDG56rGGQgi+xl9pyOYYihCCiEas5bEhrEQUQtQkga3XtnhG8CGo + edOW/FF03RtcMcE7miFSggAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAA0FJREFUeF7t + Wu1t3DAMvZ8F7oboKB2lm2SUjtJBmkN+Fsh1h5aPRxmOTH1YIiO70AMeEJwpmnykKCWXy8TExEQNHr9u + 397v1x+P++3vEfnnfn17vN5+0s8vErId4HT9sqMTYvx++/JVwu8DOTxV8oEQQVJoB9pec34Wvr9ev0sq + bSAnp6z+QpoJkkobjjz0ati9DWSqqs7Pwq5hOAWYAhQEwHOcFKNYMaTdBDA5Zw1QGtR+HUDPxGwocNar + 8QldOwBtKKZDgOSyRSL6zgAiCwG7EVTiiekuwNE5BZgCTAH8BOAB+LyMjGFFgVwFELOhGHYRwovFbCiG + XoTEbCjGXYWJEEEC0PdoLXfeKJEU1skMUmMLdBWgm+S/NcAgwsZnxEMKwJUz+j2ChcjEeTwByKe4z4IT + I5FqEmDbRDccS4BM8iGJ1L4O8yb3p26y24jgLgAHDLsCU8dmrnop5rYQPf/gy1eAzn2M9arfem6+B2RB + V3G7CdB7ESpdYGqpxSFdxc/dBEAbitlu1FQ+7PliFz656YQgsOsW4ACRTIbiasG6OjE5aWXIYQ3Ie19Z + B8brwntcBaihuFrAoil2NVtKklIHptaRiH+oAHFSoSoluxJojSpC3AXowLECRAFp1W+ZJSykElvsC3ZD + BYhfru1hbc/XgGdM5IupzJ1mdAlAa8XNAs2utULcBYq/zxag+h+SUgHL4yYk4rP7J6msAEqFc1BbdqeP + GIkT5ZgCaB3QMgDX0GYK8ZMEeHLsFlD8tQ5VFRUCJKlVV7NrHVpIVPPXOlRV9AjAjJKzugcAqdjksQ26 + BYi2iDoIiWY3wZ1+iugVQN0GaZ9V8wR20bqFpu0PGHTAZhukugDkqZ6YCfg8MfWZ5tUHLATQAqPPk1UE + kSjIM6Myhpx4zTDpAGJ8NPGRaOR7TXMRrIJEYOJygdwLsp3QQlMRLKuU2qP0rOorrjXFPvsndBMRyJl1 + hdRJj27gi01B8JC4LON1riJIm26c9xCBiXsV/E4KXG56KAB/eYrPxeQD3EUgRy77NJVQC3IioKvErA1c + EScRMBeshJA4t+/qFSAAL9hzLtcyCGExtFQRDPyeCqFQLKzlr8YTExP/IS6Xf0foDWqW/njVAAAAAElF + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAfJJREFUWEft + VjtOA0EMTY+QECfgKByFU1AlkJ5D5CKgFLChpoQmBQUou1KOEPxsz8zO7nw3ocuTXKzHYz8/e6LMzqjB + 8v3nZt60j4tNu2Zr2sOi6bZs9I2z+Wt7q+GnA5JKIRQssW57EiLo2HWqiaFAs7szBRDDceQjWw2J4IyT + 1UKS+oX1KAncE5JHkBDJNQEpoO4qqCqqSMVI/M53K3V7sF3yeLAbu1WoSxunJEIxI9iZRzqXWRuCfQuP + iRvK5LToS68uD/1zFMP3sMuQ1EzC3EuNwjKlLtXlwcw01KklkVWu26prDAkIdw/IvNtDaJauy3CBrAqO + YXjxAFYg0qEdT2LORuGQgpJcCATlzyE3PiBJMiVvDq54Yr6EfyHQL567m9yTKQQgtyTMPK8eTLx+OphO + ShMBtXuTHsEkApFuInCKBV6a+zWLP8MhJhCIK5ZckAg4YUjOCLJ75jZ62m9BCsjJuVOE7ZJUqFAKyVuw + Y1aFjLTLzfc1xX2RfS7X+yt1B1GakyG7ILPCjNU9AiV7kBhYN1f3CLZ4japuIeMX79/aSzp/IXt++vi9 + ULcF57DF6543w1ei/E8p4J603q0tbjDsQgjhLcvfcpwbw7dfmKxk5iVAcp9Izo7oOgUZC71nkGFCUESN + vqEAYjT8jALMZn/kcXbr5nSkbgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAipJREFUWEfF + VztSw0AMTcc1UlBT2qGCE3AGSs5Ak4OkgFPQ5iDMJDeIXRAMVdDbPI3lz3q1hgxvRon9pNXTaj+ZLOag + qVZL2r2xJd2XAQSOVbH+rMrThO2PVfmCgjjs90AyJO4L0bbGrD/EyNhHpskHZixJbGKZXbEGz5AB4GOX + bMEoJG95KK5JgjBdLowU4i+C4lr9lvQs9Cci7+m9YQYkxY/V6gHG11GYbqQ7AVGveFOXb4w94Zn0KNiJ + 6dxojyYkFcXp/fpKY9XA0T0KFhG6Cy3SLcQRKhSn6+hI7A7xtB3pSSA34/ekzog6JtBUt3eytq8wPJOe + BLugE227gNsLZO5xmwPdkNAk1e58VEjqYmAXut0mkdx8fTR18QzjqxsQh16YMNaCBWRdOtLKDcdh6Tak + XYAWxoV9IB9hA3bWxAEVVyPtgsR3CpjVAY6ZVYBuekx+fFM4oMJqpF2AFsZA+/8LIDG8HBJAvDXSSUBj + MKa9HPwXkSYZJEtg9CIyVbmXQYXVSCcBDcR3uo21EDL3xyi7AORm/PDE2S6gINJRSNyB8bAD6Sg4yRAP + LdJdiDN0QSy5FF/16kkT4pl0FCZ3/L5hlWGNPDfj90d5A+NrFEY8vcdsqzDAsxwxMJeK+4+57QS+c46n + Qo+b5nCLK1CE3tmaBEmnEp3HBGEtHpb1GzOAJMXRsQlDMTS0V836Q0z2rGPAzJCMHekXYy3ZpT8BC+r8 + PacrE4vFDyempcfTTYR5AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABUAAAAiCAYAAACwaJKDAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAD9SURBVEhL1dO7CoJQGMDxtu73+1CBzY31Ck0NvkOb + gzi6+QaCEDgLTqKCEPQIIUGbb+Gui+YXBIc4WcP3DQ0/OJfv/LdTyfO8iu2/ojVsZNE6NrJoAxtZtIkN + oi1sZNE2NrJoBxtEu9gg2vvE9/2JLMtrURQ3LEmSBMdxprw3oDQKwTiOT8X6zirOTAjDDA9E+58EQTBV + FGWbJMm52D+DaZpeVFXdeZ43Y2dZEB2UMQxjaVnWPsuya+Hmuu5B1/UVb/blaxRomiaEYXiMokiBNW+G + BdHhL2zbXpimueTdvYPoCBtZdIwNohNsZFH4bqjIovDdUJFF59j+JZrPH4oDa+C9e8hUAAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABUAAAAiCAYAAACwaJKDAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEwSURBVEhLtdNNS4RAAMbxvkBtLxu9UFT0skUv1rZ7 + 7h77HfZkH0QPeu0mePQgnsSrhCCCN+8e99DVayKhNk+wUDFWh2eFH8yMzh9kmKW2bZfZEF1hW1i0x4bo + Khuia2yIrrMhusGGaJ8N0U02RLfYEN1mQ3SHDdFdNkT32BDd7xLH8amu6/eqqj58JdZGURSdyfYAogdd + TNMcFUXxIsbfHrEWGYYxFkPpPkQPu6RpOtA07bEsy5mYfz5VVb2K4CRJknMxle5D9Og3rusqnudN67p+ + a5rmPQiCJ8dxbmXfziF6/BfbtsdZlml5nj9bloXfln43h+jJf4RhqPi+fyd79xOiOEUqRAdsiOIUqRC9 + YEP0kg3RKzZEr9kQvWFDVGFDFPeYClFcPSpEh2wLiLbDDwVKnf7UO7t5AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABGdBTUEAALGPC/xhBQAAAH9JREFUKFNj + +P//P0kYmcMKxXjFYIwzaBiXGFgDyIQzHB2n/4MwiA3DaGJgm1A0cHad+88//T6Q+/8MiAbxsWmAWw9S + JLH653+p9f/BNEwzFMOdhKIJpBiGYWJADFeHophYG0j2A1wDkiQYo4lhehoJ4xJD8TTIBLApuMX+MwAA + JO7ByqoT8QIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABGdBTUEAALGPC/xhBQAAAItJREFUKFOd + kbENgDAMBCNRIFExAAUtbYoMQc8A7EHBFKxrfJGxUERjkJ7E9r/fSZKIhMCvUwyK0cC+/8jBqwKCSZEV + RbEoZluJyVOHVwV0yOtxCdBvV2ysrxwieC4oT9EIZxPj5AKssPeODRlH6j4SB2Rmxmg7n5anDu+fQ/gM + bEK3hFXoHQIvLekGBLunGoMvIJEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAADsAAAAiCAYAAADh/KHgAAAABGdBTUEAALGPC/xhBQAAAOZJREFUaEPl + 2KsKQlEURdHrG996BYNgMBgMFoPBYrAYDBaDwWAwGARBEAT//bpXWHC+YXpghhVHPDuLVyqKokFPTmOb + 9FJsm16K7dJLsQN6KXZEL8WO6RlbjjGhJ6exU3opdkYvxc7pGVuJsaAnp7FLesZWY6zoyWnsmp6xtRgb + enIKW4+xpSensPrc7ujJaeyenrH6yR/oySlsK8aRnpzC6mxxoiensJ0YZ3pyCqsbzYWenML2YlzpySls + P8aNnpzG3ukZq1Pjg56cwg5jPOnJaeyLnrF5jDc9OY390EuxX3p/hs3yH+t9kV6QtrMcAAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAADsAAAAiCAYAAADh/KHgAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEISURBVGhD3dirTkNRFEXRy7NAICGkaaAhvIpC4ZB1 + lTgsEolF1lZWIrFIHBKHw2FQqIoKfuGyptjJ/YZ5kimWHHKfJm+lbdtdezgLu2+vi+3bK+xqxpE9nIU9 + sdfFXtrrYq/sFXYt49oezsLe2CvsesbYHs7CTuwVdiPj1h5OsJsZd/Zwgu1l3NvDCXYr48EeTrDbGY/2 + cILdyXiyhxMsx+3UHk6wexkzezjBcsnP7eEEe5DxbA8nWL4tXuzhBDvIeLWHE+xhxps9nGCHGe/2cII9 + zviwh7Own/YKy1fjlz2cYE8zvu3hBHuW8WMPJ9jzjF97OMFeZCzs4Szs0l5hRxl/9pqmGf0Dp89NtaTt + b1AAAAAASUVORK5CYII= + + + + True + + + True + + + 474, 17 + + + 597, 17 + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/Properties/Resources.Designer.cs b/LeatherProject/GeBoShi/Properties/Resources.Designer.cs index a786fb1..beabee6 100644 --- a/LeatherProject/GeBoShi/Properties/Resources.Designer.cs +++ b/LeatherProject/GeBoShi/Properties/Resources.Designer.cs @@ -1,71 +1,73 @@ //------------------------------------------------------------------------------ // // 此代码由工具生成。 -// 运行时版本: 4.0.30319.42000 +// 运行时版本:4.0.30319.42000 // -// 对此文件的更改可能导致不正确的行为,如果 -// 重新生成代码,则所做更改将丢失。 +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 // //------------------------------------------------------------------------------ -namespace GeBoShi.Properties -{ - - +namespace GeBoShi.Properties { + using System; + + /// - /// 强类型资源类,用于查找本地化字符串等。 + /// 一个强类型的资源类,用于查找本地化的字符串等。 /// // 此类是由 StronglyTypedResourceBuilder // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - + 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() - { + internal Resources() { } - + /// - /// 返回此类使用的缓存 ResourceManager 实例。 + /// 返回此类使用的缓存的 ResourceManager 实例。 /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("GeBoShi.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } - + /// /// 重写当前线程的 CurrentUICulture 属性,对 /// 使用此强类型资源类的所有资源查找执行重写。 /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { + internal static global::System.Globalization.CultureInfo Culture { + get { return resourceCulture; } - set - { + set { resourceCulture = value; } } + + /// + /// 查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。 + /// + internal static System.Drawing.Icon Ge { + get { + object obj = ResourceManager.GetObject("Ge", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } } } diff --git a/LeatherProject/GeBoShi/Properties/Resources.resx b/LeatherProject/GeBoShi/Properties/Resources.resx index ffecec8..efe3b3e 100644 --- a/LeatherProject/GeBoShi/Properties/Resources.resx +++ b/LeatherProject/GeBoShi/Properties/Resources.resx @@ -46,7 +46,7 @@ mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with - : System.Serialization.Formatters.Binary.BinaryFormatter + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 @@ -60,6 +60,7 @@ : and then encoded with base64 encoding. --> + @@ -68,9 +69,10 @@ - + + @@ -85,9 +87,10 @@ - + + @@ -109,9 +112,13 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Ge.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/SysCtrl/ConfMgr.cs b/LeatherProject/GeBoShi/SysCtrl/ConfMgr.cs new file mode 100644 index 0000000..c027bc9 --- /dev/null +++ b/LeatherProject/GeBoShi/SysCtrl/ConfMgr.cs @@ -0,0 +1,774 @@ +using MaiMuControl.SysStatusMgr.UserMgr; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using ToolKits.Ini; +using ToolKits.mAPI; + +namespace GeBoShi.SysCtrl +{ + /// + /// 设备参数 + /// + public class ConfMgr + { + #region 实例化 + /// + /// 实例 + /// + private static ConfMgr _instance; + private static readonly object _lock = new object(); + + public static ConfMgr Instance + { + get + { + if (_instance == null) + { + lock (_lock) + { + if (_instance == null) + { + _instance = new ConfMgr(); + } + } + } + return _instance; + } + } + #endregion + + #region 私有字段 + private readonly string _rootPath; + private readonly string _configFile; + private readonly string _projectDir; + private readonly string _pointsPath; + private readonly string _markPicPath; + #endregion + + private ConfMgr() + { + _rootPath = Path.Combine(Directory.GetCurrentDirectory(), "ConfigFiles"); + _configFile = Path.Combine(_rootPath, "SysParamsConfig.ini"); + _devConfigPath = Path.Combine(_rootPath, "DevParamsConfig.ini"); + _projectDir = Path.Combine(_rootPath, "Project"); + _pointsPath = Path.Combine(_rootPath, "PointsConfig.ini"); + _markPicPath = Path.Combine(_rootPath, "MarkPic"); + _specificationPath = Path.Combine(_rootPath, "版博士软件操作说明.docx"); + + DBConStr = "server = localhost; Database = LeatherDB; Uid = root; Pwd = " + ConteolUserDB.GetSqlDBCode() + "; AllowLoadLocalInfile = true;"; + } + + #region 公开字段 + //DB + //有些服务器防火墙有问题需要加上 min pool size=1 避免认为是恶意请求 + //如果用到bulkCopy需要加: AllowLoadLocalInfile=true + public string DBConStr = "server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true"; + /// + /// 系统配置参数 + /// + public SysConfigParams SysConfigParams { get; set; } + + private string _devConfigPath; + /// + /// 获取驱动配制文件路径 + /// + public string DevConfigPath { get { return _devConfigPath; } } + + //public string ProjectDir { get { return _projectDir; } } + public string ProjectDir { get { return SysConfigParams.ProductPath; } } + + public string MarkPicPath { get { return _markPicPath; } } + + /// + /// 说明书路径 + /// + public string SpecificationPath { get { return _specificationPath; } } + private string _specificationPath; + + /// + /// 上料位X1 + /// + public double LoadPoint_X1 { get; set; } + /// + /// 上料位X2 + /// + public double LoadPoint_X2 { get; set; } + /// + /// 上料位Y + /// + public double LoadPoint_Y { get; set; } + /// + /// 上料位Z + /// + public double LoadPoint_Z { get; set; } + + /// + /// 测厚气缸到位等待时间 + /// + public int HeightDoWait { get; set; } + /// + /// 加紧气缸到位等待时间 + /// + public int ProductDoWait { get; set; } + #endregion + + #region 公开文件操作 + + #region 系统配置参数 + /// + /// 写入ini + /// + /// + public void WriteSysConfParams(SysConfigParams SysParams) + { + + //XmlHelper.Serialize(_configFile, sysConfParams); + IniHelper iniHelper = new IniHelper(_configFile); + + iniHelper.WriteBool("SaveAllImg", "SaveAllImg", SysParams.SaveAllImg); + + iniHelper.WriteString("DefectSrcImag", "SavePath", SysParams.DefectSrcImag.SavePath); + iniHelper.WriteBool("DefectSrcImag", "AutoSave", SysParams.DefectSrcImag.AutoSave); + iniHelper.WriteBool("DefectSrcImag", "AutoDelete", SysParams.DefectSrcImag.AutoDelete); + iniHelper.WriteDouble("DefectSrcImag", "AutoDeleteDays", SysParams.DefectSrcImag.AutoDeleteDays); + + iniHelper.WriteString("DefectSmallImag", "SavePath", SysParams.DefectSmallImag.SavePath); + iniHelper.WriteBool("DefectSmallImag", "AutoSave", SysParams.DefectSmallImag.AutoSave); + iniHelper.WriteBool("DefectSmallImag", "AutoDelete", SysParams.DefectSmallImag.AutoDelete); + iniHelper.WriteDouble("DefectSmallImag", "AutoDeleteDays", SysParams.DefectSmallImag.AutoDeleteDays); + + iniHelper.WriteString("DefectSplicImag", "SavePath", SysParams.DefectSplicImag.SavePath); + iniHelper.WriteBool("DefectSplicImag", "AutoSave", SysParams.DefectSplicImag.AutoSave); + iniHelper.WriteBool("DefectSplicImag", "AutoDelete", SysParams.DefectSplicImag.AutoDelete); + iniHelper.WriteDouble("DefectSplicImag", "AutoDeleteDays", SysParams.DefectSplicImag.AutoDeleteDays); + + iniHelper.WriteString("Log", "SavePath", SysParams.LogPath); + iniHelper.WriteBool("Log", "AutoDelete", SysParams.AutoDeleteLog); + iniHelper.WriteDouble("Log", "AutoDeleteDays", SysParams.AutoDeleteLogData); + + iniHelper.WriteBool("SysFunction", "OpenBuzzer", SysParams.OpenBuzzer); + iniHelper.WriteBool("SysFunction", "OpenDoor", SysParams.OpenDoor); + + iniHelper.WriteString("Dev", "LightCom", SysParams.LightCom); + iniHelper.WriteInteger("Dev", "LightComBaud", SysParams.LightComBaud); + iniHelper.WriteString("Dev", "IODevName", SysParams.IODevName); + iniHelper.WriteString("Dev", "IOCfgPath", SysParams.IOCfgPath); + + iniHelper.WriteString("Sys", "AIModelPath", SysParams.AIModelPath); + iniHelper.WriteString("Sys", "ProductPath", SysParams.ProductPath); + + iniHelper.WriteBool("ShowMainWin", "ShowResetBtn", SysParams.ShowResetBtn); + iniHelper.WriteBool("ShowMainWin", "ShowBuzz", SysParams.ShowBuzz); + iniHelper.WriteBool("ShowMainWin", "ShowDoorAlm", SysParams.ShowDoorAlm); + + iniHelper.WriteBool("CloudAndMES", "OpenCloud", SysParams.OpenCloud); + iniHelper.WriteString("CloudAndMES", "CloudThisName", SysParams.CloudThisName); + iniHelper.WriteString("CloudAndMES", "CloudServerIP", SysParams.CloudServerIP); + iniHelper.WriteInteger("CloudAndMES", "CloudServerPort", SysParams.CloudServerPort); + iniHelper.WriteString("CloudAndMES", "CloudUser", SysParams.CloudUser); + iniHelper.WriteString("CloudAndMES", "CloudPassword", SysParams.CloudPassword); + + iniHelper.WriteBool("CloudAndMES", "OpenPdtServer", SysParams.OpenPdtServer); + iniHelper.WriteString("CloudAndMES", "PdtServerIP", SysParams.PdtServerIP); + iniHelper.WriteInteger("CloudAndMES", "PdtServerPort", SysParams.PdtServerPort); + iniHelper.WriteBool("CloudAndMES", "IsPdtServer", SysParams.IsPdtServer); + + + iniHelper.WriteBool("LabelPrint", "EnableLabelPrint", SysParams.EnableLabelPrint); + iniHelper.WriteString("LabelPrint", "LabelPrinterName", SysParams.LabelPrinterName); + + iniHelper.WriteBool("ExcelPrint", "EnableExcelPrint", SysParams.EnableExcelPrint); + iniHelper.WriteString("ExcelPrint", "ExcelPrinterName", SysParams.ExcelPrinterName); + + SysConfigParams = SysParams; + } + /// + /// 读取ini + /// + /// + public SysConfigParams ReadSysConfParams() + { + + //return XmlHelper.Deserialize(_configFile); + SysConfigParams sysParams = new SysConfigParams(); + IniHelper iniHelper = new IniHelper(_configFile); + string sValue = ""; + int iValue = 0; + double dValue = 0; + bool bValue = false; + + iniHelper.ReadBool("SaveAllImg", "SaveAllImg", out bValue); + sysParams.SaveAllImg = bValue; + + iniHelper.ReadString("DefectSrcImag", "SavePath", out sValue); + sysParams.DefectSrcImag.SavePath = sValue.Replace("\0", ""); + iniHelper.ReadBool("DefectSrcImag", "AutoSave", out bValue); + sysParams.DefectSrcImag.AutoSave = bValue; + iniHelper.ReadBool("DefectSrcImag", "AutoDelete", out bValue); + sysParams.DefectSrcImag.AutoDelete = bValue; + iniHelper.ReadDouble("DefectSrcImag", "AutoDeleteDays", out dValue); + sysParams.DefectSrcImag.AutoDeleteDays = dValue; + + iniHelper.ReadString("DefectSmallImag", "SavePath", out sValue); + sysParams.DefectSmallImag.SavePath = sValue.Replace("\0", ""); + iniHelper.ReadBool("DefectSmallImag", "AutoSave", out bValue); + sysParams.DefectSmallImag.AutoSave = bValue; + iniHelper.ReadBool("DefectSmallImag", "AutoDelete", out bValue); + sysParams.DefectSmallImag.AutoDelete = bValue; + iniHelper.ReadDouble("DefectSmallImag", "AutoDeleteDays", out dValue); + sysParams.DefectSmallImag.AutoDeleteDays = dValue; + + iniHelper.ReadString("DefectSplicImag", "SavePath", out sValue); + sysParams.DefectSplicImag.SavePath = sValue.Replace("\0", ""); + iniHelper.ReadBool("DefectSplicImag", "AutoSave", out bValue); + sysParams.DefectSplicImag.AutoSave = bValue; + iniHelper.ReadBool("DefectSplicImag", "AutoDelete", out bValue); + sysParams.DefectSplicImag.AutoDelete = bValue; + iniHelper.ReadDouble("DefectSplicImag", "AutoDeleteDays", out dValue); + sysParams.DefectSplicImag.AutoDeleteDays = dValue; + + iniHelper.ReadString("Log", "SavePath", out sValue); + sysParams.LogPath = sValue.Replace("\0", ""); + iniHelper.ReadBool("Log", "AutoDelete", out bValue); + sysParams.AutoDeleteLog = bValue; + iniHelper.ReadDouble("Log", "AutoDeleteDays", out dValue); + sysParams.AutoDeleteLogData = dValue; + + iniHelper.ReadBool("SysFunction", "OpenBuzzer", out bValue); + sysParams.OpenBuzzer = bValue; + iniHelper.ReadBool("SysFunction", "OpenDoor", out bValue); + sysParams.OpenDoor = bValue; + + iniHelper.ReadString("Dev", "LightCom", out sValue); + sysParams.LightCom = sValue.Replace("\0", ""); + iniHelper.ReadInteger("Dev", "LightComBaud", out iValue); + sysParams.LightComBaud = iValue; + + iniHelper.ReadString("Dev", "IODevName", out sValue); + sysParams.IODevName = sValue.Replace("\0", ""); + iniHelper.ReadString("Dev", "IOCfgPath", out sValue); + sysParams.IOCfgPath = sValue.Replace("\0", ""); + + iniHelper.ReadString("Sys", "AIModelPath", out sValue); + sysParams.AIModelPath = sValue.Replace("\0", ""); + iniHelper.ReadString("Sys", "ProductPath", out sValue); + sysParams.ProductPath = sValue.Replace("\0", ""); + iniHelper.ReadString("Sys", "HttpServerIP", out sValue); + + iniHelper.ReadBool("ShowMainWin", "ShowResetBtn", out bValue); + sysParams.ShowResetBtn = bValue; + iniHelper.ReadBool("ShowMainWin", "ShowBuzz", out bValue); + sysParams.ShowBuzz = bValue; + iniHelper.ReadBool("ShowMainWin", "ShowDoorAlm", out bValue); + sysParams.ShowDoorAlm = bValue; + + iniHelper.ReadBool("CloudAndMES", "OpenCloud", out bValue); + sysParams.OpenCloud = bValue; + iniHelper.ReadString("CloudAndMES", "CloudThisName", out sValue); + sysParams.CloudThisName = sValue.Replace("\0", string.Empty); + iniHelper.ReadString("CloudAndMES", "CloudServerIP", out sValue); + sysParams.CloudServerIP = sValue; + iniHelper.ReadInteger("CloudAndMES", "CloudServerPort", out iValue); + sysParams.CloudServerPort = iValue; + iniHelper.ReadString("CloudAndMES", "CloudUser", out sValue); + sysParams.CloudUser = sValue; + iniHelper.ReadString("CloudAndMES", "CloudPassword", out sValue); + sysParams.CloudPassword = sValue; + + iniHelper.ReadBool("CloudAndMES", "OpenPdtServer", out bValue); + sysParams.OpenPdtServer = bValue; + iniHelper.ReadString("CloudAndMES", "PdtServerIP", out sValue); + sysParams.PdtServerIP = sValue; + iniHelper.ReadInteger("CloudAndMES", "PdtServerPort", out iValue); + sysParams.PdtServerPort = iValue; + iniHelper.ReadBool("CloudAndMES", "IsPdtServer", out bValue); + sysParams.IsPdtServer = bValue; + + iniHelper.ReadBool("LabelPrint", "EnableLabelPrint", out bValue); + sysParams.EnableLabelPrint = bValue; + iniHelper.ReadString("LabelPrint", "LabelPrinterName", out sValue); + sysParams.LabelPrinterName = sValue; + + iniHelper.ReadBool("ExcelPrint", "EnableExcelPrint", out bValue); + sysParams.EnableExcelPrint = bValue; + iniHelper.ReadString("ExcelPrint", "ExcelPrinterName", out sValue); + sysParams.ExcelPrinterName = sValue; + + SysConfigParams = sysParams; + return sysParams; + } + /// + /// 写入系统默认配置 + /// + public void WriteDefaultSystemConfig() + { + SysConfigParams = new SysConfigParams(); + + WriteSysConfParams(SysConfigParams); + } + + /// + /// 加载系统配置 + /// + /// + public bool LoadSystemConfig() + { + bool ret = false; + + if (!Directory.Exists(_rootPath)) + { + Directory.CreateDirectory(_rootPath); + } + + if (!Directory.Exists(_projectDir)) + { + Directory.CreateDirectory(_projectDir); + } + + if (File.Exists(_configFile)) + { + SysConfigParams = ReadSysConfParams(); + if (null != SysConfigParams) + { + ret = true; + } + } + else + { + // write default value + WriteDefaultSystemConfig(); + ret = true; + } + + return ret; + } + #endregion + + #region 文件选择 + /// + /// 选择目录 + /// + /// + public static string SelectFolder(string defaultPath = "") + { + FolderBrowserDialog dlg = new FolderBrowserDialog(); + dlg.SelectedPath = (defaultPath != "" ? defaultPath : Path.GetFullPath(".")); + if (dlg.ShowDialog() == DialogResult.OK) + return dlg.SelectedPath; + + return ""; + } + /// + /// 选择文件 + /// + /// 如 图像文件|*.jpg|图像文件|*.png|所有文件|*.* + /// + public static string SelectFile(string filter = "所有文件|*.*", string defaultPath = "") + { + OpenFileDialog fie = new OpenFileDialog(); + fie.Title = "选择文件"; + //fie.InitialDirectory = (defaultPath != "" ? defaultPath : Path.GetFullPath(".")); + fie.Filter = filter; //设置文件类型 + if (fie.ShowDialog() == DialogResult.OK) + return fie.FileName; + + return ""; + } + /// + /// 删除指定目录下文件 + /// + /// + /// + /// + public static bool DelFilesInFolder(string FolderPath, string fileExtend = "*") + { + if (!Directory.Exists(FolderPath)) + return false; + string[] files = Directory.GetFiles(FolderPath, fileExtend, SearchOption.TopDirectoryOnly); + foreach (string file in files) + API.DeleteFile(file); + return true; + } + /// + /// 另存为 + /// + /// 默认文件名 + /// 如 图像文件|*.jpg|图像文件|*.png|所有文件|*.* + /// + public static string SaveAsFile(string defaultFileName, string filter = "所有文件|*.*") + { + SaveFileDialog s = new SaveFileDialog(); + s.Title = "保存文件"; + s.Filter = filter; //"图像文件|*.jpg|图像文件|*.png|所有文件|*.*"; + //s.DefaultExt = "图像文件|*.jpg"; //默认扩展名 + //s.InitialDirectory = @"C:\Users\Administrator\Desktop"; //保存的初始目录 + + s.FileName = defaultFileName;//默认文件名 + if (s.ShowDialog() == DialogResult.OK) + return s.FileName; + + return ""; + } + #endregion + + #region json操作 + //public static void addKey(JObject obj, string key, JToken value) + //{ + // if (obj.ContainsKey(key)) + // obj[key] = value; + // else + // obj.Add(key, value); + //} + #endregion + + #region enum名称 + public static ArrayList GetArrayList() + { + ArrayList list = new ArrayList(); + Type type = typeof(T); + //list.Add(new DictionaryEntry("start", "启动按钮")); + foreach (int value in Enum.GetValues(type)) + { + string strName = Enum.GetName(type, value);//获取名称 + list.Add(new DictionaryEntry(value, strName)); + } + + return list; + } + #endregion + + #region 生产数据记录 + public bool SetDailyOutputAdd(out int tDailyOutput) + { + bool ret = true; + try + { + //读取数据 + string tempFile = Path.Combine(_rootPath, "DailyOutput.ini"); + IniHelper iniHelper = new IniHelper(tempFile); + int iValue = 0; + + iniHelper.ReadInteger("TempData", "DailyOutput", out iValue); + tDailyOutput = iValue; + iniHelper.ReadInteger("TempData", "Date", out iValue); + int dateNum = iValue; + + int nowDateNum = int.Parse(DateTime.Now.ToString("yyyyMMdd")); + + if (dateNum == nowDateNum) + { + //同一天,生产数量+1 + tDailyOutput++; + } + else if (dateNum < nowDateNum) + { + //昨天数据,为1 + tDailyOutput = 1; + } + //重新记录 + iniHelper.WriteInteger("TempData", "DailyOutput", tDailyOutput); + iniHelper.WriteInteger("TempData", "Date", nowDateNum); + } + catch (Exception ex) + { + tDailyOutput = 0; + ret = false; + string tempFile = Path.Combine(_rootPath, "DailyOutput.ini"); + IniHelper iniHelper = new IniHelper(tempFile); + int nowDateNum = int.Parse(DateTime.Now.ToString("yyyyMMdd")); + //重新记录 + iniHelper.WriteInteger("TempData", "DailyOutput", tDailyOutput); + iniHelper.WriteInteger("TempData", "Date", nowDateNum); + } + return ret; + } + + public bool GetDailyOutput(out int tDailyOutput) + { + bool ret = true; + try + { + //读取数据 + string tempFile = Path.Combine(_rootPath, "DailyOutput.ini"); + IniHelper iniHelper = new IniHelper(tempFile); + int iValue = 0; + + iniHelper.ReadInteger("TempData", "DailyOutput", out iValue); + tDailyOutput = iValue; + iniHelper.ReadInteger("TempData", "Date", out iValue); + int dateNum = iValue; + + int nowDateNum = int.Parse(DateTime.Now.ToString("yyyyMMdd")); + + if (dateNum == nowDateNum) + { + //同一天,生产数量+1 + //tDailyOutput++; + } + else if (dateNum < nowDateNum) + { + //昨天数据,为1 + tDailyOutput = 0; + } + } + catch (Exception ex) + { + tDailyOutput = 0; + ret = false; + } + return ret; + } + #endregion + + #endregion + } + + #region 参数类型 + /// + /// 图片保存参数 + /// + [Serializable] + public class ImageSaveParam + { + /// + /// 保存路径 + /// + public string SavePath { get; set; } + /// + /// 自动保存 + /// + public bool AutoSave { get; set; } + /// + /// 自动删除 + /// + public bool AutoDelete { get; set; } + /// + /// 自动删除日期 + /// + public double AutoDeleteDays { get; set; } + + public ImageSaveParam() + { + SavePath = "D:\\AllImageSave"; + AutoSave = true; + AutoDelete = true; + AutoDeleteDays = 3; + } + public ImageSaveParam(string path) + { + SavePath = path; + AutoSave = true; + AutoDelete = true; + AutoDeleteDays = 3; + } + } + [Serializable] + public class SysConfigParams + { + #region 缺陷图 + /// + /// 保存所有图片 + /// + public bool SaveAllImg { get; set; } + /// + /// 缺陷原大图 + /// + public ImageSaveParam DefectSrcImag { get; set; } + /// + /// 缺陷合并图 + /// + public ImageSaveParam DefectSplicImag { get; set; } + /// + /// 缺陷小图 + /// + public ImageSaveParam DefectSmallImag { get; set; } + #endregion + + #region 功能 + /// + /// 开启蜂鸣器 + /// + public bool OpenBuzzer { get; set; } + /// + /// 开启门磁 + /// + public bool OpenDoor { get; set; } + #endregion + + #region 硬件传感器通信 + /// + /// 光源串口 + /// + //public LightParams LightCfg { get; set; } + public string LightCom { get; set; } + /// + /// 光源波特率 + /// + public int LightComBaud { get; set; } + #endregion + + #region IO/电机/相机 + /// + /// 是否使用PLC代替io + /// + public bool IsPLC { get; set; } + /// + /// 西门子PLC IP + /// + public string PLC_IP { get; set; } + /// + /// 西门子PLC 端口 + /// + public int PLC_Rack { get; set; } + /// + /// 西门子PLC 端口 + /// + public int PLC_Solt { get; set; } + /// + /// IO驱动名称 + /// + //public IOParams IOCfg { get; set; } + public string IODevName { get; set; } + /// + /// IO配置文件路径 + /// + public string IOCfgPath { get; set; } + + #endregion + + #region 系统 + public string AIModelPath { get; set; } + public string ProductPath { get; set; } + public string LogPath { get; set; } + public bool AutoDeleteLog { get; set; } + public double AutoDeleteLogData { get; set; } + + /// + /// 调试:主界面显示复位按钮 + /// + public bool ShowResetBtn { get; set; } + /// + /// 调试:主界面显示蜂鸣器控制 + /// + public bool ShowBuzz { get; set; } + /// + /// 调试:主界面显示门磁报警控制 + /// + public bool ShowDoorAlm { get; set; } + + /// + /// 1cm X方向像素 + /// + public int Cm2px_x = 1; + /// + /// 1cm Y方向像素 + /// + public int Cm2px_y = 1; + /// + /// 对比度范围阔算 + /// + public int Expand_pixel = 50; + #endregion + + #region Http/MES + + #endregion + + #region MQTT本地云/产品服务器 + /// + /// 开启局域网云端 + /// + public bool OpenCloud { get; set; } + public string CloudThisName { get; set; } + public string CloudServerIP { get; set; } + public int CloudServerPort { get; set; } + public string CloudUser { get; set; } + public string CloudPassword { get; set; } + + /// + /// 开启产品转发 + /// + public bool OpenPdtServer { get; set; } + public string PdtServerIP { get; set; } + public int PdtServerPort { get; set; } + /// + /// 是否作为服务器还是客户端 + /// + public bool IsPdtServer { get; set; } + #endregion + + #region BarTender + /// + /// 开启标签打印 + /// + public bool EnableLabelPrint { get; set; } + /// + /// 打印机名称 + /// + public string LabelPrinterName { get; set; } + #endregion + + #region Excel + /// + /// 开启Excel打印 + /// + public bool EnableExcelPrint { get; set; } + /// + /// 打印机名称 + /// + public string ExcelPrinterName { get; set; } + #endregion + + public SysConfigParams() + { + DefectSrcImag = new ImageSaveParam("D:\\Image\\DefectSrcImag"); + DefectSmallImag = new ImageSaveParam("D:\\Image\\DefectSmallImag"); + DefectSplicImag = new ImageSaveParam("D:\\Image\\DefectSplicImag"); + + OpenBuzzer = true; + OpenDoor = true; + + IODevName = ""; + IOCfgPath = Path.Combine(Directory.GetCurrentDirectory(), "ConfigFiles\\IOCard_default.xml"); ; + LightCom = ""; + LightComBaud = 9600; + + SaveAllImg = false; + + AIModelPath = Path.Combine(Directory.GetCurrentDirectory(), "ConfigFiles\\onnxFiles"); + ProductPath = Path.Combine(Directory.GetCurrentDirectory(), "ConfigFiles\\Project"); + LogPath = Path.Combine(Directory.GetCurrentDirectory(), "LogFiles"); + AutoDeleteLog = false; + AutoDeleteLogData = 0; + + ShowResetBtn = true; + ShowBuzz = false; + ShowDoorAlm = false; + + EnableLabelPrint = false; + LabelPrinterName = ""; + + EnableExcelPrint = false; + ExcelPrinterName = ""; + + OpenCloud = false; + CloudThisName = "Test"; + CloudServerIP = "127.0.0.1"; + CloudServerPort = 1883; + CloudUser = ""; + CloudPassword = ""; + + OpenPdtServer = false; + PdtServerIP = "127.0.0.1"; + PdtServerPort = 10573; + IsPdtServer = true; + } + } + #endregion +} diff --git a/LeatherProject/GeBoShi/SysCtrl/SysEnum.cs b/LeatherProject/GeBoShi/SysCtrl/SysEnum.cs new file mode 100644 index 0000000..b54f747 --- /dev/null +++ b/LeatherProject/GeBoShi/SysCtrl/SysEnum.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GeBoShi.SysCtrl +{ + public enum LightChannelEnum + { + [Description("通道1")] + CH1 = 1, + [Description("通道2")] + CH2 = 2, + [Description("通道3")] + CH3 = 3, + [Description("通道4")] + CH4 = 4, + [Description("通道5")] + CH5 = 5, + [Description("通道6")] + CH6 = 6, + } + public enum DOName + { + 三色灯红灯 = 0, + 三色灯绿灯 = 1, + 三色灯黄灯 = 2, + 三色灯蜂鸣器 = 3, + + 测厚气缸 = 4, + 加紧气缸 = 5, + + 双手启动绿灯 = 7, + 启动按钮绿灯 = 8, + 复位按钮黄灯 = 9, + 停止按钮红灯 = 10, + + 触发张力按钮灯 = 11, + + 日光灯 = 12, + + X1回原 = 13, + X2回原 = 14, + + Y轴回原点 = 15 + } + + public enum DIName + { + 启动按钮 = 14, + 暂停按钮 = 3, + 复位按钮 = 2, + + 触发张力 = 4, + + 产品有无 = 5, + + 右夹紧缩回 = 6, + 右夹紧伸出 = 7, + 前夹紧缩回 = 8, + 前夹紧伸出 = 9, + 侧推伸出 = 0, + 侧推缩回 = 1, + + 双手启动 = 10, + 门磁 = 11, + Y轴回原点完成 = 15 + } +} diff --git a/LeatherProject/GeBoShi/SysCtrl/SysMgr.cs b/LeatherProject/GeBoShi/SysCtrl/SysMgr.cs new file mode 100644 index 0000000..0f348a2 --- /dev/null +++ b/LeatherProject/GeBoShi/SysCtrl/SysMgr.cs @@ -0,0 +1,800 @@ +using BarTenderPrint; +using GeBoShi.ImageDefect; +using HZH_Controls.Forms; +using MaiMuControl.Device; +using MaiMuControl.Device.IOCardDev; +using MaiMuControl.Device.IOCardDev.Advantech; +using MaiMuControl.Device.LightDev; +using MaiMuControl.Device.LightDev.CST; +using MaiMuControl.Device.LightDev.Rsee; +using MaiMuControl.SysStatusMgr.CloudMgr; +using MaiMuControl.SysStatusMgr.StatusMgr; +using MaiMuControl.SysStatusMgr.UserMgr; +using System; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using ToolKits.Disk; + +namespace GeBoShi.SysCtrl +{ + /// + /// 主系统控制 + /// + public class SysMgr + { + #region singleton实例化 + private static SysMgr _instance; + private static readonly object _lock = new object(); + public static SysMgr Instance + { + get + { + if (_instance == null) + { + lock (_lock) + { + if (_instance == null) + { + _instance = new SysMgr(); + } + } + } + return _instance; + } + } + #endregion + + #region 私有 + //系统状态 + private StatusMgr statusMgr; + public StatusMgr StatusMgr { get { return statusMgr; } } + //用户管理 + private UserMgr userMgr; + public UserMgr UserMgr { get { return userMgr; } } + + //系统配置管理 + private ConfMgr confMgr; + + //图像处理 + private DefectLib defectLib; + public DefectLib DefectLib { get { return defectLib; } } + #endregion + + #region 公开字段 + private bool _isInit; + /// + /// 是否初始化完成 + /// + public bool IsInit { get { return _isInit; } } + private bool _isRuning; + /// + /// 设备正在运行 + /// + public bool IsRuning { get { return _isRuning; } } + + private bool _isAuto; + /// + /// 设备正在自动化流程中 + /// + public bool IsAuto { get { return _isAuto; } } + #endregion + + #region 私有流程 + //主流程 + private Thread _mainThread; + private CancellationTokenSource _cts; + #endregion + + #region 云端 + //局域网云端 + private bool init_Cloud; + private CloudMgr cloudMgr; + private int DailyOutput; + #endregion + private SysMgr() + { + _isInit = false; + _isRuning = false; + _isAuto = false; + + statusMgr = StatusMgr.Instance; + confMgr = ConfMgr.Instance; + + userMgr = new UserMgr(statusMgr.MySqlIP); + + _cts = new CancellationTokenSource(); + + init_Cloud = false; + cloudMgr = new CloudMgr(); + DailyOutput = 0; + } + + #region 本地云上传 + /// + /// 上传当日产量 + /// + private void SendDailyOutput() + { + //开启云端 + if (init_Cloud) + { + try + { + if (!cloudMgr.SendTopic("device/attributes", $"{{ \"DailyOutput\": \"{DailyOutput}\"}}")) + Log("云端", $"上传失败", WarningEnum.Low); + } + catch (Exception e) + { + Log("云端", $"上传失败:{e.Message}", WarningEnum.Low); + } + } + } + /// + /// 上传正常状态 + /// + public void SendStatus() + { + //开启云端 + if (init_Cloud) + { + //上传报警状态和信息 + string statusStr = "正常"; + switch (StatusMgr.Status) + { + case SystemStsEnum.Manual: + statusStr = "人工操作"; + break; + case SystemStsEnum.Standby: + statusStr = "正常待机"; + break; + case SystemStsEnum.Initial: + statusStr = "初始化"; + break; + case SystemStsEnum.Auto: + statusStr = "自动运行"; + break; + case SystemStsEnum.Pause: + statusStr = "自动暂停"; + break; + case SystemStsEnum.SetParams: + statusStr = "参数设置"; + break; + case SystemStsEnum.Debug: + statusStr = "调试"; + break; + case SystemStsEnum.Warning: + statusStr = "系统报警"; + break; + case SystemStsEnum.Bootload: + statusStr = "Bootload"; + break; + default: + statusStr = "未知"; + break; + } + try + { + if (!cloudMgr.SendTopic("device/attributes", $"{{\"status\": \"{statusStr}\", \"alm\": \"无报警信息\", " + + $"\"name\": \"{confMgr.SysConfigParams.CloudThisName}\", \"DailyOutput\": \"{DailyOutput}\"}}")) + Log("云端", $"上传失败", WarningEnum.Low); + } + catch (Exception e) + { + Log("云端", $"上传失败:{e.Message}", WarningEnum.Low); + } + } + } + #endregion + + #region 用户+登入+管理 + /// + /// 登入 + /// + /// + public bool LoginSystem() + { + return userMgr.UserLoginDialog(); + } + /// + /// 用户权限 + /// + public void UserPermissiomMgr() + { + userMgr.RightManageDialog(); + } + /// + /// 用户管理 + /// + public void UserListMgr() + { + userMgr.UserManagerDialog(); + } + #endregion + + #region 系统初始化&&运行 + /// + /// 系统初始化 + /// + /// + public bool Initial() + { + try + { + bool ret = false; + string err = ""; + InitLog("系统开始初始化..."); + //Thread.Sleep(200); + + // 加载系统配置 + InitLog("加载系统参数..."); + ret = confMgr.LoadSystemConfig(); + + if (!ret) + { + throw new Exception("系统参数加载失败..."); + } + InitLog("系统参数加载完成!"); + //根据llog路径,开始记录日志 + statusMgr.StartLog(confMgr.SysConfigParams.LogPath); + statusMgr.GotoInitial(); + SendStatus(); + //Thread.Sleep(200); + + // 硬件初始化 + if (!InitAllDev()) + { + throw new Exception("硬件初始化失败..."); + } + InitLog("硬件初始化完成!"); + + // 加载硬件配置 + InitLog("加载硬件驱动参数..."); + if (!LoadDevConfig()) + { + throw new Exception("加载硬件驱动参数失败..."); + } + InitLog("加载硬件驱动参数完成!"); + //Thread.Sleep(200); + + // 处理运行 + InitLog("AI算法核心初始化..."); + + if (!defectLib.start()) + throw new Exception("外观检测核心初始化失败..."); + InitLog("AI算法核心初始化完成!"); + + LedReady(); + + //初始化成功 + _isInit = true; + statusMgr.GotoNormalStandby(); + SendStatus(); + + OnInitRuning(new InitEventArgs("系统初始化完成...", this.IsInit)); + + Run(); + + return ret; + } + catch (Exception ex) + { + InitLog(ex.Message, "初始化", WarningEnum.High); + InitLog("系统初始化失败!", "初始化", WarningEnum.High); + //statusMgr.GotoWarning(MaiMuControl.Device.WarningEnum.High, "初始化", ex.Message); + return false; + } + } + + /// + /// 初始化图像处理报警 + /// + /// + public bool InitDefectEvent() + { + defectLib.WarningEvent = (warning, msg) => + { + Log("缺陷检测", msg, warning); + }; + return true; + } + + public bool InitCloudConnect() + { + if (confMgr.SysConfigParams.OpenCloud) + { + if (cloudMgr.ConnectCloud(confMgr.SysConfigParams.CloudServerIP, confMgr.SysConfigParams.CloudServerPort, + confMgr.SysConfigParams.CloudUser, confMgr.SysConfigParams.CloudPassword)) + { + init_Cloud = true; + Log("云端数据", "开启云端连接"); + return true; + } + Log("云端数据", "云端连接失败!", WarningEnum.Low); + return false; + } + return true; + } + /// + /// 运行主线程 + /// + private void Run() + { + _mainThread = new Thread(() => + { + MainThreadFunction(); + }); + _mainThread.IsBackground = true; + _mainThread.Start(); + } + #endregion + + #region 后台 + /// + /// 中断工序运行 + /// + /// + private bool isBreakProcessRun() + { + return statusMgr.Status == SystemStsEnum.Pause || statusMgr.Warning == WarningEnum.High; + } + /// + /// 后台运行主线程 + /// + private void MainThreadFunction() + { + while (true) + { + try + { + if (_cts.IsCancellationRequested) + break; + + if (IsRuning) + { + ////暂停开始 + //stopWatch.Start(); + //do + //{ + // CurrProcessIndex = nextProcess(CurrProductModel, CurrProcessIndex); + //} while (CurrProcessIndex >= 0 && !isBreakProcessRun()); + ////暂停中断 + //stopWatch.Stop(); + + _isRuning = false; + } + Thread.Sleep(10); + } + catch (Exception e) + { + _isRuning = false; + + Log("运行报警", "流程运行出错:" + e.Message + "\n", WarningEnum.High); + } + } + } + #endregion + + #region IO解析 + private int GetIOPortIndex(int DIDOEnum) + { + return DIDOEnum / 8; + } + private int GetIOBitIndex(int DIDOEnum) + { + return DIDOEnum % 8; + } + #endregion + + #region 三色灯 + /// + /// 三色灯初始化 + /// + public void LedReady() + { + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯绿灯), GetIOBitIndex((int)DOName.三色灯绿灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯黄灯), GetIOBitIndex((int)DOName.三色灯黄灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯红灯), GetIOBitIndex((int)DOName.三色灯红灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯蜂鸣器), GetIOBitIndex((int)DOName.三色灯蜂鸣器), false); + + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.启动按钮绿灯), GetIOBitIndex((int)DOName.启动按钮绿灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.复位按钮黄灯), GetIOBitIndex((int)DOName.复位按钮黄灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.停止按钮红灯), GetIOBitIndex((int)DOName.停止按钮红灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.双手启动绿灯), GetIOBitIndex((int)DOName.双手启动绿灯), false); + } + /// + /// 运行状态三色灯 + /// + public void LedRun() + { + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯绿灯), GetIOBitIndex((int)DOName.三色灯绿灯), true); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯黄灯), GetIOBitIndex((int)DOName.三色灯黄灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯红灯), GetIOBitIndex((int)DOName.三色灯红灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯蜂鸣器), GetIOBitIndex((int)DOName.三色灯蜂鸣器), false); + + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.启动按钮绿灯), GetIOBitIndex((int)DOName.启动按钮绿灯), true); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.复位按钮黄灯), GetIOBitIndex((int)DOName.复位按钮黄灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.停止按钮红灯), GetIOBitIndex((int)DOName.停止按钮红灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.双手启动绿灯), GetIOBitIndex((int)DOName.双手启动绿灯), false); + } + /// + /// 暂停状态三色灯 + /// + public void LedPause() + { + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯绿灯), GetIOBitIndex((int)DOName.三色灯绿灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯黄灯), GetIOBitIndex((int)DOName.三色灯黄灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯红灯), GetIOBitIndex((int)DOName.三色灯红灯), true); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯蜂鸣器), GetIOBitIndex((int)DOName.三色灯蜂鸣器), false); + + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.启动按钮绿灯), GetIOBitIndex((int)DOName.启动按钮绿灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.复位按钮黄灯), GetIOBitIndex((int)DOName.复位按钮黄灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.停止按钮红灯), GetIOBitIndex((int)DOName.停止按钮红灯), true); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.双手启动绿灯), GetIOBitIndex((int)DOName.双手启动绿灯), false); + } + //控制黄灯闪烁 + private bool Blink; + private int BlinkCnt = 0; + //控制蜂鸣间隔 + private int BuzzCnt = 0; + /// + /// 回原状态三色灯 + /// + /// + public void LedRset(bool val) + { + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯绿灯), GetIOBitIndex((int)DOName.三色灯绿灯), false); + //ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯黄灯), GetIOBitIndex((int)DOName.三色灯黄灯), val); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯红灯), GetIOBitIndex((int)DOName.三色灯红灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯蜂鸣器), GetIOBitIndex((int)DOName.三色灯蜂鸣器), false); + + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.启动按钮绿灯), GetIOBitIndex((int)DOName.启动按钮绿灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.复位按钮黄灯), GetIOBitIndex((int)DOName.复位按钮黄灯), val); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.停止按钮红灯), GetIOBitIndex((int)DOName.停止按钮红灯), false); + ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.双手启动绿灯), GetIOBitIndex((int)DOName.双手启动绿灯), false); + Blink = val; + BlinkCnt = 0; + } + #endregion + + #region 系统关闭 + /// + /// 关闭 + /// + public void Close() + { + _isInit = false; + _isRuning = false; + if (null != _cts) + { + _cts.Cancel(); + } + if (null != _mainThread) + { + _mainThread.Join(1000); + } + + + //关闭相机 + + + //关闭光源 + for (int i = 0; i < LightChCount; i++) + { + lightDev.CloseLight(i + 1); + } + + lightDev.CloseDev(); + + + //关闭io + ioCardDev.ResetAllDO(); + + ioCardDev.CloseBoard(); + + } + #endregion + + #region 日志报警 + /// + /// 初始化记录报警和显示 + /// + /// 标头 + /// 内容 + /// 报警状态 + private void InitLog(string msg, string tag = "初始化", WarningEnum warning = WarningEnum.Normal) + { + OnInitRuning(new InitEventArgs(msg)); + statusMgr.GotoWarning(warning, tag, msg); + } + /// + /// 记录报警和显示 + /// + /// 标头 + /// 内容 + /// 报警状态 + private void Log(string tag, string msg, WarningEnum warning = WarningEnum.Normal) + { + OnMainRuning(new MainEventArgs(tag, msg, warning)); + statusMgr.GotoWarning(warning, tag, msg); + //开启云端 + if ((init_Cloud) && (warning != WarningEnum.Normal)) + { + //上传报警状态和信息 + string statusStr = warning == WarningEnum.Normal ? "正常" : warning == WarningEnum.Low ? "警告" : "系统报警"; + cloudMgr.SendTopic("device/attributes", $"{{\"status\": \"{statusStr}\", \"alm\": \"{tag}-{msg}\", " + + $"\"name\": \"{confMgr.SysConfigParams.CloudThisName}\", \"DailyOutput\": \"{DailyOutput}\"}}"); + } + } + #endregion + + #region 硬件 + + #region 硬件型号配置 + public LightDevNameEnum SysUseLight = LightDevNameEnum.CST; + #endregion + + #region 硬件字段 + + private IOCardDev ioCardDev; + /// + /// io控制卡 + /// + public IOCardDev IOCardDev { get { return ioCardDev; } } + + private LightDev lightDev; + /// + /// 光源控制 + /// + public LightDev LightDev { get { return lightDev; } } + public string LightName { get { return "Light"; } } + public int LightChCount = 6;//美尚4通道,其他6通道 + + private PrintControl printControl; + /// + /// 打印机模块 + /// + public PrintControl PrintControl { get { return printControl; } } + #endregion + + #region 初始化和基本电机IO操作 + private void InitDev() + { + ioCardDev = new AdvantechIO(); + if (SysUseLight == LightDevNameEnum.CST) + lightDev = new CSTLight(LightName, LightChCount); + else + lightDev = new RseeLight(SysUseLight, LightName); + } + /// + /// 初始化硬件 + /// + /// + private bool InitAllDev() + { + bool ret = false; + InitDev(); + + //打印机模块初始化 + InitLog("打印机模块初始化..."); + try + { + printControl = new PrintControl(); + InitLog("初始化打印机模块成功!"); + } + catch (Exception ex) + { + printControl = null; + InitLog($"初始化打印机模块失败! {ex.Message}"); + } + + if (confMgr.SysConfigParams.IsPLC) + { + //PLC初始化 + InitLog("PLC连接初始化..."); + + InitLog("PLC连接成功!"); + } + else + { + //IO初始化 + InitLog("IO板卡初始化..."); + if (ioCardDev.InitBoard(MaiMuControl.Device.IOBordType.Advantech) < 0) + { + InitLog("IO板卡初始化失败!", "初始化", WarningEnum.High); + return ret; + } + if (ioCardDev.OpenBoard(confMgr.SysConfigParams.IODevName, confMgr.SysConfigParams.IOCfgPath) < 0) + { + InitLog("打开IO板卡失败!", "初始化", WarningEnum.High); + return ret; + } + if (ioCardDev.ResetAllDO() < 0) + { + InitLog("IO Reset失败!", "初始化", WarningEnum.High); + return ret; + } + InitLog("初始化IO板卡成功!"); + } + + //光源初始化 + InitLog("光源控制器初始化..."); + int com_num = int.Parse(confMgr.SysConfigParams.LightCom.Remove(0, 3)); + if (lightDev.InitDev(com_num, confMgr.SysConfigParams.LightComBaud) < 0) + { + InitLog("光源控制器初始化失败!", "初始化", WarningEnum.High); + return ret; + } + InitLog("初始化光源控制器成功!"); + //关闭光源 + for (int i = 0; i < LightChCount; i++) + { + lightDev.CloseLight(i + 1); + } + + ret = true; + return ret; + } + /// + /// 读取硬件配置 + /// + private bool LoadDevConfig() + { + LightParams lightParams = new LightParams(LightName, LightChCount); + //LightChCount = 6; + //lightParams.DevName = LightName; + lightParams.ComName = confMgr.SysConfigParams.LightCom; + lightParams.Buad = confMgr.SysConfigParams.LightComBaud; + //lightParams.ChCount = LightChCount; + lightDev.WriteCfgInfo(confMgr.DevConfigPath, lightParams); + return true; + } + + #endregion + #endregion + + #region 硬盘检测 + public static bool CheckDisk(IWin32Window owner, int max = 10) + { + string path = ConfMgr.Instance.SysConfigParams.DefectSrcImag.SavePath; + string volume = path.Substring(0, path.IndexOf(':')); + long freespace = DiskAPI.GetHardDiskSpace(volume); + if (freespace < max) + { + string tip = $"当前{volume}硬盘容量:{freespace}GB,小于{max}GB。注意清理!!"; + FrmDialog.ShowDialog(owner, tip, "警告", true); + return false; + } + return true; + } + #endregion + + #region 初始化事件 + /// + /// 初始化回调 + /// + /// + /// + public delegate void InitEventHandler(Object sender, InitEventArgs e); + public event InitEventHandler InitRuning; + protected virtual void OnInitRuning(InitEventArgs e) + { + if (null != InitRuning) + { + InitRuning(this, e); + } + } + #endregion + + #region 主窗体显示事件 + /// + /// 主窗体回调 + /// + /// + /// + public delegate void MainEventHandler(Object sender, MainEventArgs e); + public event MainEventHandler MainRuning; + protected virtual void OnMainRuning(MainEventArgs e) + { + if (null != MainRuning) + { + MainRuning(this, e); + } + } + #endregion + } + #region 系统事件 + /// + /// 显图事件 + /// + public class ImgEventArgs : EventArgs + { + //private Bitmap[] _bmps; + //public Bitmap[] Bitmaps { get { return _bmps; } } + + //private Mat[] _bmps_cut; + //public Mat[] Bmps_cut { get { return _bmps_cut; } } + + //private double _x; + //public double X { get { return _x; } } + //private double _y; + //public double Y { get { return _y; } } + + //private List[]>> _info; + //public List[]>> Info + //{ + // get { return _info; } + //} + + //public ImgEventArgs(Bitmap[] bmps, Mat[] bmps_cut, double Xmm, double Ymm, List[]>> info) + //{ + // this._bmps = new Bitmap[bmps.Length]; + // for (int i = 0; i < bmps.Length; i++) + // { + // this._bmps[i] = (Bitmap)bmps[i].Clone(); + // } + // this._bmps_cut = new Mat[bmps_cut.Length]; + // for (int i = 0; i < bmps_cut.Length; i++) + // { + // this._bmps_cut[i] = bmps_cut[i].Clone(); + // } + // this._x = Xmm; + // this._y = Ymm; + // this._info = info; + //} + } + /// + /// 主窗体事件 + /// + public class MainEventArgs : EventArgs + { + private string _tag; + public string Tag { get { return _tag; } } + + private string _message; + public string Message { get { return _message; } } + + private int _showIndex; + public int ShowIndex { get { return _showIndex; } } + + private WarningEnum _warning; + public WarningEnum Warning { get { return _warning; } } + public MainEventArgs(int index) + { + this._showIndex = index; + } + public MainEventArgs(int index, string message) + { + this._message = message; + this._showIndex = index; + } + public MainEventArgs(string tag, string message, WarningEnum warning = WarningEnum.Normal) + { + this._tag = tag; + this._message = message; + this._showIndex = 0; + this._warning = warning; + } + } + /// + /// 初始化事件 + /// + public class InitEventArgs : EventArgs + { + private string _message; + public string Message { get { return _message; } } + + private bool _isInitialized; + public bool IsInitialized { get { return _isInitialized; } } + public InitEventArgs() + { + + } + public InitEventArgs(string message, bool isInitialized = false) + { + this._message = message; + this._isInitialized = isInitialized; + } + } + #endregion +} diff --git a/LeatherProject/GeBoShi/UI/Load/InitFrm.Designer.cs b/LeatherProject/GeBoShi/UI/Load/InitFrm.Designer.cs new file mode 100644 index 0000000..2a8a4eb --- /dev/null +++ b/LeatherProject/GeBoShi/UI/Load/InitFrm.Designer.cs @@ -0,0 +1,108 @@ +namespace GeBoShi.UI.Load +{ + partial class InitFrm + { + /// + /// 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.components = new System.ComponentModel.Container(); + this.StsTextBox = new System.Windows.Forms.TextBox(); + this.skinButton1 = new CCWin.SkinControl.SkinButton(); + this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel(); + this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); + this.SuspendLayout(); + // + // StsTextBox + // + this.StsTextBox.Cursor = System.Windows.Forms.Cursors.AppStarting; + this.StsTextBox.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.StsTextBox.Location = new System.Drawing.Point(12, 46); + this.StsTextBox.Multiline = true; + this.StsTextBox.Name = "StsTextBox"; + this.StsTextBox.ReadOnly = true; + this.StsTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.StsTextBox.Size = new System.Drawing.Size(433, 366); + this.StsTextBox.TabIndex = 39; + this.StsTextBox.Text = "1\r\n2\r\n3\r\n43\r\n4\r\n5\r\n56\r\n6\r\n7"; + // + // skinButton1 + // + this.skinButton1.BackColor = System.Drawing.Color.Transparent; + this.skinButton1.BorderColor = System.Drawing.Color.Silver; + this.skinButton1.ControlState = CCWin.SkinClass.ControlState.Normal; + this.skinButton1.DownBack = null; + this.skinButton1.Font = new System.Drawing.Font("宋体", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.skinButton1.Location = new System.Drawing.Point(12, 418); + this.skinButton1.MouseBack = null; + this.skinButton1.Name = "skinButton1"; + this.skinButton1.NormlBack = null; + this.skinButton1.Radius = 16; + this.skinButton1.RoundStyle = CCWin.SkinClass.RoundStyle.All; + this.skinButton1.Size = new System.Drawing.Size(99, 38); + this.skinButton1.TabIndex = 38; + this.skinButton1.Text = "跳过"; + this.skinButton1.UseVisualStyleBackColor = false; + this.skinButton1.Click += new System.EventHandler(this.skinButton1_Click); + // + // uiTitel1 + // + this.uiTitel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.uiTitel1.Dock = System.Windows.Forms.DockStyle.Top; + this.uiTitel1.FatherForm = null; + this.uiTitel1.Location = new System.Drawing.Point(0, 0); + this.uiTitel1.Name = "uiTitel1"; + this.uiTitel1.Size = new System.Drawing.Size(461, 46); + this.uiTitel1.TabIndex = 37; + // + // backgroundWorker1 + // + this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork); + // + // InitFrm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.ClientSize = new System.Drawing.Size(461, 461); + this.Controls.Add(this.StsTextBox); + this.Controls.Add(this.skinButton1); + this.Controls.Add(this.uiTitel1); + this.Name = "InitFrm"; + this.Text = "InitFrm"; + this.Load += new System.EventHandler(this.InitFrm_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox StsTextBox; + private CCWin.SkinControl.SkinButton skinButton1; + private MaiMuControl.UIKits.MaiMuMenu.UITitel uiTitel1; + private System.ComponentModel.BackgroundWorker backgroundWorker1; + } +} \ No newline at end of file diff --git a/LeatherProject/GeBoShi/UI/Load/InitFrm.cs b/LeatherProject/GeBoShi/UI/Load/InitFrm.cs new file mode 100644 index 0000000..293ead8 --- /dev/null +++ b/LeatherProject/GeBoShi/UI/Load/InitFrm.cs @@ -0,0 +1,122 @@ +using GeBoShi.SysCtrl; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace GeBoShi.UI.Load +{ + public partial class InitFrm : Form + { + public InitFrm() + { + InitializeComponent(); + this.uiTitel1.FatherForm = this; + this.uiTitel1.ShowContrlBox(false, false, true, false); + UIStyle.SetUIStyle(this); + SysMgr.Instance.InitRuning += init_Process; + } + + #region 事件回调 + private void init_Process(object sender, InitEventArgs e) + { + ShowInitMessage(e.Message); + + if (e.IsInitialized) + { + Thread.Sleep(1000); + CloseWnd(); + } + } + + private delegate void dSkip_init(); + private void Skip_init() + { + if (this.InvokeRequired) + { + dSkip_init d = new dSkip_init(Skip_init); + this.Invoke(d); + } + else + { + this.Cursor = Cursors.Default; + skinButton1.Visible = true; + } + } + + private delegate void dCloseWnd(); + private void CloseWnd() + { + if (this.InvokeRequired) + { + dCloseWnd d = new dCloseWnd(CloseWnd); + this.Invoke(d); + } + else + { + this.Cursor = Cursors.Default; + SysMgr.Instance.InitRuning -= init_Process; + this.DialogResult = DialogResult.OK; + this.Close(); + } + } + + private delegate void dShowInitMessage(string message); + private void ShowInitMessage(string message) + { + if (this.InvokeRequired) + { + dShowInitMessage d = new dShowInitMessage(ShowInitMessage); + this.Invoke(d, message); + } + else + { + if (!string.IsNullOrEmpty(StsTextBox.Text)) + { + StsTextBox.Text = StsTextBox.Text + "\r\n" + message; + } + else + { StsTextBox.Text = message; } + + StsTextBox.SelectionStart = StsTextBox.Text.Length; + StsTextBox.ScrollToCaret(); + } + } + #endregion + + private void InitFrm_Load(object sender, EventArgs e) + { + StsTextBox.Text = ""; + this.Cursor = Cursors.WaitCursor; + backgroundWorker1.RunWorkerAsync(); + skinButton1.Visible = false; + } + + private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) + { + Thread.Sleep(500); + try + { + if (!SysMgr.Instance.Initial()) + Skip_init(); + } + catch (Exception ex) + { + //CloseWnd(); + } + } + + private void skinButton1_Click(object sender, EventArgs e) + { + SysMgr.Instance.InitRuning -= init_Process; + this.DialogResult = DialogResult.OK; + this.Close(); + } + } +} diff --git a/LeatherProject/GeBoShi/UI/Load/InitFrm.resx b/LeatherProject/GeBoShi/UI/Load/InitFrm.resx new file mode 100644 index 0000000..c8d73ee --- /dev/null +++ b/LeatherProject/GeBoShi/UI/Load/InitFrm.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/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.Designer.cs b/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.Designer.cs new file mode 100644 index 0000000..2cf0b0a --- /dev/null +++ b/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.Designer.cs @@ -0,0 +1,2541 @@ +namespace GeBoShi.UI.SysSet +{ + partial class SysSetFrm + { + /// + /// 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(SysSetFrm)); + this.skinTabControl1 = new CCWin.SkinControl.SkinTabControl(); + this.skinTabPage1 = new CCWin.SkinControl.SkinTabPage(); + this.chkBuzzer = new System.Windows.Forms.CheckBox(); + this.skinTabPage2 = new CCWin.SkinControl.SkinTabPage(); + this.groupBox12 = new System.Windows.Forms.GroupBox(); + this.panel12 = new System.Windows.Forms.Panel(); + this.label18 = new System.Windows.Forms.Label(); + this.tbCamCfgPath2 = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.groupBox7 = new System.Windows.Forms.GroupBox(); + this.panel7 = new System.Windows.Forms.Panel(); + this.label10 = new System.Windows.Forms.Label(); + this.tbCamCfgPath = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.panel5 = new System.Windows.Forms.Panel(); + this.tbMotionCfgPath = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.panel3 = new System.Windows.Forms.Panel(); + this.tbIOCfgPath = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.tbIODevNum = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.panel4 = new System.Windows.Forms.Panel(); + this.numCamBaud = new System.Windows.Forms.NumericUpDown(); + this.label9 = new System.Windows.Forms.Label(); + this.cobLightPortNum = new System.Windows.Forms.ComboBox(); + this.label5 = new System.Windows.Forms.Label(); + this.skinTabPage3 = new CCWin.SkinControl.SkinTabPage(); + this.groupBox25 = new System.Windows.Forms.GroupBox(); + this.panel25 = new System.Windows.Forms.Panel(); + this.rbClient = new System.Windows.Forms.RadioButton(); + this.rbServer = new System.Windows.Forms.RadioButton(); + this.label79 = new System.Windows.Forms.Label(); + this.numPdtServerPort = new System.Windows.Forms.NumericUpDown(); + this.cbOpenPdtServer = new System.Windows.Forms.CheckBox(); + this.tbPdtServerIP = new System.Windows.Forms.TextBox(); + this.label85 = new System.Windows.Forms.Label(); + this.groupBox24 = new System.Windows.Forms.GroupBox(); + this.panel24 = new System.Windows.Forms.Panel(); + this.tbCloudName = new System.Windows.Forms.TextBox(); + this.label81 = new System.Windows.Forms.Label(); + this.label83 = new System.Windows.Forms.Label(); + this.numCloudPort = new System.Windows.Forms.NumericUpDown(); + this.tbCloudPassword = new System.Windows.Forms.TextBox(); + this.label78 = new System.Windows.Forms.Label(); + this.tbCloudUser = new System.Windows.Forms.TextBox(); + this.label80 = new System.Windows.Forms.Label(); + this.cbOpenCloud = new System.Windows.Forms.CheckBox(); + this.tbCloudIP = new System.Windows.Forms.TextBox(); + this.label82 = new System.Windows.Forms.Label(); + this.skinTabPage4 = new CCWin.SkinControl.SkinTabPage(); + this.groupBox19 = new System.Windows.Forms.GroupBox(); + this.panel19 = new System.Windows.Forms.Panel(); + this.btnClearDefect_Compress_SavePath = new System.Windows.Forms.PictureBox(); + this.label52 = new System.Windows.Forms.Label(); + this.numDefect_Compress_SavePath_AutoClear = new System.Windows.Forms.NumericUpDown(); + this.chkDefect_Compress_SavePath_AutoClear = new System.Windows.Forms.CheckBox(); + this.tbDefectCompressSavePath = new System.Windows.Forms.TextBox(); + this.label50 = new System.Windows.Forms.Label(); + this.groupBox17 = new System.Windows.Forms.GroupBox(); + this.panel17 = new System.Windows.Forms.Panel(); + this.btnClearDefect_Small_Path = new System.Windows.Forms.PictureBox(); + this.label53 = new System.Windows.Forms.Label(); + this.tbDefectSmallPath = new System.Windows.Forms.TextBox(); + this.numDefect_Small_Path_AutoClear = new System.Windows.Forms.NumericUpDown(); + this.label41 = new System.Windows.Forms.Label(); + this.chkDefect_Small_Path_AutoClear = new System.Windows.Forms.CheckBox(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.btnClearDefect_Path = new System.Windows.Forms.PictureBox(); + this.label51 = new System.Windows.Forms.Label(); + this.numDefect_Path_AutoClear = new System.Windows.Forms.NumericUpDown(); + this.chkDefect_Path_AutoClear = new System.Windows.Forms.CheckBox(); + this.chkSaveAllDefectImg = new System.Windows.Forms.CheckBox(); + this.tbDefectPath = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.skinTabPage6 = new CCWin.SkinControl.SkinTabPage(); + this.groupBox23 = new System.Windows.Forms.GroupBox(); + this.panel23 = new System.Windows.Forms.Panel(); + this.tbPdtPath = new System.Windows.Forms.TextBox(); + this.label77 = new System.Windows.Forms.Label(); + this.groupBox14 = new System.Windows.Forms.GroupBox(); + this.panel14 = new System.Windows.Forms.Panel(); + this.numViewY = new System.Windows.Forms.NumericUpDown(); + this.label22 = new System.Windows.Forms.Label(); + this.numViewX = new System.Windows.Forms.NumericUpDown(); + this.label21 = new System.Windows.Forms.Label(); + this.groupBox13 = new System.Windows.Forms.GroupBox(); + this.panel13 = new System.Windows.Forms.Panel(); + this.cbShowBtn = new System.Windows.Forms.CheckBox(); + this.cbDoorAlm = new System.Windows.Forms.CheckBox(); + this.cbBuzzShow = new System.Windows.Forms.CheckBox(); + this.cbResetBtn = new System.Windows.Forms.CheckBox(); + this.groupBox8 = new System.Windows.Forms.GroupBox(); + this.panel8 = new System.Windows.Forms.Panel(); + this.tbModelPath = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.panel2 = new System.Windows.Forms.Panel(); + this.label3 = new System.Windows.Forms.Label(); + this.numLogDays = new System.Windows.Forms.NumericUpDown(); + this.ckbAutoClear = new System.Windows.Forms.CheckBox(); + this.tbLogPath = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.skinTabPage8 = new CCWin.SkinControl.SkinTabPage(); + this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.tsbtnSave = new System.Windows.Forms.ToolStripButton(); + this.tsbtnDataSave = new System.Windows.Forms.ToolStripButton(); + this.tsbtnDatImport = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.tsbtnExit = new System.Windows.Forms.ToolStripButton(); + this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel(); + this.panel26 = new System.Windows.Forms.Panel(); + this.cbOpenBarTenderPrint = new System.Windows.Forms.CheckBox(); + this.label75 = new System.Windows.Forms.Label(); + this.cboPrinters = new System.Windows.Forms.ComboBox(); + this.btnPrint = new System.Windows.Forms.Button(); + this.panel27 = new System.Windows.Forms.Panel(); + this.cbOpenExcelPrint = new System.Windows.Forms.CheckBox(); + this.label31 = new System.Windows.Forms.Label(); + this.cboPrinters2 = new System.Windows.Forms.ComboBox(); + this.btnPrint2 = new System.Windows.Forms.Button(); + this.groupBox26 = new System.Windows.Forms.GroupBox(); + this.panel6 = new System.Windows.Forms.Panel(); + this.button1 = new System.Windows.Forms.Button(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.label12 = new System.Windows.Forms.Label(); + this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.groupBox6 = new System.Windows.Forms.GroupBox(); + this.panel9 = new System.Windows.Forms.Panel(); + this.button2 = new System.Windows.Forms.Button(); + this.comboBox2 = new System.Windows.Forms.ComboBox(); + this.label13 = new System.Windows.Forms.Label(); + this.checkBox2 = new System.Windows.Forms.CheckBox(); + this.numericUpDown1 = new System.Windows.Forms.NumericUpDown(); + this.label14 = new System.Windows.Forms.Label(); + this.numericUpDown2 = new System.Windows.Forms.NumericUpDown(); + this.label15 = new System.Windows.Forms.Label(); + this.numericUpDown3 = new System.Windows.Forms.NumericUpDown(); + this.label16 = new System.Windows.Forms.Label(); + this.numericUpDown4 = new System.Windows.Forms.NumericUpDown(); + this.label17 = new System.Windows.Forms.Label(); + this.numericUpDown5 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown6 = new System.Windows.Forms.NumericUpDown(); + this.numericUpDown7 = new System.Windows.Forms.NumericUpDown(); + this.label20 = new System.Windows.Forms.Label(); + this.numericUpDown8 = new System.Windows.Forms.NumericUpDown(); + this.label23 = new System.Windows.Forms.Label(); + this.skinTabControl1.SuspendLayout(); + this.skinTabPage1.SuspendLayout(); + this.skinTabPage2.SuspendLayout(); + this.groupBox12.SuspendLayout(); + this.panel12.SuspendLayout(); + this.groupBox7.SuspendLayout(); + this.panel7.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.panel5.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.panel3.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.panel4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numCamBaud)).BeginInit(); + this.skinTabPage3.SuspendLayout(); + this.groupBox25.SuspendLayout(); + this.panel25.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numPdtServerPort)).BeginInit(); + this.groupBox24.SuspendLayout(); + this.panel24.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numCloudPort)).BeginInit(); + this.skinTabPage4.SuspendLayout(); + this.groupBox19.SuspendLayout(); + this.panel19.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnClearDefect_Compress_SavePath)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numDefect_Compress_SavePath_AutoClear)).BeginInit(); + this.groupBox17.SuspendLayout(); + this.panel17.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnClearDefect_Small_Path)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numDefect_Small_Path_AutoClear)).BeginInit(); + this.groupBox1.SuspendLayout(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnClearDefect_Path)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numDefect_Path_AutoClear)).BeginInit(); + this.skinTabPage6.SuspendLayout(); + this.groupBox23.SuspendLayout(); + this.panel23.SuspendLayout(); + this.groupBox14.SuspendLayout(); + this.panel14.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numViewY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numViewX)).BeginInit(); + this.groupBox13.SuspendLayout(); + this.panel13.SuspendLayout(); + this.groupBox8.SuspendLayout(); + this.panel8.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numLogDays)).BeginInit(); + this.skinTabPage8.SuspendLayout(); + this.toolStrip1.SuspendLayout(); + this.groupBox26.SuspendLayout(); + this.panel6.SuspendLayout(); + this.groupBox6.SuspendLayout(); + this.panel9.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown8)).BeginInit(); + this.SuspendLayout(); + // + // skinTabControl1 + // + this.skinTabControl1.AnimatorType = CCWin.SkinControl.AnimationType.HorizSlide; + this.skinTabControl1.CloseRect = new System.Drawing.Rectangle(2, 2, 12, 12); + this.skinTabControl1.Controls.Add(this.skinTabPage1); + this.skinTabControl1.Controls.Add(this.skinTabPage2); + this.skinTabControl1.Controls.Add(this.skinTabPage3); + this.skinTabControl1.Controls.Add(this.skinTabPage4); + this.skinTabControl1.Controls.Add(this.skinTabPage6); + this.skinTabControl1.Controls.Add(this.skinTabPage8); + this.skinTabControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabControl1.HeadBack = null; + this.skinTabControl1.ImgTxtOffset = new System.Drawing.Point(0, 0); + this.skinTabControl1.ItemSize = new System.Drawing.Size(136, 36); + this.skinTabControl1.ItemStretch = true; + this.skinTabControl1.Location = new System.Drawing.Point(0, 102); + this.skinTabControl1.Name = "skinTabControl1"; + this.skinTabControl1.PageArrowDown = ((System.Drawing.Image)(resources.GetObject("skinTabControl1.PageArrowDown"))); + this.skinTabControl1.PageArrowHover = ((System.Drawing.Image)(resources.GetObject("skinTabControl1.PageArrowHover"))); + this.skinTabControl1.PageCloseHover = ((System.Drawing.Image)(resources.GetObject("skinTabControl1.PageCloseHover"))); + this.skinTabControl1.PageCloseNormal = ((System.Drawing.Image)(resources.GetObject("skinTabControl1.PageCloseNormal"))); + this.skinTabControl1.PageDown = ((System.Drawing.Image)(resources.GetObject("skinTabControl1.PageDown"))); + this.skinTabControl1.PageDownTxtColor = System.Drawing.Color.White; + this.skinTabControl1.PageHover = ((System.Drawing.Image)(resources.GetObject("skinTabControl1.PageHover"))); + this.skinTabControl1.PageHoverTxtColor = System.Drawing.Color.White; + this.skinTabControl1.PageImagePosition = CCWin.SkinControl.SkinTabControl.ePageImagePosition.Left; + this.skinTabControl1.PageNorml = null; + this.skinTabControl1.PageNormlTxtColor = System.Drawing.Color.White; + this.skinTabControl1.SelectedIndex = 1; + this.skinTabControl1.Size = new System.Drawing.Size(819, 477); + this.skinTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; + this.skinTabControl1.TabIndex = 25; + // + // skinTabPage1 + // + this.skinTabPage1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.skinTabPage1.Controls.Add(this.chkBuzzer); + this.skinTabPage1.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabPage1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.skinTabPage1.Location = new System.Drawing.Point(0, 36); + this.skinTabPage1.Name = "skinTabPage1"; + this.skinTabPage1.Size = new System.Drawing.Size(819, 441); + this.skinTabPage1.TabIndex = 0; + this.skinTabPage1.TabItemImage = null; + this.skinTabPage1.Text = "功能设置"; + // + // chkBuzzer + // + this.chkBuzzer.AutoSize = true; + this.chkBuzzer.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.chkBuzzer.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.chkBuzzer.Location = new System.Drawing.Point(104, 60); + this.chkBuzzer.Margin = new System.Windows.Forms.Padding(2); + this.chkBuzzer.Name = "chkBuzzer"; + this.chkBuzzer.Size = new System.Drawing.Size(106, 20); + this.chkBuzzer.TabIndex = 17; + this.chkBuzzer.Text = "启用蜂鸣器"; + this.chkBuzzer.UseVisualStyleBackColor = true; + // + // skinTabPage2 + // + this.skinTabPage2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.skinTabPage2.Controls.Add(this.groupBox12); + this.skinTabPage2.Controls.Add(this.groupBox7); + this.skinTabPage2.Controls.Add(this.groupBox5); + this.skinTabPage2.Controls.Add(this.groupBox3); + this.skinTabPage2.Controls.Add(this.groupBox4); + this.skinTabPage2.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabPage2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.skinTabPage2.Location = new System.Drawing.Point(0, 36); + this.skinTabPage2.Name = "skinTabPage2"; + this.skinTabPage2.Size = new System.Drawing.Size(819, 441); + this.skinTabPage2.TabIndex = 1; + this.skinTabPage2.TabItemImage = null; + this.skinTabPage2.Text = "设备与通信"; + // + // groupBox12 + // + this.groupBox12.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox12.Controls.Add(this.panel12); + this.groupBox12.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox12.ForeColor = System.Drawing.Color.White; + this.groupBox12.Location = new System.Drawing.Point(2, 323); + this.groupBox12.Margin = new System.Windows.Forms.Padding(2); + this.groupBox12.Name = "groupBox12"; + this.groupBox12.Padding = new System.Windows.Forms.Padding(2); + this.groupBox12.Size = new System.Drawing.Size(806, 97); + this.groupBox12.TabIndex = 33; + this.groupBox12.TabStop = false; + this.groupBox12.Text = "相机2配置"; + // + // panel12 + // + this.panel12.BackColor = System.Drawing.Color.White; + this.panel12.Controls.Add(this.numericUpDown8); + this.panel12.Controls.Add(this.label23); + this.panel12.Controls.Add(this.numericUpDown6); + this.panel12.Controls.Add(this.label18); + this.panel12.Controls.Add(this.tbCamCfgPath2); + this.panel12.Controls.Add(this.label19); + this.panel12.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel12.Location = new System.Drawing.Point(2, 16); + this.panel12.Margin = new System.Windows.Forms.Padding(2); + this.panel12.Name = "panel12"; + this.panel12.Size = new System.Drawing.Size(802, 79); + this.panel12.TabIndex = 0; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.ForeColor = System.Drawing.SystemColors.ControlText; + this.label18.Location = new System.Drawing.Point(10, 14); + this.label18.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(65, 12); + this.label18.TabIndex = 6; + this.label18.Text = "相机编号:"; + // + // tbCamCfgPath2 + // + this.tbCamCfgPath2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbCamCfgPath2.Location = new System.Drawing.Point(103, 43); + this.tbCamCfgPath2.Margin = new System.Windows.Forms.Padding(2); + this.tbCamCfgPath2.Name = "tbCamCfgPath2"; + this.tbCamCfgPath2.Size = new System.Drawing.Size(691, 21); + this.tbCamCfgPath2.TabIndex = 5; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.BackColor = System.Drawing.Color.Transparent; + this.label19.ForeColor = System.Drawing.Color.Black; + this.label19.Location = new System.Drawing.Point(10, 46); + this.label19.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(89, 12); + this.label19.TabIndex = 4; + this.label19.Text = "配置文件路径:"; + // + // groupBox7 + // + this.groupBox7.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox7.Controls.Add(this.panel7); + this.groupBox7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox7.ForeColor = System.Drawing.Color.White; + this.groupBox7.Location = new System.Drawing.Point(2, 222); + this.groupBox7.Margin = new System.Windows.Forms.Padding(2); + this.groupBox7.Name = "groupBox7"; + this.groupBox7.Padding = new System.Windows.Forms.Padding(2); + this.groupBox7.Size = new System.Drawing.Size(806, 97); + this.groupBox7.TabIndex = 29; + this.groupBox7.TabStop = false; + this.groupBox7.Text = "相机1配置"; + // + // panel7 + // + this.panel7.BackColor = System.Drawing.Color.White; + this.panel7.Controls.Add(this.numericUpDown7); + this.panel7.Controls.Add(this.label20); + this.panel7.Controls.Add(this.numericUpDown5); + this.panel7.Controls.Add(this.label10); + this.panel7.Controls.Add(this.tbCamCfgPath); + this.panel7.Controls.Add(this.label7); + this.panel7.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel7.Location = new System.Drawing.Point(2, 16); + this.panel7.Margin = new System.Windows.Forms.Padding(2); + this.panel7.Name = "panel7"; + this.panel7.Size = new System.Drawing.Size(802, 79); + this.panel7.TabIndex = 0; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.ForeColor = System.Drawing.SystemColors.ControlText; + this.label10.Location = new System.Drawing.Point(10, 14); + this.label10.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(65, 12); + this.label10.TabIndex = 6; + this.label10.Text = "相机编号:"; + // + // tbCamCfgPath + // + this.tbCamCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbCamCfgPath.Location = new System.Drawing.Point(103, 43); + this.tbCamCfgPath.Margin = new System.Windows.Forms.Padding(2); + this.tbCamCfgPath.Name = "tbCamCfgPath"; + this.tbCamCfgPath.Size = new System.Drawing.Size(691, 21); + this.tbCamCfgPath.TabIndex = 5; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.BackColor = System.Drawing.Color.Transparent; + this.label7.ForeColor = System.Drawing.Color.Black; + this.label7.Location = new System.Drawing.Point(10, 46); + this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(89, 12); + this.label7.TabIndex = 4; + this.label7.Text = "配置文件路径:"; + // + // groupBox5 + // + this.groupBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox5.Controls.Add(this.panel5); + this.groupBox5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox5.ForeColor = System.Drawing.Color.White; + this.groupBox5.Location = new System.Drawing.Point(2, 150); + this.groupBox5.Margin = new System.Windows.Forms.Padding(2); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Padding = new System.Windows.Forms.Padding(2); + this.groupBox5.Size = new System.Drawing.Size(806, 68); + this.groupBox5.TabIndex = 28; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "PLC"; + // + // panel5 + // + this.panel5.BackColor = System.Drawing.Color.White; + this.panel5.Controls.Add(this.tbMotionCfgPath); + this.panel5.Controls.Add(this.label6); + this.panel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel5.Location = new System.Drawing.Point(2, 16); + this.panel5.Margin = new System.Windows.Forms.Padding(2); + this.panel5.Name = "panel5"; + this.panel5.Size = new System.Drawing.Size(802, 50); + this.panel5.TabIndex = 0; + // + // tbMotionCfgPath + // + this.tbMotionCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbMotionCfgPath.Location = new System.Drawing.Point(103, 18); + this.tbMotionCfgPath.Margin = new System.Windows.Forms.Padding(2); + this.tbMotionCfgPath.Name = "tbMotionCfgPath"; + this.tbMotionCfgPath.Size = new System.Drawing.Size(205, 21); + this.tbMotionCfgPath.TabIndex = 5; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.BackColor = System.Drawing.Color.Transparent; + this.label6.ForeColor = System.Drawing.Color.Black; + this.label6.Location = new System.Drawing.Point(10, 21); + this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(77, 12); + this.label6.TabIndex = 4; + this.label6.Text = "PLC IP地址:"; + // + // groupBox3 + // + this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox3.Controls.Add(this.panel3); + this.groupBox3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox3.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox3.Location = new System.Drawing.Point(2, 61); + this.groupBox3.Margin = new System.Windows.Forms.Padding(2); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Padding = new System.Windows.Forms.Padding(2); + this.groupBox3.Size = new System.Drawing.Size(806, 85); + this.groupBox3.TabIndex = 26; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "I/O板卡"; + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.White; + this.panel3.Controls.Add(this.tbIOCfgPath); + this.panel3.Controls.Add(this.label8); + this.panel3.Controls.Add(this.tbIODevNum); + this.panel3.Controls.Add(this.label4); + this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel3.Location = new System.Drawing.Point(2, 16); + this.panel3.Margin = new System.Windows.Forms.Padding(2); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(802, 67); + this.panel3.TabIndex = 0; + // + // tbIOCfgPath + // + this.tbIOCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbIOCfgPath.Location = new System.Drawing.Point(103, 38); + this.tbIOCfgPath.Margin = new System.Windows.Forms.Padding(2); + this.tbIOCfgPath.Name = "tbIOCfgPath"; + this.tbIOCfgPath.Size = new System.Drawing.Size(691, 21); + this.tbIOCfgPath.TabIndex = 7; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.BackColor = System.Drawing.Color.Transparent; + this.label8.ForeColor = System.Drawing.Color.Black; + this.label8.Location = new System.Drawing.Point(10, 41); + this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(89, 12); + this.label8.TabIndex = 6; + this.label8.Text = "配置文件路径:"; + // + // tbIODevNum + // + this.tbIODevNum.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbIODevNum.Location = new System.Drawing.Point(103, 9); + this.tbIODevNum.Margin = new System.Windows.Forms.Padding(2); + this.tbIODevNum.Name = "tbIODevNum"; + this.tbIODevNum.Size = new System.Drawing.Size(691, 21); + this.tbIODevNum.TabIndex = 5; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.ForeColor = System.Drawing.SystemColors.ControlText; + this.label4.Location = new System.Drawing.Point(10, 12); + this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(65, 12); + this.label4.TabIndex = 4; + this.label4.Text = "设备编号:"; + // + // groupBox4 + // + this.groupBox4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox4.Controls.Add(this.panel4); + this.groupBox4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox4.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox4.Location = new System.Drawing.Point(2, 2); + this.groupBox4.Margin = new System.Windows.Forms.Padding(2); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Padding = new System.Windows.Forms.Padding(2); + this.groupBox4.Size = new System.Drawing.Size(806, 55); + this.groupBox4.TabIndex = 25; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "光源设备"; + // + // panel4 + // + this.panel4.BackColor = System.Drawing.Color.White; + this.panel4.Controls.Add(this.numCamBaud); + this.panel4.Controls.Add(this.label9); + this.panel4.Controls.Add(this.cobLightPortNum); + this.panel4.Controls.Add(this.label5); + this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel4.Location = new System.Drawing.Point(2, 16); + this.panel4.Margin = new System.Windows.Forms.Padding(2); + this.panel4.Name = "panel4"; + this.panel4.Size = new System.Drawing.Size(802, 37); + this.panel4.TabIndex = 0; + // + // numCamBaud + // + this.numCamBaud.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numCamBaud.Increment = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.numCamBaud.Location = new System.Drawing.Point(417, 8); + this.numCamBaud.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numCamBaud.Name = "numCamBaud"; + this.numCamBaud.Size = new System.Drawing.Size(120, 23); + this.numCamBaud.TabIndex = 7; + this.numCamBaud.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.numCamBaud.Value = new decimal(new int[] { + 9600, + 0, + 0, + 0}); + // + // label9 + // + this.label9.AutoSize = true; + this.label9.ForeColor = System.Drawing.SystemColors.ControlText; + this.label9.Location = new System.Drawing.Point(359, 11); + this.label9.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(53, 12); + this.label9.TabIndex = 6; + this.label9.Text = "波特率:"; + // + // cobLightPortNum + // + this.cobLightPortNum.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cobLightPortNum.FormattingEnabled = true; + this.cobLightPortNum.Location = new System.Drawing.Point(103, 8); + this.cobLightPortNum.Margin = new System.Windows.Forms.Padding(2); + this.cobLightPortNum.Name = "cobLightPortNum"; + this.cobLightPortNum.Size = new System.Drawing.Size(205, 20); + this.cobLightPortNum.TabIndex = 5; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.ForeColor = System.Drawing.SystemColors.ControlText; + this.label5.Location = new System.Drawing.Point(10, 11); + this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(41, 12); + this.label5.TabIndex = 4; + this.label5.Text = "端口:"; + // + // skinTabPage3 + // + this.skinTabPage3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.skinTabPage3.Controls.Add(this.groupBox25); + this.skinTabPage3.Controls.Add(this.groupBox24); + this.skinTabPage3.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabPage3.Location = new System.Drawing.Point(0, 36); + this.skinTabPage3.Name = "skinTabPage3"; + this.skinTabPage3.Size = new System.Drawing.Size(819, 441); + this.skinTabPage3.TabIndex = 6; + this.skinTabPage3.TabItemImage = null; + this.skinTabPage3.Text = "云端与MES上传"; + // + // groupBox25 + // + this.groupBox25.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox25.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox25.Controls.Add(this.panel25); + this.groupBox25.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox25.ForeColor = System.Drawing.Color.White; + this.groupBox25.Location = new System.Drawing.Point(2, 159); + this.groupBox25.Margin = new System.Windows.Forms.Padding(2); + this.groupBox25.Name = "groupBox25"; + this.groupBox25.Padding = new System.Windows.Forms.Padding(2); + this.groupBox25.Size = new System.Drawing.Size(806, 137); + this.groupBox25.TabIndex = 34; + this.groupBox25.TabStop = false; + this.groupBox25.Text = "产品转发服务"; + // + // panel25 + // + this.panel25.BackColor = System.Drawing.Color.White; + this.panel25.Controls.Add(this.rbClient); + this.panel25.Controls.Add(this.rbServer); + this.panel25.Controls.Add(this.label79); + this.panel25.Controls.Add(this.numPdtServerPort); + this.panel25.Controls.Add(this.cbOpenPdtServer); + this.panel25.Controls.Add(this.tbPdtServerIP); + this.panel25.Controls.Add(this.label85); + this.panel25.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel25.Location = new System.Drawing.Point(2, 16); + this.panel25.Margin = new System.Windows.Forms.Padding(2); + this.panel25.Name = "panel25"; + this.panel25.Size = new System.Drawing.Size(802, 119); + this.panel25.TabIndex = 0; + // + // rbClient + // + this.rbClient.AutoSize = true; + this.rbClient.ForeColor = System.Drawing.Color.Black; + this.rbClient.Location = new System.Drawing.Point(246, 40); + this.rbClient.Name = "rbClient"; + this.rbClient.Size = new System.Drawing.Size(59, 16); + this.rbClient.TabIndex = 17; + this.rbClient.TabStop = true; + this.rbClient.Text = "客户端"; + this.rbClient.UseVisualStyleBackColor = true; + // + // rbServer + // + this.rbServer.AutoSize = true; + this.rbServer.ForeColor = System.Drawing.Color.Black; + this.rbServer.Location = new System.Drawing.Point(116, 40); + this.rbServer.Name = "rbServer"; + this.rbServer.Size = new System.Drawing.Size(59, 16); + this.rbServer.TabIndex = 16; + this.rbServer.TabStop = true; + this.rbServer.Text = "服务器"; + this.rbServer.UseVisualStyleBackColor = true; + // + // label79 + // + this.label79.AutoSize = true; + this.label79.ForeColor = System.Drawing.SystemColors.ControlText; + this.label79.Location = new System.Drawing.Point(384, 79); + this.label79.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label79.Name = "label79"; + this.label79.Size = new System.Drawing.Size(41, 12); + this.label79.TabIndex = 15; + this.label79.Text = "端口:"; + // + // numPdtServerPort + // + this.numPdtServerPort.Location = new System.Drawing.Point(453, 76); + this.numPdtServerPort.Margin = new System.Windows.Forms.Padding(2); + this.numPdtServerPort.Maximum = new decimal(new int[] { + 99999, + 0, + 0, + 0}); + this.numPdtServerPort.Name = "numPdtServerPort"; + this.numPdtServerPort.Size = new System.Drawing.Size(133, 21); + this.numPdtServerPort.TabIndex = 14; + this.numPdtServerPort.TabStop = false; + this.numPdtServerPort.Value = new decimal(new int[] { + 10573, + 0, + 0, + 0}); + // + // cbOpenPdtServer + // + this.cbOpenPdtServer.AutoSize = true; + this.cbOpenPdtServer.ForeColor = System.Drawing.Color.Black; + this.cbOpenPdtServer.Location = new System.Drawing.Point(50, 9); + this.cbOpenPdtServer.Margin = new System.Windows.Forms.Padding(2); + this.cbOpenPdtServer.Name = "cbOpenPdtServer"; + this.cbOpenPdtServer.Size = new System.Drawing.Size(48, 16); + this.cbOpenPdtServer.TabIndex = 6; + this.cbOpenPdtServer.Text = "启用"; + this.cbOpenPdtServer.UseVisualStyleBackColor = true; + // + // tbPdtServerIP + // + this.tbPdtServerIP.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbPdtServerIP.Location = new System.Drawing.Point(116, 76); + this.tbPdtServerIP.Margin = new System.Windows.Forms.Padding(2); + this.tbPdtServerIP.Name = "tbPdtServerIP"; + this.tbPdtServerIP.Size = new System.Drawing.Size(336, 21); + this.tbPdtServerIP.TabIndex = 5; + // + // label85 + // + this.label85.AutoSize = true; + this.label85.ForeColor = System.Drawing.Color.Black; + this.label85.Location = new System.Drawing.Point(48, 79); + this.label85.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label85.Name = "label85"; + this.label85.Size = new System.Drawing.Size(53, 12); + this.label85.TabIndex = 4; + this.label85.Text = "IP地址:"; + // + // groupBox24 + // + this.groupBox24.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox24.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox24.Controls.Add(this.panel24); + this.groupBox24.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox24.ForeColor = System.Drawing.Color.White; + this.groupBox24.Location = new System.Drawing.Point(2, 17); + this.groupBox24.Margin = new System.Windows.Forms.Padding(2); + this.groupBox24.Name = "groupBox24"; + this.groupBox24.Padding = new System.Windows.Forms.Padding(2); + this.groupBox24.Size = new System.Drawing.Size(806, 138); + this.groupBox24.TabIndex = 33; + this.groupBox24.TabStop = false; + this.groupBox24.Text = "局域网云端数据上传"; + // + // panel24 + // + this.panel24.BackColor = System.Drawing.Color.White; + this.panel24.Controls.Add(this.tbCloudName); + this.panel24.Controls.Add(this.label81); + this.panel24.Controls.Add(this.label83); + this.panel24.Controls.Add(this.numCloudPort); + this.panel24.Controls.Add(this.tbCloudPassword); + this.panel24.Controls.Add(this.label78); + this.panel24.Controls.Add(this.tbCloudUser); + this.panel24.Controls.Add(this.label80); + this.panel24.Controls.Add(this.cbOpenCloud); + this.panel24.Controls.Add(this.tbCloudIP); + this.panel24.Controls.Add(this.label82); + this.panel24.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel24.Location = new System.Drawing.Point(2, 16); + this.panel24.Margin = new System.Windows.Forms.Padding(2); + this.panel24.Name = "panel24"; + this.panel24.Size = new System.Drawing.Size(802, 120); + this.panel24.TabIndex = 0; + // + // tbCloudName + // + this.tbCloudName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbCloudName.Location = new System.Drawing.Point(218, 7); + this.tbCloudName.Margin = new System.Windows.Forms.Padding(2); + this.tbCloudName.Name = "tbCloudName"; + this.tbCloudName.Size = new System.Drawing.Size(336, 21); + this.tbCloudName.TabIndex = 17; + // + // label81 + // + this.label81.AutoSize = true; + this.label81.ForeColor = System.Drawing.Color.Black; + this.label81.Location = new System.Drawing.Point(150, 10); + this.label81.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label81.Name = "label81"; + this.label81.Size = new System.Drawing.Size(65, 12); + this.label81.TabIndex = 16; + this.label81.Text = "设备名称:"; + // + // label83 + // + this.label83.AutoSize = true; + this.label83.ForeColor = System.Drawing.SystemColors.ControlText; + this.label83.Location = new System.Drawing.Point(384, 49); + this.label83.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label83.Name = "label83"; + this.label83.Size = new System.Drawing.Size(41, 12); + this.label83.TabIndex = 15; + this.label83.Text = "端口:"; + // + // numCloudPort + // + this.numCloudPort.Location = new System.Drawing.Point(453, 46); + this.numCloudPort.Margin = new System.Windows.Forms.Padding(2); + this.numCloudPort.Maximum = new decimal(new int[] { + 99999, + 0, + 0, + 0}); + this.numCloudPort.Name = "numCloudPort"; + this.numCloudPort.Size = new System.Drawing.Size(133, 21); + this.numCloudPort.TabIndex = 14; + this.numCloudPort.TabStop = false; + this.numCloudPort.Value = new decimal(new int[] { + 1883, + 0, + 0, + 0}); + // + // tbCloudPassword + // + this.tbCloudPassword.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbCloudPassword.Location = new System.Drawing.Point(453, 86); + this.tbCloudPassword.Margin = new System.Windows.Forms.Padding(2); + this.tbCloudPassword.Name = "tbCloudPassword"; + this.tbCloudPassword.Size = new System.Drawing.Size(287, 21); + this.tbCloudPassword.TabIndex = 13; + // + // label78 + // + this.label78.AutoSize = true; + this.label78.ForeColor = System.Drawing.Color.Black; + this.label78.Location = new System.Drawing.Point(384, 89); + this.label78.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label78.Name = "label78"; + this.label78.Size = new System.Drawing.Size(65, 12); + this.label78.TabIndex = 12; + this.label78.Text = "Password:"; + // + // tbCloudUser + // + this.tbCloudUser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbCloudUser.Location = new System.Drawing.Point(116, 86); + this.tbCloudUser.Margin = new System.Windows.Forms.Padding(2); + this.tbCloudUser.Name = "tbCloudUser"; + this.tbCloudUser.Size = new System.Drawing.Size(336, 21); + this.tbCloudUser.TabIndex = 11; + // + // label80 + // + this.label80.AutoSize = true; + this.label80.ForeColor = System.Drawing.Color.Black; + this.label80.Location = new System.Drawing.Point(48, 89); + this.label80.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label80.Name = "label80"; + this.label80.Size = new System.Drawing.Size(59, 12); + this.label80.TabIndex = 9; + this.label80.Text = "Username:"; + // + // cbOpenCloud + // + this.cbOpenCloud.AutoSize = true; + this.cbOpenCloud.ForeColor = System.Drawing.Color.Black; + this.cbOpenCloud.Location = new System.Drawing.Point(50, 9); + this.cbOpenCloud.Margin = new System.Windows.Forms.Padding(2); + this.cbOpenCloud.Name = "cbOpenCloud"; + this.cbOpenCloud.Size = new System.Drawing.Size(48, 16); + this.cbOpenCloud.TabIndex = 6; + this.cbOpenCloud.Text = "启用"; + this.cbOpenCloud.UseVisualStyleBackColor = true; + // + // tbCloudIP + // + this.tbCloudIP.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbCloudIP.Location = new System.Drawing.Point(116, 46); + this.tbCloudIP.Margin = new System.Windows.Forms.Padding(2); + this.tbCloudIP.Name = "tbCloudIP"; + this.tbCloudIP.Size = new System.Drawing.Size(336, 21); + this.tbCloudIP.TabIndex = 5; + // + // label82 + // + this.label82.AutoSize = true; + this.label82.ForeColor = System.Drawing.Color.Black; + this.label82.Location = new System.Drawing.Point(48, 49); + this.label82.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label82.Name = "label82"; + this.label82.Size = new System.Drawing.Size(53, 12); + this.label82.TabIndex = 4; + this.label82.Text = "IP地址:"; + // + // skinTabPage4 + // + this.skinTabPage4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.skinTabPage4.Controls.Add(this.groupBox19); + this.skinTabPage4.Controls.Add(this.groupBox17); + this.skinTabPage4.Controls.Add(this.groupBox1); + this.skinTabPage4.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabPage4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.skinTabPage4.Location = new System.Drawing.Point(0, 36); + this.skinTabPage4.Name = "skinTabPage4"; + this.skinTabPage4.Size = new System.Drawing.Size(819, 441); + this.skinTabPage4.TabIndex = 3; + this.skinTabPage4.TabItemImage = null; + this.skinTabPage4.Text = "图像保存"; + // + // groupBox19 + // + this.groupBox19.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox19.Controls.Add(this.panel19); + this.groupBox19.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox19.ForeColor = System.Drawing.Color.White; + this.groupBox19.Location = new System.Drawing.Point(3, 166); + this.groupBox19.Margin = new System.Windows.Forms.Padding(2); + this.groupBox19.Name = "groupBox19"; + this.groupBox19.Padding = new System.Windows.Forms.Padding(2); + this.groupBox19.Size = new System.Drawing.Size(805, 75); + this.groupBox19.TabIndex = 33; + this.groupBox19.TabStop = false; + this.groupBox19.Text = "无瑕疵图"; + // + // panel19 + // + this.panel19.BackColor = System.Drawing.Color.White; + this.panel19.Controls.Add(this.btnClearDefect_Compress_SavePath); + this.panel19.Controls.Add(this.label52); + this.panel19.Controls.Add(this.numDefect_Compress_SavePath_AutoClear); + this.panel19.Controls.Add(this.chkDefect_Compress_SavePath_AutoClear); + this.panel19.Controls.Add(this.tbDefectCompressSavePath); + this.panel19.Controls.Add(this.label50); + this.panel19.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel19.Location = new System.Drawing.Point(2, 16); + this.panel19.Margin = new System.Windows.Forms.Padding(2); + this.panel19.Name = "panel19"; + this.panel19.Size = new System.Drawing.Size(801, 57); + this.panel19.TabIndex = 0; + // + // btnClearDefect_Compress_SavePath + // + this.btnClearDefect_Compress_SavePath.Image = ((System.Drawing.Image)(resources.GetObject("btnClearDefect_Compress_SavePath.Image"))); + this.btnClearDefect_Compress_SavePath.Location = new System.Drawing.Point(735, 5); + this.btnClearDefect_Compress_SavePath.Margin = new System.Windows.Forms.Padding(2); + this.btnClearDefect_Compress_SavePath.Name = "btnClearDefect_Compress_SavePath"; + this.btnClearDefect_Compress_SavePath.Size = new System.Drawing.Size(21, 19); + this.btnClearDefect_Compress_SavePath.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.btnClearDefect_Compress_SavePath.TabIndex = 13; + this.btnClearDefect_Compress_SavePath.TabStop = false; + // + // label52 + // + this.label52.AutoSize = true; + this.label52.ForeColor = System.Drawing.Color.Black; + this.label52.Location = new System.Drawing.Point(381, 32); + this.label52.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label52.Name = "label52"; + this.label52.Size = new System.Drawing.Size(17, 12); + this.label52.TabIndex = 14; + this.label52.Text = "天"; + // + // numDefect_Compress_SavePath_AutoClear + // + this.numDefect_Compress_SavePath_AutoClear.DecimalPlaces = 1; + this.numDefect_Compress_SavePath_AutoClear.Location = new System.Drawing.Point(334, 30); + this.numDefect_Compress_SavePath_AutoClear.Margin = new System.Windows.Forms.Padding(2); + this.numDefect_Compress_SavePath_AutoClear.Name = "numDefect_Compress_SavePath_AutoClear"; + this.numDefect_Compress_SavePath_AutoClear.Size = new System.Drawing.Size(43, 21); + this.numDefect_Compress_SavePath_AutoClear.TabIndex = 13; + this.numDefect_Compress_SavePath_AutoClear.Value = new decimal(new int[] { + 7, + 0, + 0, + 0}); + // + // chkDefect_Compress_SavePath_AutoClear + // + this.chkDefect_Compress_SavePath_AutoClear.AutoSize = true; + this.chkDefect_Compress_SavePath_AutoClear.ForeColor = System.Drawing.Color.Black; + this.chkDefect_Compress_SavePath_AutoClear.Location = new System.Drawing.Point(234, 32); + this.chkDefect_Compress_SavePath_AutoClear.Margin = new System.Windows.Forms.Padding(2); + this.chkDefect_Compress_SavePath_AutoClear.Name = "chkDefect_Compress_SavePath_AutoClear"; + this.chkDefect_Compress_SavePath_AutoClear.Size = new System.Drawing.Size(96, 16); + this.chkDefect_Compress_SavePath_AutoClear.TabIndex = 12; + this.chkDefect_Compress_SavePath_AutoClear.Text = "自动清除大于"; + this.chkDefect_Compress_SavePath_AutoClear.UseVisualStyleBackColor = true; + // + // tbDefectCompressSavePath + // + this.tbDefectCompressSavePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbDefectCompressSavePath.Location = new System.Drawing.Point(81, 5); + this.tbDefectCompressSavePath.Margin = new System.Windows.Forms.Padding(2); + this.tbDefectCompressSavePath.Name = "tbDefectCompressSavePath"; + this.tbDefectCompressSavePath.ReadOnly = true; + this.tbDefectCompressSavePath.Size = new System.Drawing.Size(637, 21); + this.tbDefectCompressSavePath.TabIndex = 5; + this.tbDefectCompressSavePath.Text = "D:\\phtons\\"; + // + // label50 + // + this.label50.AutoSize = true; + this.label50.ForeColor = System.Drawing.Color.Black; + this.label50.Location = new System.Drawing.Point(10, 8); + this.label50.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label50.Name = "label50"; + this.label50.Size = new System.Drawing.Size(65, 12); + this.label50.TabIndex = 4; + this.label50.Text = "保存路径:"; + // + // groupBox17 + // + this.groupBox17.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox17.Controls.Add(this.panel17); + this.groupBox17.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox17.ForeColor = System.Drawing.Color.White; + this.groupBox17.Location = new System.Drawing.Point(3, 88); + this.groupBox17.Margin = new System.Windows.Forms.Padding(2); + this.groupBox17.Name = "groupBox17"; + this.groupBox17.Padding = new System.Windows.Forms.Padding(2); + this.groupBox17.Size = new System.Drawing.Size(805, 75); + this.groupBox17.TabIndex = 32; + this.groupBox17.TabStop = false; + this.groupBox17.Text = "瑕疵小图"; + // + // panel17 + // + this.panel17.BackColor = System.Drawing.Color.White; + this.panel17.Controls.Add(this.btnClearDefect_Small_Path); + this.panel17.Controls.Add(this.label53); + this.panel17.Controls.Add(this.tbDefectSmallPath); + this.panel17.Controls.Add(this.numDefect_Small_Path_AutoClear); + this.panel17.Controls.Add(this.label41); + this.panel17.Controls.Add(this.chkDefect_Small_Path_AutoClear); + this.panel17.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel17.Location = new System.Drawing.Point(2, 16); + this.panel17.Margin = new System.Windows.Forms.Padding(2); + this.panel17.Name = "panel17"; + this.panel17.Size = new System.Drawing.Size(801, 57); + this.panel17.TabIndex = 0; + // + // btnClearDefect_Small_Path + // + this.btnClearDefect_Small_Path.Image = ((System.Drawing.Image)(resources.GetObject("btnClearDefect_Small_Path.Image"))); + this.btnClearDefect_Small_Path.Location = new System.Drawing.Point(735, 5); + this.btnClearDefect_Small_Path.Margin = new System.Windows.Forms.Padding(2); + this.btnClearDefect_Small_Path.Name = "btnClearDefect_Small_Path"; + this.btnClearDefect_Small_Path.Size = new System.Drawing.Size(21, 19); + this.btnClearDefect_Small_Path.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.btnClearDefect_Small_Path.TabIndex = 6; + this.btnClearDefect_Small_Path.TabStop = false; + // + // label53 + // + this.label53.AutoSize = true; + this.label53.ForeColor = System.Drawing.Color.Black; + this.label53.Location = new System.Drawing.Point(381, 33); + this.label53.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label53.Name = "label53"; + this.label53.Size = new System.Drawing.Size(17, 12); + this.label53.TabIndex = 14; + this.label53.Text = "天"; + // + // tbDefectSmallPath + // + this.tbDefectSmallPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbDefectSmallPath.Location = new System.Drawing.Point(79, 5); + this.tbDefectSmallPath.Margin = new System.Windows.Forms.Padding(2); + this.tbDefectSmallPath.Name = "tbDefectSmallPath"; + this.tbDefectSmallPath.ReadOnly = true; + this.tbDefectSmallPath.Size = new System.Drawing.Size(639, 21); + this.tbDefectSmallPath.TabIndex = 5; + this.tbDefectSmallPath.Text = "D:\\phtons\\"; + // + // numDefect_Small_Path_AutoClear + // + this.numDefect_Small_Path_AutoClear.DecimalPlaces = 1; + this.numDefect_Small_Path_AutoClear.Location = new System.Drawing.Point(334, 30); + this.numDefect_Small_Path_AutoClear.Margin = new System.Windows.Forms.Padding(2); + this.numDefect_Small_Path_AutoClear.Name = "numDefect_Small_Path_AutoClear"; + this.numDefect_Small_Path_AutoClear.Size = new System.Drawing.Size(43, 21); + this.numDefect_Small_Path_AutoClear.TabIndex = 13; + this.numDefect_Small_Path_AutoClear.Value = new decimal(new int[] { + 7, + 0, + 0, + 0}); + // + // label41 + // + this.label41.AutoSize = true; + this.label41.ForeColor = System.Drawing.Color.Black; + this.label41.Location = new System.Drawing.Point(10, 10); + this.label41.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label41.Name = "label41"; + this.label41.Size = new System.Drawing.Size(65, 12); + this.label41.TabIndex = 4; + this.label41.Text = "保存路径:"; + // + // chkDefect_Small_Path_AutoClear + // + this.chkDefect_Small_Path_AutoClear.AutoSize = true; + this.chkDefect_Small_Path_AutoClear.ForeColor = System.Drawing.Color.Black; + this.chkDefect_Small_Path_AutoClear.Location = new System.Drawing.Point(234, 33); + this.chkDefect_Small_Path_AutoClear.Margin = new System.Windows.Forms.Padding(2); + this.chkDefect_Small_Path_AutoClear.Name = "chkDefect_Small_Path_AutoClear"; + this.chkDefect_Small_Path_AutoClear.Size = new System.Drawing.Size(96, 16); + this.chkDefect_Small_Path_AutoClear.TabIndex = 12; + this.chkDefect_Small_Path_AutoClear.Text = "自动清除大于"; + this.chkDefect_Small_Path_AutoClear.UseVisualStyleBackColor = true; + // + // groupBox1 + // + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox1.Controls.Add(this.panel1); + this.groupBox1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox1.ForeColor = System.Drawing.Color.White; + this.groupBox1.Location = new System.Drawing.Point(3, 10); + this.groupBox1.Margin = new System.Windows.Forms.Padding(2); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(2); + this.groupBox1.Size = new System.Drawing.Size(805, 75); + this.groupBox1.TabIndex = 31; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "瑕疵原图"; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.Controls.Add(this.btnClearDefect_Path); + this.panel1.Controls.Add(this.label51); + this.panel1.Controls.Add(this.numDefect_Path_AutoClear); + this.panel1.Controls.Add(this.chkDefect_Path_AutoClear); + this.panel1.Controls.Add(this.chkSaveAllDefectImg); + this.panel1.Controls.Add(this.tbDefectPath); + this.panel1.Controls.Add(this.label1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(2, 16); + this.panel1.Margin = new System.Windows.Forms.Padding(2); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(801, 57); + this.panel1.TabIndex = 0; + // + // btnClearDefect_Path + // + this.btnClearDefect_Path.Image = ((System.Drawing.Image)(resources.GetObject("btnClearDefect_Path.Image"))); + this.btnClearDefect_Path.Location = new System.Drawing.Point(735, 6); + this.btnClearDefect_Path.Margin = new System.Windows.Forms.Padding(2); + this.btnClearDefect_Path.Name = "btnClearDefect_Path"; + this.btnClearDefect_Path.Size = new System.Drawing.Size(21, 19); + this.btnClearDefect_Path.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.btnClearDefect_Path.TabIndex = 12; + this.btnClearDefect_Path.TabStop = false; + // + // label51 + // + this.label51.AutoSize = true; + this.label51.ForeColor = System.Drawing.Color.Black; + this.label51.Location = new System.Drawing.Point(381, 31); + this.label51.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label51.Name = "label51"; + this.label51.Size = new System.Drawing.Size(17, 12); + this.label51.TabIndex = 11; + this.label51.Text = "天"; + // + // numDefect_Path_AutoClear + // + this.numDefect_Path_AutoClear.DecimalPlaces = 1; + this.numDefect_Path_AutoClear.Location = new System.Drawing.Point(334, 29); + this.numDefect_Path_AutoClear.Margin = new System.Windows.Forms.Padding(2); + this.numDefect_Path_AutoClear.Name = "numDefect_Path_AutoClear"; + this.numDefect_Path_AutoClear.Size = new System.Drawing.Size(43, 21); + this.numDefect_Path_AutoClear.TabIndex = 10; + this.numDefect_Path_AutoClear.Value = new decimal(new int[] { + 7, + 0, + 0, + 0}); + // + // chkDefect_Path_AutoClear + // + this.chkDefect_Path_AutoClear.AutoSize = true; + this.chkDefect_Path_AutoClear.ForeColor = System.Drawing.Color.Black; + this.chkDefect_Path_AutoClear.Location = new System.Drawing.Point(234, 30); + this.chkDefect_Path_AutoClear.Margin = new System.Windows.Forms.Padding(2); + this.chkDefect_Path_AutoClear.Name = "chkDefect_Path_AutoClear"; + this.chkDefect_Path_AutoClear.Size = new System.Drawing.Size(96, 16); + this.chkDefect_Path_AutoClear.TabIndex = 9; + this.chkDefect_Path_AutoClear.Text = "自动清除大于"; + this.chkDefect_Path_AutoClear.UseVisualStyleBackColor = true; + // + // chkSaveAllDefectImg + // + this.chkSaveAllDefectImg.AutoSize = true; + this.chkSaveAllDefectImg.ForeColor = System.Drawing.Color.Black; + this.chkSaveAllDefectImg.Location = new System.Drawing.Point(79, 32); + this.chkSaveAllDefectImg.Margin = new System.Windows.Forms.Padding(2); + this.chkSaveAllDefectImg.Name = "chkSaveAllDefectImg"; + this.chkSaveAllDefectImg.Size = new System.Drawing.Size(120, 16); + this.chkSaveAllDefectImg.TabIndex = 6; + this.chkSaveAllDefectImg.Text = "保存所有无缺陷图"; + this.chkSaveAllDefectImg.UseVisualStyleBackColor = true; + // + // tbDefectPath + // + this.tbDefectPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbDefectPath.Location = new System.Drawing.Point(79, 4); + this.tbDefectPath.Margin = new System.Windows.Forms.Padding(2); + this.tbDefectPath.Name = "tbDefectPath"; + this.tbDefectPath.ReadOnly = true; + this.tbDefectPath.Size = new System.Drawing.Size(639, 21); + this.tbDefectPath.TabIndex = 5; + this.tbDefectPath.Text = "D:\\phtons\\"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.ForeColor = System.Drawing.Color.Black; + this.label1.Location = new System.Drawing.Point(10, 7); + this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(65, 12); + this.label1.TabIndex = 4; + this.label1.Text = "保存路径:"; + // + // skinTabPage6 + // + this.skinTabPage6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.skinTabPage6.Controls.Add(this.groupBox23); + this.skinTabPage6.Controls.Add(this.groupBox14); + this.skinTabPage6.Controls.Add(this.groupBox13); + this.skinTabPage6.Controls.Add(this.groupBox8); + this.skinTabPage6.Controls.Add(this.groupBox2); + this.skinTabPage6.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabPage6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.skinTabPage6.Location = new System.Drawing.Point(0, 36); + this.skinTabPage6.Name = "skinTabPage6"; + this.skinTabPage6.Size = new System.Drawing.Size(819, 441); + this.skinTabPage6.TabIndex = 5; + this.skinTabPage6.TabItemImage = null; + this.skinTabPage6.Text = "系统设置"; + // + // groupBox23 + // + this.groupBox23.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox23.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox23.Controls.Add(this.panel23); + this.groupBox23.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox23.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox23.Location = new System.Drawing.Point(1, 61); + this.groupBox23.Margin = new System.Windows.Forms.Padding(2); + this.groupBox23.Name = "groupBox23"; + this.groupBox23.Padding = new System.Windows.Forms.Padding(2); + this.groupBox23.Size = new System.Drawing.Size(808, 55); + this.groupBox23.TabIndex = 37; + this.groupBox23.TabStop = false; + this.groupBox23.Text = "产品文件路径"; + // + // panel23 + // + this.panel23.BackColor = System.Drawing.Color.White; + this.panel23.Controls.Add(this.tbPdtPath); + this.panel23.Controls.Add(this.label77); + this.panel23.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel23.Location = new System.Drawing.Point(2, 16); + this.panel23.Margin = new System.Windows.Forms.Padding(2); + this.panel23.Name = "panel23"; + this.panel23.Size = new System.Drawing.Size(804, 37); + this.panel23.TabIndex = 0; + // + // tbPdtPath + // + this.tbPdtPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbPdtPath.Location = new System.Drawing.Point(80, 8); + this.tbPdtPath.Margin = new System.Windows.Forms.Padding(2); + this.tbPdtPath.Name = "tbPdtPath"; + this.tbPdtPath.ReadOnly = true; + this.tbPdtPath.Size = new System.Drawing.Size(716, 21); + this.tbPdtPath.TabIndex = 5; + this.tbPdtPath.Text = "D:\\phtons\\"; + // + // label77 + // + this.label77.AutoSize = true; + this.label77.ForeColor = System.Drawing.SystemColors.ControlText; + this.label77.Location = new System.Drawing.Point(10, 10); + this.label77.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label77.Name = "label77"; + this.label77.Size = new System.Drawing.Size(65, 12); + this.label77.TabIndex = 4; + this.label77.Text = "产品路径:"; + // + // groupBox14 + // + this.groupBox14.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox14.Controls.Add(this.panel14); + this.groupBox14.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox14.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox14.Location = new System.Drawing.Point(1, 269); + this.groupBox14.Margin = new System.Windows.Forms.Padding(2); + this.groupBox14.Name = "groupBox14"; + this.groupBox14.Padding = new System.Windows.Forms.Padding(2); + this.groupBox14.Size = new System.Drawing.Size(807, 135); + this.groupBox14.TabIndex = 36; + this.groupBox14.TabStop = false; + this.groupBox14.Text = "拼接参数"; + // + // panel14 + // + this.panel14.BackColor = System.Drawing.Color.White; + this.panel14.Controls.Add(this.numericUpDown3); + this.panel14.Controls.Add(this.label16); + this.panel14.Controls.Add(this.numericUpDown4); + this.panel14.Controls.Add(this.label17); + this.panel14.Controls.Add(this.numericUpDown1); + this.panel14.Controls.Add(this.label14); + this.panel14.Controls.Add(this.numericUpDown2); + this.panel14.Controls.Add(this.label15); + this.panel14.Controls.Add(this.numViewY); + this.panel14.Controls.Add(this.label22); + this.panel14.Controls.Add(this.numViewX); + this.panel14.Controls.Add(this.label21); + this.panel14.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel14.Location = new System.Drawing.Point(2, 16); + this.panel14.Margin = new System.Windows.Forms.Padding(2); + this.panel14.Name = "panel14"; + this.panel14.Size = new System.Drawing.Size(803, 117); + this.panel14.TabIndex = 0; + // + // numViewY + // + this.numViewY.DecimalPlaces = 2; + this.numViewY.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numViewY.Increment = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numViewY.Location = new System.Drawing.Point(512, 12); + this.numViewY.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numViewY.Name = "numViewY"; + this.numViewY.Size = new System.Drawing.Size(120, 23); + this.numViewY.TabIndex = 11; + this.numViewY.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.numViewY.Value = new decimal(new int[] { + 10, + 0, + 0, + 0}); + // + // label22 + // + this.label22.AutoSize = true; + this.label22.ForeColor = System.Drawing.SystemColors.ControlText; + this.label22.Location = new System.Drawing.Point(382, 17); + this.label22.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(125, 12); + this.label22.TabIndex = 10; + this.label22.Text = "Y方向比例(像素/cm):"; + // + // numViewX + // + this.numViewX.DecimalPlaces = 2; + this.numViewX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numViewX.Increment = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numViewX.Location = new System.Drawing.Point(205, 12); + this.numViewX.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numViewX.Name = "numViewX"; + this.numViewX.Size = new System.Drawing.Size(120, 23); + this.numViewX.TabIndex = 9; + this.numViewX.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.numViewX.Value = new decimal(new int[] { + 10, + 0, + 0, + 0}); + // + // label21 + // + this.label21.AutoSize = true; + this.label21.ForeColor = System.Drawing.SystemColors.ControlText; + this.label21.Location = new System.Drawing.Point(78, 17); + this.label21.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(125, 12); + this.label21.TabIndex = 8; + this.label21.Text = "X方向比例(像素/cm):"; + // + // groupBox13 + // + this.groupBox13.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox13.Controls.Add(this.panel13); + this.groupBox13.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox13.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox13.Location = new System.Drawing.Point(2, 199); + this.groupBox13.Margin = new System.Windows.Forms.Padding(2); + this.groupBox13.Name = "groupBox13"; + this.groupBox13.Padding = new System.Windows.Forms.Padding(2); + this.groupBox13.Size = new System.Drawing.Size(807, 66); + this.groupBox13.TabIndex = 35; + this.groupBox13.TabStop = false; + this.groupBox13.Text = "主界面设置(调试)"; + // + // panel13 + // + this.panel13.BackColor = System.Drawing.Color.White; + this.panel13.Controls.Add(this.cbShowBtn); + this.panel13.Controls.Add(this.cbDoorAlm); + this.panel13.Controls.Add(this.cbBuzzShow); + this.panel13.Controls.Add(this.cbResetBtn); + this.panel13.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel13.Location = new System.Drawing.Point(2, 16); + this.panel13.Margin = new System.Windows.Forms.Padding(2); + this.panel13.Name = "panel13"; + this.panel13.Size = new System.Drawing.Size(803, 48); + this.panel13.TabIndex = 0; + // + // cbShowBtn + // + this.cbShowBtn.AutoSize = true; + this.cbShowBtn.ForeColor = System.Drawing.SystemColors.ControlText; + this.cbShowBtn.Location = new System.Drawing.Point(569, 19); + this.cbShowBtn.Margin = new System.Windows.Forms.Padding(2); + this.cbShowBtn.Name = "cbShowBtn"; + this.cbShowBtn.Size = new System.Drawing.Size(96, 16); + this.cbShowBtn.TabIndex = 11; + this.cbShowBtn.Text = "显示分布查看"; + this.cbShowBtn.UseVisualStyleBackColor = true; + // + // cbDoorAlm + // + this.cbDoorAlm.AutoSize = true; + this.cbDoorAlm.ForeColor = System.Drawing.SystemColors.ControlText; + this.cbDoorAlm.Location = new System.Drawing.Point(410, 19); + this.cbDoorAlm.Margin = new System.Windows.Forms.Padding(2); + this.cbDoorAlm.Name = "cbDoorAlm"; + this.cbDoorAlm.Size = new System.Drawing.Size(96, 16); + this.cbDoorAlm.TabIndex = 10; + this.cbDoorAlm.Text = "显示门磁控制"; + this.cbDoorAlm.UseVisualStyleBackColor = true; + // + // cbBuzzShow + // + this.cbBuzzShow.AutoSize = true; + this.cbBuzzShow.ForeColor = System.Drawing.SystemColors.ControlText; + this.cbBuzzShow.Location = new System.Drawing.Point(239, 19); + this.cbBuzzShow.Margin = new System.Windows.Forms.Padding(2); + this.cbBuzzShow.Name = "cbBuzzShow"; + this.cbBuzzShow.Size = new System.Drawing.Size(108, 16); + this.cbBuzzShow.TabIndex = 9; + this.cbBuzzShow.Text = "显示蜂鸣器控制"; + this.cbBuzzShow.UseVisualStyleBackColor = true; + // + // cbResetBtn + // + this.cbResetBtn.AutoSize = true; + this.cbResetBtn.ForeColor = System.Drawing.SystemColors.ControlText; + this.cbResetBtn.Location = new System.Drawing.Point(79, 19); + this.cbResetBtn.Margin = new System.Windows.Forms.Padding(2); + this.cbResetBtn.Name = "cbResetBtn"; + this.cbResetBtn.Size = new System.Drawing.Size(96, 16); + this.cbResetBtn.TabIndex = 8; + this.cbResetBtn.Text = "显示复位按钮"; + this.cbResetBtn.UseVisualStyleBackColor = true; + // + // groupBox8 + // + this.groupBox8.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox8.Controls.Add(this.panel8); + this.groupBox8.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox8.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox8.Location = new System.Drawing.Point(1, 2); + this.groupBox8.Margin = new System.Windows.Forms.Padding(2); + this.groupBox8.Name = "groupBox8"; + this.groupBox8.Padding = new System.Windows.Forms.Padding(2); + this.groupBox8.Size = new System.Drawing.Size(808, 55); + this.groupBox8.TabIndex = 33; + this.groupBox8.TabStop = false; + this.groupBox8.Text = "模型路径"; + // + // panel8 + // + this.panel8.BackColor = System.Drawing.Color.White; + this.panel8.Controls.Add(this.tbModelPath); + this.panel8.Controls.Add(this.label11); + this.panel8.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel8.Location = new System.Drawing.Point(2, 16); + this.panel8.Margin = new System.Windows.Forms.Padding(2); + this.panel8.Name = "panel8"; + this.panel8.Size = new System.Drawing.Size(804, 37); + this.panel8.TabIndex = 0; + // + // tbModelPath + // + this.tbModelPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbModelPath.Location = new System.Drawing.Point(80, 8); + this.tbModelPath.Margin = new System.Windows.Forms.Padding(2); + this.tbModelPath.Name = "tbModelPath"; + this.tbModelPath.ReadOnly = true; + this.tbModelPath.Size = new System.Drawing.Size(716, 21); + this.tbModelPath.TabIndex = 5; + this.tbModelPath.Text = "D:\\phtons\\"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.ForeColor = System.Drawing.SystemColors.ControlText; + this.label11.Location = new System.Drawing.Point(10, 10); + this.label11.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(65, 12); + this.label11.TabIndex = 4; + this.label11.Text = "模型路径:"; + // + // groupBox2 + // + this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.groupBox2.Controls.Add(this.panel2); + this.groupBox2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox2.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox2.Location = new System.Drawing.Point(2, 120); + this.groupBox2.Margin = new System.Windows.Forms.Padding(2); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Padding = new System.Windows.Forms.Padding(2); + this.groupBox2.Size = new System.Drawing.Size(807, 75); + this.groupBox2.TabIndex = 28; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "日志"; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.numLogDays); + this.panel2.Controls.Add(this.ckbAutoClear); + this.panel2.Controls.Add(this.tbLogPath); + this.panel2.Controls.Add(this.label2); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(2, 16); + this.panel2.Margin = new System.Windows.Forms.Padding(2); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(803, 57); + this.panel2.TabIndex = 0; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlText; + this.label3.Location = new System.Drawing.Point(226, 36); + this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(17, 12); + this.label3.TabIndex = 9; + this.label3.Text = "天"; + // + // numLogDays + // + this.numLogDays.DecimalPlaces = 1; + this.numLogDays.Location = new System.Drawing.Point(179, 34); + this.numLogDays.Margin = new System.Windows.Forms.Padding(2); + this.numLogDays.Name = "numLogDays"; + this.numLogDays.Size = new System.Drawing.Size(43, 21); + this.numLogDays.TabIndex = 8; + this.numLogDays.Value = new decimal(new int[] { + 90, + 0, + 0, + 0}); + // + // ckbAutoClear + // + this.ckbAutoClear.AutoSize = true; + this.ckbAutoClear.ForeColor = System.Drawing.SystemColors.ControlText; + this.ckbAutoClear.Location = new System.Drawing.Point(79, 35); + this.ckbAutoClear.Margin = new System.Windows.Forms.Padding(2); + this.ckbAutoClear.Name = "ckbAutoClear"; + this.ckbAutoClear.Size = new System.Drawing.Size(96, 16); + this.ckbAutoClear.TabIndex = 7; + this.ckbAutoClear.Text = "自动清除大于"; + this.ckbAutoClear.UseVisualStyleBackColor = true; + // + // tbLogPath + // + this.tbLogPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tbLogPath.Location = new System.Drawing.Point(79, 7); + this.tbLogPath.Margin = new System.Windows.Forms.Padding(2); + this.tbLogPath.Name = "tbLogPath"; + this.tbLogPath.ReadOnly = true; + this.tbLogPath.Size = new System.Drawing.Size(714, 21); + this.tbLogPath.TabIndex = 5; + this.tbLogPath.Text = ".\\Logs\\"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlText; + this.label2.Location = new System.Drawing.Point(10, 10); + this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(65, 12); + this.label2.TabIndex = 4; + this.label2.Text = "保存路径:"; + // + // skinTabPage8 + // + this.skinTabPage8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.skinTabPage8.Controls.Add(this.groupBox6); + this.skinTabPage8.Controls.Add(this.groupBox26); + this.skinTabPage8.Dock = System.Windows.Forms.DockStyle.Fill; + this.skinTabPage8.Location = new System.Drawing.Point(0, 36); + this.skinTabPage8.Name = "skinTabPage8"; + this.skinTabPage8.Size = new System.Drawing.Size(819, 441); + this.skinTabPage8.TabIndex = 8; + this.skinTabPage8.TabItemImage = null; + this.skinTabPage8.Text = "打印设置"; + // + // toolStrip1 + // + this.toolStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(51)))), ((int)(((byte)(122))))); + this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.toolStrip1.ImageScalingSize = new System.Drawing.Size(32, 32); + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsbtnSave, + this.tsbtnDataSave, + this.tsbtnDatImport, + this.toolStripSeparator2, + this.tsbtnExit}); + this.toolStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow; + this.toolStrip1.Location = new System.Drawing.Point(0, 46); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; + this.toolStrip1.Size = new System.Drawing.Size(819, 56); + this.toolStrip1.TabIndex = 24; + this.toolStrip1.Text = "toolStrip1"; + // + // tsbtnSave + // + this.tsbtnSave.ForeColor = System.Drawing.SystemColors.Control; + this.tsbtnSave.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnSave.Image"))); + this.tsbtnSave.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnSave.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnSave.Name = "tsbtnSave"; + this.tsbtnSave.Size = new System.Drawing.Size(52, 53); + this.tsbtnSave.Text = " 保存 "; + this.tsbtnSave.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // tsbtnDataSave + // + this.tsbtnDataSave.ForeColor = System.Drawing.SystemColors.Control; + this.tsbtnDataSave.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnDataSave.Image"))); + this.tsbtnDataSave.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnDataSave.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnDataSave.Name = "tsbtnDataSave"; + this.tsbtnDataSave.Size = new System.Drawing.Size(72, 53); + this.tsbtnDataSave.Text = "数据库备份"; + this.tsbtnDataSave.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // tsbtnDatImport + // + this.tsbtnDatImport.ForeColor = System.Drawing.SystemColors.Control; + this.tsbtnDatImport.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnDatImport.Image"))); + this.tsbtnDatImport.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnDatImport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnDatImport.Name = "tsbtnDatImport"; + this.tsbtnDatImport.Size = new System.Drawing.Size(72, 53); + this.tsbtnDatImport.Text = "数据库导入"; + this.tsbtnDatImport.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(6, 56); + // + // tsbtnExit + // + this.tsbtnExit.ForeColor = System.Drawing.SystemColors.Control; + this.tsbtnExit.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnExit.Image"))); + this.tsbtnExit.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.tsbtnExit.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsbtnExit.Name = "tsbtnExit"; + this.tsbtnExit.Size = new System.Drawing.Size(52, 53); + this.tsbtnExit.Text = " 退出 "; + this.tsbtnExit.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + // + // uiTitel1 + // + this.uiTitel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); + this.uiTitel1.Dock = System.Windows.Forms.DockStyle.Top; + this.uiTitel1.FatherForm = null; + this.uiTitel1.Location = new System.Drawing.Point(0, 0); + this.uiTitel1.Name = "uiTitel1"; + this.uiTitel1.Size = new System.Drawing.Size(819, 46); + this.uiTitel1.TabIndex = 23; + // + // panel26 + // + this.panel26.BackColor = System.Drawing.Color.White; + this.panel26.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel26.ForeColor = System.Drawing.SystemColors.ControlText; + this.panel26.Location = new System.Drawing.Point(2, 16); + this.panel26.Margin = new System.Windows.Forms.Padding(2); + this.panel26.Name = "panel26"; + this.panel26.Size = new System.Drawing.Size(734, 68); + this.panel26.TabIndex = 0; + // + // cbOpenBarTenderPrint + // + this.cbOpenBarTenderPrint.AutoSize = true; + this.cbOpenBarTenderPrint.ForeColor = System.Drawing.SystemColors.ControlText; + this.cbOpenBarTenderPrint.Location = new System.Drawing.Point(10, 10); + this.cbOpenBarTenderPrint.Margin = new System.Windows.Forms.Padding(2); + this.cbOpenBarTenderPrint.Name = "cbOpenBarTenderPrint"; + this.cbOpenBarTenderPrint.Size = new System.Drawing.Size(96, 16); + this.cbOpenBarTenderPrint.TabIndex = 12; + this.cbOpenBarTenderPrint.Text = "启用标签打印"; + this.cbOpenBarTenderPrint.UseVisualStyleBackColor = true; + this.cbOpenBarTenderPrint.Visible = false; + // + // label75 + // + this.label75.AutoSize = true; + this.label75.ForeColor = System.Drawing.SystemColors.ControlText; + this.label75.Location = new System.Drawing.Point(8, 34); + this.label75.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label75.Name = "label75"; + this.label75.Size = new System.Drawing.Size(53, 12); + this.label75.TabIndex = 13; + // + // cboPrinters + // + this.cboPrinters.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboPrinters.FormattingEnabled = true; + this.cboPrinters.Location = new System.Drawing.Point(77, 31); + this.cboPrinters.Name = "cboPrinters"; + this.cboPrinters.Size = new System.Drawing.Size(443, 20); + this.cboPrinters.Sorted = true; + this.cboPrinters.TabIndex = 14; + // + // btnPrint + // + this.btnPrint.Location = new System.Drawing.Point(597, 28); + this.btnPrint.Name = "btnPrint"; + this.btnPrint.Size = new System.Drawing.Size(75, 21); + this.btnPrint.TabIndex = 15; + this.btnPrint.Text = "打印测试"; + this.btnPrint.UseVisualStyleBackColor = true; + this.btnPrint.Visible = false; + // + // panel27 + // + this.panel27.BackColor = System.Drawing.Color.White; + this.panel27.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel27.Location = new System.Drawing.Point(2, 16); + this.panel27.Margin = new System.Windows.Forms.Padding(2); + this.panel27.Name = "panel27"; + this.panel27.Size = new System.Drawing.Size(734, 79); + this.panel27.TabIndex = 0; + // + // cbOpenExcelPrint + // + this.cbOpenExcelPrint.AutoSize = true; + this.cbOpenExcelPrint.ForeColor = System.Drawing.SystemColors.ControlText; + this.cbOpenExcelPrint.Location = new System.Drawing.Point(10, 10); + this.cbOpenExcelPrint.Margin = new System.Windows.Forms.Padding(2); + this.cbOpenExcelPrint.Name = "cbOpenExcelPrint"; + this.cbOpenExcelPrint.Size = new System.Drawing.Size(126, 16); + this.cbOpenExcelPrint.TabIndex = 12; + this.cbOpenExcelPrint.Text = "启用Excel文件打印"; + this.cbOpenExcelPrint.UseVisualStyleBackColor = true; + this.cbOpenExcelPrint.Visible = false; + // + // label31 + // + this.label31.AutoSize = true; + this.label31.ForeColor = System.Drawing.SystemColors.ControlText; + this.label31.Location = new System.Drawing.Point(8, 38); + this.label31.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label31.Name = "label31"; + this.label31.Size = new System.Drawing.Size(53, 12); + this.label31.TabIndex = 13; + // + // cboPrinters2 + // + this.cboPrinters2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboPrinters2.FormattingEnabled = true; + this.cboPrinters2.Location = new System.Drawing.Point(77, 35); + this.cboPrinters2.Name = "cboPrinters2"; + this.cboPrinters2.Size = new System.Drawing.Size(443, 20); + this.cboPrinters2.Sorted = true; + this.cboPrinters2.TabIndex = 14; + // + // btnPrint2 + // + this.btnPrint2.ForeColor = System.Drawing.SystemColors.ControlText; + this.btnPrint2.Location = new System.Drawing.Point(597, 32); + this.btnPrint2.Name = "btnPrint2"; + this.btnPrint2.Size = new System.Drawing.Size(75, 21); + this.btnPrint2.TabIndex = 15; + this.btnPrint2.Text = "打印测试"; + this.btnPrint2.UseVisualStyleBackColor = true; + this.btnPrint2.Visible = false; + // + // groupBox26 + // + this.groupBox26.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox26.BackColor = System.Drawing.Color.Transparent; + this.groupBox26.Controls.Add(this.panel6); + this.groupBox26.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox26.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox26.Location = new System.Drawing.Point(2, 2); + this.groupBox26.Margin = new System.Windows.Forms.Padding(2); + this.groupBox26.Name = "groupBox26"; + this.groupBox26.Padding = new System.Windows.Forms.Padding(2); + this.groupBox26.Size = new System.Drawing.Size(806, 90); + this.groupBox26.TabIndex = 34; + this.groupBox26.TabStop = false; + this.groupBox26.Text = "标签打印"; + // + // panel6 + // + this.panel6.BackColor = System.Drawing.Color.White; + this.panel6.Controls.Add(this.button1); + this.panel6.Controls.Add(this.comboBox1); + this.panel6.Controls.Add(this.label12); + this.panel6.Controls.Add(this.checkBox1); + this.panel6.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel6.ForeColor = System.Drawing.SystemColors.ControlText; + this.panel6.Location = new System.Drawing.Point(2, 16); + this.panel6.Margin = new System.Windows.Forms.Padding(2); + this.panel6.Name = "panel6"; + this.panel6.Size = new System.Drawing.Size(802, 72); + this.panel6.TabIndex = 0; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(600, 28); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 21); + this.button1.TabIndex = 15; + this.button1.Text = "打印测试"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Visible = false; + // + // comboBox1 + // + this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Location = new System.Drawing.Point(80, 31); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(443, 20); + this.comboBox1.Sorted = true; + this.comboBox1.TabIndex = 14; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.ForeColor = System.Drawing.SystemColors.ControlText; + this.label12.Location = new System.Drawing.Point(11, 34); + this.label12.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(53, 12); + this.label12.TabIndex = 13; + this.label12.Text = "打印机:"; + // + // checkBox1 + // + this.checkBox1.AutoSize = true; + this.checkBox1.ForeColor = System.Drawing.SystemColors.ControlText; + this.checkBox1.Location = new System.Drawing.Point(10, 10); + this.checkBox1.Margin = new System.Windows.Forms.Padding(2); + this.checkBox1.Name = "checkBox1"; + this.checkBox1.Size = new System.Drawing.Size(96, 16); + this.checkBox1.TabIndex = 12; + this.checkBox1.Text = "启用标签打印"; + this.checkBox1.UseVisualStyleBackColor = true; + this.checkBox1.Visible = false; + // + // groupBox6 + // + this.groupBox6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBox6.BackColor = System.Drawing.Color.Transparent; + this.groupBox6.Controls.Add(this.panel9); + this.groupBox6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.groupBox6.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.groupBox6.Location = new System.Drawing.Point(2, 105); + this.groupBox6.Margin = new System.Windows.Forms.Padding(2); + this.groupBox6.Name = "groupBox6"; + this.groupBox6.Padding = new System.Windows.Forms.Padding(2); + this.groupBox6.Size = new System.Drawing.Size(806, 90); + this.groupBox6.TabIndex = 35; + this.groupBox6.TabStop = false; + this.groupBox6.Text = "Excel打印"; + // + // panel9 + // + this.panel9.BackColor = System.Drawing.Color.White; + this.panel9.Controls.Add(this.button2); + this.panel9.Controls.Add(this.comboBox2); + this.panel9.Controls.Add(this.label13); + this.panel9.Controls.Add(this.checkBox2); + this.panel9.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel9.ForeColor = System.Drawing.SystemColors.ControlText; + this.panel9.Location = new System.Drawing.Point(2, 16); + this.panel9.Margin = new System.Windows.Forms.Padding(2); + this.panel9.Name = "panel9"; + this.panel9.Size = new System.Drawing.Size(802, 72); + this.panel9.TabIndex = 0; + // + // button2 + // + this.button2.Location = new System.Drawing.Point(600, 28); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 21); + this.button2.TabIndex = 15; + this.button2.Text = "打印测试"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Visible = false; + // + // comboBox2 + // + this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox2.FormattingEnabled = true; + this.comboBox2.Location = new System.Drawing.Point(80, 31); + this.comboBox2.Name = "comboBox2"; + this.comboBox2.Size = new System.Drawing.Size(443, 20); + this.comboBox2.Sorted = true; + this.comboBox2.TabIndex = 14; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.ForeColor = System.Drawing.SystemColors.ControlText; + this.label13.Location = new System.Drawing.Point(11, 34); + this.label13.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(53, 12); + this.label13.TabIndex = 13; + this.label13.Text = "打印机:"; + // + // checkBox2 + // + this.checkBox2.AutoSize = true; + this.checkBox2.ForeColor = System.Drawing.SystemColors.ControlText; + this.checkBox2.Location = new System.Drawing.Point(10, 10); + this.checkBox2.Margin = new System.Windows.Forms.Padding(2); + this.checkBox2.Name = "checkBox2"; + this.checkBox2.Size = new System.Drawing.Size(102, 16); + this.checkBox2.TabIndex = 12; + this.checkBox2.Text = "启用Excel打印"; + this.checkBox2.UseVisualStyleBackColor = true; + this.checkBox2.Visible = false; + // + // numericUpDown1 + // + this.numericUpDown1.DecimalPlaces = 2; + this.numericUpDown1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numericUpDown1.Increment = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numericUpDown1.Location = new System.Drawing.Point(512, 47); + this.numericUpDown1.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numericUpDown1.Name = "numericUpDown1"; + this.numericUpDown1.Size = new System.Drawing.Size(120, 23); + this.numericUpDown1.TabIndex = 15; + this.numericUpDown1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.numericUpDown1.Value = new decimal(new int[] { + 10, + 0, + 0, + 0}); + // + // label14 + // + this.label14.AutoSize = true; + this.label14.ForeColor = System.Drawing.SystemColors.ControlText; + this.label14.Location = new System.Drawing.Point(382, 52); + this.label14.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(101, 12); + this.label14.TabIndex = 14; + this.label14.Text = "孔位宽度(像素):"; + // + // numericUpDown2 + // + this.numericUpDown2.DecimalPlaces = 2; + this.numericUpDown2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numericUpDown2.Increment = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numericUpDown2.Location = new System.Drawing.Point(205, 47); + this.numericUpDown2.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numericUpDown2.Name = "numericUpDown2"; + this.numericUpDown2.Size = new System.Drawing.Size(120, 23); + this.numericUpDown2.TabIndex = 13; + this.numericUpDown2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.numericUpDown2.Value = new decimal(new int[] { + 10, + 0, + 0, + 0}); + // + // label15 + // + this.label15.AutoSize = true; + this.label15.ForeColor = System.Drawing.SystemColors.ControlText; + this.label15.Location = new System.Drawing.Point(78, 52); + this.label15.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(125, 12); + this.label15.TabIndex = 12; + this.label15.Text = "中间重合像素(像素):"; + // + // numericUpDown3 + // + this.numericUpDown3.DecimalPlaces = 2; + this.numericUpDown3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numericUpDown3.Increment = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numericUpDown3.Location = new System.Drawing.Point(512, 82); + this.numericUpDown3.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numericUpDown3.Name = "numericUpDown3"; + this.numericUpDown3.Size = new System.Drawing.Size(120, 23); + this.numericUpDown3.TabIndex = 19; + this.numericUpDown3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.ForeColor = System.Drawing.SystemColors.ControlText; + this.label16.Location = new System.Drawing.Point(382, 87); + this.label16.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(101, 12); + this.label16.TabIndex = 18; + this.label16.Text = "右侧切边(像素):"; + // + // numericUpDown4 + // + this.numericUpDown4.DecimalPlaces = 2; + this.numericUpDown4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numericUpDown4.Increment = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numericUpDown4.Location = new System.Drawing.Point(205, 82); + this.numericUpDown4.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numericUpDown4.Name = "numericUpDown4"; + this.numericUpDown4.Size = new System.Drawing.Size(120, 23); + this.numericUpDown4.TabIndex = 17; + this.numericUpDown4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.ForeColor = System.Drawing.SystemColors.ControlText; + this.label17.Location = new System.Drawing.Point(78, 87); + this.label17.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(101, 12); + this.label17.TabIndex = 16; + this.label17.Text = "左侧切边(像素):"; + // + // numericUpDown5 + // + this.numericUpDown5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numericUpDown5.Increment = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.numericUpDown5.Location = new System.Drawing.Point(103, 9); + this.numericUpDown5.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numericUpDown5.Name = "numericUpDown5"; + this.numericUpDown5.Size = new System.Drawing.Size(120, 23); + this.numericUpDown5.TabIndex = 8; + this.numericUpDown5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // numericUpDown6 + // + this.numericUpDown6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numericUpDown6.Increment = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.numericUpDown6.Location = new System.Drawing.Point(103, 9); + this.numericUpDown6.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numericUpDown6.Name = "numericUpDown6"; + this.numericUpDown6.Size = new System.Drawing.Size(120, 23); + this.numericUpDown6.TabIndex = 8; + this.numericUpDown6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // numericUpDown7 + // + this.numericUpDown7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numericUpDown7.Increment = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.numericUpDown7.Location = new System.Drawing.Point(373, 9); + this.numericUpDown7.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numericUpDown7.Name = "numericUpDown7"; + this.numericUpDown7.Size = new System.Drawing.Size(120, 23); + this.numericUpDown7.TabIndex = 10; + this.numericUpDown7.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.ForeColor = System.Drawing.SystemColors.ControlText; + this.label20.Location = new System.Drawing.Point(280, 14); + this.label20.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(65, 12); + this.label20.TabIndex = 9; + this.label20.Text = "板卡编号:"; + // + // numericUpDown8 + // + this.numericUpDown8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.numericUpDown8.Increment = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.numericUpDown8.Location = new System.Drawing.Point(373, 9); + this.numericUpDown8.Maximum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.numericUpDown8.Name = "numericUpDown8"; + this.numericUpDown8.Size = new System.Drawing.Size(120, 23); + this.numericUpDown8.TabIndex = 10; + this.numericUpDown8.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.ForeColor = System.Drawing.SystemColors.ControlText; + this.label23.Location = new System.Drawing.Point(280, 14); + this.label23.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(65, 12); + this.label23.TabIndex = 9; + this.label23.Text = "板卡编号:"; + // + // SysSetFrm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(819, 579); + this.Controls.Add(this.skinTabControl1); + this.Controls.Add(this.toolStrip1); + this.Controls.Add(this.uiTitel1); + this.Name = "SysSetFrm"; + this.Text = "SysSetFrm"; + this.skinTabControl1.ResumeLayout(false); + this.skinTabPage1.ResumeLayout(false); + this.skinTabPage1.PerformLayout(); + this.skinTabPage2.ResumeLayout(false); + this.groupBox12.ResumeLayout(false); + this.panel12.ResumeLayout(false); + this.panel12.PerformLayout(); + this.groupBox7.ResumeLayout(false); + this.panel7.ResumeLayout(false); + this.panel7.PerformLayout(); + this.groupBox5.ResumeLayout(false); + this.panel5.ResumeLayout(false); + this.panel5.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.groupBox4.ResumeLayout(false); + this.panel4.ResumeLayout(false); + this.panel4.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numCamBaud)).EndInit(); + this.skinTabPage3.ResumeLayout(false); + this.groupBox25.ResumeLayout(false); + this.panel25.ResumeLayout(false); + this.panel25.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numPdtServerPort)).EndInit(); + this.groupBox24.ResumeLayout(false); + this.panel24.ResumeLayout(false); + this.panel24.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numCloudPort)).EndInit(); + this.skinTabPage4.ResumeLayout(false); + this.groupBox19.ResumeLayout(false); + this.panel19.ResumeLayout(false); + this.panel19.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnClearDefect_Compress_SavePath)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numDefect_Compress_SavePath_AutoClear)).EndInit(); + this.groupBox17.ResumeLayout(false); + this.panel17.ResumeLayout(false); + this.panel17.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnClearDefect_Small_Path)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numDefect_Small_Path_AutoClear)).EndInit(); + this.groupBox1.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.btnClearDefect_Path)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numDefect_Path_AutoClear)).EndInit(); + this.skinTabPage6.ResumeLayout(false); + this.groupBox23.ResumeLayout(false); + this.panel23.ResumeLayout(false); + this.panel23.PerformLayout(); + this.groupBox14.ResumeLayout(false); + this.panel14.ResumeLayout(false); + this.panel14.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numViewY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numViewX)).EndInit(); + this.groupBox13.ResumeLayout(false); + this.panel13.ResumeLayout(false); + this.panel13.PerformLayout(); + this.groupBox8.ResumeLayout(false); + this.panel8.ResumeLayout(false); + this.panel8.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numLogDays)).EndInit(); + this.skinTabPage8.ResumeLayout(false); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); + this.groupBox26.ResumeLayout(false); + this.panel6.ResumeLayout(false); + this.panel6.PerformLayout(); + this.groupBox6.ResumeLayout(false); + this.panel9.ResumeLayout(false); + this.panel9.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown8)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private CCWin.SkinControl.SkinTabControl skinTabControl1; + private CCWin.SkinControl.SkinTabPage skinTabPage1; + private System.Windows.Forms.CheckBox chkBuzzer; + private CCWin.SkinControl.SkinTabPage skinTabPage2; + private System.Windows.Forms.GroupBox groupBox12; + private System.Windows.Forms.Panel panel12; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.TextBox tbCamCfgPath2; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.GroupBox groupBox7; + private System.Windows.Forms.Panel panel7; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.TextBox tbCamCfgPath; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.Panel panel5; + private System.Windows.Forms.TextBox tbMotionCfgPath; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.TextBox tbIOCfgPath; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.TextBox tbIODevNum; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.Panel panel4; + private System.Windows.Forms.NumericUpDown numCamBaud; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.ComboBox cobLightPortNum; + private System.Windows.Forms.Label label5; + private CCWin.SkinControl.SkinTabPage skinTabPage3; + private System.Windows.Forms.GroupBox groupBox25; + private System.Windows.Forms.Panel panel25; + private System.Windows.Forms.RadioButton rbClient; + private System.Windows.Forms.RadioButton rbServer; + private System.Windows.Forms.Label label79; + private System.Windows.Forms.NumericUpDown numPdtServerPort; + private System.Windows.Forms.CheckBox cbOpenPdtServer; + private System.Windows.Forms.TextBox tbPdtServerIP; + private System.Windows.Forms.Label label85; + private System.Windows.Forms.GroupBox groupBox24; + private System.Windows.Forms.Panel panel24; + private System.Windows.Forms.TextBox tbCloudName; + private System.Windows.Forms.Label label81; + private System.Windows.Forms.Label label83; + private System.Windows.Forms.NumericUpDown numCloudPort; + private System.Windows.Forms.TextBox tbCloudPassword; + private System.Windows.Forms.Label label78; + private System.Windows.Forms.TextBox tbCloudUser; + private System.Windows.Forms.Label label80; + private System.Windows.Forms.CheckBox cbOpenCloud; + private System.Windows.Forms.TextBox tbCloudIP; + private System.Windows.Forms.Label label82; + private CCWin.SkinControl.SkinTabPage skinTabPage4; + private System.Windows.Forms.GroupBox groupBox19; + private System.Windows.Forms.Panel panel19; + private System.Windows.Forms.PictureBox btnClearDefect_Compress_SavePath; + private System.Windows.Forms.Label label52; + private System.Windows.Forms.NumericUpDown numDefect_Compress_SavePath_AutoClear; + private System.Windows.Forms.CheckBox chkDefect_Compress_SavePath_AutoClear; + private System.Windows.Forms.TextBox tbDefectCompressSavePath; + private System.Windows.Forms.Label label50; + private System.Windows.Forms.GroupBox groupBox17; + private System.Windows.Forms.Panel panel17; + private System.Windows.Forms.PictureBox btnClearDefect_Small_Path; + private System.Windows.Forms.Label label53; + private System.Windows.Forms.TextBox tbDefectSmallPath; + private System.Windows.Forms.NumericUpDown numDefect_Small_Path_AutoClear; + private System.Windows.Forms.Label label41; + private System.Windows.Forms.CheckBox chkDefect_Small_Path_AutoClear; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.PictureBox btnClearDefect_Path; + private System.Windows.Forms.Label label51; + private System.Windows.Forms.NumericUpDown numDefect_Path_AutoClear; + private System.Windows.Forms.CheckBox chkDefect_Path_AutoClear; + private System.Windows.Forms.CheckBox chkSaveAllDefectImg; + private System.Windows.Forms.TextBox tbDefectPath; + private System.Windows.Forms.Label label1; + private CCWin.SkinControl.SkinTabPage skinTabPage6; + private System.Windows.Forms.GroupBox groupBox23; + private System.Windows.Forms.Panel panel23; + private System.Windows.Forms.TextBox tbPdtPath; + private System.Windows.Forms.Label label77; + private System.Windows.Forms.GroupBox groupBox13; + private System.Windows.Forms.Panel panel13; + private System.Windows.Forms.CheckBox cbShowBtn; + private System.Windows.Forms.CheckBox cbDoorAlm; + private System.Windows.Forms.CheckBox cbBuzzShow; + private System.Windows.Forms.CheckBox cbResetBtn; + private System.Windows.Forms.GroupBox groupBox8; + private System.Windows.Forms.Panel panel8; + private System.Windows.Forms.TextBox tbModelPath; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.NumericUpDown numLogDays; + private System.Windows.Forms.CheckBox ckbAutoClear; + private System.Windows.Forms.TextBox tbLogPath; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.ToolStrip toolStrip1; + private System.Windows.Forms.ToolStripButton tsbtnSave; + private System.Windows.Forms.ToolStripButton tsbtnDataSave; + private System.Windows.Forms.ToolStripButton tsbtnDatImport; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripButton tsbtnExit; + private MaiMuControl.UIKits.MaiMuMenu.UITitel uiTitel1; + private System.Windows.Forms.GroupBox groupBox14; + private System.Windows.Forms.Panel panel14; + private System.Windows.Forms.NumericUpDown numViewY; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.NumericUpDown numViewX; + private System.Windows.Forms.Label label21; + private CCWin.SkinControl.SkinTabPage skinTabPage8; + private System.Windows.Forms.Panel panel26; + private System.Windows.Forms.CheckBox cbOpenBarTenderPrint; + private System.Windows.Forms.Label label75; + private System.Windows.Forms.ComboBox cboPrinters; + private System.Windows.Forms.Button btnPrint; + private System.Windows.Forms.Panel panel27; + private System.Windows.Forms.CheckBox cbOpenExcelPrint; + private System.Windows.Forms.Label label31; + private System.Windows.Forms.ComboBox cboPrinters2; + private System.Windows.Forms.Button btnPrint2; + private System.Windows.Forms.GroupBox groupBox6; + private System.Windows.Forms.Panel panel9; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.ComboBox comboBox2; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.CheckBox checkBox2; + private System.Windows.Forms.GroupBox groupBox26; + private System.Windows.Forms.Panel panel6; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.CheckBox checkBox1; + private System.Windows.Forms.NumericUpDown numericUpDown1; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.NumericUpDown numericUpDown2; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.NumericUpDown numericUpDown3; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.NumericUpDown numericUpDown4; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.NumericUpDown numericUpDown8; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.NumericUpDown numericUpDown6; + private System.Windows.Forms.NumericUpDown numericUpDown7; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.NumericUpDown numericUpDown5; + } +} \ No newline at end of file diff --git a/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.cs b/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.cs new file mode 100644 index 0000000..a0bf3d1 --- /dev/null +++ b/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.cs @@ -0,0 +1,22 @@ +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 GeBoShi.UI.SysSet +{ + public partial class SysSetFrm : Form + { + public SysSetFrm() + { + InitializeComponent(); + UIStyle.SetUIStyle(this); + this.uiTitel1.FatherForm = this; + } + } +} diff --git a/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.resx b/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.resx new file mode 100644 index 0000000..043f9fd --- /dev/null +++ b/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.resx @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABUAAAAiCAYAAACwaJKDAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAD9SURBVEhL1dO7CoJQGMDxtu73+1CBzY31Ck0NvkOb + gzi6+QaCEDgLTqKCEPQIIUGbb+Gui+YXBIc4WcP3DQ0/OJfv/LdTyfO8iu2/ojVsZNE6NrJoAxtZtIkN + oi1sZNE2NrJoBxtEu9gg2vvE9/2JLMtrURQ3LEmSBMdxprw3oDQKwTiOT8X6zirOTAjDDA9E+58EQTBV + FGWbJMm52D+DaZpeVFXdeZ43Y2dZEB2UMQxjaVnWPsuya+Hmuu5B1/UVb/blaxRomiaEYXiMokiBNW+G + BdHhL2zbXpimueTdvYPoCBtZdIwNohNsZFH4bqjIovDdUJFF59j+JZrPH4oDa+C9e8hUAAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABUAAAAiCAYAAACwaJKDAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEwSURBVEhLtdNNS4RAAMbxvkBtLxu9UFT0skUv1rZ7 + 7h77HfZkH0QPeu0mePQgnsSrhCCCN+8e99DVayKhNk+wUDFWh2eFH8yMzh9kmKW2bZfZEF1hW1i0x4bo + Khuia2yIrrMhusGGaJ8N0U02RLfYEN1mQ3SHDdFdNkT32BDd7xLH8amu6/eqqj58JdZGURSdyfYAogdd + TNMcFUXxIsbfHrEWGYYxFkPpPkQPu6RpOtA07bEsy5mYfz5VVb2K4CRJknMxle5D9Og3rusqnudN67p+ + a5rmPQiCJ8dxbmXfziF6/BfbtsdZlml5nj9bloXfln43h+jJf4RhqPi+fyd79xOiOEUqRAdsiOIUqRC9 + YEP0kg3RKzZEr9kQvWFDVGFDFPeYClFcPSpEh2wLiLbDDwVKnf7UO7t5AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABGdBTUEAALGPC/xhBQAAAH9JREFUKFNj + +P//P0kYmcMKxXjFYIwzaBiXGFgDyIQzHB2n/4MwiA3DaGJgm1A0cHad+88//T6Q+/8MiAbxsWmAWw9S + JLH653+p9f/BNEwzFMOdhKIJpBiGYWJADFeHophYG0j2A1wDkiQYo4lhehoJ4xJD8TTIBLApuMX+MwAA + JO7ByqoT8QIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABGdBTUEAALGPC/xhBQAAAItJREFUKFOd + kbENgDAMBCNRIFExAAUtbYoMQc8A7EHBFKxrfJGxUERjkJ7E9r/fSZKIhMCvUwyK0cC+/8jBqwKCSZEV + RbEoZluJyVOHVwV0yOtxCdBvV2ysrxwieC4oT9EIZxPj5AKssPeODRlH6j4SB2Rmxmg7n5anDu+fQ/gM + bEK3hFXoHQIvLekGBLunGoMvIJEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAADsAAAAiCAYAAADh/KHgAAAABGdBTUEAALGPC/xhBQAAAOZJREFUaEPl + 2KsKQlEURdHrG996BYNgMBgMFoPBYrAYDBaDwWAwGARBEAT//bpXWHC+YXpghhVHPDuLVyqKokFPTmOb + 9FJsm16K7dJLsQN6KXZEL8WO6RlbjjGhJ6exU3opdkYvxc7pGVuJsaAnp7FLesZWY6zoyWnsmp6xtRgb + enIKW4+xpSensPrc7ujJaeyenrH6yR/oySlsK8aRnpzC6mxxoiensJ0YZ3pyCqsbzYWenML2YlzpySls + P8aNnpzG3ukZq1Pjg56cwg5jPOnJaeyLnrF5jDc9OY390EuxX3p/hs3yH+t9kV6QtrMcAAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAADsAAAAiCAYAAADh/KHgAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEISURBVGhD3dirTkNRFEXRy7NAICGkaaAhvIpC4ZB1 + lTgsEolF1lZWIrFIHBKHw2FQqIoKfuGyptjJ/YZ5kimWHHKfJm+lbdtdezgLu2+vi+3bK+xqxpE9nIU9 + sdfFXtrrYq/sFXYt49oezsLe2CvsesbYHs7CTuwVdiPj1h5OsJsZd/Zwgu1l3NvDCXYr48EeTrDbGY/2 + cILdyXiyhxMsx+3UHk6wexkzezjBcsnP7eEEe5DxbA8nWL4tXuzhBDvIeLWHE+xhxps9nGCHGe/2cII9 + zviwh7Own/YKy1fjlz2cYE8zvu3hBHuW8WMPJ9jzjF97OMFeZCzs4Szs0l5hRxl/9pqmGf0Dp89NtaTt + b1AAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + DAAACwwBP0AiyAAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAAJRSURB + VFhHxZfNTsMwEISBtyoXKM3TwIUDTa9U4h8BT8CDAiphd+J118nENlCEpU9q7dmZrZ2mzZ6Mg38mfdN1 + XUTGfpjfBfsDbx06HwVY+Fgujjbt4vR9uTgcCH8DvN+Wi9mmbc4k49h5Q4DuPtvmpVs1nfG5aq530ATC + 4ZV6v5r3gb6QT3zsBU54o+tBzAImsTp4EG/JnIuuF8q2nzORYjvxnSZcePLJPZop2rgDMyYy5HiwE2HQ + UEcfrjXEy9BM1WpBfw1kulU2q+a2ogmEQ0s8DNtVHUnh1HkZ8qnuVBeKffB221VDag1k9PUYY4PCTsj6 + qAlXWwofXk/bBmxCF2ULSztxH0wwEK5zRGvAc1sT83w4UFEwzJ9j2zw67SPTGPAK2kFe8iYSjctbeqmw + NQMePFwZTURqm8hRCFfoZCQ2UThfBmry4QqdTIhNrPLn7IG2HK7QyRGuiex5K9DUhSt0coRrYM1CPdDs + sgEX/swCGdDWNUEnIz8JNyqboJPAhSd/VL4DavNN0MnqcPmqrRW2ZhSaGE1sw9vmiRkafovxmmgMeAXt + IC95g4lgmL+3h3AbVU2Ee0MYMS+G62IwemAGhqyPttTV5o9MvdPa2IAZZG+5LNyw+Yomkp9yLba/ZFes + wJD1qXOM2Dq0xMNAVu/TF71fnBwyoSEFtfd230T2OtJM0fcFhb/lw3Mr4pqYvJ6Gf8unHkxqflIprgl6 + XWmm6CDGEOGrF8h3F+f0k3AjNqFe3luyZB0jEcqD41wfIN8u/uDhVDzDw+m8z+v2vgCLN08Z7ifCRgAA + AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + DAAACwwBP0AiyAAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAAJRSURB + VFhHxZfNTsMwEISBtyoXKM3TwIUDTa9U4h8BT8CDAiphd+J118nENlCEpU9q7dmZrZ2mzZ6Mg38mfdN1 + XUTGfpjfBfsDbx06HwVY+Fgujjbt4vR9uTgcCH8DvN+Wi9mmbc4k49h5Q4DuPtvmpVs1nfG5aq530ATC + 4ZV6v5r3gb6QT3zsBU54o+tBzAImsTp4EG/JnIuuF8q2nzORYjvxnSZcePLJPZop2rgDMyYy5HiwE2HQ + UEcfrjXEy9BM1WpBfw1kulU2q+a2ogmEQ0s8DNtVHUnh1HkZ8qnuVBeKffB221VDag1k9PUYY4PCTsj6 + qAlXWwofXk/bBmxCF2ULSztxH0wwEK5zRGvAc1sT83w4UFEwzJ9j2zw67SPTGPAK2kFe8iYSjctbeqmw + NQMePFwZTURqm8hRCFfoZCQ2UThfBmry4QqdTIhNrPLn7IG2HK7QyRGuiex5K9DUhSt0coRrYM1CPdDs + sgEX/swCGdDWNUEnIz8JNyqboJPAhSd/VL4DavNN0MnqcPmqrRW2ZhSaGE1sw9vmiRkafovxmmgMeAXt + IC95g4lgmL+3h3AbVU2Ee0MYMS+G62IwemAGhqyPttTV5o9MvdPa2IAZZG+5LNyw+Yomkp9yLba/ZFes + wJD1qXOM2Dq0xMNAVu/TF71fnBwyoSEFtfd230T2OtJM0fcFhb/lw3Mr4pqYvJ6Gf8unHkxqflIprgl6 + XWmm6CDGEOGrF8h3F+f0k3AjNqFe3luyZB0jEcqD41wfIN8u/uDhVDzDw+m8z+v2vgCLN08Z7ifCRgAA + AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + DAAACwwBP0AiyAAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAAJRSURB + VFhHxZfNTsMwEISBtyoXKM3TwIUDTa9U4h8BT8CDAiphd+J118nENlCEpU9q7dmZrZ2mzZ6Mg38mfdN1 + XUTGfpjfBfsDbx06HwVY+Fgujjbt4vR9uTgcCH8DvN+Wi9mmbc4k49h5Q4DuPtvmpVs1nfG5aq530ATC + 4ZV6v5r3gb6QT3zsBU54o+tBzAImsTp4EG/JnIuuF8q2nzORYjvxnSZcePLJPZop2rgDMyYy5HiwE2HQ + UEcfrjXEy9BM1WpBfw1kulU2q+a2ogmEQ0s8DNtVHUnh1HkZ8qnuVBeKffB221VDag1k9PUYY4PCTsj6 + qAlXWwofXk/bBmxCF2ULSztxH0wwEK5zRGvAc1sT83w4UFEwzJ9j2zw67SPTGPAK2kFe8iYSjctbeqmw + NQMePFwZTURqm8hRCFfoZCQ2UThfBmry4QqdTIhNrPLn7IG2HK7QyRGuiex5K9DUhSt0coRrYM1CPdDs + sgEX/swCGdDWNUEnIz8JNyqboJPAhSd/VL4DavNN0MnqcPmqrRW2ZhSaGE1sw9vmiRkafovxmmgMeAXt + IC95g4lgmL+3h3AbVU2Ee0MYMS+G62IwemAGhqyPttTV5o9MvdPa2IAZZG+5LNyw+Yomkp9yLba/ZFes + wJD1qXOM2Dq0xMNAVu/TF71fnBwyoSEFtfd230T2OtJM0fcFhb/lw3Mr4pqYvJ6Gf8unHkxqflIprgl6 + XWmm6CDGEOGrF8h3F+f0k3AjNqFe3luyZB0jEcqD41wfIN8u/uDhVDzDw+m8z+v2vgCLN08Z7ifCRgAA + AABJRU5ErkJggg== + + + + 17, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD3SURBVFhH7ZVLDsIwEEN7i0pdsQvcgqNwE46aY/BbAEEe + QSdpYwsIqsSTZjEZ2/WuXWI4b64NJvaHsHp80FMQf2vKJUyANaN293h9+uh9j3jPS3iDp3b3lPSzJUqG + V9T7lN6XwHO7AgmUGN/nDAn1ruqXX8Aj58mGCnIea1AH9ozszhrUgT0ju9cMn+ZfYFkF+kvY2l2cmLyI + GWEarNMF3vi4TbGE3bFOF7D34RR2eKIZjus9/M+/HrBcrPUCWGXoXFooQufSQhE6lxaK0Lm0UITOpYUi + dC4tFKFzaaEInUsLRehcWihC59JCETrXHloPPv/LAl13A1LYVlVnNRG8AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD+SURBVFhH7ZZRDoIwEER7FI/iHYz0l5t4ECB80MRjeBSP + osxSmqqgu90agjLJS5DQYdgOBrNpFXK2LrtDddVwtu3O28kFA2ebm4pjc/F2cnW22qfgivqUHAAjmzLl + 4m0MbiwOAIOQPBV/wzAFUYCiaV8MhaA38EoKEMamhLy0AYZp1CWf3AGiQnEUv7L4/QMBekNsA5dxHSCv + 1ZdQA3mpt4DGOtX2OXIH+Pu3AMfPTX9HWNdDXqsvoQbyUncAY4UJF78OkNd4LjlAphLiQegCjr4RAP8R + dAFHcQAcxy3/RFjXAy982om/iB8CKPB2ci0eAPuuCTH0QLDnm5aTMXdXn0kUg17O3gAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJaSURBVFhHvZfBSxtBGMXzR/QPqJfSFiEsaZOoDRu1ERJq + YozQlFLUHoJUQbBIQbDx2EMO6i3nnnspePCUgxcR/wdPnrxJC6WlTPNb9wvjZjfZZGf74C1sdua9tzPz + bfgSo6K88ckqre20ujy1i7Xrqerqj8mXpT+pVEoJX9j2X36bmS/+Zky+9u6COc1L9cCVGR2F+sa3dDr7 + K7ewqOCb/bba+nrpcPfk2mHzXDmUe569P/zujF2oN5xwaKDlyg7H3Mr602nb/okpYmIyDgmFBmHQRNu1 + CQYDeRM/wSgkCNquTTBYNj8BE0TbtQkGg/T9NUU0Qwdg/5c2D4wEYTvRQjN0ACayZ1IBHCKpAkIJdSPu + pQqgmDKXe8aMFMArLKUloSBjhWKGMcTUG/JegGQy+bD7w5UuIkTMO9kE0Xbt7yAhJqq7ncSRUsKp7XYs + IfoCgP8VAh3fACAoRGbzOHKIvirgMoiPSo1eAPiksqXS2Wm18rFlpgqci2YQhs8aLZXN5dV8bdURFerB + xWxoFYwTAJo4E5ECWHt3HyY/4bAcO4AJc1auF2AQJ2eXjJr3VYEfKEPLsjqPC6/PdPOJt1/U83TGOVyx + /RcEmcubi7Dx/wIwzFyfbIL3Aoi5/hbCOMwh2q59MBjkXToTRDN0AFaAfTQRJFQV6GAQEzlETIKxVoEX + EsArHEsV+MEbwCRDBZitLN/wtn4CUcgqhmpMTLZmkG1ga9CcKbwqujaDwTei/OFze265fqvvLYH0g6ib + QJ7p54UlH7k59ULac1ruoPYc6u05rbx/e55I/AOb0atfg4Jn8AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEySURBVFhH7ZfhDYJADIVJCDoEQR3FUdyEURjFMeCfo2hL + HviQEgo9//EljebZvqvlvIvZwUB7Pd+6qnh2l9M7FOKhXrD1I8XNzGx/NLD1Y5iEArZ+uHjPCNsyv7MH + ZD+hYhDyCBWDrsxfvYe8QvKTooEQ/2hAvGr3fkrdwHimeM+FlA20VfFgP1cTXAAphPjU7LnaBCdDCiNe + /iY4EZIJDhw19sXw0xxiqQlOgmTCeYGY3xWcAMmE83aHTAF2XzgBkgl2uD1uK4xHAKspnAQpjHhNr/il + xRVOhBRCfPyLK5wMaTfWQYSPluECSCHGZ+9ZXEndgKKTwNt1/tHAJlI0sHnsTJIGIh5c7Lq/f9Aa9oDs + Z3ZiBQO2fqQo3R8T+TKw9dOPUDZPgkk0emXD9mCFLPsAVd5Z/YQOzbIAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/UI/UIStyle.cs b/LeatherProject/GeBoShi/UI/UIStyle.cs new file mode 100644 index 0000000..3e0f795 --- /dev/null +++ b/LeatherProject/GeBoShi/UI/UIStyle.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace GeBoShi.UI +{ + public class UIStyle + { + public static void SetUIStyle(Form frm) + { + frm.BackColor = Color.FromArgb(8, 31, 120); + frm.FormBorderStyle = FormBorderStyle.None; + frm.StartPosition = FormStartPosition.CenterScreen; + frm.Icon = Properties.Resources.Ge; + frm.ShowIcon = true; + //frm.ForeColor = Color.White; + //frm.MouseMove += Main_MouseMove; + //frm.MouseLeave += Main_Leave; // 有控件在边缘时,处理一下更好一些 + } + } +} diff --git a/LeatherProject/GeBoShi/bin/Debug/BouncyCastle.Crypto.xml b/LeatherProject/GeBoShi/bin/Debug/BouncyCastle.Crypto.xml new file mode 100644 index 0000000..185221f --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/BouncyCastle.Crypto.xml @@ -0,0 +1,30592 @@ + + + + BouncyCastle.Crypto + + + + return the X9ECParameters object for the named curve represented by + the passed in object identifier. Null if the curve isn't present. + + @param oid an object identifier representing a named curve, if present. + + + return the object identifier signified by the passed in name. Null + if there is no object identifier associated with name. + + @return the object identifier associated with name, if present. + + + return the named curve name represented by the given object identifier. + + + returns an enumeration containing the name strings for curves + contained in this structure. + + + Return the DER encoding of the object, null if the DER encoding can not be made. + + @return a DER byte array, null otherwise. + + + Mutable class for building ASN.1 constructed objects such as SETs or SEQUENCEs. + + + a general purpose ASN.1 decoder - note: this class differs from the + others in that it returns null after it has read the last object in + the stream. If an ASN.1 Null is encountered a Der/BER Null object is + returned. + + + Create an ASN1InputStream based on the input byte array. The length of DER objects in + the stream is automatically limited to the length of the input array. + + @param input array containing ASN.1 encoded data. + + + Create an ASN1InputStream where no DER object will be longer than limit. + + @param input stream containing ASN.1 encoded data. + @param limit maximum size of a DER encoded object. + + + build an object given its tag and the number of bytes to construct it from. + + + A Null object. + + + Create a base ASN.1 object from a byte array. + The byte array to parse. + The base ASN.1 object represented by the byte array. + + If there is a problem parsing the data, or parsing an object did not exhaust the available data. + + + + Read a base ASN.1 object from a stream. + The stream to parse. + The base ASN.1 object represented by the byte array. + If there is a problem parsing the data. + + + return an Octet string from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + return an Octet string from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + @param string the octets making up the octet string. + + + return an Asn1Sequence from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Return an ASN1 sequence from a tagged object. There is a special + case here, if an object appears to have been explicitly tagged on + reading but we were expecting it to be implicitly tagged in the + normal course of events it indicates that we lost the surrounding + sequence - so we need to add it back (this will happen if the tagged + object is a sequence that contains other sequences). If you are + dealing with implicitly tagged sequences you really should + be using this method. + + @param obj the tagged object. + @param explicitly true if the object is meant to be explicitly tagged, + false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + return the object at the sequence position indicated by index. + + @param index the sequence number (starting at zero) of the object + @return the object at the sequence position indicated by index. + + + return an ASN1Set from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Return an ASN1 set from a tagged object. There is a special + case here, if an object appears to have been explicitly tagged on + reading but we were expecting it to be implicitly tagged in the + normal course of events it indicates that we lost the surrounding + set - so we need to add it back (this will happen if the tagged + object is a sequence that contains other sequences). If you are + dealing with implicitly tagged sets you really should + be using this method. + + @param obj the tagged object. + @param explicitly true if the object is meant to be explicitly tagged + false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + return the object at the set position indicated by index. + + @param index the set number (starting at zero) of the object + @return the object at the set position indicated by index. + + + ASN.1 TaggedObject - in ASN.1 notation this is any object preceded by + a [n] where n is some number - these are assumed to follow the construction + rules (as with sequences). + + + @param tagNo the tag number for this object. + @param obj the tagged object. + + + @param explicitly true if the object is explicitly tagged. + @param tagNo the tag number for this object. + @param obj the tagged object. + + + return whether or not the object may be explicitly tagged. +

+ Note: if the object has been read from an input stream, the only + time you can be sure if isExplicit is returning the true state of + affairs is if it returns false. An implicitly tagged object may appear + to be explicitly tagged, so you need to understand the context under + which the reading was done as well, see GetObject below.

+
+ + return whatever was following the tag. +

+ Note: tagged objects are generally context dependent if you're + trying to extract a tagged object you should be going via the + appropriate GetInstance method.

+
+ + Return the object held in this tagged object as a parser assuming it has + the type of the passed in tag. If the object doesn't have a parser + associated with it, the base object is returned. + + + iso.org.dod.internet.private.enterprise.legion-of-the-bouncy-castle +

1.3.6.1.4.1.22554

+
+ + pbe(1) algorithms +

1.3.6.1.4.1.22554.1

+
+ + SHA-1(1) +

1.3.6.1.4.1.22554.1.1

+
+ + SHA-2.SHA-256; 1.3.6.1.4.1.22554.1.2.1 + + + SHA-2.SHA-384; 1.3.6.1.4.1.22554.1.2.2 + + + SHA-2.SHA-512; 1.3.6.1.4.1.22554.1.2.3 + + + SHA-2.SHA-224; 1.3.6.1.4.1.22554.1.2.4 + + + PKCS-5(1)|PKCS-12(2) + SHA-1.PKCS5; 1.3.6.1.4.1.22554.1.1.1 + + + SHA-1.PKCS12; 1.3.6.1.4.1.22554.1.1.2 + + + SHA-256.PKCS12; 1.3.6.1.4.1.22554.1.2.1.1 + + + SHA-256.PKCS12; 1.3.6.1.4.1.22554.1.2.1.2 + + + AES(1) . (CBC-128(2)|CBC-192(22)|CBC-256(42)) + 1.3.6.1.4.1.22554.1.1.2.1.2 + + + 1.3.6.1.4.1.22554.1.1.2.1.22 + + + 1.3.6.1.4.1.22554.1.1.2.1.42 + + + 1.3.6.1.4.1.22554.1.1.2.2.2 + + + 1.3.6.1.4.1.22554.1.1.2.2.22 + + + 1.3.6.1.4.1.22554.1.1.2.2.42 + + + signature(2) algorithms + + + Sphincs-256 + + + XMSS + + + XMSS^MT + + + key_exchange(3) algorithms + + + NewHope + + + + Extension to tie an alternate certificate to the containing certificate. +
+                LinkedCertificate := SEQUENCE {
+                    digest        DigestInfo,                   -- digest of PQC certificate
+                    certLocation  GeneralName,                  -- location of PQC certificate
+                    certIssuer    [0] Name OPTIONAL,            -- issuer of PQC cert (if different from current certificate)
+                    cACerts       [1] GeneralNames OPTIONAL,    -- CA certificates for PQC cert (one of more locations)
+            }
+            
+
+ + A BER Null object. + + + return the DER octets that make up this string. + + + create an empty sequence + + + create a sequence containing one object + + + create a sequence containing a vector of objects. + + + create an empty sequence + + + create a set containing one object + + + create a set containing a vector of objects. + + + BER TaggedObject - in ASN.1 notation this is any object preceded by + a [n] where n is some number - these are assumed to follow the construction + rules (as with sequences). + + + @param tagNo the tag number for this object. + @param obj the tagged object. + + + @param explicitly true if an explicitly tagged object. + @param tagNo the tag number for this object. + @param obj the tagged object. + + + create an implicitly tagged object that contains a zero + length sequence. + + + See https://www.bsi.bund.de/cae/servlet/contentblob/471398/publicationFile/30615/BSI-TR-03111_pdf.pdf + + + 0.4.0.127.0.7.1 + + + ElGamal Elliptic Curve Key Agreement and Key Derivation according to X963 OID: 0.4.0.127.0.7.1.1.5.1.1 + + + ElGamal Elliptic Curve Key Agreement and Key Derivation according to X963 + with hash function SHA-1 + OID: 0.4.0.127.0.7.1.1.5.1.1.1 + + + ElGamal Elliptic Curve Key Agreement and Key Derivation according to X963 + with hash function SHA224 + OID: 0.4.0.127.0.7.1.1.5.1.1.2 + + + ElGamal Elliptic Curve Key Agreement and Key Derivation according to X963 + with hash function SHA256 + OID: 0.4.0.127.0.7.1.1.5.1.1.3 + + + ElGamal Elliptic Curve Key Agreement and Key Derivation according to X963 + with hash function SHA384 + OID: 0.4.0.127.0.7.1.1.5.1.1.4 + + + ElGamal Elliptic Curve Key Agreement and Key Derivation according to X963 + with hash function SHA512 + OID: 0.4.0.127.0.7.1.1.5.1.1.5 + + + ElGamal Elliptic Curve Key Agreement and Key Derivation according to X963 + with hash function RIPEMD160 + OID: 0.4.0.127.0.7.1.1.5.1.1.6 + + + Key Derivation Function for Session Keys + + +
+            CAKeyUpdAnnContent ::= SEQUENCE {
+                                        oldWithNew   CmpCertificate, -- old pub signed with new priv
+                                        newWithOld   CmpCertificate, -- new pub signed with old priv
+                                        newWithNew   CmpCertificate  -- new pub signed with new priv
+             }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertConfirmContent ::= SEQUENCE OF CertStatus
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertifiedKeyPair ::= SEQUENCE {
+                                             certOrEncCert       CertOrEncCert,
+                                             privateKey      [0] EncryptedValue      OPTIONAL,
+                                             -- see [CRMF] for comment on encoding
+                                             publicationInfo [1] PKIPublicationInfo  OPTIONAL
+                  }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertOrEncCert ::= CHOICE {
+                                 certificate     [0] CMPCertificate,
+                                 encryptedCert   [1] EncryptedValue
+                      }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertRepMessage ::= SEQUENCE {
+                                     caPubs       [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
+                                                                                        OPTIONAL,
+                                     response         SEQUENCE OF CertResponse
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertResponse ::= SEQUENCE {
+                                       certReqId           INTEGER,
+                                       -- to match this response with corresponding request (a value
+                                       -- of -1 is to be used if certReqId is not specified in the
+                                       -- corresponding request)
+                                       status              PKIStatusInfo,
+                                       certifiedKeyPair    CertifiedKeyPair    OPTIONAL,
+                                       rspInfo             OCTET STRING        OPTIONAL
+                                       -- analogous to the id-regInfo-utf8Pairs string defined
+                                       -- for regInfo in CertReqMsg [CRMF]
+                        }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertStatus ::= SEQUENCE {
+                              certHash    OCTET STRING,
+                              -- the hash of the certificate, using the same hash algorithm
+                              -- as is used to create and verify the certificate signature
+                              certReqId   INTEGER,
+                              -- to match this confirmation with the corresponding req/rep
+                              statusInfo  PKIStatusInfo OPTIONAL
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+             Challenge ::= SEQUENCE {
+                             owf                 AlgorithmIdentifier  OPTIONAL,
+            
+                             -- MUST be present in the first Challenge; MAY be omitted in
+                             -- any subsequent Challenge in POPODecKeyChallContent (if
+                             -- omitted, then the owf used in the immediately preceding
+                             -- Challenge is to be used).
+            
+                             witness             OCTET STRING,
+                             -- the result of applying the one-way function (owf) to a
+                             -- randomly-generated INTEGER, A.  [Note that a different
+                             -- INTEGER MUST be used for each Challenge.]
+                             challenge           OCTET STRING
+                             -- the encryption (under the public key for which the cert.
+                             -- request is being made) of Rand, where Rand is specified as
+                             --   Rand ::= SEQUENCE {
+                             --      int      INTEGER,
+                             --       - the randomly-generated INTEGER A (above)
+                             --      sender   GeneralName
+                             --       - the sender's name (as included in PKIHeader)
+                             --   }
+                  }
+             
+ @return a basic ASN.1 object representation. +
+ + Note: the addition of attribute certificates is a BC extension. + + +
+             CMPCertificate ::= CHOICE {
+                        x509v3PKCert        Certificate
+                        x509v2AttrCert      [1] AttributeCertificate
+              }
+             
+ Note: the addition of attribute certificates is a BC extension. + + @return a basic ASN.1 object representation. +
+ +
+            CrlAnnContent ::= SEQUENCE OF CertificateList
+            
+ @return a basic ASN.1 object representation. +
+ +
+            ErrorMsgContent ::= SEQUENCE {
+                                   pKIStatusInfo          PKIStatusInfo,
+                                   errorCode              INTEGER           OPTIONAL,
+                                   -- implementation-specific error codes
+                                   errorDetails           PKIFreeText       OPTIONAL
+                                   -- implementation-specific error details
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            GenMsgContent ::= SEQUENCE OF InfoTypeAndValue
+            
+ @return a basic ASN.1 object representation. +
+ +
+            GenRepContent ::= SEQUENCE OF InfoTypeAndValue
+            
+ @return a basic ASN.1 object representation. +
+ + Example InfoTypeAndValue contents include, but are not limited + to, the following (un-comment in this ASN.1 module and use as + appropriate for a given environment): +
+               id-it-caProtEncCert    OBJECT IDENTIFIER ::= {id-it 1}
+                  CAProtEncCertValue      ::= CMPCertificate
+               id-it-signKeyPairTypes OBJECT IDENTIFIER ::= {id-it 2}
+                 SignKeyPairTypesValue   ::= SEQUENCE OF AlgorithmIdentifier
+               id-it-encKeyPairTypes  OBJECT IDENTIFIER ::= {id-it 3}
+                 EncKeyPairTypesValue    ::= SEQUENCE OF AlgorithmIdentifier
+               id-it-preferredSymmAlg OBJECT IDENTIFIER ::= {id-it 4}
+                  PreferredSymmAlgValue   ::= AlgorithmIdentifier
+               id-it-caKeyUpdateInfo  OBJECT IDENTIFIER ::= {id-it 5}
+                  CAKeyUpdateInfoValue    ::= CAKeyUpdAnnContent
+               id-it-currentCRL       OBJECT IDENTIFIER ::= {id-it 6}
+                  CurrentCRLValue         ::= CertificateList
+               id-it-unsupportedOIDs  OBJECT IDENTIFIER ::= {id-it 7}
+                  UnsupportedOIDsValue    ::= SEQUENCE OF OBJECT IDENTIFIER
+               id-it-keyPairParamReq  OBJECT IDENTIFIER ::= {id-it 10}
+                  KeyPairParamReqValue    ::= OBJECT IDENTIFIER
+               id-it-keyPairParamRep  OBJECT IDENTIFIER ::= {id-it 11}
+                  KeyPairParamRepValue    ::= AlgorithmIdentifer
+               id-it-revPassphrase    OBJECT IDENTIFIER ::= {id-it 12}
+                  RevPassphraseValue      ::= EncryptedValue
+               id-it-implicitConfirm  OBJECT IDENTIFIER ::= {id-it 13}
+                  ImplicitConfirmValue    ::= NULL
+               id-it-confirmWaitTime  OBJECT IDENTIFIER ::= {id-it 14}
+                  ConfirmWaitTimeValue    ::= GeneralizedTime
+               id-it-origPKIMessage   OBJECT IDENTIFIER ::= {id-it 15}
+                  OrigPKIMessageValue     ::= PKIMessages
+               id-it-suppLangTags     OBJECT IDENTIFIER ::= {id-it 16}
+                  SuppLangTagsValue       ::= SEQUENCE OF UTF8String
+            
+             where
+            
+               id-pkix OBJECT IDENTIFIER ::= {
+                  iso(1) identified-organization(3)
+                  dod(6) internet(1) security(5) mechanisms(5) pkix(7)}
+             and
+                  id-it   OBJECT IDENTIFIER ::= {id-pkix 4}
+             
+
+ +
+            InfoTypeAndValue ::= SEQUENCE {
+                                    infoType               OBJECT IDENTIFIER,
+                                    infoValue              ANY DEFINED BY infoType  OPTIONAL
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            KeyRecRepContent ::= SEQUENCE {
+                                    status                  PKIStatusInfo,
+                                    newSigCert          [0] CMPCertificate OPTIONAL,
+                                    caCerts             [1] SEQUENCE SIZE (1..MAX) OF
+                                                                      CMPCertificate OPTIONAL,
+                                    keyPairHist         [2] SEQUENCE SIZE (1..MAX) OF
+                                                                      CertifiedKeyPair OPTIONAL
+                         }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            OobCertHash ::= SEQUENCE {
+                                 hashAlg     [0] AlgorithmIdentifier     OPTIONAL,
+                                 certId      [1] CertId                  OPTIONAL,
+                                 hashVal         BIT STRING
+                                 -- hashVal is calculated over the Der encoding of the
+                                 -- self-signed certificate with the identifier certID.
+                  }
+            
+ @return a basic ASN.1 object representation. +
+ +
+             PbmParameter ::= SEQUENCE {
+                                   salt                OCTET STRING,
+                                   -- note:  implementations MAY wish to limit acceptable sizes
+                                   -- of this string to values appropriate for their environment
+                                   -- in order to reduce the risk of denial-of-service attacks
+                                   owf                 AlgorithmIdentifier,
+                                   -- AlgId for a One-Way Function (SHA-1 recommended)
+                                   iterationCount      INTEGER,
+                                   -- number of times the OWF is applied
+                                   -- note:  implementations MAY wish to limit acceptable sizes
+                                   -- of this integer to values appropriate for their environment
+                                   -- in order to reduce the risk of denial-of-service attacks
+                                   mac                 AlgorithmIdentifier
+                                   -- the MAC AlgId (e.g., DES-MAC, Triple-DES-MAC [PKCS11],
+               }   -- or HMAC [RFC2104, RFC2202])
+            
+ @return a basic ASN.1 object representation. +
+ + Creates a new PkiBody. + @param type one of the TYPE_* constants + @param content message content + + +
+            PkiBody ::= CHOICE {       -- message-specific body elements
+                   ir       [0]  CertReqMessages,        --Initialization Request
+                   ip       [1]  CertRepMessage,         --Initialization Response
+                   cr       [2]  CertReqMessages,        --Certification Request
+                   cp       [3]  CertRepMessage,         --Certification Response
+                   p10cr    [4]  CertificationRequest,   --imported from [PKCS10]
+                   popdecc  [5]  POPODecKeyChallContent, --pop Challenge
+                   popdecr  [6]  POPODecKeyRespContent,  --pop Response
+                   kur      [7]  CertReqMessages,        --Key Update Request
+                   kup      [8]  CertRepMessage,         --Key Update Response
+                   krr      [9]  CertReqMessages,        --Key Recovery Request
+                   krp      [10] KeyRecRepContent,       --Key Recovery Response
+                   rr       [11] RevReqContent,          --Revocation Request
+                   rp       [12] RevRepContent,          --Revocation Response
+                   ccr      [13] CertReqMessages,        --Cross-Cert. Request
+                   ccp      [14] CertRepMessage,         --Cross-Cert. Response
+                   ckuann   [15] CAKeyUpdAnnContent,     --CA Key Update Ann.
+                   cann     [16] CertAnnContent,         --Certificate Ann.
+                   rann     [17] RevAnnContent,          --Revocation Ann.
+                   crlann   [18] CRLAnnContent,          --CRL Announcement
+                   pkiconf  [19] PKIConfirmContent,      --Confirmation
+                   nested   [20] NestedMessageContent,   --Nested Message
+                   genm     [21] GenMsgContent,          --General Message
+                   genp     [22] GenRepContent,          --General Response
+                   error    [23] ErrorMsgContent,        --Error Message
+                   certConf [24] CertConfirmContent,     --Certificate confirm
+                   pollReq  [25] PollReqContent,         --Polling request
+                   pollRep  [26] PollRepContent          --Polling response
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            PkiConfirmContent ::= NULL
+            
+ @return a basic ASN.1 object representation. +
+ +
+            PKIFailureInfo ::= BIT STRING {
+            badAlg               (0),
+              -- unrecognized or unsupported Algorithm Identifier
+            badMessageCheck      (1), -- integrity check failed (e.g., signature did not verify)
+            badRequest           (2),
+              -- transaction not permitted or supported
+            badTime              (3), -- messageTime was not sufficiently close to the system time, as defined by local policy
+            badCertId            (4), -- no certificate could be found matching the provided criteria
+            badDataFormat        (5),
+              -- the data submitted has the wrong format
+            wrongAuthority       (6), -- the authority indicated in the request is different from the one creating the response token
+            incorrectData        (7), -- the requester's data is incorrect (for notary services)
+            missingTimeStamp     (8), -- when the timestamp is missing but should be there (by policy)
+            badPOP               (9)  -- the proof-of-possession failed
+            certRevoked         (10),
+            certConfirmed       (11),
+            wrongIntegrity      (12),
+            badRecipientNonce   (13), 
+            timeNotAvailable    (14),
+              -- the TSA's time source is not available
+            unacceptedPolicy    (15),
+              -- the requested TSA policy is not supported by the TSA
+            unacceptedExtension (16),
+              -- the requested extension is not supported by the TSA
+            addInfoNotAvailable (17)
+              -- the additional information requested could not be understood
+              -- or is not available
+            badSenderNonce      (18),
+            badCertTemplate     (19),
+            signerNotTrusted    (20),
+            transactionIdInUse  (21),
+            unsupportedVersion  (22),
+            notAuthorized       (23),
+            systemUnavail       (24),    
+            systemFailure       (25),
+              -- the request cannot be handled due to system failure
+            duplicateCertReq    (26) 
+            
+
+ + Basic constructor. + + + Return the number of string elements present. + + @return number of elements present. + + + Return the UTF8STRING at index. + + @param index index of the string of interest + @return the string at index. + + +
+            PkiFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String
+            
+
+ + Value for a "null" recipient or sender. + + +
+             PkiHeader ::= SEQUENCE {
+                       pvno                INTEGER     { cmp1999(1), cmp2000(2) },
+                       sender              GeneralName,
+                       -- identifies the sender
+                       recipient           GeneralName,
+                       -- identifies the intended recipient
+                       messageTime     [0] GeneralizedTime         OPTIONAL,
+                       -- time of production of this message (used when sender
+                       -- believes that the transport will be "suitable"; i.e.,
+                       -- that the time will still be meaningful upon receipt)
+                       protectionAlg   [1] AlgorithmIdentifier     OPTIONAL,
+                       -- algorithm used for calculation of protection bits
+                       senderKID       [2] KeyIdentifier           OPTIONAL,
+                       recipKID        [3] KeyIdentifier           OPTIONAL,
+                       -- to identify specific keys used for protection
+                       transactionID   [4] OCTET STRING            OPTIONAL,
+                       -- identifies the transaction; i.e., this will be the same in
+                       -- corresponding request, response, certConf, and PKIConf
+                       -- messages
+                       senderNonce     [5] OCTET STRING            OPTIONAL,
+                       recipNonce      [6] OCTET STRING            OPTIONAL,
+                       -- nonces used to provide replay protection, senderNonce
+                       -- is inserted by the creator of this message; recipNonce
+                       -- is a nonce previously inserted in a related message by
+                       -- the intended recipient of this message
+                       freeText        [7] PKIFreeText             OPTIONAL,
+                       -- this may be used to indicate context-specific instructions
+                       -- (this field is intended for human consumption)
+                       generalInfo     [8] SEQUENCE SIZE (1..MAX) OF
+                                            InfoTypeAndValue     OPTIONAL
+                       -- this may be used to convey context-specific information
+                       -- (this field not primarily intended for human consumption)
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+             PKIHeader ::= SEQUENCE {
+                       pvno                INTEGER     { cmp1999(1), cmp2000(2) },
+                       sender              GeneralName,
+                       -- identifies the sender
+                       recipient           GeneralName,
+                       -- identifies the intended recipient
+                       messageTime     [0] GeneralizedTime         OPTIONAL,
+                       -- time of production of this message (used when sender
+                       -- believes that the transport will be "suitable"; i.e.,
+                       -- that the time will still be meaningful upon receipt)
+                       protectionAlg   [1] AlgorithmIdentifier     OPTIONAL,
+                       -- algorithm used for calculation of protection bits
+                       senderKID       [2] KeyIdentifier           OPTIONAL,
+                       recipKID        [3] KeyIdentifier           OPTIONAL,
+                       -- to identify specific keys used for protection
+                       transactionID   [4] OCTET STRING            OPTIONAL,
+                       -- identifies the transaction; i.e., this will be the same in
+                       -- corresponding request, response, certConf, and PKIConf
+                       -- messages
+                       senderNonce     [5] OCTET STRING            OPTIONAL,
+                       recipNonce      [6] OCTET STRING            OPTIONAL,
+                       -- nonces used to provide replay protection, senderNonce
+                       -- is inserted by the creator of this message; recipNonce
+                       -- is a nonce previously inserted in a related message by
+                       -- the intended recipient of this message
+                       freeText        [7] PKIFreeText             OPTIONAL,
+                       -- this may be used to indicate context-specific instructions
+                       -- (this field is intended for human consumption)
+                       generalInfo     [8] SEQUENCE SIZE (1..MAX) OF
+                                            InfoTypeAndValue     OPTIONAL
+                       -- this may be used to convey context-specific information
+                       -- (this field not primarily intended for human consumption)
+            }
+            
+ @return a basic ASN.1 object representation. +
+ + Creates a new PkiMessage. + + @param header message header + @param body message body + @param protection message protection (may be null) + @param extraCerts extra certificates (may be null) + + +
+            PkiMessage ::= SEQUENCE {
+                             header           PKIHeader,
+                             body             PKIBody,
+                             protection   [0] PKIProtection OPTIONAL,
+                             extraCerts   [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
+                                                                                OPTIONAL
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            PkiMessages ::= SEQUENCE SIZE (1..MAX) OF PkiMessage
+            
+ @return a basic ASN.1 object representation. +
+ + @param status + + + @param status + @param statusString + + +
+             PkiStatusInfo ::= SEQUENCE {
+                 status        PKIStatus,                (INTEGER)
+                 statusString  PkiFreeText     OPTIONAL,
+                 failInfo      PkiFailureInfo  OPTIONAL  (BIT STRING)
+             }
+            
+             PKIStatus:
+               granted                (0), -- you got exactly what you asked for
+               grantedWithMods        (1), -- you got something like what you asked for
+               rejection              (2), -- you don't get it, more information elsewhere in the message
+               waiting                (3), -- the request body part has not yet been processed, expect to hear more later
+               revocationWarning      (4), -- this message contains a warning that a revocation is imminent
+               revocationNotification (5), -- notification that a revocation has occurred
+               keyUpdateWarning       (6)  -- update already done for the oldCertId specified in CertReqMsg
+            
+             PkiFailureInfo:
+               badAlg           (0), -- unrecognized or unsupported Algorithm Identifier
+               badMessageCheck  (1), -- integrity check failed (e.g., signature did not verify)
+               badRequest       (2), -- transaction not permitted or supported
+               badTime          (3), -- messageTime was not sufficiently close to the system time, as defined by local policy
+               badCertId        (4), -- no certificate could be found matching the provided criteria
+               badDataFormat    (5), -- the data submitted has the wrong format
+               wrongAuthority   (6), -- the authority indicated in the request is different from the one creating the response token
+               incorrectData    (7), -- the requester's data is incorrect (for notary services)
+               missingTimeStamp (8), -- when the timestamp is missing but should be there (by policy)
+               badPOP           (9)  -- the proof-of-possession failed
+            
+             
+
+ +
+            PollRepContent ::= SEQUENCE OF SEQUENCE {
+                    certReqId              INTEGER,
+                    checkAfter             INTEGER,  -- time in seconds
+                    reason                 PKIFreeText OPTIONAL
+                }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            PollReqContent ::= SEQUENCE OF SEQUENCE {
+                                   certReqId              INTEGER
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            PopoDecKeyChallContent ::= SEQUENCE OF Challenge
+            
+ @return a basic ASN.1 object representation. +
+ +
+            PopoDecKeyRespContent ::= SEQUENCE OF INTEGER
+            
+ @return a basic ASN.1 object representation. +
+ +
+            ProtectedPart ::= SEQUENCE {
+                               header    PKIHeader,
+                               body      PKIBody
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            RevAnnContent ::= SEQUENCE {
+                  status              PKIStatus,
+                  certId              CertId,
+                  willBeRevokedAt     GeneralizedTime,
+                  badSinceDate        GeneralizedTime,
+                  crlDetails          Extensions  OPTIONAL
+                   -- extra CRL details (e.g., crl number, reason, location, etc.)
+            }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            RevDetails ::= SEQUENCE {
+                             certDetails         CertTemplate,
+                              -- allows requester to specify as much as they can about
+                              -- the cert. for which revocation is requested
+                              -- (e.g., for cases in which serialNumber is not available)
+                              crlEntryDetails     Extensions       OPTIONAL
+                              -- requested crlEntryExtensions
+                        }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            RevRepContent ::= SEQUENCE {
+                   status       SEQUENCE SIZE (1..MAX) OF PKIStatusInfo,
+                   -- in same order as was sent in RevReqContent
+                   revCerts [0] SEQUENCE SIZE (1..MAX) OF CertId OPTIONAL,
+                   -- IDs for which revocation was requested
+                   -- (same order as status)
+                   crls     [1] SEQUENCE SIZE (1..MAX) OF CertificateList OPTIONAL
+                   -- the resulting CRLs (there may be more than one)
+              }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            RevReqContent ::= SEQUENCE OF RevDetails
+            
+ @return a basic ASN.1 object representation. +
+ + return an Attribute object from the given object. + + @param o the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            Attribute ::= SEQUENCE {
+                attrType OBJECT IDENTIFIER,
+                attrValues SET OF AttributeValue
+            }
+            
+
+ +
+            Attributes ::=
+              SET SIZE(1..MAX) OF Attribute -- according to RFC 5652
+            
+ @return +
+ + Return the first attribute matching the given OBJECT IDENTIFIER + + + Return all the attributes matching the OBJECT IDENTIFIER oid. The vector will be + empty if there are no attributes of the required type present. + + @param oid type of attribute required. + @return a vector of all the attributes found of type oid. + + + Return a new table with the passed in attribute added. + + @param attrType + @param attrValue + @return + + + return an AuthenticatedData object from a tagged object. + + @param obj the tagged object holding the object we want. + @param isExplicit true if the object is meant to be explicitly + tagged false otherwise. + @throws ArgumentException if the object held by the + tagged object cannot be converted. + + + return an AuthenticatedData object from the given object. + + @param obj the object we want converted. + @throws ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+             AuthenticatedData ::= SEQUENCE {
+                   version CMSVersion,
+                   originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                   recipientInfos RecipientInfos,
+                   macAlgorithm MessageAuthenticationCodeAlgorithm,
+                   digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
+                   encapContentInfo EncapsulatedContentInfo,
+                   authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
+                   mac MessageAuthenticationCode,
+                   unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
+            
+             AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             MessageAuthenticationCode ::= OCTET STRING
+             
+
+ + Produce an object suitable for an Asn1OutputStream. +
+             AuthenticatedData ::= SEQUENCE {
+                   version CMSVersion,
+                   originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                   recipientInfos RecipientInfos,
+                   macAlgorithm MessageAuthenticationCodeAlgorithm,
+                   digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
+                   encapContentInfo EncapsulatedContentInfo,
+                   authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
+                   mac MessageAuthenticationCode,
+                   unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
+            
+             AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             MessageAuthenticationCode ::= OCTET STRING
+             
+
+ + return an AuthEnvelopedData object from a tagged object. + + @param obj the tagged object holding the object we want. + @param isExplicit true if the object is meant to be explicitly + tagged false otherwise. + @throws ArgumentException if the object held by the + tagged object cannot be converted. + + + return an AuthEnvelopedData object from the given object. + + @param obj the object we want converted. + @throws ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            AuthEnvelopedData ::= SEQUENCE {
+              version CMSVersion,
+              originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+              recipientInfos RecipientInfos,
+              authEncryptedContentInfo EncryptedContentInfo,
+              authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
+              mac MessageAuthenticationCode,
+              unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. + +
+            AuthEnvelopedData ::= SEQUENCE {
+              version CMSVersion,
+              originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+              recipientInfos RecipientInfos,
+              authEncryptedContentInfo EncryptedContentInfo,
+              authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
+              mac MessageAuthenticationCode,
+              unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
+            
+
+ + The other Revocation Info arc + id-ri OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) + dod(6) internet(1) security(5) mechanisms(5) pkix(7) ri(16) } + + + RFC 3274 - CMS Compressed Data. +
+            CompressedData ::= Sequence {
+             version CMSVersion,
+             compressionAlgorithm CompressionAlgorithmIdentifier,
+             encapContentInfo EncapsulatedContentInfo
+            }
+            
+
+ + return a CompressedData object from a tagged object. + + @param ato the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return a CompressedData object from the given object. + + @param _obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + RFC 3274 - CMS Compressed Data. +
+            CompressedData ::= SEQUENCE {
+             version CMSVersion,
+             compressionAlgorithm CompressionAlgorithmIdentifier,
+             encapContentInfo EncapsulatedContentInfo
+            }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            ContentInfo ::= Sequence {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            ContentInfo ::= SEQUENCE {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            
+
+ + return an AuthEnvelopedData object from a tagged object. + + @param obj the tagged object holding the object we want. + @param isExplicit true if the object is meant to be explicitly + tagged false otherwise. + @throws ArgumentException if the object held by the + tagged object cannot be converted. + + + return an AuthEnvelopedData object from the given object. + + @param obj the object we want converted. + @throws ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            MQVuserKeyingMaterial ::= SEQUENCE {
+              ephemeralPublicKey OriginatorPublicKey,
+              addedukm [0] EXPLICIT UserKeyingMaterial OPTIONAL  }
+            
+
+ + return an EncryptedContentInfo object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            EncryptedContentInfo ::= Sequence {
+                contentType ContentType,
+                contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
+                encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+            }
+            
+
+ +
+            EncryptedContentInfo ::= SEQUENCE {
+                contentType ContentType,
+                contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
+                encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+            }
+            
+
+ +
+                  EncryptedData ::= SEQUENCE {
+                                version CMSVersion,
+                                encryptedContentInfo EncryptedContentInfo,
+                                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
+            
+ @return a basic ASN.1 object representation. +
+ + return an EnvelopedData object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return an EnvelopedData object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            EnvelopedData ::= Sequence {
+                version CMSVersion,
+                originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                recipientInfos RecipientInfos,
+                encryptedContentInfo EncryptedContentInfo,
+                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL
+            }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            EnvelopedData ::= SEQUENCE {
+                version CMSVersion,
+                originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                recipientInfos RecipientInfos,
+                encryptedContentInfo EncryptedContentInfo,
+                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL
+            }
+            
+
+ + return a KekIdentifier object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return a KekIdentifier object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            KekIdentifier ::= Sequence {
+                keyIdentifier OCTET STRING,
+                date GeneralizedTime OPTIONAL,
+                other OtherKeyAttribute OPTIONAL
+            }
+            
+
+ + return a KekRecipientInfo object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return a KekRecipientInfo object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            KekRecipientInfo ::= Sequence {
+                version CMSVersion,  -- always set to 4
+                kekID KekIdentifier,
+                keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                encryptedKey EncryptedKey
+            }
+            
+
+ + return an KeyAgreeRecipientIdentifier object from a tagged object. + + @param obj the tagged object holding the object we want. + @param isExplicit true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return an KeyAgreeRecipientIdentifier object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            KeyAgreeRecipientIdentifier ::= CHOICE {
+                issuerAndSerialNumber IssuerAndSerialNumber,
+                rKeyId [0] IMPLICIT RecipientKeyIdentifier
+            }
+            
+
+ + return a KeyAgreeRecipientInfo object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return a KeyAgreeRecipientInfo object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + * Produce an object suitable for an Asn1OutputStream. + *
+                     * KeyAgreeRecipientInfo ::= Sequence {
+                     *     version CMSVersion,  -- always set to 3
+                     *     originator [0] EXPLICIT OriginatorIdentifierOrKey,
+                     *     ukm [1] EXPLICIT UserKeyingMaterial OPTIONAL,
+                     *     keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                     *     recipientEncryptedKeys RecipientEncryptedKeys
+                     * }
+            		 *
+            		 * UserKeyingMaterial ::= OCTET STRING
+                     * 
+
+ + return a KeyTransRecipientInfo object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            KeyTransRecipientInfo ::= Sequence {
+                version CMSVersion,  -- always set to 0 or 2
+                rid RecipientIdentifier,
+                keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                encryptedKey EncryptedKey
+            }
+            
+
+ +
+            MetaData ::= SEQUENCE {
+              hashProtected        BOOLEAN,
+              fileName             UTF8String OPTIONAL,
+              mediaType            IA5String OPTIONAL,
+              otherMetaData        Attributes OPTIONAL
+            }
+            
+ @return +
+ + return an OriginatorIdentifierOrKey object from a tagged object. + + @param o the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return an OriginatorIdentifierOrKey object from the given object. + + @param o the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+             OriginatorIdentifierOrKey ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier,
+                 originatorKey [1] OriginatorPublicKey
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             
+
+ + return an OriginatorInfo object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return an OriginatorInfo object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            OriginatorInfo ::= Sequence {
+                certs [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL
+            }
+            
+
+ + return an OriginatorPublicKey object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return an OriginatorPublicKey object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            OriginatorPublicKey ::= Sequence {
+                algorithm AlgorithmIdentifier,
+                publicKey BIT STRING
+            }
+            
+
+ + return an OtherKeyAttribute object from the given object. + + @param o the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            OtherKeyAttribute ::= Sequence {
+                keyAttrId OBJECT IDENTIFIER,
+                keyAttr ANY DEFINED BY keyAttrId OPTIONAL
+            }
+            
+
+ + return a OtherRecipientInfo object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return a OtherRecipientInfo object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            OtherRecipientInfo ::= Sequence {
+               oriType OBJECT IDENTIFIER,
+               oriValue ANY DEFINED BY oriType }
+            
+
+ + return a OtherRevocationInfoFormat object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicit true if the object is meant to be explicitly + tagged false otherwise. + @exception IllegalArgumentException if the object held by the + tagged object cannot be converted. + + + return a OtherRevocationInfoFormat object from the given object. + + @param obj the object we want converted. + @exception IllegalArgumentException if the object cannot be converted. + + + Produce an object suitable for an ASN1OutputStream. +
+            OtherRevocationInfoFormat ::= SEQUENCE {
+                 otherRevInfoFormat OBJECT IDENTIFIER,
+                 otherRevInfo ANY DEFINED BY otherRevInfoFormat }
+            
+
+ + return a PasswordRecipientInfo object from a tagged object. + + @param obj the tagged object holding the object we want. + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return a PasswordRecipientInfo object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            PasswordRecipientInfo ::= Sequence {
+              version CMSVersion,   -- Always set to 0
+              keyDerivationAlgorithm [0] KeyDerivationAlgorithmIdentifier
+                                        OPTIONAL,
+             keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+             encryptedKey EncryptedKey }
+            
+
+ + return an RecipientEncryptedKey object from a tagged object. + + @param obj the tagged object holding the object we want. + @param isExplicit true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return a RecipientEncryptedKey object from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            RecipientEncryptedKey ::= SEQUENCE {
+                rid KeyAgreeRecipientIdentifier,
+                encryptedKey EncryptedKey
+            }
+            
+
+ + return a RecipientIdentifier object from the given object. + + @param o the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+             RecipientIdentifier ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            RecipientInfo ::= CHOICE {
+                ktri KeyTransRecipientInfo,
+                kari [1] KeyAgreeRecipientInfo,
+                kekri [2] KekRecipientInfo,
+                pwri [3] PasswordRecipientInfo,
+                ori [4] OtherRecipientInfo }
+            
+
+ + return a RecipientKeyIdentifier object from a tagged object. + + @param _ato the tagged object holding the object we want. + @param _explicit true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the object held by the + tagged object cannot be converted. + + + return a RecipientKeyIdentifier object from the given object. + + @param _obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+             RecipientKeyIdentifier ::= Sequence {
+                 subjectKeyIdentifier SubjectKeyIdentifier,
+                 date GeneralizedTime OPTIONAL,
+                 other OtherKeyAttribute OPTIONAL
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             
+
+ +
+               ScvpReqRes ::= SEQUENCE {
+               request  [0] EXPLICIT ContentInfo OPTIONAL,
+               response     ContentInfo }
+            
+ @return the ASN.1 primitive representation. +
+ + a signed data object. + + + Produce an object suitable for an Asn1OutputStream. +
+            SignedData ::= Sequence {
+                version CMSVersion,
+                digestAlgorithms DigestAlgorithmIdentifiers,
+                encapContentInfo EncapsulatedContentInfo,
+                certificates [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                signerInfos SignerInfos
+              }
+            
+
+ +
+            SignedData ::= SEQUENCE {
+                version CMSVersion,
+                digestAlgorithms DigestAlgorithmIdentifiers,
+                encapContentInfo EncapsulatedContentInfo,
+                certificates [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                signerInfos SignerInfos
+              }
+            
+
+ + return a SignerIdentifier object from the given object. + + @param o the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+             SignerIdentifier ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             
+
+ + Produce an object suitable for an Asn1OutputStream. +
+              SignerInfo ::= Sequence {
+                  version Version,
+                  SignerIdentifier sid,
+                  digestAlgorithm DigestAlgorithmIdentifier,
+                  authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
+                  digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
+                  encryptedDigest EncryptedDigest,
+                  unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
+              }
+            
+              EncryptedDigest ::= OCTET STRING
+            
+              DigestAlgorithmIdentifier ::= AlgorithmIdentifier
+            
+              DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+             
+
+ + creates a time object from a given date - if the date is between 1950 + and 2049 a UTCTime object is Generated, otherwise a GeneralizedTime + is used. + + + Produce an object suitable for an Asn1OutputStream. +
+            Time ::= CHOICE {
+                        utcTime        UTCTime,
+                        generalTime    GeneralizedTime }
+            
+
+ +
+            TimeStampAndCRL ::= SEQUENCE {
+                timeStamp   TimeStampToken,          -- according to RFC 3161
+                crl         CertificateList OPTIONAL -- according to RFC 5280
+             }
+            
+ @return +
+ +
+            TimeStampedData ::= SEQUENCE {
+              version              INTEGER { v1(1) },
+              dataUri              IA5String OPTIONAL,
+              metaData             MetaData OPTIONAL,
+              content              OCTET STRING OPTIONAL,
+              temporalEvidence     Evidence
+            }
+            
+ @return +
+ +
+            TimeStampTokenEvidence ::=
+               SEQUENCE SIZE(1..MAX) OF TimeStampAndCrl
+            
+ @return +
+ +
+            AttributeTypeAndValue ::= SEQUENCE {
+                      type         OBJECT IDENTIFIER,
+                      value        ANY DEFINED BY type }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertId ::= SEQUENCE {
+                            issuer           GeneralName,
+                            serialNumber     INTEGER }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertReqMessages ::= SEQUENCE SIZE (1..MAX) OF CertReqMsg
+            
+ @return a basic ASN.1 object representation. +
+ + Creates a new CertReqMsg. + @param certReq CertRequest + @param popo may be null + @param regInfo may be null + + +
+            CertReqMsg ::= SEQUENCE {
+                               certReq   CertRequest,
+                               pop       ProofOfPossession  OPTIONAL,
+                               -- content depends upon key type
+                               regInfo   SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue OPTIONAL }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            CertRequest ::= SEQUENCE {
+                                 certReqId     INTEGER,          -- ID for matching request and reply
+                                 certTemplate  CertTemplate,  -- Selected fields of cert to be issued
+                                 controls      Controls OPTIONAL }   -- Attributes affecting issuance
+            
+ @return a basic ASN.1 object representation. +
+ +
+             CertTemplate ::= SEQUENCE {
+                 version      [0] Version               OPTIONAL,
+                 serialNumber [1] INTEGER               OPTIONAL,
+                 signingAlg   [2] AlgorithmIdentifier   OPTIONAL,
+                 issuer       [3] Name                  OPTIONAL,
+                 validity     [4] OptionalValidity      OPTIONAL,
+                 subject      [5] Name                  OPTIONAL,
+                 publicKey    [6] SubjectPublicKeyInfo  OPTIONAL,
+                 issuerUID    [7] UniqueIdentifier      OPTIONAL,
+                 subjectUID   [8] UniqueIdentifier      OPTIONAL,
+                 extensions   [9] Extensions            OPTIONAL }
+            
+ @return a basic ASN.1 object representation. +
+ + Sets the X.509 version. Note: for X509v3, use 2 here. + + + Sets the issuer unique ID (deprecated in X.509v3) + + + Sets the subject unique ID (deprecated in X.509v3) + + +
+             CertTemplate ::= SEQUENCE {
+                 version      [0] Version               OPTIONAL,
+                 serialNumber [1] INTEGER               OPTIONAL,
+                 signingAlg   [2] AlgorithmIdentifier   OPTIONAL,
+                 issuer       [3] Name                  OPTIONAL,
+                 validity     [4] OptionalValidity      OPTIONAL,
+                 subject      [5] Name                  OPTIONAL,
+                 publicKey    [6] SubjectPublicKeyInfo  OPTIONAL,
+                 issuerUID    [7] UniqueIdentifier      OPTIONAL,
+                 subjectUID   [8] UniqueIdentifier      OPTIONAL,
+                 extensions   [9] Extensions            OPTIONAL }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            Controls  ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
+            
+ @return a basic ASN.1 object representation. +
+ +
+            EncKeyWithID ::= SEQUENCE {
+                 privateKey           PrivateKeyInfo,
+                 identifier CHOICE {
+                    string               UTF8String,
+                    generalName          GeneralName
+                } OPTIONAL
+            }
+            
+ @return +
+ +
+               EncryptedKey ::= CHOICE {
+                   encryptedValue        EncryptedValue, -- deprecated
+                   envelopedData     [0] EnvelopedData }
+                   -- The encrypted private key MUST be placed in the envelopedData
+                   -- encryptedContentInfo encryptedContent OCTET STRING.
+            
+
+ +
+            EncryptedValue ::= SEQUENCE {
+                                intendedAlg   [0] AlgorithmIdentifier  OPTIONAL,
+                                -- the intended algorithm for which the value will be used
+                                symmAlg       [1] AlgorithmIdentifier  OPTIONAL,
+                                -- the symmetric algorithm used to encrypt the value
+                                encSymmKey    [2] BIT STRING           OPTIONAL,
+                                -- the (encrypted) symmetric key used to encrypt the value
+                                keyAlg        [3] AlgorithmIdentifier  OPTIONAL,
+                                -- algorithm used to encrypt the symmetric key
+                                valueHint     [4] OCTET STRING         OPTIONAL,
+                                -- a brief description or identifier of the encValue content
+                                -- (may be meaningful only to the sending entity, and used only
+                                -- if EncryptedValue might be re-examined by the sending entity
+                                -- in the future)
+                                encValue       BIT STRING }
+                                -- the encrypted value itself
+            
+ @return a basic ASN.1 object representation. +
+ +
+            OptionalValidity ::= SEQUENCE {
+                                   notBefore  [0] Time OPTIONAL,
+                                   notAfter   [1] Time OPTIONAL } --at least one MUST be present
+            
+ @return a basic ASN.1 object representation. +
+ +
+             PkiArchiveOptions ::= CHOICE {
+                 encryptedPrivKey     [0] EncryptedKey,
+                 -- the actual value of the private key
+                 keyGenParameters     [1] KeyGenParameters,
+                 -- parameters which allow the private key to be re-generated
+                 archiveRemGenPrivKey [2] BOOLEAN }
+                 -- set to TRUE if sender wishes receiver to archive the private
+                 -- key of a key pair that the receiver generates in response to
+                 -- this request; set to FALSE if no archival is desired.
+            
+
+ +
+            PkiPublicationInfo ::= SEQUENCE {
+                             action     INTEGER {
+                                            dontPublish (0),
+                                            pleasePublish (1) },
+                             pubInfos  SEQUENCE SIZE (1..MAX) OF SinglePubInfo OPTIONAL }
+            -- pubInfos MUST NOT be present if action is "dontPublish"
+            -- (if action is "pleasePublish" and pubInfos is omitted,
+            -- "dontCare" is assumed)
+            
+ @return a basic ASN.1 object representation. +
+ + Password-based MAC value for use with POPOSigningKeyInput. + + + Creates a new PKMACValue. + @param params parameters for password-based MAC + @param value MAC of the DER-encoded SubjectPublicKeyInfo + + + Creates a new PKMACValue. + @param aid CMPObjectIdentifiers.passwordBasedMAC, with PBMParameter + @param value MAC of the DER-encoded SubjectPublicKeyInfo + + +
+            PKMACValue ::= SEQUENCE {
+                 algId  AlgorithmIdentifier,
+                 -- algorithm value shall be PasswordBasedMac 1.2.840.113533.7.66.13
+                 -- parameter value is PBMParameter
+                 value  BIT STRING }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            PopoPrivKey ::= CHOICE {
+                   thisMessage       [0] BIT STRING,         -- Deprecated
+                    -- possession is proven in this message (which contains the private
+                    -- key itself (encrypted for the CA))
+                   subsequentMessage [1] SubsequentMessage,
+                    -- possession will be proven in a subsequent message
+                   dhMAC             [2] BIT STRING,         -- Deprecated
+                   agreeMAC          [3] PKMACValue,
+                   encryptedKey      [4] EnvelopedData }
+            
+
+ + Creates a new Proof of Possession object for a signing key. + @param poposkIn the PopoSigningKeyInput structure, or null if the + CertTemplate includes both subject and publicKey values. + @param aid the AlgorithmIdentifier used to sign the proof of possession. + @param signature a signature over the DER-encoded value of poposkIn, + or the DER-encoded value of certReq if poposkIn is null. + + +
+            PopoSigningKey ::= SEQUENCE {
+                                 poposkInput           [0] PopoSigningKeyInput OPTIONAL,
+                                 algorithmIdentifier   AlgorithmIdentifier,
+                                 signature             BIT STRING }
+             -- The signature (using "algorithmIdentifier") is on the
+             -- DER-encoded value of poposkInput.  NOTE: If the CertReqMsg
+             -- certReq CertTemplate contains the subject and publicKey values,
+             -- then poposkInput MUST be omitted and the signature MUST be
+             -- computed on the DER-encoded value of CertReqMsg certReq.  If
+             -- the CertReqMsg certReq CertTemplate does not contain the public
+             -- key and subject values, then poposkInput MUST be present and
+             -- MUST be signed.  This strategy ensures that the public key is
+             -- not present in both the poposkInput and CertReqMsg certReq
+             -- CertTemplate fields.
+            
+ @return a basic ASN.1 object representation. +
+ + Creates a new PopoSigningKeyInput with sender name as authInfo. + + + Creates a new PopoSigningKeyInput using password-based MAC. + + + Returns the sender field, or null if authInfo is publicKeyMac + + + Returns the publicKeyMac field, or null if authInfo is sender + + +
+            PopoSigningKeyInput ::= SEQUENCE {
+                   authInfo             CHOICE {
+                                            sender              [0] GeneralName,
+                                            -- used only if an authenticated identity has been
+                                            -- established for the sender (e.g., a DN from a
+                                            -- previously-issued and currently-valid certificate
+                                            publicKeyMac        PKMacValue },
+                                            -- used if no authenticated GeneralName currently exists for
+                                            -- the sender; publicKeyMac contains a password-based MAC
+                                            -- on the DER-encoded value of publicKey
+                   publicKey           SubjectPublicKeyInfo }  -- from CertTemplate
+            
+ @return a basic ASN.1 object representation. +
+ + Creates a ProofOfPossession with type raVerified. + + + Creates a ProofOfPossession for a signing key. + + + Creates a ProofOfPossession for key encipherment or agreement. + @param type one of TYPE_KEY_ENCIPHERMENT or TYPE_KEY_AGREEMENT + + +
+            ProofOfPossession ::= CHOICE {
+                                      raVerified        [0] NULL,
+                                      -- used if the RA has already verified that the requester is in
+                                      -- possession of the private key
+                                      signature         [1] PopoSigningKey,
+                                      keyEncipherment   [2] PopoPrivKey,
+                                      keyAgreement      [3] PopoPrivKey }
+            
+ @return a basic ASN.1 object representation. +
+ +
+            SinglePubInfo ::= SEQUENCE {
+                   pubMethod    INTEGER {
+                      dontCare    (0),
+                      x500        (1),
+                      web         (2),
+                      ldap        (3) },
+                  pubLocation  GeneralName OPTIONAL }
+            
+ @return a basic ASN.1 object representation. +
+ + + Table of the available named parameters for GOST 3410-2001 / 2012. + + + + return the ECDomainParameters object for the given OID, null if it + isn't present. + + @param oid an object identifier representing a named parameters, if present. + + + returns an enumeration containing the name strings for curves + contained in this structure. + + + return the named curve name represented by the given object identifier. + + +
+             Gost28147-89-Parameters ::=
+                           SEQUENCE {
+                                   iv                   Gost28147-89-IV,
+                                   encryptionParamSet   OBJECT IDENTIFIER
+                            }
+            
+               Gost28147-89-IV ::= OCTET STRING (SIZE (8))
+             
+
+ + table of the available named parameters for GOST 3410-94. + + + return the GOST3410ParamSetParameters object for the given OID, null if it + isn't present. + + @param oid an object identifier representing a named parameters, if present. + + + returns an enumeration containing the name strings for parameters + contained in this structure. + + + Base class for an application specific object + + + Return the enclosed object assuming explicit tagging. + + @return the resulting object + @throws IOException if reconstruction fails. + + + Return the enclosed object assuming implicit tagging. + + @param derTagNo the type tag that should be applied to the object's contents. + @return the resulting object + @throws IOException if reconstruction fails. + + + return a Bit string from the passed in object + + @exception ArgumentException if the object cannot be converted. + + + return a Bit string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + @param data the octets making up the bit string. + @param padBits the number of extra bits at the end of the string. + + + Return the octets contained in this BIT STRING, checking that this BIT STRING really + does represent an octet aligned string. Only use this method when the standard you are + following dictates that the BIT STRING will be octet aligned. + + @return a copy of the octet aligned data. + + + @return the value of the bit string as an int (truncating if necessary) + + + Der BMPString object. + + + return a BMP string from the given object. + + @param obj the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + return a BMP string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + basic constructor - byte encoded string. + + + basic constructor + + + return a bool from the passed in object. + + @exception ArgumentException if the object cannot be converted. + + + return a DerBoolean from the passed in bool. + + + return a Boolean from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + return an integer from the passed in object + + @exception ArgumentException if the object cannot be converted. + + + return an Enumerated from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + Class representing the DER-type External + + + Creates a new instance of DerExternal + See X.690 for more informations about the meaning of these parameters + @param directReference The direct reference or null if not set. + @param indirectReference The indirect reference or null if not set. + @param dataValueDescriptor The data value descriptor or null if not set. + @param externalData The external data in its encoded form. + + + Creates a new instance of DerExternal. + See X.690 for more informations about the meaning of these parameters + @param directReference The direct reference or null if not set. + @param indirectReference The indirect reference or null if not set. + @param dataValueDescriptor The data value descriptor or null if not set. + @param encoding The encoding to be used for the external data + @param externalData The external data + + + The encoding of the content. Valid values are +
    +
  • 0 single-ASN1-type
  • +
  • 1 OCTET STRING
  • +
  • 2 BIT STRING
  • +
+
+ + Generalized time object. + + + return a generalized time from the passed in object + + @exception ArgumentException if the object cannot be converted. + + + return a Generalized Time object from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + The correct format for this is YYYYMMDDHHMMSS[.f]Z, or without the Z + for local time, or Z+-HHMM on the end, for difference between local + time and UTC time. The fractional second amount f must consist of at + least one number with trailing zeroes removed. + + @param time the time string. + @exception ArgumentException if string is an illegal format. + + + base constructor from a local time object + + + Return the time. + @return The time string as it appeared in the encoded object. + + + return the time - always in the form of + YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm). +

+ Normally in a certificate we would expect "Z" rather than "GMT", + however adding the "GMT" means we can just use: +

+                dateF = new SimpleDateFormat("yyyyMMddHHmmssz");
+            
+ To read in the time and Get a date which is compatible with our local + time zone.

+
+ + return a Graphic String from the passed in object + + @param obj a DerGraphicString or an object that can be converted into one. + @exception IllegalArgumentException if the object cannot be converted. + @return a DerGraphicString instance, or null. + + + return a Graphic String from a tagged object. + + @param obj the tagged object holding the object we want + @param explicit true if the object is meant to be explicitly + tagged false otherwise. + @exception IllegalArgumentException if the tagged object cannot + be converted. + @return a DerGraphicString instance, or null. + + + basic constructor - with bytes. + @param string the byte encoding of the characters making up the string. + + + Der IA5String object - this is an ascii string. + + + return a IA5 string from the passed in object + + @exception ArgumentException if the object cannot be converted. + + + return an IA5 string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + basic constructor - with bytes. + + + basic constructor - without validation. + + + Constructor with optional validation. + + @param string the base string to wrap. + @param validate whether or not to check the string. + @throws ArgumentException if validate is true and the string + contains characters that should not be in an IA5String. + + + return true if the passed in String can be represented without + loss as an IA5String, false otherwise. + + @return true if in printable set, false otherwise. + + + return an integer from the passed in object + + @exception ArgumentException if the object cannot be converted. + + + return an Integer from a tagged object. + + @param obj the tagged object holding the object we want + @param isExplicit true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + in some cases positive values Get crammed into a space, + that's not quite big enough... + + + Apply the correct validation for an INTEGER primitive following the BER rules. + + @param bytes The raw encoding of the integer. + @return true if the (in)put fails this validation. + + + A Null object. + + + Der NumericString object - this is an ascii string of characters {0,1,2,3,4,5,6,7,8,9, }. + + + return a Numeric string from the passed in object + + @exception ArgumentException if the object cannot be converted. + + + return an Numeric string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + basic constructor - with bytes. + + + basic constructor - without validation.. + + + Constructor with optional validation. + + @param string the base string to wrap. + @param validate whether or not to check the string. + @throws ArgumentException if validate is true and the string + contains characters that should not be in a NumericString. + + + Return true if the string can be represented as a NumericString ('0'..'9', ' ') + + @param str string to validate. + @return true if numeric, fale otherwise. + + + return an Oid from the passed in object + + @exception ArgumentException if the object cannot be converted. + + + return an object Identifier from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + Return true if this oid is an extension of the passed in branch, stem. + @param stem the arc or branch that is a possible parent. + @return true if the branch is on the passed in stem, false otherwise. + + + The octets making up the octet string. + + + Der PrintableString object. + + + return a printable string from the passed in object. + + @exception ArgumentException if the object cannot be converted. + + + return a Printable string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + basic constructor - byte encoded string. + + + basic constructor - this does not validate the string + + + Constructor with optional validation. + + @param string the base string to wrap. + @param validate whether or not to check the string. + @throws ArgumentException if validate is true and the string + contains characters that should not be in a PrintableString. + + + return true if the passed in String can be represented without + loss as a PrintableString, false otherwise. + + @return true if in printable set, false otherwise. + + + create an empty sequence + + + create a sequence containing one object + + + create a sequence containing a vector of objects. + + + A Der encoded set object + + + create an empty set + + + @param obj - a single object that makes up the set. + + + @param v - a vector of objects making up the set. + + + Der T61String (also the teletex string) - 8-bit characters + + + return a T61 string from the passed in object. + + @exception ArgumentException if the object cannot be converted. + + + return an T61 string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + basic constructor - with bytes. + + + basic constructor - with string. + + + DER TaggedObject - in ASN.1 notation this is any object preceded by + a [n] where n is some number - these are assumed to follow the construction + rules (as with sequences). + + + @param tagNo the tag number for this object. + @param obj the tagged object. + + + @param explicitly true if an explicitly tagged object. + @param tagNo the tag number for this object. + @param obj the tagged object. + + + create an implicitly tagged object that contains a zero + length sequence. + + + Der UniversalString object. + + + return a Universal string from the passed in object. + + @exception ArgumentException if the object cannot be converted. + + + return a Universal string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + basic constructor - byte encoded string. + + + UTC time object. + + + return an UTC Time from the passed in object. + + @exception ArgumentException if the object cannot be converted. + + + return an UTC Time from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + The correct format for this is YYMMDDHHMMSSZ (it used to be that seconds were + never encoded. When you're creating one of these objects from scratch, that's + what you want to use, otherwise we'll try to deal with whatever Gets read from + the input stream... (this is why the input format is different from the GetTime() + method output). +

+ @param time the time string.

+
+ + base constructor from a DateTime object + + + return the time as a date based on whatever a 2 digit year will return. For + standardised processing use ToAdjustedDateTime(). + + @return the resulting date + @exception ParseException if the date string cannot be parsed. + + + return the time as an adjusted date + in the range of 1950 - 2049. + + @return a date in the range of 1950 to 2049. + @exception ParseException if the date string cannot be parsed. + + + return the time - always in the form of + YYMMDDhhmmssGMT(+hh:mm|-hh:mm). +

+ Normally in a certificate we would expect "Z" rather than "GMT", + however adding the "GMT" means we can just use: +

+                dateF = new SimpleDateFormat("yyMMddHHmmssz");
+            
+ To read in the time and Get a date which is compatible with our local + time zone.

+

+ Note: In some cases, due to the local date processing, this + may lead to unexpected results. If you want to stick the normal + convention of 1950 to 2049 use the GetAdjustedTime() method.

+
+ + + Return a time string as an adjusted date with a 4 digit year. + This goes in the range of 1950 - 2049. + + + + Der UTF8String object. + + + return an UTF8 string from the passed in object. + + @exception ArgumentException if the object cannot be converted. + + + return an UTF8 string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + basic constructor - byte encoded string. + + + basic constructor + + + return a Videotex String from the passed in object + + @param obj a DERVideotexString or an object that can be converted into one. + @exception IllegalArgumentException if the object cannot be converted. + @return a DERVideotexString instance, or null. + + + return a Videotex String from a tagged object. + + @param obj the tagged object holding the object we want + @param explicit true if the object is meant to be explicitly + tagged false otherwise. + @exception IllegalArgumentException if the tagged object cannot + be converted. + @return a DERVideotexString instance, or null. + + + basic constructor - with bytes. + @param string the byte encoding of the characters making up the string. + + + Der VisibleString object. + + + return a Visible string from the passed in object. + + @exception ArgumentException if the object cannot be converted. + + + return a Visible string from a tagged object. + + @param obj the tagged object holding the object we want + @param explicitly true if the object is meant to be explicitly + tagged false otherwise. + @exception ArgumentException if the tagged object cannot + be converted. + + + basic constructor - byte encoded string. + + + basic constructor + + + Edwards Elliptic Curve Object Identifiers (RFC 8410) + + + + RFC 3126: 4.3.1 Certificate Values Attribute Definition + + CertificateValues ::= SEQUENCE OF Certificate + + + + +
+            CommitmentTypeIndication ::= SEQUENCE {
+                 commitmentTypeId   CommitmentTypeIdentifier,
+                 commitmentTypeQualifier   SEQUENCE SIZE (1..MAX) OF
+                         CommitmentTypeQualifier OPTIONAL }
+            
+
+ + Commitment type qualifiers, used in the Commitment-Type-Indication attribute (RFC3126). + +
+               CommitmentTypeQualifier ::= SEQUENCE {
+                   commitmentTypeIdentifier  CommitmentTypeIdentifier,
+                   qualifier          ANY DEFINED BY commitmentTypeIdentifier OPTIONAL }
+             
+
+ + Creates a new CommitmentTypeQualifier instance. + + @param commitmentTypeIdentifier a CommitmentTypeIdentifier value + + + Creates a new CommitmentTypeQualifier instance. + + @param commitmentTypeIdentifier a CommitmentTypeIdentifier value + @param qualifier the qualifier, defined by the above field. + + + Creates a new CommitmentTypeQualifier instance. + + @param as CommitmentTypeQualifier structure + encoded as an Asn1Sequence. + + + Returns a DER-encodable representation of this instance. + + @return a Asn1Object value + + + + RFC 3126: 4.2.1 Complete Certificate Refs Attribute Definition + + CompleteCertificateRefs ::= SEQUENCE OF OtherCertID + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + CompleteRevocationRefs ::= SEQUENCE OF CrlOcspRef + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + CrlIdentifier ::= SEQUENCE + { + crlissuer Name, + crlIssuedTime UTCTime, + crlNumber INTEGER OPTIONAL + } + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + CRLListID ::= SEQUENCE + { + crls SEQUENCE OF CrlValidatedID + } + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + CrlOcspRef ::= SEQUENCE { + crlids [0] CRLListID OPTIONAL, + ocspids [1] OcspListID OPTIONAL, + otherRev [2] OtherRevRefs OPTIONAL + } + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + CrlValidatedID ::= SEQUENCE { + crlHash OtherHash, + crlIdentifier CrlIdentifier OPTIONAL} + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + OcspIdentifier ::= SEQUENCE { + ocspResponderID ResponderID, + -- As in OCSP response data + producedAt GeneralizedTime + -- As in OCSP response data + } + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + OcspListID ::= SEQUENCE { + ocspResponses SEQUENCE OF OcspResponsesID + } + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + OcspResponsesID ::= SEQUENCE { + ocspIdentifier OcspIdentifier, + ocspRepHash OtherHash OPTIONAL + } + + + + + + + OtherCertID ::= SEQUENCE { + otherCertHash OtherHash, + issuerSerial IssuerSerial OPTIONAL + } + + + + + + + OtherHash ::= CHOICE { + sha1Hash OtherHashValue, -- This contains a SHA-1 hash + otherHash OtherHashAlgAndValue + } + + OtherHashValue ::= OCTET STRING + + + + + + Summary description for OtherHashAlgAndValue. + + + + OtherHashAlgAndValue ::= SEQUENCE { + hashAlgorithm AlgorithmIdentifier, + hashValue OtherHashValue + } + + OtherHashValue ::= OCTET STRING + + + + + + RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition + + OtherRevRefs ::= SEQUENCE + { + otherRevRefType OtherRevRefType, + otherRevRefs ANY DEFINED BY otherRevRefType + } + + OtherRevRefType ::= OBJECT IDENTIFIER + + + + + + RFC 3126: 4.3.2 Revocation Values Attribute Definition + + OtherRevVals ::= SEQUENCE + { + otherRevValType OtherRevValType, + otherRevVals ANY DEFINED BY otherRevValType + } + + OtherRevValType ::= OBJECT IDENTIFIER + + + + + + + OtherSigningCertificate ::= SEQUENCE { + certs SEQUENCE OF OtherCertID, + policies SEQUENCE OF PolicyInformation OPTIONAL + } + + + + + + RFC 5126: 6.3.4. revocation-values Attribute Definition + + RevocationValues ::= SEQUENCE { + crlVals [0] SEQUENCE OF CertificateList OPTIONAL, + ocspVals [1] SEQUENCE OF BasicOCSPResponse OPTIONAL, + otherRevVals [2] OtherRevVals OPTIONAL + } + + + + + + + SignaturePolicyId ::= SEQUENCE { + sigPolicyIdentifier SigPolicyId, + sigPolicyHash SigPolicyHash, + sigPolicyQualifiers SEQUENCE SIZE (1..MAX) OF SigPolicyQualifierInfo OPTIONAL + } + + SigPolicyId ::= OBJECT IDENTIFIER + + SigPolicyHash ::= OtherHashAlgAndValue + + + + + + + SignaturePolicyIdentifier ::= CHOICE { + SignaturePolicyId SignaturePolicyId, + SignaturePolicyImplied SignaturePolicyImplied + } + + SignaturePolicyImplied ::= NULL + + + + + +
+              SignerAttribute ::= SEQUENCE OF CHOICE {
+                  claimedAttributes   [0] ClaimedAttributes,
+                  certifiedAttributes [1] CertifiedAttributes }
+            
+              ClaimedAttributes ::= SEQUENCE OF Attribute
+              CertifiedAttributes ::= AttributeCertificate -- as defined in RFC 3281: see clause 4.1.
+             
+
+ + Signer-Location attribute (RFC3126). + +
+               SignerLocation ::= SEQUENCE {
+                   countryName        [0] DirectoryString OPTIONAL,
+                   localityName       [1] DirectoryString OPTIONAL,
+                   postalAddress      [2] PostalAddress OPTIONAL }
+            
+               PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
+             
+
+ +
+               SignerLocation ::= SEQUENCE {
+                   countryName        [0] DirectoryString OPTIONAL,
+                   localityName       [1] DirectoryString OPTIONAL,
+                   postalAddress      [2] PostalAddress OPTIONAL }
+            
+               PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
+            
+               DirectoryString ::= CHOICE {
+                     teletexString           TeletexString (SIZE (1..MAX)),
+                     printableString         PrintableString (SIZE (1..MAX)),
+                     universalString         UniversalString (SIZE (1..MAX)),
+                     utf8String              UTF8String (SIZE (1.. MAX)),
+                     bmpString               BMPString (SIZE (1..MAX)) }
+             
+
+ + + + SigPolicyQualifierInfo ::= SEQUENCE { + sigPolicyQualifierId SigPolicyQualifierId, + sigQualifier ANY DEFINED BY sigPolicyQualifierId + } + + SigPolicyQualifierId ::= OBJECT IDENTIFIER + + + + + constructor + + +
+            ContentHints ::= SEQUENCE {
+              contentDescription UTF8String (SIZE (1..MAX)) OPTIONAL,
+              contentType ContentType }
+            
+
+ + Create from OCTET STRING whose octets represent the identifier. + + + Create from byte array representing the identifier. + + + The definition of ContentIdentifier is +
+            ContentIdentifier ::=  OCTET STRING
+            
+ id-aa-contentIdentifier OBJECT IDENTIFIER ::= { iso(1) + member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) + smime(16) id-aa(2) 7 } +
+ + constructor + + +
+            EssCertID ::= SEQUENCE {
+                certHash Hash,
+                issuerSerial IssuerSerial OPTIONAL }
+            
+
+ +
+             EssCertIDv2 ::=  SEQUENCE {
+                 hashAlgorithm     AlgorithmIdentifier
+                          DEFAULT {algorithm id-sha256},
+                 certHash          Hash,
+                 issuerSerial      IssuerSerial OPTIONAL
+             }
+            
+             Hash ::= OCTET STRING
+            
+             IssuerSerial ::= SEQUENCE {
+                 issuer         GeneralNames,
+                 serialNumber   CertificateSerialNumber
+             }
+             
+
+ + constructor + + +
+             OtherCertID ::= SEQUENCE {
+                 otherCertHash    OtherHash,
+                 issuerSerial     IssuerSerial OPTIONAL }
+            
+             OtherHash ::= CHOICE {
+                 sha1Hash     OCTET STRING,
+                 otherHash    OtherHashAlgAndValue }
+            
+             OtherHashAlgAndValue ::= SEQUENCE {
+                 hashAlgorithm    AlgorithmIdentifier,
+                 hashValue        OCTET STRING }
+            
+             
+
+ + constructors + + + The definition of OtherSigningCertificate is +
+            OtherSigningCertificate ::=  SEQUENCE {
+                 certs        SEQUENCE OF OtherCertID,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            
+ id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1) + member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) + smime(16) id-aa(2) 19 } +
+ + constructors + + + The definition of SigningCertificate is +
+            SigningCertificate ::=  SEQUENCE {
+                 certs        SEQUENCE OF EssCertID,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            
+ id-aa-signingCertificate OBJECT IDENTIFIER ::= { iso(1) + member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) + smime(16) id-aa(2) 12 } +
+ + The definition of SigningCertificateV2 is +
+            SigningCertificateV2 ::=  SEQUENCE {
+                 certs        SEQUENCE OF EssCertIDv2,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            
+ id-aa-signingCertificateV2 OBJECT IDENTIFIER ::= { iso(1) + member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) + smime(16) id-aa(2) 47 } +
+ + return the X9ECParameters object for the named curve represented by + the passed in object identifier. Null if the curve isn't present. + + @param oid an object identifier representing a named curve, if present. + + + return the object identifier signified by the passed in name. Null + if there is no object identifier associated with name. + + @return the object identifier associated with name, if present. + + + return the named curve name represented by the given object identifier. + + + returns an enumeration containing the name strings for curves + contained in this structure. + + + 1.3.6.1.4.1.11591.15 - ellipticCurve + + + Marker interface for CHOICE objects - if you implement this in a roll-your-own + object, any attempt to tag the object implicitly will convert the tag to an + explicit one as the encoding rules require. +

+ If you use this interface your class should also implement the getInstance + pattern which takes a tag object and the tagging mode used. +

+
+ + basic interface for Der string objects. + + + The CscaMasterList object. This object can be wrapped in a + CMSSignedData to be published in LDAP. + +
+             CscaMasterList ::= SEQUENCE {
+               version                CscaMasterListVersion,
+               certList               SET OF Certificate }
+               
+             CscaMasterListVersion :: INTEGER {v0(0)}
+             
+
+ + The DataGroupHash object. +
+             DataGroupHash  ::=  SEQUENCE {
+                  dataGroupNumber         DataGroupNumber,
+                  dataGroupHashValue     OCTET STRING }
+            
+             DataGroupNumber ::= INTEGER {
+                     dataGroup1    (1),
+                     dataGroup1    (2),
+                     dataGroup1    (3),
+                     dataGroup1    (4),
+                     dataGroup1    (5),
+                     dataGroup1    (6),
+                     dataGroup1    (7),
+                     dataGroup1    (8),
+                     dataGroup1    (9),
+                     dataGroup1    (10),
+                     dataGroup1    (11),
+                     dataGroup1    (12),
+                     dataGroup1    (13),
+                     dataGroup1    (14),
+                     dataGroup1    (15),
+                     dataGroup1    (16) }
+            
+             
+
+ + The LDSSecurityObject object (V1.8). +
+             LDSSecurityObject ::= SEQUENCE {
+               version                LDSSecurityObjectVersion,
+               hashAlgorithm          DigestAlgorithmIdentifier,
+               dataGroupHashValues    SEQUENCE SIZE (2..ub-DataGroups) OF DataHashGroup,
+               ldsVersionInfo         LDSVersionInfo OPTIONAL
+                 -- if present, version MUST be v1 }
+            
+             DigestAlgorithmIdentifier ::= AlgorithmIdentifier,
+            
+             LDSSecurityObjectVersion :: INTEGER {V0(0)}
+             
+
+ +
+            LDSVersionInfo ::= SEQUENCE {
+               ldsVersion PRINTABLE STRING
+               unicodeVersion PRINTABLE STRING
+             }
+            
+ @return +
+ + The id-isismtt-cp-accredited OID indicates that the certificate is a + qualified certificate according to Directive 1999/93/EC of the European + Parliament and of the Council of 13 December 1999 on a Community + Framework for Electronic Signatures, which additionally conforms the + special requirements of the SigG and has been issued by an accredited CA. + + + Certificate extensionDate of certificate generation + +
+            		DateOfCertGenSyntax ::= GeneralizedTime
+             
+
+ + Attribute to indicate that the certificate holder may sign in the name of + a third person. May also be used as extension in a certificate. + + + Attribute to indicate admissions to certain professions. May be used as + attribute in attribute certificate or as extension in a certificate + + + Monetary limit for transactions. The QcEuMonetaryLimit QC statement MUST + be used in new certificates in place of the extension/attribute + MonetaryLimit since January 1, 2004. For the sake of backward + compatibility with certificates already in use, SigG conforming + components MUST support MonetaryLimit (as well as QcEuLimitValue). + + + A declaration of majority. May be used as attribute in attribute + certificate or as extension in a certificate + + + + Serial number of the smart card containing the corresponding private key + +
+            		ICCSNSyntax ::= OCTET STRING (SIZE(8..20))
+             
+
+ + + Reference for a file of a smartcard that stores the public key of this + certificate and that is used as �security anchor�. + +
+            		PKReferenceSyntax ::= OCTET STRING (SIZE(20))
+             
+
+ + Some other restriction regarding the usage of this certificate. May be + used as attribute in attribute certificate or as extension in a + certificate. + +
+            		RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             
+ + @see Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction +
+ + + (Single)Request extension: Clients may include this extension in a + (single) Request to request the responder to send the certificate in the + response message along with the status information. Besides the LDAP + service, this extension provides another mechanism for the distribution + of certificates, which MAY optionally be provided by certificate + repositories. + +
+            		RetrieveIfAllowed ::= BOOLEAN
+             
+
+ + SingleOCSPResponse extension: The certificate requested by the client by + inserting the RetrieveIfAllowed extension in the request, will be + returned in this extension. + + @see Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate + + + Base ObjectIdentifier for naming authorities + + + SingleOCSPResponse extension: Date, when certificate has been published + in the directory and status information has become available. Currently, + accrediting authorities enforce that SigG-conforming OCSP servers include + this extension in the responses. + +
+            		CertInDirSince ::= GeneralizedTime
+             
+
+ + Hash of a certificate in OCSP. + + @see Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash + + +
+            		NameAtBirth ::= DirectoryString(SIZE(1..64)
+             
+ + Used in + {@link Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes SubjectDirectoryAttributes} +
+ + Some other information of non-restrictive nature regarding the usage of + this certificate. May be used as attribute in atribute certificate or as + extension in a certificate. + +
+                          AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+            
+ + @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax +
+ + Indicates that an attribute certificate exists, which limits the + usability of this public key certificate. Whenever verifying a signature + with the help of this certificate, the content of the corresponding + attribute certificate should be concerned. This extension MUST be + included in a PKC, if a corresponding attribute certificate (having the + PKC as base certificate) contains some attribute that restricts the + usability of the PKC too. Attribute certificates with restricting content + MUST always be included in the signed document. + +
+            		LiabilityLimitationFlagSyntax ::= BOOLEAN
+             
+
+ + ISIS-MTT PROFILE: The responder may include this extension in a response to + send the hash of the requested certificate to the responder. This hash is + cryptographically bound to the certificate and serves as evidence that the + certificate is known to the responder (i.e. it has been issued and is present + in the directory). Hence, this extension is a means to provide a positive + statement of availability as described in T8.[8]. As explained in T13.[1], + clients may rely on this information to be able to validate signatures after + the expiry of the corresponding certificate. Hence, clients MUST support this + extension. If a positive statement of availability is to be delivered, this + extension syntax and OID MUST be used. +

+

+

+                CertHash ::= SEQUENCE {
+                  hashAlgorithm AlgorithmIdentifier,
+                  certificateHash OCTET STRING
+                }
+            
+
+ + Constructor from Asn1Sequence. +

+ The sequence is of type CertHash: +

+

+                 CertHash ::= SEQUENCE {
+                   hashAlgorithm AlgorithmIdentifier,
+                   certificateHash OCTET STRING
+                 }
+             
+ + @param seq The ASN.1 sequence. +
+ + Constructor from a given details. + + @param hashAlgorithm The hash algorithm identifier. + @param certificateHash The hash of the whole DER encoding of the certificate. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                 CertHash ::= SEQUENCE {
+                   hashAlgorithm AlgorithmIdentifier,
+                   certificateHash OCTET STRING
+                 }
+             
+ + @return an Asn1Object +
+ + ISIS-MTT-Optional: The certificate requested by the client by inserting the + RetrieveIfAllowed extension in the request, will be returned in this + extension. +

+ ISIS-MTT-SigG: The signature act allows publishing certificates only then, + when the certificate owner gives his isExplicit permission. Accordingly, there + may be �nondownloadable� certificates, about which the responder must provide + status information, but MUST NOT include them in the response. Clients may + get therefore the following three kind of answers on a single request + including the RetrieveIfAllowed extension: +

    +
  • a) the responder supports the extension and is allowed to publish the + certificate: RequestedCertificate returned including the requested + certificate
  • +
  • b) the responder supports the extension but is NOT allowed to publish + the certificate: RequestedCertificate returned including an empty OCTET + STRING
  • +
  • c) the responder does not support the extension: RequestedCertificate is + not included in the response
  • +
+ Clients requesting RetrieveIfAllowed MUST be able to handle these cases. If + any of the OCTET STRING options is used, it MUST contain the DER encoding of + the requested certificate. +

+

+                       RequestedCertificate ::= CHOICE {
+                         Certificate Certificate,
+                         publicKeyCertificate [0] EXPLICIT OCTET STRING,
+                         attributeCertificate [1] EXPLICIT OCTET STRING
+                       }
+            
+
+ + Constructor from a given details. +

+ Only one parameter can be given. All other must be null. + + @param certificate Given as Certificate + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                        RequestedCertificate ::= CHOICE {
+                          Certificate Certificate,
+                          publicKeyCertificate [0] EXPLICIT OCTET STRING,
+                          attributeCertificate [1] EXPLICIT OCTET STRING
+                        }
+             
+ + @return an Asn1Object +
+ + Some other information of non-restrictive nature regarding the usage of this + certificate. + +
+               AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+            
+
+ + Constructor from a given details. + + @param information The describtion of the information. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+               AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+             
+ + @return an Asn1Object +
+ + An Admissions structure. +

+

+                        Admissions ::= SEQUENCE
+                        {
+                          admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                          namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                          professionInfos SEQUENCE OF ProfessionInfo
+                        }
+             

+

+ + @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax + @see Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo + @see Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority +
+ + Constructor from Asn1Sequence. +

+ The sequence is of type ProcurationSyntax: +

+

+                        Admissions ::= SEQUENCE
+                        {
+                          admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                          namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                          professionInfos SEQUENCE OF ProfessionInfo
+                        }
+             
+ + @param seq The ASN.1 sequence. +
+ + Constructor from a given details. +

+ Parameter professionInfos is mandatory. + + @param admissionAuthority The admission authority. + @param namingAuthority The naming authority. + @param professionInfos The profession infos. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                   Admissions ::= SEQUENCE
+                   {
+                     admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                     namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                     professionInfos SEQUENCE OF ProfessionInfo
+                   }
+             

+

+ + @return an Asn1Object +
+ + Attribute to indicate admissions to certain professions. +

+

+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             

+ Admissions ::= SEQUENCE + { + admissionAuthority [0] EXPLICIT GeneralName OPTIONAL + namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL + professionInfos SEQUENCE OF ProfessionInfo + } +

+ NamingAuthority ::= SEQUENCE + { + namingAuthorityId OBJECT IDENTIFIER OPTIONAL, + namingAuthorityUrl IA5String OPTIONAL, + namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL + } +

+ ProfessionInfo ::= SEQUENCE + { + namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL, + professionItems SEQUENCE OF DirectoryString (SIZE(1..128)), + professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL, + registrationNumber PrintableString(SIZE(1..128)) OPTIONAL, + addProfessionInfo OCTET STRING OPTIONAL + } +

+

+

+ ISIS-MTT PROFILE: The relatively complex structure of AdmissionSyntax + supports the following concepts and requirements: +

    +
  • External institutions (e.g. professional associations, chambers, unions, + administrative bodies, companies, etc.), which are responsible for granting + and verifying professional admissions, are indicated by means of the data + field admissionAuthority. An admission authority is indicated by a + GeneralName object. Here an X.501 directory name (distinguished name) can be + indicated in the field directoryName, a URL address can be indicated in the + field uniformResourceIdentifier, and an object identifier can be indicated in + the field registeredId.
  • +
  • The names of authorities which are responsible for the administration of + title registers are indicated in the data field namingAuthority. The name of + the authority can be identified by an object identifier in the field + namingAuthorityId, by means of a text string in the field + namingAuthorityText, by means of a URL address in the field + namingAuthorityUrl, or by a combination of them. For example, the text string + can contain the name of the authority, the country and the name of the title + register. The URL-option refers to a web page which contains lists with + officially registered professions (text and possibly OID) as well as + further information on these professions. Object identifiers for the + component namingAuthorityId are grouped under the OID-branch + id-isis-at-namingAuthorities and must be applied for.
  • +
  • See http://www.teletrust.de/anwend.asp?Id=30200&Sprache=E_&HomePG=0 + for an application form and http://www.teletrust.de/links.asp?id=30220,11 + for an overview of registered naming authorities.
  • +
  • By means of the data type ProfessionInfo certain professions, + specializations, disciplines, fields of activity, etc. are identified. A + profession is represented by one or more text strings, resp. profession OIDs + in the fields professionItems and professionOIDs and by a registration number + in the field registrationNumber. An indication in text form must always be + present, whereas the other indications are optional. The component + addProfessionInfo may contain additional applicationspecific information in + DER-encoded form.
  • +
+

+ By means of different namingAuthority-OIDs or profession OIDs hierarchies of + professions, specializations, disciplines, fields of activity, etc. can be + expressed. The issuing admission authority should always be indicated (field + admissionAuthority), whenever a registration number is presented. Still, + information on admissions can be given without indicating an admission or a + naming authority by the exclusive use of the component professionItems. In + this case the certification authority is responsible for the verification of + the admission information. +

+

+

+ This attribute is single-valued. Still, several admissions can be captured in + the sequence structure of the component contentsOfAdmissions of + AdmissionSyntax or in the component professionInfos of Admissions. The + component admissionAuthority of AdmissionSyntax serves as default value for + the component admissionAuthority of Admissions. Within the latter component + the default value can be overwritten, in case that another authority is + responsible. The component namingAuthority of Admissions serves as a default + value for the component namingAuthority of ProfessionInfo. Within the latter + component the default value can be overwritten, in case that another naming + authority needs to be recorded. +

+ The length of the string objects is limited to 128 characters. It is + recommended to indicate a namingAuthorityURL in all issued attribute + certificates. If a namingAuthorityURL is indicated, the field professionItems + of ProfessionInfo should contain only registered titles. If the field + professionOIDs exists, it has to contain the OIDs of the professions listed + in professionItems in the same order. In general, the field professionInfos + should contain only one entry, unless the admissions that are to be listed + are logically connected (e.g. they have been issued under the same admission + number). + + @see Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions + @see Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo + @see Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority + + + Constructor from Asn1Sequence. +

+ The sequence is of type ProcurationSyntax: +

+

+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             

+ Admissions ::= SEQUENCE + { + admissionAuthority [0] EXPLICIT GeneralName OPTIONAL + namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL + professionInfos SEQUENCE OF ProfessionInfo + } +

+ NamingAuthority ::= SEQUENCE + { + namingAuthorityId OBJECT IDENTIFIER OPTIONAL, + namingAuthorityUrl IA5String OPTIONAL, + namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL + } +

+ ProfessionInfo ::= SEQUENCE + { + namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL, + professionItems SEQUENCE OF DirectoryString (SIZE(1..128)), + professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL, + registrationNumber PrintableString(SIZE(1..128)) OPTIONAL, + addProfessionInfo OCTET STRING OPTIONAL + } +

+ + @param seq The ASN.1 sequence. +
+ + Constructor from given details. + + @param admissionAuthority The admission authority. + @param contentsOfAdmissions The admissions. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             

+ Admissions ::= SEQUENCE + { + admissionAuthority [0] EXPLICIT GeneralName OPTIONAL + namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL + professionInfos SEQUENCE OF ProfessionInfo + } +

+ NamingAuthority ::= SEQUENCE + { + namingAuthorityId OBJECT IDENTIFIER OPTIONAL, + namingAuthorityUrl IA5String OPTIONAL, + namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL + } +

+ ProfessionInfo ::= SEQUENCE + { + namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL, + professionItems SEQUENCE OF DirectoryString (SIZE(1..128)), + professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL, + registrationNumber PrintableString(SIZE(1..128)) OPTIONAL, + addProfessionInfo OCTET STRING OPTIONAL + } +

+ + @return an Asn1Object +
+ + @return Returns the admissionAuthority if present, null otherwise. + + + @return Returns the contentsOfAdmissions. + + + A declaration of majority. +

+

+                      DeclarationOfMajoritySyntax ::= CHOICE
+                      {
+                        notYoungerThan [0] IMPLICIT INTEGER,
+                        fullAgeAtCountry [1] IMPLICIT SEQUENCE
+                        {
+                          fullAge BOOLEAN DEFAULT TRUE,
+                          country PrintableString (SIZE(2))
+                        }
+                        dateOfBirth [2] IMPLICIT GeneralizedTime
+                      }
+            
+

+ fullAgeAtCountry indicates the majority of the owner with respect to the laws + of a specific country. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                       DeclarationOfMajoritySyntax ::= CHOICE
+                       {
+                         notYoungerThan [0] IMPLICIT INTEGER,
+                         fullAgeAtCountry [1] IMPLICIT SEQUENCE
+                         {
+                           fullAge BOOLEAN DEFAULT TRUE,
+                           country PrintableString (SIZE(2))
+                         }
+                         dateOfBirth [2] IMPLICIT GeneralizedTime
+                       }
+             
+ + @return an Asn1Object +
+ + @return notYoungerThan if that's what we are, -1 otherwise + + + Monetary limit for transactions. The QcEuMonetaryLimit QC statement MUST be + used in new certificates in place of the extension/attribute MonetaryLimit + since January 1, 2004. For the sake of backward compatibility with + certificates already in use, components SHOULD support MonetaryLimit (as well + as QcEuLimitValue). +

+ Indicates a monetary limit within which the certificate holder is authorized + to act. (This value DOES NOT express a limit on the liability of the + certification authority). +

+

+               MonetaryLimitSyntax ::= SEQUENCE
+               {
+                 currency PrintableString (SIZE(3)),
+                 amount INTEGER,
+                 exponent INTEGER
+               }
+            
+

+ currency must be the ISO code. +

+ value = amount�10*exponent + + + Constructor from a given details. +

+

+ value = amount�10^exponent + + @param currency The currency. Must be the ISO code. + @param amount The amount + @param exponent The exponent + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                MonetaryLimitSyntax ::= SEQUENCE
+                {
+                  currency PrintableString (SIZE(3)),
+                  amount INTEGER,
+                  exponent INTEGER
+                }
+             
+ + @return an Asn1Object +
+ + Names of authorities which are responsible for the administration of title + registers. + +
+                        NamingAuthority ::= SEQUENCE 
+                        {
+                          namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                          namingAuthorityUrl IA5String OPTIONAL,
+                          namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                        }
+            
+ @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax + +
+ + Profession OIDs should always be defined under the OID branch of the + responsible naming authority. At the time of this writing, the work group + �Recht, Wirtschaft, Steuern� (�Law, Economy, Taxes�) is registered as the + first naming authority under the OID id-isismtt-at-namingAuthorities. + + + Constructor from Asn1Sequence. +

+

+

+                         NamingAuthority ::= SEQUENCE
+                         {
+                           namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                           namingAuthorityUrl IA5String OPTIONAL,
+                           namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                         }
+             
+ + @param seq The ASN.1 sequence. +
+ + @return Returns the namingAuthorityID. + + + @return Returns the namingAuthorityText. + + + @return Returns the namingAuthorityUrl. + + + Constructor from given details. +

+ All parameters can be combined. + + @param namingAuthorityID ObjectIdentifier for naming authority. + @param namingAuthorityUrl URL for naming authority. + @param namingAuthorityText Textual representation of naming authority. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                         NamingAuthority ::= SEQUENCE
+                         {
+                           namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                           namingAuthorityUrl IA5String OPTIONAL,
+                           namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                         }
+             
+ + @return an Asn1Object +
+ + Attribute to indicate that the certificate holder may sign in the name of a + third person. +

+ ISIS-MTT PROFILE: The corresponding ProcurationSyntax contains either the + name of the person who is represented (subcomponent thirdPerson) or a + reference to his/her base certificate (in the component signingFor, + subcomponent certRef), furthermore the optional components country and + typeSubstitution to indicate the country whose laws apply, and respectively + the type of procuration (e.g. manager, procuration, custody). +

+

+ ISIS-MTT PROFILE: The GeneralName MUST be of type directoryName and MAY only + contain: - RFC3039 attributes, except pseudonym (countryName, commonName, + surname, givenName, serialNumber, organizationName, organizationalUnitName, + stateOrProvincename, localityName, postalAddress) and - SubjectDirectoryName + attributes (title, dateOfBirth, placeOfBirth, gender, countryOfCitizenship, + countryOfResidence and NameAtBirth). +

+
+                          ProcurationSyntax ::= SEQUENCE {
+                            country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                            typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                            signingFor [3] EXPLICIT SigningFor 
+                          }
+                          
+                          SigningFor ::= CHOICE 
+                          { 
+                            thirdPerson GeneralName,
+                            certRef IssuerSerial 
+                          }
+            
+ +
+ + Constructor from Asn1Sequence. +

+ The sequence is of type ProcurationSyntax: +

+

+                           ProcurationSyntax ::= SEQUENCE {
+                             country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                             typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                             signingFor [3] EXPLICIT SigningFor
+                           }
+             

+ SigningFor ::= CHOICE + { + thirdPerson GeneralName, + certRef IssuerSerial + } +

+ + @param seq The ASN.1 sequence. +
+ + Constructor from a given details. +

+

+ Either generalName or certRef MUST be + null. + + @param country The country code whose laws apply. + @param typeOfSubstitution The type of procuration. + @param certRef Reference to certificate of the person who is represented. + + + Constructor from a given details. +

+

+ Either generalName or certRef MUST be + null. + + @param country The country code whose laws apply. + @param typeOfSubstitution The type of procuration. + @param thirdPerson The GeneralName of the person who is represented. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                           ProcurationSyntax ::= SEQUENCE {
+                             country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                             typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                             signingFor [3] EXPLICIT SigningFor
+                           }
+             

+ SigningFor ::= CHOICE + { + thirdPerson GeneralName, + certRef IssuerSerial + } +

+ + @return an Asn1Object +
+ + Professions, specializations, disciplines, fields of activity, etc. + +
+                          ProfessionInfo ::= SEQUENCE 
+                          {
+                            namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                            professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                            professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                            registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                            addProfessionInfo OCTET STRING OPTIONAL 
+                          }
+            
+ + @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax +
+ + Rechtsanw�ltin + + + Rechtsanwalt + + + Rechtsbeistand + + + Steuerberaterin + + + Steuerberater + + + Steuerbevollm�chtigte + + + Steuerbevollm�chtigter + + + Notarin + + + Notar + + + Notarvertreterin + + + Notarvertreter + + + Notariatsverwalterin + + + Notariatsverwalter + + + Wirtschaftspr�ferin + + + Wirtschaftspr�fer + + + Vereidigte Buchpr�ferin + + + Vereidigter Buchpr�fer + + + Patentanw�ltin + + + Patentanwalt + + + Constructor from Asn1Sequence. +

+

+

+                           ProfessionInfo ::= SEQUENCE
+                           {
+                             namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                             professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                             professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                             registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                             addProfessionInfo OCTET STRING OPTIONAL
+                           }
+             
+ + @param seq The ASN.1 sequence. +
+ + Constructor from given details. +

+ professionItems is mandatory, all other parameters are + optional. + + @param namingAuthority The naming authority. + @param professionItems Directory strings of the profession. + @param professionOids DERObjectIdentfier objects for the + profession. + @param registrationNumber Registration number. + @param addProfessionInfo Additional infos in encoded form. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                           ProfessionInfo ::= SEQUENCE
+                           {
+                             namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                             professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                             professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                             registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                             addProfessionInfo OCTET STRING OPTIONAL
+                           }
+             
+ + @return an Asn1Object +
+ + @return Returns the addProfessionInfo. + + + @return Returns the namingAuthority. + + + @return Returns the professionItems. + + + @return Returns the professionOids. + + + @return Returns the registrationNumber. + + + Some other restriction regarding the usage of this certificate. +

+

+             RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+            
+
+ + Constructor from DirectoryString. +

+ The DirectoryString is of type RestrictionSyntax: +

+

+                  RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             
+ + @param restriction A IAsn1String. +
+ + Constructor from a given details. + + @param restriction The description of the restriction. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                  RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             

+

+ + @return an Asn1Object +
+ + Produce an object suitable for an Asn1OutputStream. +
+            cast5CBCParameters ::= Sequence {
+                                      iv         OCTET STRING DEFAULT 0,
+                                             -- Initialization vector
+                                      keyLength  Integer
+                                             -- Key length, in bits
+                                 }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            IDEA-CBCPar ::= Sequence {
+                                 iv    OCTET STRING OPTIONAL -- exactly 8 octets
+                             }
+            
+
+ + The NetscapeCertType object. +
+               NetscapeCertType ::= BIT STRING {
+                    SSLClient               (0),
+                    SSLServer               (1),
+                    S/MIME                  (2),
+                    Object Signing          (3),
+                    Reserved                (4),
+                    SSL CA                  (5),
+                    S/MIME CA               (6),
+                    Object Signing CA       (7) }
+            
+
+ + Basic constructor. + + @param usage - the bitwise OR of the Key Usage flags giving the + allowed uses for the key. + e.g. (X509NetscapeCertType.sslCA | X509NetscapeCertType.smimeCA) + + + This is designed to parse + the PublicKeyAndChallenge created by the KEYGEN tag included by + Mozilla based browsers. +
+              PublicKeyAndChallenge ::= SEQUENCE {
+                spki SubjectPublicKeyInfo,
+                challenge IA5STRING
+              }
+            
+              
+
+ + + KMACwithSHAKE128-params ::= SEQUENCE { + kMACOutputLength INTEGER DEFAULT 256, -- Output length in bits + customizationString OCTET STRING DEFAULT ''H + } + + + + + KMACwithSHAKE256-params ::= SEQUENCE { + kMACOutputLength INTEGER DEFAULT 512, -- Output length in bits + customizationString OCTET STRING DEFAULT ''H + } + + + + Utility class for fetching curves using their NIST names as published in FIPS-PUB 186-3 + + + return the X9ECParameters object for the named curve represented by + the passed in object identifier. Null if the curve isn't present. + + @param oid an object identifier representing a named curve, if present. + + + return the object identifier signified by the passed in name. Null + if there is no object identifier associated with name. + + @return the object identifier associated with name, if present. + + + return the named curve name represented by the given object identifier. + + + returns an enumeration containing the name strings for curves + contained in this structure. + + + 2.16.840.1.101.3.4.3.5 + + + 2.16.840.1.101.3.4.3.6 + + + 2.16.840.1.101.3.4.3.7 + + + 2.16.840.1.101.3.4.3.8 + + + 2.16.840.1.101.3.4.3.9 + + + 2.16.840.1.101.3.4.3.10 + + + 2.16.840.1.101.3.4.3.11 + + + 2.16.840.1.101.3.4.3.12 + + + 2.16.840.1.101.3.4.3.9 + + + 2.16.840.1.101.3.4.3.10 + + + 2.16.840.1.101.3.4.3.11 + + + 2.16.840.1.101.3.4.3.12 + + + From RFC 3657 + + + Produce an object suitable for an Asn1OutputStream. +
+            BasicOcspResponse       ::= Sequence {
+                 tbsResponseData      ResponseData,
+                 signatureAlgorithm   AlgorithmIdentifier,
+                 signature            BIT STRING,
+                 certs                [0] EXPLICIT Sequence OF Certificate OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            CertID          ::=     Sequence {
+                hashAlgorithm       AlgorithmIdentifier,
+                issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
+                issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
+                serialNumber        CertificateSerialNumber }
+            
+
+ + create a CertStatus object with a tag of zero. + + + Produce an object suitable for an Asn1OutputStream. +
+             CertStatus ::= CHOICE {
+                             good        [0]     IMPLICIT Null,
+                             revoked     [1]     IMPLICIT RevokedInfo,
+                             unknown     [2]     IMPLICIT UnknownInfo }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            CrlID ::= Sequence {
+                crlUrl               [0]     EXPLICIT IA5String OPTIONAL,
+                crlNum               [1]     EXPLICIT Integer OPTIONAL,
+                crlTime              [2]     EXPLICIT GeneralizedTime OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            OcspRequest     ::=     Sequence {
+                tbsRequest                  TBSRequest,
+                optionalSignature   [0]     EXPLICIT Signature OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            OcspResponse ::= Sequence {
+                responseStatus         OcspResponseStatus,
+                responseBytes          [0] EXPLICIT ResponseBytes OPTIONAL }
+            
+
+ + The OcspResponseStatus enumeration. +
+            OcspResponseStatus ::= Enumerated {
+                successful            (0),  --Response has valid confirmations
+                malformedRequest      (1),  --Illegal confirmation request
+                internalError         (2),  --Internal error in issuer
+                tryLater              (3),  --Try again later
+                                            --(4) is not used
+                sigRequired           (5),  --Must sign the request
+                unauthorized          (6)   --Request unauthorized
+            }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            Request         ::=     Sequence {
+                reqCert                     CertID,
+                singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            ResponderID ::= CHOICE {
+                 byName          [1] Name,
+                 byKey           [2] KeyHash }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            ResponseBytes ::=       Sequence {
+                responseType   OBJECT IDENTIFIER,
+                response       OCTET STRING }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            ResponseData ::= Sequence {
+                version              [0] EXPLICIT Version DEFAULT v1,
+                responderID              ResponderID,
+                producedAt               GeneralizedTime,
+                responses                Sequence OF SingleResponse,
+                responseExtensions   [1] EXPLICIT Extensions OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            RevokedInfo ::= Sequence {
+                 revocationTime              GeneralizedTime,
+                 revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            ServiceLocator ::= Sequence {
+                issuer    Name,
+                locator   AuthorityInfoAccessSyntax OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            Signature       ::=     Sequence {
+                signatureAlgorithm      AlgorithmIdentifier,
+                signature               BIT STRING,
+                certs               [0] EXPLICIT Sequence OF Certificate OPTIONAL}
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+             SingleResponse ::= Sequence {
+                     certID                       CertID,
+                     certStatus                   CertStatus,
+                     thisUpdate                   GeneralizedTime,
+                     nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,
+                     singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            TBSRequest      ::=     Sequence {
+                version             [0]     EXPLICIT Version DEFAULT v1,
+                requestorName       [1]     EXPLICIT GeneralName OPTIONAL,
+                requestList                 Sequence OF Request,
+                requestExtensions   [2]     EXPLICIT Extensions OPTIONAL }
+            
+
+ + class for breaking up an Oid into it's component tokens, ala + java.util.StringTokenizer. We need this class as some of the + lightweight Java environment don't support classes like + StringTokenizer. + + + return an Attribute object from the given object. + + @param o the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            Attr ::= Sequence {
+                attrType OBJECT IDENTIFIER,
+                attrValues Set OF AttributeValue
+            }
+            
+
+ + Pkcs10 Certfication request object. +
+            CertificationRequest ::= Sequence {
+              certificationRequestInfo  CertificationRequestInfo,
+              signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
+              signature                 BIT STRING
+            }
+            
+
+ + Pkcs10 CertificationRequestInfo object. +
+              CertificationRequestInfo ::= Sequence {
+               version             Integer { v1(0) } (v1,...),
+               subject             Name,
+               subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
+               attributes          [0] Attributes{{ CRIAttributes }}
+              }
+            
+              Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }}
+            
+              Attr { ATTRIBUTE:IOSet } ::= Sequence {
+                type    ATTRIBUTE.&id({IOSet}),
+                values  Set SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{\@type})
+              }
+             
+
+ + Produce an object suitable for an Asn1OutputStream. +
+            ContentInfo ::= Sequence {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            
+
+ + The EncryptedData object. +
+                  EncryptedData ::= Sequence {
+                       version Version,
+                       encryptedContentInfo EncryptedContentInfo
+                  }
+            
+            
+                  EncryptedContentInfo ::= Sequence {
+                      contentType ContentType,
+                      contentEncryptionAlgorithm  ContentEncryptionAlgorithmIdentifier,
+                      encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+                }
+            
+                EncryptedContent ::= OCTET STRING
+             
+
+ + Produce an object suitable for an Asn1OutputStream. +
+             EncryptedPrivateKeyInfo ::= Sequence {
+                  encryptionAlgorithm AlgorithmIdentifier {{KeyEncryptionAlgorithms}},
+                  encryptedData EncryptedData
+             }
+            
+             EncryptedData ::= OCTET STRING
+            
+             KeyEncryptionAlgorithms ALGORITHM-IDENTIFIER ::= {
+                      ... -- For local profiles
+             }
+             
+
+ +
+            MacData ::= SEQUENCE {
+                mac      DigestInfo,
+                macSalt  OCTET STRING,
+                iterations INTEGER DEFAULT 1
+                -- Note: The default is for historic reasons and its use is deprecated. A
+                -- higher value, like 1024 is recommended.
+            
+ @return the basic DERObject construction. +
+ + the infamous Pfx from Pkcs12 + + + PKCS#1: 1.2.840.113549.1.1.15 + + + PKCS#1: 1.2.840.113549.1.1.16 + + +
+             id-alg-AEADChaCha20Poly1305 OBJECT IDENTIFIER ::=
+             { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
+                pkcs9(9) smime(16) alg(3) 18 }
+            
+             AEADChaCha20Poly1305Nonce ::= OCTET STRING (SIZE(12))
+             
+
+ + PKCS#9: 1.2.840.113549.1.9.16.2.37 - RFC 4108 + + + PKCS#9: 1.2.840.113549.1.9.16.2.38 - RFC 4108 + + + PKCS#9: 1.2.840.113549.1.9.16.2.54 RFC7030 + + + PKCS#9: 1.2.840.113549.1.9.16.2.43 RFC7030 + + + PKCS#9: 1.2.840.113549.1.9.16.2.40 RFC7030 + + + RFC 5958 + +
+              [IMPLICIT TAGS]
+            
+              OneAsymmetricKey ::= SEQUENCE {
+                  version                   Version,
+                  privateKeyAlgorithm       PrivateKeyAlgorithmIdentifier,
+                  privateKey                PrivateKey,
+                  attributes            [0] Attributes OPTIONAL,
+                  ...,
+                  [[2: publicKey        [1] PublicKey OPTIONAL ]],
+                  ...
+              }
+            
+              PrivateKeyInfo ::= OneAsymmetricKey
+            
+              Version ::= INTEGER { v1(0), v2(1) } (v1, ..., v2)
+            
+              PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
+                                                 { PUBLIC-KEY,
+                                                   { PrivateKeyAlgorithms } }
+            
+              PrivateKey ::= OCTET STRING
+                                 -- Content varies based on type of key.  The
+                                 -- algorithm identifier dictates the format of
+                                 -- the key.
+            
+              PublicKey ::= BIT STRING
+                                 -- Content varies based on type of key.  The
+                                 -- algorithm identifier dictates the format of
+                                 -- the key.
+            
+              Attributes ::= SET OF Attribute { { OneAsymmetricKeyAttributes } }
+              
+
+ + Return true if a public key is present, false otherwise. + + + For when the public key is an ASN.1 encoding. + + + Return the public key as a raw bit string. + + + The default version + + +
+              RSAES-OAEP-params ::= SEQUENCE {
+                 hashAlgorithm      [0] OAEP-PSSDigestAlgorithms     DEFAULT sha1,
+                 maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
+                 pSourceAlgorithm   [2] PKCS1PSourceAlgorithms  DEFAULT pSpecifiedEmpty
+               }
+            
+               OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-sha1 PARAMETERS NULL   }|
+                 { OID id-sha256 PARAMETERS NULL }|
+                 { OID id-sha384 PARAMETERS NULL }|
+                 { OID id-sha512 PARAMETERS NULL },
+                 ...  -- Allows for future expansion --
+               }
+               PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
+                ...  -- Allows for future expansion --
+               }
+               PKCS1PSourceAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-pSpecified PARAMETERS OCTET STRING },
+                 ...  -- Allows for future expansion --
+              }
+             
+ @return the asn1 primitive representing the parameters. +
+ + This outputs the key in Pkcs1v2 format. +
+                  RsaPrivateKey ::= Sequence {
+                                      version Version,
+                                      modulus Integer, -- n
+                                      publicExponent Integer, -- e
+                                      privateExponent Integer, -- d
+                                      prime1 Integer, -- p
+                                      prime2 Integer, -- q
+                                      exponent1 Integer, -- d mod (p-1)
+                                      exponent2 Integer, -- d mod (q-1)
+                                      coefficient Integer -- (inverse of q) mod p
+                                  }
+            
+                  Version ::= Integer
+             
+

This routine is written to output Pkcs1 version 0, private keys.

+
+ + The default version + + +
+             RSASSA-PSS-params ::= SEQUENCE {
+               hashAlgorithm      [0] OAEP-PSSDigestAlgorithms  DEFAULT sha1,
+                maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
+                saltLength         [2] INTEGER  DEFAULT 20,
+                trailerField       [3] TrailerField  DEFAULT trailerFieldBC
+              }
+            
+             OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                { OID id-sha1 PARAMETERS NULL   }|
+                { OID id-sha256 PARAMETERS NULL }|
+                { OID id-sha384 PARAMETERS NULL }|
+                { OID id-sha512 PARAMETERS NULL },
+                ...  -- Allows for future expansion --
+             }
+            
+             PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
+               { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
+                ...  -- Allows for future expansion --
+             }
+            
+             TrailerField ::= INTEGER { trailerFieldBC(1) }
+             
+ @return the asn1 primitive representing the parameters. +
+ + a Pkcs#7 signed data object. + + + Produce an object suitable for an Asn1OutputStream. +
+             SignedData ::= Sequence {
+                 version Version,
+                 digestAlgorithms DigestAlgorithmIdentifiers,
+                 contentInfo ContentInfo,
+                 certificates
+                     [0] IMPLICIT ExtendedCertificatesAndCertificates
+                              OPTIONAL,
+                 crls
+                     [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                 signerInfos SignerInfos }
+            
+
+ + a Pkcs#7 signer info object. + + + Produce an object suitable for an Asn1OutputStream. +
+              SignerInfo ::= Sequence {
+                  version Version,
+                  issuerAndSerialNumber IssuerAndSerialNumber,
+                  digestAlgorithm DigestAlgorithmIdentifier,
+                  authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
+                  digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
+                  encryptedDigest EncryptedDigest,
+                  unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
+              }
+            
+              EncryptedDigest ::= OCTET STRING
+            
+              DigestAlgorithmIdentifier ::= AlgorithmIdentifier
+            
+              DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+             
+
+ + the elliptic curve private key object from SEC 1 + + + ECPrivateKey ::= SEQUENCE { + version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1), + privateKey OCTET STRING, + parameters [0] Parameters OPTIONAL, + publicKey [1] BIT STRING OPTIONAL } + + + return the X9ECParameters object for the named curve represented by + the passed in object identifier. Null if the curve isn't present. + + @param oid an object identifier representing a named curve, if present. + + + return the object identifier signified by the passed in name. Null + if there is no object identifier associated with name. + + @return the object identifier associated with name, if present. + + + return the named curve name represented by the given object identifier. + + + returns an enumeration containing the name strings for curves + contained in this structure. + + + EllipticCurve OBJECT IDENTIFIER ::= { + iso(1) identified-organization(3) certicom(132) curve(0) + } + + + Handler class for dealing with S/MIME Capabilities + + + general preferences + + + encryption algorithms preferences + + + return an Attr object from the given object. + + @param o the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + returns an ArrayList with 0 or more objects of all the capabilities + matching the passed in capability Oid. If the Oid passed is null the + entire set is returned. + + + Produce an object suitable for an Asn1OutputStream. +
+            SMIMECapabilities ::= Sequence OF SMIMECapability
+            
+
+ + general preferences + + + encryption algorithms preferences + + + Produce an object suitable for an Asn1OutputStream. +
+            SMIMECapability ::= Sequence {
+                capabilityID OBJECT IDENTIFIER,
+                parameters ANY DEFINED BY capabilityID OPTIONAL
+            }
+            
+
+ + Handler for creating a vector S/MIME Capabilities + + + The SmimeEncryptionKeyPreference object. +
+            SmimeEncryptionKeyPreference ::= CHOICE {
+                issuerAndSerialNumber   [0] IssuerAndSerialNumber,
+                receipentKeyId          [1] RecipientKeyIdentifier,
+                subjectAltKeyIdentifier [2] SubjectKeyIdentifier
+            }
+            
+
+ + @param sKeyId the subjectKeyIdentifier value (normally the X.509 one) + + + elliptic curves defined in "ECC Brainpool Standard Curves and Curve Generation" + http://www.ecc-brainpool.org/download/draft_pkix_additional_ecc_dp.txt + + + return the X9ECParameters object for the named curve represented by + the passed in object identifier. Null if the curve isn't present. + + @param oid an object identifier representing a named curve, if present. + + + return the object identifier signified by the passed in name. Null + if there is no object identifier associated with name. + + @return the object identifier associated with name, if present. + + + return the named curve name represented by the given object identifier. + + + returns an enumeration containing the name strings for curves + contained in this structure. + + +
+            Accuracy ::= SEQUENCE {
+                        seconds        INTEGER              OPTIONAL,
+                        millis     [0] INTEGER  (1..999)    OPTIONAL,
+                        micros     [1] INTEGER  (1..999)    OPTIONAL
+                        }
+            
+
+ +
+               MessageImprint ::= SEQUENCE  {
+                  hashAlgorithm                AlgorithmIdentifier,
+                  hashedMessage                OCTET STRING  }
+            
+
+ +
+            TimeStampReq ::= SEQUENCE  {
+             version                      INTEGER  { v1(1) },
+             messageImprint               MessageImprint,
+               --a hash algorithm OID and the hash value of the data to be
+               --time-stamped
+             reqPolicy             TSAPolicyId              OPTIONAL,
+             nonce                 INTEGER                  OPTIONAL,
+             certReq               BOOLEAN                  DEFAULT FALSE,
+             extensions            [0] IMPLICIT Extensions  OPTIONAL
+            }
+            
+
+ +
+            TimeStampResp ::= SEQUENCE  {
+              status                  PkiStatusInfo,
+              timeStampToken          TimeStampToken     OPTIONAL  }
+            
+
+ +
+            
+                 TstInfo ::= SEQUENCE  {
+                    version                      INTEGER  { v1(1) },
+                    policy                       TSAPolicyId,
+                    messageImprint               MessageImprint,
+                      -- MUST have the same value as the similar field in
+                      -- TimeStampReq
+                    serialNumber                 INTEGER,
+                     -- Time-Stamping users MUST be ready to accommodate integers
+                     -- up to 160 bits.
+                    genTime                      GeneralizedTime,
+                    accuracy                     Accuracy                 OPTIONAL,
+                    ordering                     BOOLEAN             DEFAULT FALSE,
+                    nonce                        INTEGER                  OPTIONAL,
+                      -- MUST be present if the similar field was present
+                      -- in TimeStampReq.  In that case it MUST have the same value.
+                    tsa                          [0] GeneralName          OPTIONAL,
+                    extensions                   [1] IMPLICIT Extensions   OPTIONAL  }
+            
+             
+
+ + + Base OID: 1.2.804.2.1.1.1 + + + DSTU4145 Little Endian presentation. OID: 1.2.804.2.1.1.1.1.3.1.1 + + + DSTU4145 Big Endian presentation. OID: 1.2.804.2.1.1.1.1.3.1.1.1 + + + DSTU7564 256-bit digest presentation. + + + DSTU7564 384-bit digest presentation. + + + DSTU7564 512-bit digest presentation. + + + DSTU7564 256-bit mac presentation. + + + DSTU7564 384-bit mac presentation. + + + DSTU7564 512-bit mac presentation. + + + DSTU7624 in ECB mode with 128 bit block/key presentation + + + DSTU7624 in ECB mode with 256 bit block/key presentation + + + DSTU7624 in ECB mode with 512 bit block/key presentation + + + DSTU7624 in CTR mode with 128 bit block/key presentation + + + DSTU7624 in CTR mode with 256 bit block/key presentation + + + DSTU7624 in CTR mode with 512 bit block/key presentation + + + DSTU7624 in CFB mode with 128 bit block/key presentation + + + DSTU7624 in CFB mode with 256 bit block/key presentation + + + DSTU7624 in CFB mode with 512 bit block/key presentation + + + DSTU7624 in MAC mode with 128 bit block/key presentation + + + DSTU7624 in MAC mode with 256 bit block/key presentation + + + DSTU7624 in MAC mode with 512 bit block/key presentation + + + DSTU7624 in CBC mode with 128 bit block/key presentation + + + DSTU7624 in CBC mode with 256 bit block/key presentation + + + DSTU7624 in CBC mode with 512 bit block/key presentation + + + DSTU7624 in OFB mode with 128 bit block/key presentation + + + DSTU7624 in OFB mode with 256 bit block/key presentation + + + DSTU7624 in OFB mode with 512 bit block/key presentation + + + DSTU7624 in GMAC (GCM witout encryption) mode with 128 bit block/key presentation + + + DSTU7624 in GMAC (GCM witout encryption) mode with 256 bit block/key presentation + + + DSTU7624 in GMAC (GCM witout encryption) mode with 512 bit block/key presentation + + + DSTU7624 in CCM mode with 128 bit block/key presentation + + + DSTU7624 in CCM mode with 256 bit block/key presentation + + + DSTU7624 in CCM mode with 512 bit block/key presentation + + + DSTU7624 in XTS mode with 128 bit block/key presentation + + + DSTU7624 in XTS mode with 256 bit block/key presentation + + + DSTU7624 in XTS mode with 512 bit block/key presentation + + + DSTU7624 in key wrap (KW) mode with 128 bit block/key presentation + + + DSTU7624 in key wrap (KW) mode with 256 bit block/key presentation + + + DSTU7624 in key wrap (KW) mode with 512 bit block/key presentation + + + dump a Der object as a formatted string with indentation + + @param obj the Asn1Object to be dumped out. + + + dump out a DER object as a formatted string, in non-verbose mode + + @param obj the Asn1Encodable to be dumped out. + @return the resulting string. + + + Dump out the object as a string + + @param obj the Asn1Encodable to be dumped out. + @param verbose if true, dump out the contents of octet and bit strings. + @return the resulting string. + + + Holding class for the AttributeTypeAndValue structures that make up an RDN. + + +
+            AttributeTypeAndValue ::= SEQUENCE {
+                      type         OBJECT IDENTIFIER,
+                      value        ANY DEFINED BY type }
+            
+ @return a basic ASN.1 object representation. +
+ +
+             DirectoryString ::= CHOICE {
+               teletexString               TeletexString (SIZE (1..MAX)),
+               printableString             PrintableString (SIZE (1..MAX)),
+               universalString             UniversalString (SIZE (1..MAX)),
+               utf8String                  UTF8String (SIZE (1..MAX)),
+               bmpString                   BMPString (SIZE (1..MAX))  }
+            
+
+ + Holding class for a single Relative Distinguished Name (RDN). + + + Create a single valued RDN. + + @param oid RDN type. + @param value RDN value. + + + Create a multi-valued RDN. + + @param aAndVs attribute type/value pairs making up the RDN + + + Return the number of AttributeTypeAndValue objects in this RDN, + + @return size of RDN, greater than 1 if multi-valued. + + + *
+                     * RelativeDistinguishedName ::=
+                     *                     SET OF AttributeTypeAndValue
+            
+                     * AttributeTypeAndValue ::= SEQUENCE {
+                     *        type     AttributeType,
+                     *        value    AttributeValue }
+                     * 
+ * @return this object as its ASN1Primitive type +
+ + The AccessDescription object. +
+            AccessDescription  ::=  SEQUENCE {
+                  accessMethod          OBJECT IDENTIFIER,
+                  accessLocation        GeneralName  }
+            
+
+ + create an AccessDescription with the oid and location provided. + + + + @return the access method. + + + + @return the access location + + + + Return the OID in the Algorithm entry of this identifier. + + + + + Return the parameters structure in the Parameters entry of this identifier. + + + + Produce an object suitable for an Asn1OutputStream. +
+                 AlgorithmIdentifier ::= Sequence {
+                                       algorithm OBJECT IDENTIFIER,
+                                       parameters ANY DEFINED BY algorithm OPTIONAL }
+            
+
+ + + Don't use this one if you are trying to be RFC 3281 compliant. + Use it for v1 attribute certificates only. + + Our GeneralNames structure + + + Produce an object suitable for an Asn1OutputStream. +
+             AttCertIssuer ::= CHOICE {
+                  v1Form   GeneralNames,  -- MUST NOT be used in this
+                                          -- profile
+                  v2Form   [0] V2Form     -- v2 only
+             }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+             AttCertValidityPeriod  ::= Sequence {
+                  notBeforeTime  GeneralizedTime,
+                  notAfterTime   GeneralizedTime
+             }
+            
+
+ + return an Attr object from the given object. + + @param o the object we want converted. + @exception ArgumentException if the object cannot be converted. + + + Produce an object suitable for an Asn1OutputStream. +
+            Attr ::= Sequence {
+                attrType OBJECT IDENTIFIER,
+                attrValues Set OF AttributeValue
+            }
+            
+
+ + @param obj + @return + + + Produce an object suitable for an Asn1OutputStream. +
+             AttributeCertificate ::= Sequence {
+                  acinfo               AttributeCertificateInfo,
+                  signatureAlgorithm   AlgorithmIdentifier,
+                  signatureValue       BIT STRING
+             }
+            
+
+ + Produce an object suitable for an Asn1OutputStream. +
+              AttributeCertificateInfo ::= Sequence {
+                   version              AttCertVersion -- version is v2,
+                   holder               Holder,
+                   issuer               AttCertIssuer,
+                   signature            AlgorithmIdentifier,
+                   serialNumber         CertificateSerialNumber,
+                   attrCertValidityPeriod   AttCertValidityPeriod,
+                   attributes           Sequence OF Attr,
+                   issuerUniqueID       UniqueIdentifier OPTIONAL,
+                   extensions           Extensions OPTIONAL
+              }
+            
+              AttCertVersion ::= Integer { v2(1) }
+             
+
+ + The AuthorityInformationAccess object. +
+             id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
+            
+             AuthorityInfoAccessSyntax  ::=
+                  Sequence SIZE (1..MAX) OF AccessDescription
+             AccessDescription  ::=  Sequence {
+                   accessMethod          OBJECT IDENTIFIER,
+                   accessLocation        GeneralName  }
+            
+             id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
+             id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
+             id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
+             
+
+ + create an AuthorityInformationAccess with the oid and location provided. + + + The AuthorityKeyIdentifier object. +
+             id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }
+            
+               AuthorityKeyIdentifier ::= Sequence {
+                  keyIdentifier             [0] IMPLICIT KeyIdentifier           OPTIONAL,
+                  authorityCertIssuer       [1] IMPLICIT GeneralNames            OPTIONAL,
+                  authorityCertSerialNumber [2] IMPLICIT CertificateSerialNumber OPTIONAL  }
+            
+               KeyIdentifier ::= OCTET STRING
+             
+ +
+ + * + * Calulates the keyidentifier using a SHA1 hash over the BIT STRING + * from SubjectPublicKeyInfo as defined in RFC2459. + * + * Example of making a AuthorityKeyIdentifier: + *
+            	     *   SubjectPublicKeyInfo apki = new SubjectPublicKeyInfo((ASN1Sequence)new ASN1InputStream(
+            		 *       publicKey.getEncoded()).readObject());
+                     *   AuthorityKeyIdentifier aki = new AuthorityKeyIdentifier(apki);
+                     * 
+ * + * +
+ + create an AuthorityKeyIdentifier with the GeneralNames tag and + the serial number provided as well. + + + create an AuthorityKeyIdentifier with the GeneralNames tag and + the serial number provided. + + + create an AuthorityKeyIdentifier with a precomputed key identifier + + + create an AuthorityKeyIdentifier with a precomupted key identifier + and the GeneralNames tag and the serial number provided as well. + + + Produce an object suitable for an Asn1OutputStream. + + + create a cA=true object for the given path length constraint. + + @param pathLenConstraint + + + Produce an object suitable for an Asn1OutputStream. +
+            BasicConstraints := Sequence {
+               cA                  Boolean DEFAULT FALSE,
+               pathLenConstraint   Integer (0..MAX) OPTIONAL
+            }
+            
+
+ + PKIX RFC-2459 + + The X.509 v2 CRL syntax is as follows. For signature calculation, + the data that is to be signed is ASN.1 Der encoded. + +
+             CertificateList  ::=  Sequence  {
+                  tbsCertList          TbsCertList,
+                  signatureAlgorithm   AlgorithmIdentifier,
+                  signatureValue       BIT STRING  }
+             
+
+ + This class helps to support crossCerfificatePairs in a LDAP directory + according RFC 2587 + +
+                 crossCertificatePairATTRIBUTE::={
+                   WITH SYNTAX   CertificatePair
+                   EQUALITY MATCHING RULE certificatePairExactMatch
+                   ID joint-iso-ccitt(2) ds(5) attributeType(4) crossCertificatePair(40)}
+             
+ +
The forward elements of the crossCertificatePair attribute of a + CA's directory entry shall be used to store all, except self-issued + certificates issued to this CA. Optionally, the reverse elements of the + crossCertificatePair attribute, of a CA's directory entry may contain a + subset of certificates issued by this CA to other CAs. When both the forward + and the reverse elements are present in a single attribute value, issuer name + in one certificate shall match the subject name in the other and vice versa, + and the subject public key in one certificate shall be capable of verifying + the digital signature on the other certificate and vice versa. + + When a reverse element is present, the forward element value and the reverse + element value need not be stored in the same attribute value; in other words, + they can be stored in either a single attribute value or two attribute + values.
+ +
+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             
+
+ + Constructor from Asn1Sequence. +

+ The sequence is of type CertificatePair: +

+

+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             
+ + @param seq The ASN.1 sequence. +
+ + Constructor from a given details. + + @param forward Certificates issued to this CA. + @param reverse Certificates issued by this CA to other CAs. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             
+ + @return a DERObject +
+ + @return Returns the forward. + + + @return Returns the reverse. + + + Construct a CertificatePolicies object containing one PolicyInformation. + + @param name the name to be contained. + + + Produce an object suitable for an ASN1OutputStream. +
+            CertificatePolicies ::= SEQUENCE SIZE {1..MAX} OF PolicyInformation
+            
+
+ + CertPolicyId, used in the CertificatePolicies and PolicyMappings + X509V3 Extensions. + +
+                 CertPolicyId ::= OBJECT IDENTIFIER
+             
+
+ + Return the distribution points making up the sequence. + + @return DistributionPoint[] + + + Produce an object suitable for an Asn1OutputStream. +
+            CrlDistPoint ::= Sequence SIZE {1..MAX} OF DistributionPoint
+            
+
+ + The CRLNumber object. +
+            CRLNumber::= Integer(0..MAX)
+            
+
+ + The CRLReason enumeration. +
+            CRLReason ::= Enumerated {
+             unspecified             (0),
+             keyCompromise           (1),
+             cACompromise            (2),
+             affiliationChanged      (3),
+             superseded              (4),
+             cessationOfOperation    (5),
+             certificateHold         (6),
+             removeFromCRL           (8),
+             privilegeWithdrawn      (9),
+             aACompromise           (10)
+            }
+            
+
+ + The DigestInfo object. +
+            DigestInfo::=Sequence{
+                     digestAlgorithm  AlgorithmIdentifier,
+                     digest OCTET STRING }
+            
+
+ + DisplayText class, used in + CertificatePolicies X509 V3 extensions (in policy qualifiers). + +

It stores a string in a chosen encoding. +

+             DisplayText ::= CHOICE {
+                  ia5String        IA5String      (SIZE (1..200)),
+                  visibleString    VisibleString  (SIZE (1..200)),
+                  bmpString        BMPString      (SIZE (1..200)),
+                  utf8String       UTF8String     (SIZE (1..200)) }
+             

+ @see PolicyQualifierInfo + @see PolicyInformation +
+ + Constant corresponding to ia5String encoding. + + + + Constant corresponding to bmpString encoding. + + + + Constant corresponding to utf8String encoding. + + + + Constant corresponding to visibleString encoding. + + + + Describe constant DisplayTextMaximumSize here. + + + + Creates a new DisplayText instance. + + @param type the desired encoding type for the text. + @param text the text to store. Strings longer than 200 + characters are truncated. + + + Creates a new DisplayText instance. + + @param text the text to encapsulate. Strings longer than 200 + characters are truncated. + + + Creates a new DisplayText instance. +

Useful when reading back a DisplayText class + from it's Asn1Encodable form.

+ + @param contents an Asn1Encodable instance. +
+ + Returns the stored string object. + + @return the stored text as a string. + + + The DistributionPoint object. +
+            DistributionPoint ::= Sequence {
+                 distributionPoint [0] DistributionPointName OPTIONAL,
+                 reasons           [1] ReasonFlags OPTIONAL,
+                 cRLIssuer         [2] GeneralNames OPTIONAL
+            }
+            
+
+ + The DistributionPointName object. +
+            DistributionPointName ::= CHOICE {
+                fullName                 [0] GeneralNames,
+                nameRelativeToCRLIssuer  [1] RDN
+            }
+            
+
+ + The extendedKeyUsage object. +
+                 extendedKeyUsage ::= Sequence SIZE (1..MAX) OF KeyPurposeId
+            
+
+ + Returns all extended key usages. + The returned ArrayList contains DerObjectIdentifier instances. + @return An ArrayList with all key purposes. + + + The GeneralName object. +
+             GeneralName ::= CHOICE {
+                  otherName                       [0]     OtherName,
+                  rfc822Name                      [1]     IA5String,
+                  dNSName                         [2]     IA5String,
+                  x400Address                     [3]     ORAddress,
+                  directoryName                   [4]     Name,
+                  ediPartyName                    [5]     EDIPartyName,
+                  uniformResourceIdentifier       [6]     IA5String,
+                  iPAddress                       [7]     OCTET STRING,
+                  registeredID                    [8]     OBJECT IDENTIFIER}
+            
+             OtherName ::= Sequence {
+                  type-id    OBJECT IDENTIFIER,
+                  value      [0] EXPLICIT ANY DEFINED BY type-id }
+            
+             EDIPartyName ::= Sequence {
+                  nameAssigner            [0]     DirectoryString OPTIONAL,
+                  partyName               [1]     DirectoryString }
+             
+
+ + When the subjectAltName extension contains an Internet mail address, + the address MUST be included as an rfc822Name. The format of an + rfc822Name is an "addr-spec" as defined in RFC 822 [RFC 822]. + + When the subjectAltName extension contains a domain name service + label, the domain name MUST be stored in the dNSName (an IA5String). + The name MUST be in the "preferred name syntax," as specified by RFC + 1034 [RFC 1034]. + + When the subjectAltName extension contains a URI, the name MUST be + stored in the uniformResourceIdentifier (an IA5String). The name MUST + be a non-relative URL, and MUST follow the URL syntax and encoding + rules specified in [RFC 1738]. The name must include both a scheme + (e.g., "http" or "ftp") and a scheme-specific-part. The scheme- + specific-part must include a fully qualified domain name or IP + address as the host. + + When the subjectAltName extension contains a iPAddress, the address + MUST be stored in the octet string in "network byte order," as + specified in RFC 791 [RFC 791]. The least significant bit (LSB) of + each octet is the LSB of the corresponding byte in the network + address. For IP Version 4, as specified in RFC 791, the octet string + MUST contain exactly four octets. For IP Version 6, as specified in + RFC 1883, the octet string MUST contain exactly sixteen octets [RFC + 1883]. + + + Create a GeneralName for the given tag from the passed in string. +

+ This constructor can handle: +

    +
  • rfc822Name
  • +
  • iPAddress
  • +
  • directoryName
  • +
  • dNSName
  • +
  • uniformResourceIdentifier
  • +
  • registeredID
  • +
+ For x400Address, otherName and ediPartyName there is no common string + format defined. +

+ Note: A directory name can be encoded in different ways into a byte + representation. Be aware of this if the byte representation is used for + comparing results. +

+ + @param tag tag number + @param name string representation of name + @throws ArgumentException if the string encoding is not correct or + not supported. +
+ + Construct a GeneralNames object containing one GeneralName. + The name to be contained. + + + Produce an object suitable for an Asn1OutputStream. +
+            GeneralNames ::= Sequence SIZE {1..MAX} OF GeneralName
+            
+
+ + Class for containing a restriction object subtrees in NameConstraints. See + RFC 3280. + +
+            
+                   GeneralSubtree ::= SEQUENCE
+                   {
+                     baseName                    GeneralName,
+                     minimum         [0]     BaseDistance DEFAULT 0,
+                     maximum         [1]     BaseDistance OPTIONAL
+                   }
+             
+ + @see org.bouncycastle.asn1.x509.NameConstraints + +
+ + Constructor from a given details. + + According RFC 3280, the minimum and maximum fields are not used with any + name forms, thus minimum MUST be zero, and maximum MUST be absent. +

+ If minimum is null, zero is assumed, if + maximum is null, maximum is absent.

+ + @param baseName + A restriction. + @param minimum + Minimum + + @param maximum + Maximum +
+ + Produce an object suitable for an Asn1OutputStream. + + Returns: + +
+                   GeneralSubtree ::= SEQUENCE
+                   {
+                     baseName                    GeneralName,
+                     minimum         [0]     BaseDistance DEFAULT 0,
+                     maximum         [1]     BaseDistance OPTIONAL
+                   }
+             
+ + @return a DERObject +
+ + The Holder object. +

+ For an v2 attribute certificate this is: + +

+                       Holder ::= SEQUENCE {
+                             baseCertificateID   [0] IssuerSerial OPTIONAL,
+                                      -- the issuer and serial number of
+                                      -- the holder's Public Key Certificate
+                             entityName          [1] GeneralNames OPTIONAL,
+                                      -- the name of the claimant or role
+                             objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
+                                      -- used to directly authenticate the holder,
+                                      -- for example, an executable
+                       }
+            
+

+

+ For an v1 attribute certificate this is: + +

+                    subject CHOICE {
+                     baseCertificateID [0] EXPLICIT IssuerSerial,
+                     -- associated with a Public Key Certificate
+                     subjectName [1] EXPLICIT GeneralNames },
+                     -- associated with a name
+            
+

+
+ + Constructor for a holder for an v1 attribute certificate. + + @param tagObj The ASN.1 tagged holder object. + + + Constructor for a holder for an v2 attribute certificate. * + + @param seq The ASN.1 sequence. + + + Constructs a holder from a IssuerSerial. + @param baseCertificateID The IssuerSerial. + @param version The version of the attribute certificate. + + + Returns 1 for v2 attribute certificates or 0 for v1 attribute + certificates. + @return The version of the attribute certificate. + + + Constructs a holder with an entityName for v2 attribute certificates or + with a subjectName for v1 attribute certificates. + + @param entityName The entity or subject name. + + + Constructs a holder with an entityName for v2 attribute certificates or + with a subjectName for v1 attribute certificates. + + @param entityName The entity or subject name. + @param version The version of the attribute certificate. + + + Constructs a holder from an object digest info. + + @param objectDigestInfo The object digest info object. + + + Returns the entityName for an v2 attribute certificate or the subjectName + for an v1 attribute certificate. + + @return The entityname or subjectname. + + + The Holder object. +
+             Holder ::= Sequence {
+                   baseCertificateID   [0] IssuerSerial OPTIONAL,
+                            -- the issuer and serial number of
+                            -- the holder's Public Key Certificate
+                   entityName          [1] GeneralNames OPTIONAL,
+                            -- the name of the claimant or role
+                   objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
+                            -- used to directly authenticate the holder,
+                            -- for example, an executable
+             }
+            
+
+ + Implementation of IetfAttrSyntax as specified by RFC3281. + + + + + + +
+            
+              IetfAttrSyntax ::= Sequence {
+                policyAuthority [0] GeneralNames OPTIONAL,
+                values Sequence OF CHOICE {
+                  octets OCTET STRING,
+                  oid OBJECT IDENTIFIER,
+                  string UTF8String
+                }
+              }
+            
+             
+
+ + Produce an object suitable for an Asn1OutputStream. +
+             IssuerSerial  ::=  Sequence {
+                  issuer         GeneralNames,
+                  serial         CertificateSerialNumber,
+                  issuerUid      UniqueIdentifier OPTIONAL
+             }
+            
+
+ +
+            IssuingDistributionPoint ::= SEQUENCE { 
+              distributionPoint          [0] DistributionPointName OPTIONAL, 
+              onlyContainsUserCerts      [1] BOOLEAN DEFAULT FALSE, 
+              onlyContainsCACerts        [2] BOOLEAN DEFAULT FALSE, 
+              onlySomeReasons            [3] ReasonFlags OPTIONAL, 
+              indirectCRL                [4] BOOLEAN DEFAULT FALSE,
+              onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
+            
+
+ + Constructor from given details. + + @param distributionPoint + May contain an URI as pointer to most current CRL. + @param onlyContainsUserCerts Covers revocation information for end certificates. + @param onlyContainsCACerts Covers revocation information for CA certificates. + + @param onlySomeReasons + Which revocation reasons does this point cover. + @param indirectCRL + If true then the CRL contains revocation + information about certificates ssued by other CAs. + @param onlyContainsAttributeCerts Covers revocation information for attribute certificates. + + + Constructor from Asn1Sequence + + + @return Returns the distributionPoint. + + + @return Returns the onlySomeReasons. + + + The KeyPurposeID object. +
+                KeyPurposeID ::= OBJECT IDENTIFIER
+            
+
+ + The KeyUsage object. +
+                id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
+            
+                KeyUsage ::= BIT STRING {
+                     digitalSignature        (0),
+                     nonRepudiation          (1),
+                     keyEncipherment         (2),
+                     dataEncipherment        (3),
+                     keyAgreement            (4),
+                     keyCertSign             (5),
+                     cRLSign                 (6),
+                     encipherOnly            (7),
+                     decipherOnly            (8) }
+             
+
+ + Basic constructor. + + @param usage - the bitwise OR of the Key Usage flags giving the + allowed uses for the key. + e.g. (KeyUsage.keyEncipherment | KeyUsage.dataEncipherment) + + + Constructor from a given details. + +

permitted and excluded are Vectors of GeneralSubtree objects.

+ + @param permitted Permitted subtrees + @param excluded Excluded subtrees +
+ + NoticeReference class, used in + CertificatePolicies X509 V3 extensions + (in policy qualifiers). + +
+              NoticeReference ::= Sequence {
+                  organization     DisplayText,
+                  noticeNumbers    Sequence OF Integer }
+            
+             
+ + @see PolicyQualifierInfo + @see PolicyInformation +
+ + Creates a new NoticeReference instance. + + @param organization a String value + @param numbers a Vector value + + + Creates a new NoticeReference instance. + + @param organization a String value + @param noticeNumbers an ASN1EncodableVector value + + + Creates a new NoticeReference instance. + + @param organization displayText + @param noticeNumbers an ASN1EncodableVector value + + + Creates a new NoticeReference instance. +

Useful for reconstructing a NoticeReference + instance from its encodable/encoded form.

+ + @param as an Asn1Sequence value obtained from either + calling @{link ToAsn1Object()} for a NoticeReference + instance or from parsing it from a Der-encoded stream. +
+ + Describe ToAsn1Object method here. + + @return a Asn1Object value + + + ObjectDigestInfo ASN.1 structure used in v2 attribute certificates. + +
+             
+               ObjectDigestInfo ::= SEQUENCE {
+                    digestedObjectType  ENUMERATED {
+                            publicKey            (0),
+                            publicKeyCert        (1),
+                            otherObjectTypes     (2) },
+                                    -- otherObjectTypes MUST NOT
+                                    -- be used in this profile
+                    otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
+                    digestAlgorithm     AlgorithmIdentifier,
+                    objectDigest        BIT STRING
+               }
+              
+            
+ +
+ + The public key is hashed. + + + The public key certificate is hashed. + + + An other object is hashed. + + + Constructor from given details. +

+ If digestedObjectType is not {@link #publicKeyCert} or + {@link #publicKey} otherObjectTypeID must be given, + otherwise it is ignored.

+ + @param digestedObjectType The digest object type. + @param otherObjectTypeID The object type ID for + otherObjectDigest. + @param digestAlgorithm The algorithm identifier for the hash. + @param objectDigest The hash value. +
+ + Produce an object suitable for an Asn1OutputStream. + +
+             
+               ObjectDigestInfo ::= SEQUENCE {
+                    digestedObjectType  ENUMERATED {
+                            publicKey            (0),
+                            publicKeyCert        (1),
+                            otherObjectTypes     (2) },
+                                    -- otherObjectTypes MUST NOT
+                                    -- be used in this profile
+                    otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
+                    digestAlgorithm     AlgorithmIdentifier,
+                    objectDigest        BIT STRING
+               }
+              
+            
+
+ + The OtherName object. +
+            OtherName ::= SEQUENCE {
+                 type-id    OBJECT IDENTIFIER,
+                 value      [0] EXPLICIT ANY DEFINED BY type-id }
+            
+
+ + OtherName factory method. + @param obj the object used to construct an instance of + OtherName. It must be an instance of OtherName + or ASN1Sequence. + @return the instance of OtherName built from the + supplied object. + @throws java.lang.IllegalArgumentException if the object passed + to the factory is not an instance of OtherName or something that + can be converted into an appropriate ASN1Sequence. + + + Base constructor. + @param typeID the type of the other name. + @param value the ANY object that represents the value. + + + PolicyMappings V3 extension, described in RFC3280. +
+                PolicyMappings ::= Sequence SIZE (1..MAX) OF Sequence {
+                  issuerDomainPolicy      CertPolicyId,
+                  subjectDomainPolicy     CertPolicyId }
+             
+ + @see RFC 3280, section 4.2.1.6 +
+ + Creates a new PolicyMappings instance. + + @param seq an Asn1Sequence constructed as specified + in RFC 3280 + + + Creates a new PolicyMappings instance. + + @param mappings a HashMap value that maps + string oids + to other string oids. + + + PolicyQualifierId, used in the CertificatePolicies + X509V3 extension. + +
+                id-qt          OBJECT IDENTIFIER ::=  { id-pkix 2 }
+                id-qt-cps      OBJECT IDENTIFIER ::=  { id-qt 1 }
+                id-qt-unotice  OBJECT IDENTIFIER ::=  { id-qt 2 }
+              PolicyQualifierId ::=
+                   OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )
+             
+
+ + Policy qualifiers, used in the X509V3 CertificatePolicies + extension. + +
+               PolicyQualifierInfo ::= Sequence {
+                   policyQualifierId  PolicyQualifierId,
+                   qualifier          ANY DEFINED BY policyQualifierId }
+             
+
+ + Creates a new PolicyQualifierInfo instance. + + @param policyQualifierId a PolicyQualifierId value + @param qualifier the qualifier, defined by the above field. + + + Creates a new PolicyQualifierInfo containing a + cPSuri qualifier. + + @param cps the CPS (certification practice statement) uri as a + string. + + + Creates a new PolicyQualifierInfo instance. + + @param as PolicyQualifierInfo X509 structure + encoded as an Asn1Sequence. + + + Returns a Der-encodable representation of this instance. + + @return a Asn1Object value + + + +
+            PrivateKeyUsagePeriod ::= SEQUENCE
+            {
+            notBefore       [0]     GeneralizedTime OPTIONAL,
+            notAfter        [1]     GeneralizedTime OPTIONAL }
+            
+
+
+ + The BiometricData object. +
+            BiometricData  ::=  SEQUENCE {
+                  typeOfBiometricData  TypeOfBiometricData,
+                  hashAlgorithm        AlgorithmIdentifier,
+                  biometricDataHash    OCTET STRING,
+                  sourceDataUri        IA5String OPTIONAL  }
+            
+
+ + The Iso4217CurrencyCode object. +
+            Iso4217CurrencyCode  ::=  CHOICE {
+                  alphabetic              PrintableString (SIZE 3), --Recommended
+                  numeric              INTEGER (1..999) }
+            -- Alphabetic or numeric currency code as defined in ISO 4217
+            -- It is recommended that the Alphabetic form is used
+            
+
+ + The MonetaryValue object. +
+            MonetaryValue  ::=  SEQUENCE {
+                  currency              Iso4217CurrencyCode,
+                  amount               INTEGER,
+                  exponent             INTEGER }
+            -- value = amount * 10^exponent
+            
+
+ + The QCStatement object. +
+            QCStatement ::= SEQUENCE {
+              statementId        OBJECT IDENTIFIER,
+              statementInfo      ANY DEFINED BY statementId OPTIONAL}
+            
+
+ + The SemanticsInformation object. +
+                   SemanticsInformation ::= SEQUENCE {
+                     semanticsIdentifier        OBJECT IDENTIFIER   OPTIONAL,
+                     nameRegistrationAuthorities NameRegistrationAuthorities
+                                                                     OPTIONAL }
+                     (WITH COMPONENTS {..., semanticsIdentifier PRESENT}|
+                      WITH COMPONENTS {..., nameRegistrationAuthorities PRESENT})
+            
+                 NameRegistrationAuthorities ::=  SEQUENCE SIZE (1..MAX) OF
+                     GeneralName
+             
+
+ + The TypeOfBiometricData object. +
+             TypeOfBiometricData ::= CHOICE {
+               predefinedBiometricType   PredefinedBiometricType,
+               biometricDataOid          OBJECT IDENTIFIER }
+            
+             PredefinedBiometricType ::= INTEGER {
+               picture(0),handwritten-signature(1)}
+               (picture|handwritten-signature)
+             
+
+ + The ReasonFlags object. +
+            ReasonFlags ::= BIT STRING {
+               unused(0),
+               keyCompromise(1),
+               cACompromise(2),
+               affiliationChanged(3),
+               superseded(4),
+               cessationOfOperation(5),
+               certficateHold(6)
+            }
+            
+
+ + @param reasons - the bitwise OR of the Key Reason flags giving the + allowed uses for the key. + + + Implementation of the RoleSyntax object as specified by the RFC3281. + +
+             RoleSyntax ::= SEQUENCE {
+                             roleAuthority  [0] GeneralNames OPTIONAL,
+                             roleName       [1] GeneralName
+                       }
+             
+
+ + RoleSyntax factory method. + @param obj the object used to construct an instance of + RoleSyntax. It must be an instance of RoleSyntax + or Asn1Sequence. + @return the instance of RoleSyntax built from the + supplied object. + @throws java.lang.ArgumentException if the object passed + to the factory is not an instance of RoleSyntax or + Asn1Sequence. + + + Constructor. + @param roleAuthority the role authority of this RoleSyntax. + @param roleName the role name of this RoleSyntax. + + + Constructor. Invoking this constructor is the same as invoking + new RoleSyntax(null, roleName). + @param roleName the role name of this RoleSyntax. + + + Utility constructor. Takes a string argument representing + the role name, builds a GeneralName to hold the role name + and calls the constructor that takes a GeneralName. + @param roleName + + + Constructor that builds an instance of RoleSyntax by + extracting the encoded elements from the Asn1Sequence + object supplied. + @param seq an instance of Asn1Sequence that holds + the encoded elements used to build this RoleSyntax. + + + Gets the role authority of this RoleSyntax. + @return an instance of GeneralNames holding the + role authority of this RoleSyntax. + + + Gets the role name of this RoleSyntax. + @return an instance of GeneralName holding the + role name of this RoleSyntax. + + + Gets the role name as a java.lang.string object. + @return the role name of this RoleSyntax represented as a + string object. + + + Gets the role authority as a string[] object. + @return the role authority of this RoleSyntax represented as a + string[] array. + + + Implementation of the method ToAsn1Object as + required by the superclass ASN1Encodable. + +
+             RoleSyntax ::= SEQUENCE {
+                             roleAuthority  [0] GeneralNames OPTIONAL,
+                             roleName       [1] GeneralName
+                       }
+             
+
+ + This outputs the key in Pkcs1v2 format. +
+                 RSAPublicKey ::= Sequence {
+                                     modulus Integer, -- n
+                                     publicExponent Integer, -- e
+                                 }
+            
+
+ + Structure for a name or pseudonym. + +
+                  NameOrPseudonym ::= CHOICE {
+                	   surAndGivenName SEQUENCE {
+                	     surName DirectoryString,
+                	     givenName SEQUENCE OF DirectoryString 
+                    },
+                	   pseudonym DirectoryString 
+                  }
+            
+ + @see org.bouncycastle.asn1.x509.sigi.PersonalData + +
+ + Constructor from DERString. +

+ The sequence is of type NameOrPseudonym: +

+

+                  NameOrPseudonym ::= CHOICE {
+                	   surAndGivenName SEQUENCE {
+                	     surName DirectoryString,
+                	     givenName SEQUENCE OF DirectoryString
+                    },
+                	   pseudonym DirectoryString
+                  }
+            
+ @param pseudonym pseudonym value to use. +
+ + Constructor from Asn1Sequence. +

+ The sequence is of type NameOrPseudonym: +

+

+                   NameOrPseudonym ::= CHOICE {
+                 	   surAndGivenName SEQUENCE {
+                 	     surName DirectoryString,
+                 	     givenName SEQUENCE OF DirectoryString
+                     },
+                 	   pseudonym DirectoryString
+                   }
+             
+ + @param seq The ASN.1 sequence. +
+ + Constructor from a given details. + + @param pseudonym The pseudonym. + + + Constructor from a given details. + + @param surname The surname. + @param givenName A sequence of directory strings making up the givenName + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                   NameOrPseudonym ::= CHOICE {
+                 	   surAndGivenName SEQUENCE {
+                 	     surName DirectoryString,
+                 	     givenName SEQUENCE OF DirectoryString
+                     },
+                 	   pseudonym DirectoryString
+                   }
+             
+ + @return an Asn1Object +
+ + Contains personal data for the otherName field in the subjectAltNames + extension. +

+

+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             
+ + @see org.bouncycastle.asn1.x509.sigi.NameOrPseudonym + @see org.bouncycastle.asn1.x509.sigi.SigIObjectIdentifiers +
+ + Constructor from Asn1Sequence. +

+ The sequence is of type NameOrPseudonym: +

+

+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             
+ + @param seq The ASN.1 sequence. +
+ + Constructor from a given details. + + @param nameOrPseudonym Name or pseudonym. + @param nameDistinguisher Name distinguisher. + @param dateOfBirth Date of birth. + @param placeOfBirth Place of birth. + @param gender Gender. + @param postalAddress Postal Address. + + + Produce an object suitable for an Asn1OutputStream. +

+ Returns: +

+

+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             
+ + @return an Asn1Object +
+ + Object Identifiers of SigI specifciation (German Signature Law + Interoperability specification). + + + Key purpose IDs for German SigI (Signature Interoperability + Specification) + + + Certificate policy IDs for German SigI (Signature Interoperability + Specification) + + + Other Name IDs for German SigI (Signature Interoperability Specification) + + + To be used for for the generation of directory service certificates. + + + ID for PersonalData + + + Certificate is conform to german signature law. + + + This extension may contain further X.500 attributes of the subject. See also + RFC 3039. + +
+                 SubjectDirectoryAttributes ::= Attributes
+                 Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                 Attribute ::= SEQUENCE
+                 {
+                   type AttributeType
+                   values SET OF AttributeValue
+                 }
+            
+                 AttributeType ::= OBJECT IDENTIFIER
+                 AttributeValue ::= ANY DEFINED BY AttributeType
+             
+ + @see org.bouncycastle.asn1.x509.X509Name for AttributeType ObjectIdentifiers. +
+ + Constructor from Asn1Sequence. + + The sequence is of type SubjectDirectoryAttributes: + +
+                  SubjectDirectoryAttributes ::= Attributes
+                  Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                  Attribute ::= SEQUENCE
+                  {
+                    type AttributeType
+                    values SET OF AttributeValue
+                  }
+            
+                  AttributeType ::= OBJECT IDENTIFIER
+                  AttributeValue ::= ANY DEFINED BY AttributeType
+             
+ + @param seq + The ASN.1 sequence. +
+ + Constructor from an ArrayList of attributes. + + The ArrayList consists of attributes of type {@link Attribute Attribute} + + @param attributes The attributes. + + + + Produce an object suitable for an Asn1OutputStream. + + Returns: + +
+                  SubjectDirectoryAttributes ::= Attributes
+                  Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                  Attribute ::= SEQUENCE
+                  {
+                    type AttributeType
+                    values SET OF AttributeValue
+                  }
+            
+                  AttributeType ::= OBJECT IDENTIFIER
+                  AttributeValue ::= ANY DEFINED BY AttributeType
+             
+ + @return a DERObject +
+ + @return Returns the attributes. + + + The SubjectKeyIdentifier object. +
+            SubjectKeyIdentifier::= OCTET STRING
+            
+
+ + Calculates the keyIdentifier using a SHA1 hash over the BIT STRING + from SubjectPublicKeyInfo as defined in RFC3280. + + @param spki the subject public key info. + + + Return a RFC 3280 type 1 key identifier. As in: +
+            (1) The keyIdentifier is composed of the 160-bit SHA-1 hash of the
+            value of the BIT STRING subjectPublicKey (excluding the tag,
+            length, and number of unused bits).
+            
+ @param keyInfo the key info object containing the subjectPublicKey field. + @return the key identifier. +
+ + Return a RFC 3280 type 2 key identifier. As in: +
+            (2) The keyIdentifier is composed of a four bit type field with
+            the value 0100 followed by the least significant 60 bits of the
+            SHA-1 hash of the value of the BIT STRING subjectPublicKey.
+            
+ @param keyInfo the key info object containing the subjectPublicKey field. + @return the key identifier. +
+ + The object that contains the public key stored in a certficate. +

+ The GetEncoded() method in the public keys in the JCE produces a DER + encoded one of these.

+
+ + for when the public key is an encoded object - if the bitstring + can't be decoded this routine raises an IOException. + + @exception IOException - if the bit string doesn't represent a Der + encoded object. + + + for when the public key is an encoded object - if the bitstring + can't be decoded this routine raises an IOException. + + @exception IOException - if the bit string doesn't represent a Der + encoded object. + + + for when the public key is raw bits... + + + Produce an object suitable for an Asn1OutputStream. +
+            SubjectPublicKeyInfo ::= Sequence {
+                                     algorithm AlgorithmIdentifier,
+                                     publicKey BIT STRING }
+            
+
+ + Target structure used in target information extension for attribute + certificates from RFC 3281. + +
+                Target  ::= CHOICE {
+                  targetName          [0] GeneralName,
+                  targetGroup         [1] GeneralName,
+                  targetCert          [2] TargetCert
+                }
+            
+ +

+ The targetCert field is currently not supported and must not be used + according to RFC 3281.

+
+ + Creates an instance of a Target from the given object. +

+ obj can be a Target or a {@link Asn1TaggedObject}

+ + @param obj The object. + @return A Target instance. + @throws ArgumentException if the given object cannot be + interpreted as Target. +
+ + Constructor from Asn1TaggedObject. + + @param tagObj The tagged object. + @throws ArgumentException if the encoding is wrong. + + + Constructor from given details. +

+ Exactly one of the parameters must be not null.

+ + @param type the choice type to apply to the name. + @param name the general name. + @throws ArgumentException if type is invalid. +
+ + @return Returns the targetGroup. + + + @return Returns the targetName. + + + Produce an object suitable for an Asn1OutputStream. + + Returns: + +
+                Target  ::= CHOICE {
+                  targetName          [0] GeneralName,
+                  targetGroup         [1] GeneralName,
+                  targetCert          [2] TargetCert
+                }
+            
+ + @return an Asn1Object +
+ + Target information extension for attributes certificates according to RFC + 3281. + +
+                      SEQUENCE OF Targets
+            
+ +
+ + Creates an instance of a TargetInformation from the given object. +

+ obj can be a TargetInformation or a {@link Asn1Sequence}

+ + @param obj The object. + @return A TargetInformation instance. + @throws ArgumentException if the given object cannot be interpreted as TargetInformation. +
+ + Constructor from a Asn1Sequence. + + @param seq The Asn1Sequence. + @throws ArgumentException if the sequence does not contain + correctly encoded Targets elements. + + + Returns the targets in this target information extension. +

+ The ArrayList is cloned before it is returned.

+ + @return Returns the targets. +
+ + Constructs a target information from a single targets element. + According to RFC 3281 only one targets element must be produced. + + @param targets A Targets instance. + + + According to RFC 3281 only one targets element must be produced. If + multiple targets are given they must be merged in + into one targets element. + + @param targets An array with {@link Targets}. + + + Produce an object suitable for an Asn1OutputStream. + + Returns: + +
+                     SEQUENCE OF Targets
+            
+ +

+ According to RFC 3281 only one targets element must be produced. If + multiple targets are given in the constructor they are merged into one + targets element. If this was produced from a + {@link Org.BouncyCastle.Asn1.Asn1Sequence} the encoding is kept.

+ + @return an Asn1Object +
+ + Targets structure used in target information extension for attribute + certificates from RFC 3281. + +
+                       Targets ::= SEQUENCE OF Target
+                      
+                       Target  ::= CHOICE {
+                         targetName          [0] GeneralName,
+                         targetGroup         [1] GeneralName,
+                         targetCert          [2] TargetCert
+                       }
+                      
+                       TargetCert  ::= SEQUENCE {
+                         targetCertificate    IssuerSerial,
+                         targetName           GeneralName OPTIONAL,
+                         certDigestInfo       ObjectDigestInfo OPTIONAL
+                       }
+            
+ + @see org.bouncycastle.asn1.x509.Target + @see org.bouncycastle.asn1.x509.TargetInformation +
+ + Creates an instance of a Targets from the given object. +

+ obj can be a Targets or a {@link Asn1Sequence}

+ + @param obj The object. + @return A Targets instance. + @throws ArgumentException if the given object cannot be interpreted as Target. +
+ + Constructor from Asn1Sequence. + + @param targets The ASN.1 SEQUENCE. + @throws ArgumentException if the contents of the sequence are + invalid. + + + Constructor from given targets. +

+ The ArrayList is copied.

+ + @param targets An ArrayList of {@link Target}s. + @see Target + @throws ArgumentException if the ArrayList contains not only Targets. +
+ + Returns the targets in an ArrayList. +

+ The ArrayList is cloned before it is returned.

+ + @return Returns the targets. +
+ + Produce an object suitable for an Asn1OutputStream. + + Returns: + +
+                       Targets ::= SEQUENCE OF Target
+            
+ + @return an Asn1Object +
+ + The TbsCertificate object. +
+            TbsCertificate ::= Sequence {
+                 version          [ 0 ]  Version DEFAULT v1(0),
+                 serialNumber            CertificateSerialNumber,
+                 signature               AlgorithmIdentifier,
+                 issuer                  Name,
+                 validity                Validity,
+                 subject                 Name,
+                 subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                 issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                 subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                 extensions        [ 3 ] Extensions OPTIONAL
+                 }
+            
+

+ Note: issuerUniqueID and subjectUniqueID are both deprecated by the IETF. This class + will parse them, but you really shouldn't be creating new ones.

+
+ + PKIX RFC-2459 - TbsCertList object. +
+            TbsCertList  ::=  Sequence  {
+                 version                 Version OPTIONAL,
+                                              -- if present, shall be v2
+                 signature               AlgorithmIdentifier,
+                 issuer                  Name,
+                 thisUpdate              Time,
+                 nextUpdate              Time OPTIONAL,
+                 revokedCertificates     Sequence OF Sequence  {
+                      userCertificate         CertificateSerialNumber,
+                      revocationDate          Time,
+                      crlEntryExtensions      Extensions OPTIONAL
+                                                    -- if present, shall be v2
+                                           }  OPTIONAL,
+                 crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
+                                                    -- if present, shall be v2
+                                           }
+            
+
+ + creates a time object from a given date - if the date is between 1950 + and 2049 a UTCTime object is Generated, otherwise a GeneralizedTime + is used. + + + + Return our time as DateTime. + + A date time. + + + Produce an object suitable for an Asn1OutputStream. +
+            Time ::= CHOICE {
+                        utcTime        UTCTime,
+                        generalTime    GeneralizedTime }
+            
+
+ + UserNotice class, used in + CertificatePolicies X509 extensions (in policy + qualifiers). +
+             UserNotice ::= Sequence {
+                  noticeRef        NoticeReference OPTIONAL,
+                  explicitText     DisplayText OPTIONAL}
+            
+             
+ + @see PolicyQualifierId + @see PolicyInformation +
+ + Creates a new UserNotice instance. + + @param noticeRef a NoticeReference value + @param explicitText a DisplayText value + + + Creates a new UserNotice instance. + + @param noticeRef a NoticeReference value + @param str the explicitText field as a string. + + + Creates a new UserNotice instance. +

Useful from reconstructing a UserNotice instance + from its encodable/encoded form. + + @param as an ASN1Sequence value obtained from either + calling @{link toASN1Object()} for a UserNotice + instance or from parsing it from a DER-encoded stream.

+
+ + Generator for Version 1 TbsCertificateStructures. +
+             TbsCertificate ::= Sequence {
+                  version          [ 0 ]  Version DEFAULT v1(0),
+                  serialNumber            CertificateSerialNumber,
+                  signature               AlgorithmIdentifier,
+                  issuer                  Name,
+                  validity                Validity,
+                  subject                 Name,
+                  subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                  }
+             
+ +
+ + Generator for Version 2 AttributeCertificateInfo +
+             AttributeCertificateInfo ::= Sequence {
+                   version              AttCertVersion -- version is v2,
+                   holder               Holder,
+                   issuer               AttCertIssuer,
+                   signature            AlgorithmIdentifier,
+                   serialNumber         CertificateSerialNumber,
+                   attrCertValidityPeriod   AttCertValidityPeriod,
+                   attributes           Sequence OF Attr,
+                   issuerUniqueID       UniqueIdentifier OPTIONAL,
+                   extensions           Extensions OPTIONAL
+             }
+             
+ +
+ + @param attribute + + + Produce an object suitable for an Asn1OutputStream. +
+             V2Form ::= Sequence {
+                  issuerName            GeneralNames  OPTIONAL,
+                  baseCertificateID     [0] IssuerSerial  OPTIONAL,
+                  objectDigestInfo      [1] ObjectDigestInfo  OPTIONAL
+                    -- issuerName MUST be present in this profile
+                    -- baseCertificateID and objectDigestInfo MUST NOT
+                    -- be present in this profile
+             }
+            
+
+ + Generator for Version 2 TbsCertList structures. +
+              TbsCertList  ::=  Sequence  {
+                   version                 Version OPTIONAL,
+                                                -- if present, shall be v2
+                   signature               AlgorithmIdentifier,
+                   issuer                  Name,
+                   thisUpdate              Time,
+                   nextUpdate              Time OPTIONAL,
+                   revokedCertificates     Sequence OF Sequence  {
+                        userCertificate         CertificateSerialNumber,
+                        revocationDate          Time,
+                        crlEntryExtensions      Extensions OPTIONAL
+                                                      -- if present, shall be v2
+                                             }  OPTIONAL,
+                   crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
+                                                      -- if present, shall be v2
+                                             }
+             
+ + Note: This class may be subject to change +
+ + Generator for Version 3 TbsCertificateStructures. +
+             TbsCertificate ::= Sequence {
+                  version          [ 0 ]  Version DEFAULT v1(0),
+                  serialNumber            CertificateSerialNumber,
+                  signature               AlgorithmIdentifier,
+                  issuer                  Name,
+                  validity                Validity,
+                  subject                 Name,
+                  subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                  issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                  subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                  extensions        [ 3 ] Extensions OPTIONAL
+                  }
+             
+ +
+ + an X509Certificate structure. +
+             Certificate ::= Sequence {
+                 tbsCertificate          TbsCertificate,
+                 signatureAlgorithm      AlgorithmIdentifier,
+                 signature               BIT STRING
+             }
+            
+
+ + The default converter for X509 DN entries when going from their + string value to ASN.1 strings. + + + Apply default conversion for the given value depending on the oid + and the character range of the value. + + @param oid the object identifier for the DN entry + @param value the value associated with it + @return the ASN.1 equivalent for the string value. + + + an object for the elements in the X.509 V3 extension block. + + + Convert the value of the passed in extension to an object. + The extension to parse. + The object the value string contains. + If conversion is not possible. + + + Subject Directory Attributes + + + Subject Key Identifier + + + Key Usage + + + Private Key Usage Period + + + Subject Alternative Name + + + Issuer Alternative Name + + + Basic Constraints + + + CRL Number + + + Reason code + + + Hold Instruction Code + + + Invalidity Date + + + Delta CRL indicator + + + Issuing Distribution Point + + + Certificate Issuer + + + Name Constraints + + + CRL Distribution Points + + + Certificate Policies + + + Policy Mappings + + + Authority Key Identifier + + + Policy Constraints + + + Extended Key Usage + + + Freshest CRL + + + Inhibit Any Policy + + + Authority Info Access + + + Subject Info Access + + + Logo Type + + + BiometricInfo + + + QCStatements + + + Audit identity extension in attribute certificates. + + + NoRevAvail extension in attribute certificates. + + + TargetInformation extension in attribute certificates. + + + Expired Certificates on CRL extension + + + Constructor from Asn1Sequence. + + the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString) + + + constructor from a table of extensions. +

+ it's is assumed the table contains Oid/string pairs.

+
+ + Constructor from a table of extensions with ordering. +

+ It's is assumed the table contains Oid/string pairs.

+
+ + Constructor from two vectors + + @param objectIDs an ArrayList of the object identifiers. + @param values an ArrayList of the extension values. + + + constructor from a table of extensions. +

+ it's is assumed the table contains Oid/string pairs.

+
+ + Constructor from a table of extensions with ordering. +

+ It's is assumed the table contains Oid/string pairs.

+
+ + Constructor from two vectors + + @param objectIDs an ArrayList of the object identifiers. + @param values an ArrayList of the extension values. + + + return an Enumeration of the extension field's object ids. + + + return the extension represented by the object identifier + passed in. + + @return the extension if it's present, null otherwise. + + + return the parsed value of the extension represented by the object identifier + passed in. + + @return the parsed value of the extension if it's present, null otherwise. + + +
+                 Extensions        ::=   SEQUENCE SIZE (1..MAX) OF Extension
+            
+                 Extension         ::=   SEQUENCE {
+                    extnId            EXTENSION.&id ({ExtensionSet}),
+                    critical          BOOLEAN DEFAULT FALSE,
+                    extnValue         OCTET STRING }
+             
+
+ + Generator for X.509 extensions + + + Reset the generator + + + + Add an extension with the given oid and the passed in value to be included + in the OCTET STRING associated with the extension. + + OID for the extension. + True if critical, false otherwise. + The ASN.1 object to be included in the extension. + + + + Add an extension with the given oid and the passed in byte array to be wrapped + in the OCTET STRING associated with the extension. + + OID for the extension. + True if critical, false otherwise. + The byte array to be wrapped. + + + Return true if there are no extension present in this generator. + True if empty, false otherwise + + + Generate an X509Extensions object based on the current state of the generator. + An X509Extensions object + + +
+                 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+            
+                 RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue
+            
+                 AttributeTypeAndValue ::= SEQUENCE {
+                                               type  OBJECT IDENTIFIER,
+                                               value ANY }
+             
+
+ + country code - StringType(SIZE(2)) + + + organization - StringType(SIZE(1..64)) + + + organizational unit name - StringType(SIZE(1..64)) + + + Title + + + common name - StringType(SIZE(1..64)) + + + street - StringType(SIZE(1..64)) + + + device serial number name - StringType(SIZE(1..64)) + + + locality name - StringType(SIZE(1..64)) + + + state, or province name - StringType(SIZE(1..64)) + + + Naming attributes of type X520name + + + businessCategory - DirectoryString(SIZE(1..128) + + + postalCode - DirectoryString(SIZE(1..40) + + + dnQualifier - DirectoryString(SIZE(1..64) + + + RFC 3039 Pseudonym - DirectoryString(SIZE(1..64) + + + RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z + + + RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128) + + + RFC 3039 DateOfBirth - PrintableString (SIZE(1)) -- "M", "F", "m" or "f" + + + RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 + codes only + + + RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 + codes only + + + ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64) + + + RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF + DirectoryString(SIZE(1..30)) + + + RFC 2256 dmdName + + + id-at-telephoneNumber + + + id-at-organizationIdentifier + + + id-at-name + + + Email address (RSA PKCS#9 extension) - IA5String. +

Note: if you're trying to be ultra orthodox, don't use this! It shouldn't be in here.

+
+ + more from PKCS#9 + + + email address in Verisign certificates + + + LDAP User id. + + + determines whether or not strings should be processed and printed + from back to front. + + + default look up table translating OID values into their common symbols following + the convention in RFC 2253 with a few extras + + + look up table translating OID values into their common symbols following the convention in RFC 2253 + + + look up table translating OID values into their common symbols following the convention in RFC 1779 + + + + look up table translating common symbols into their OIDS. + + + Return a X509Name based on the passed in tagged object. + + @param obj tag object holding name. + @param explicitly true if explicitly tagged false otherwise. + @return the X509Name + + + Constructor from Asn1Sequence + + the principal will be a list of constructed sets, each containing an (OID, string) pair. + + + Constructor from a table of attributes with ordering. +

+ it's is assumed the table contains OID/string pairs, and the contents + of the table are copied into an internal table as part of the + construction process. The ordering ArrayList should contain the OIDs + in the order they are meant to be encoded or printed in ToString.

+
+ + Constructor from a table of attributes with ordering. +

+ it's is assumed the table contains OID/string pairs, and the contents + of the table are copied into an internal table as part of the + construction process. The ordering ArrayList should contain the OIDs + in the order they are meant to be encoded or printed in ToString.

+

+ The passed in converter will be used to convert the strings into their + ASN.1 counterparts.

+
+ + Takes two vectors one of the oids and the other of the values. + + + Takes two vectors one of the oids and the other of the values. +

+ The passed in converter will be used to convert the strings into their + ASN.1 counterparts.

+
+ + Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or + some such, converting it into an ordered set of name attributes. + + + Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or + some such, converting it into an ordered set of name attributes with each + string value being converted to its associated ASN.1 type using the passed + in converter. + + + Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or + some such, converting it into an ordered set of name attributes. If reverse + is true, create the encoded version of the sequence starting from the + last element in the string. + + + Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or + some such, converting it into an ordered set of name attributes with each + string value being converted to its associated ASN.1 type using the passed + in converter. If reverse is true the ASN.1 sequence representing the DN will + be built by starting at the end of the string, rather than the start. + + + Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or + some such, converting it into an ordered set of name attributes. lookUp + should provide a table of lookups, indexed by lowercase only strings and + yielding a DerObjectIdentifier, other than that OID. and numeric oids + will be processed automatically. +
+ If reverse is true, create the encoded version of the sequence + starting from the last element in the string. + @param reverse true if we should start scanning from the end (RFC 2553). + @param lookUp table of names and their oids. + @param dirName the X.500 string to be parsed. +
+ + Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or + some such, converting it into an ordered set of name attributes. lookUp + should provide a table of lookups, indexed by lowercase only strings and + yielding a DerObjectIdentifier, other than that OID. and numeric oids + will be processed automatically. The passed in converter is used to convert the + string values to the right of each equals sign to their ASN.1 counterparts. +
+ @param reverse true if we should start scanning from the end, false otherwise. + @param lookUp table of names and oids. + @param dirName the string dirName + @param converter the converter to convert string values into their ASN.1 equivalents +
+ + return an IList of the oids in the name, in the order they were found. + + + return an IList of the values found in the name, in the order they + were found. + + + return an IList of the values found in the name, in the order they + were found, with the DN label corresponding to passed in oid. + + + The X509Name object to test equivalency against. + If true, the order of elements must be the same, + as well as the values associated with each element. + + + test for equivalence - note: case is ignored. + + + convert the structure to a string - if reverse is true the + oids and values are listed out starting with the last element + in the sequence (ala RFC 2253), otherwise the string will begin + with the first element of the structure. If no string definition + for the oid is found in oidSymbols the string value of the oid is + added. Two standard symbol tables are provided DefaultSymbols, and + RFC2253Symbols as part of this class. + + @param reverse if true start at the end of the sequence and work back. + @param oidSymbols look up table strings for oids. + + + * It turns out that the number of standard ways the fields in a DN should be + * encoded into their ASN.1 counterparts is rapidly approaching the + * number of machines on the internet. By default the X509Name class + * will produce UTF8Strings in line with the current recommendations (RFC 3280). + *

+ * An example of an encoder look like below: + *

+                 * public class X509DirEntryConverter
+                 *     : X509NameEntryConverter
+                 * {
+                 *     public Asn1Object GetConvertedValue(
+                 *         DerObjectIdentifier  oid,
+                 *         string               value)
+                 *     {
+                 *         if (str.Length() != 0 && str.charAt(0) == '#')
+                 *         {
+                 *             return ConvertHexEncoded(str, 1);
+                 *         }
+                 *         if (oid.Equals(EmailAddress))
+                 *         {
+                 *             return new DerIA5String(str);
+                 *         }
+                 *         else if (CanBePrintable(str))
+                 *         {
+                 *             return new DerPrintableString(str);
+                 *         }
+                 *         else if (CanBeUTF8(str))
+                 *         {
+                 *             return new DerUtf8String(str);
+                 *         }
+                 *         else
+                 *         {
+                 *             return new DerBmpString(str);
+                 *         }
+                 *     }
+                 * }
+            	 * 
+ *

+
+ + Convert an inline encoded hex string rendition of an ASN.1 + object back into its corresponding ASN.1 object. + + @param str the hex encoded object + @param off the index at which the encoding starts + @return the decoded object + + + return true if the passed in string can be represented without + loss as a PrintableString, false otherwise. + + + Convert the passed in string value into the appropriate ASN.1 + encoded object. + + @param oid the oid associated with the value in the DN. + @param value the value of the particular DN component. + @return the ASN.1 equivalent for the value. + + + class for breaking up an X500 Name into it's component tokens, ala + java.util.StringTokenizer. We need this class as some of the + lightweight Java environment don't support classes like + StringTokenizer. + + + A general class that reads all X9.62 style EC curve tables. + + + return a X9ECParameters object representing the passed in named + curve. The routine returns null if the curve is not present. + + @param name the name of the curve requested + @return an X9ECParameters object or null if the curve is not available. + + + return the object identifier signified by the passed in name. Null + if there is no object identifier associated with name. + + @return the object identifier associated with name, if present. + + + return a X9ECParameters object representing the passed in named + curve. + + @param oid the object id of the curve requested + @return an X9ECParameters object or null if the curve is not available. + + + return an enumeration of the names of the available curves. + + @return an enumeration of the names of the available curves. + + + ASN.1 def for Diffie-Hellman key exchange KeySpecificInfo structure. See + RFC 2631, or X9.42, for further details. + + + Produce an object suitable for an Asn1OutputStream. +
+             KeySpecificInfo ::= Sequence {
+                 algorithm OBJECT IDENTIFIER,
+                 counter OCTET STRING SIZE (4..4)
+             }
+            
+
+ + ANS.1 def for Diffie-Hellman key exchange OtherInfo structure. See + RFC 2631, or X9.42, for further details. + + + Produce an object suitable for an Asn1OutputStream. +
+             OtherInfo ::= Sequence {
+                 keyInfo KeySpecificInfo,
+                 partyAInfo [0] OCTET STRING OPTIONAL,
+                 suppPubInfo [2] OCTET STRING
+             }
+            
+
+ + table of the current named curves defined in X.962 EC-DSA. + + + return the X9ECParameters object for the named curve represented by + the passed in object identifier. Null if the curve isn't present. + + @param oid an object identifier representing a named curve, if present. + + + return the object identifier signified by the passed in name. Null + if there is no object identifier associated with name. + + @return the object identifier associated with name, if present. + + + return the named curve name represented by the given object identifier. + + + returns an enumeration containing the name strings for curves + contained in this structure. + + + Produce an object suitable for an Asn1OutputStream. +
+            Parameters ::= CHOICE {
+               ecParameters ECParameters,
+               namedCurve   CURVES.&id({CurveNames}),
+               implicitlyCA Null
+            }
+            
+
+ + ASN.1 def for Elliptic-Curve Curve structure. See + X9.62, for further details. + + + Produce an object suitable for an Asn1OutputStream. +
+             Curve ::= Sequence {
+                 a               FieldElement,
+                 b               FieldElement,
+                 seed            BIT STRING      OPTIONAL
+             }
+            
+
+ + ASN.1 def for Elliptic-Curve ECParameters structure. See + X9.62, for further details. + + + Return the ASN.1 entry representing the Curve. + + @return the X9Curve for the curve in these parameters. + + + Return the ASN.1 entry representing the FieldID. + + @return the X9FieldID for the FieldID in these parameters. + + + Return the ASN.1 entry representing the base point G. + + @return the X9ECPoint for the base point in these parameters. + + + Produce an object suitable for an Asn1OutputStream. +
+             ECParameters ::= Sequence {
+                 version         Integer { ecpVer1(1) } (ecpVer1),
+                 fieldID         FieldID {{FieldTypes}},
+                 curve           X9Curve,
+                 base            X9ECPoint,
+                 order           Integer,
+                 cofactor        Integer OPTIONAL
+             }
+            
+
+ + class for describing an ECPoint as a Der object. + + + Produce an object suitable for an Asn1OutputStream. +
+             ECPoint ::= OCTET STRING
+            
+

+ Octet string produced using ECPoint.GetEncoded().

+
+ + Class for processing an ECFieldElement as a DER object. + + + Produce an object suitable for an Asn1OutputStream. +
+             FieldElement ::= OCTET STRING
+            
+

+

    +
  1. if q is an odd prime then the field element is + processed as an Integer and converted to an octet string + according to x 9.62 4.3.1.
  2. +
  3. if q is 2m then the bit string + contained in the field element is converted into an octet + string with the same ordering padded at the front if necessary. +
  4. +
+

+
+ + ASN.1 def for Elliptic-Curve Field ID structure. See + X9.62, for further details. + + + Constructor for elliptic curves over prime fields + F2. + @param primeP The prime p defining the prime field. + + + Constructor for elliptic curves over binary fields + F2m. + @param m The exponent m of + F2m. + @param k1 The integer k1 where xm + + xk1 + 1 + represents the reduction polynomial f(z). + + + Constructor for elliptic curves over binary fields + F2m. + @param m The exponent m of + F2m. + @param k1 The integer k1 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param k2 The integer k2 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param k3 The integer k3 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z).. + + + Produce a Der encoding of the following structure. +
+             FieldID ::= Sequence {
+                 fieldType       FIELD-ID.&id({IOSet}),
+                 parameters      FIELD-ID.&Type({IOSet}{@fieldType})
+             }
+            
+
+ + id-dsa-with-sha1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + us(840) x9-57 (10040) x9cm(4) 3 } + + + X9.63 + + + X9.42 + + + reader for Base64 armored objects - read the headers and then start returning + bytes when the data is reached. An IOException is thrown if the CRC check + is detected and fails. +

+ By default a missing CRC will not cause an exception. To force CRC detection use: +

+                 ArmoredInputStream aIn = ...
+            
+                 aIn.setDetectMissingCRC(true);
+             
+

+
+ + decode the base 64 encoded input data. + + @return the offset the data starts in out. + + + Create a stream for reading a PGP armoured message, parsing up to a header + and then reading the data that follows. + + @param input + + + Create an armoured input stream which will assume the data starts + straight away, or parse for headers first depending on the value of + hasHeaders. + + @param input + @param hasHeaders true if headers are to be looked for, false otherwise. + + + @return true if we are inside the clear text section of a PGP + signed message. + + + @return true if the stream is actually at end of file. + + + Return the armor header line (if there is one) + @return the armor header line, null if none present. + + + Return the armor headers (the lines after the armor header line), + @return an array of armor headers, null if there aren't any. + + + Reads up to len bytes of data from the input stream into + an array of bytes. An attempt is made to read as many as + len bytes, but a smaller number may be read. + The number of bytes actually read is returned as an integer. + + The first byte read is stored into element b[off], the + next one into b[off+1], and so on. The number of bytes read + is, at most, equal to len. + + NOTE: We need to override the custom behavior of Java's {@link InputStream#read(byte[], int, int)}, + as the upstream method silently swallows {@link IOException IOExceptions}. + This would cause CRC checksum errors to go unnoticed. + + @see Related BC bug report + @param b byte array + @param off offset at which we start writing data to the array + @param len number of bytes we write into the array + @return total number of bytes read into the buffer + + @throws IOException if an exception happens AT ANY POINT + + + Change how the stream should react if it encounters missing CRC checksum. + The default value is false (ignore missing CRC checksums). If the behavior is set to true, + an {@link IOException} will be thrown if a missing CRC checksum is encountered. + + @param detectMissing ignore missing CRC sums + + + Basic output stream. + + + encode the input data producing a base 64 encoded byte array. + + + Set an additional header entry. Any current value(s) under the same name will be + replaced by the new one. A null value will clear the entry for name. * + @param name the name of the header entry. + @param v the value of the header entry. + + + Set an additional header entry. The current value(s) will continue to exist together + with the new one. Adding a null value has no effect. + + @param name the name of the header entry. + @param value the value of the header entry. + + + Reset the headers to only contain a Version string (if one is present). + + + Start a clear text signed message. + @param hashAlgorithm + + + Note: Close() does not close the underlying stream. So it is possible to write + multiple objects using armoring to a single stream. + + + Basic type for a image attribute packet. + + + Reader for PGP objects. + + + Returns the next packet tag in the stream. + + + + A stream that overlays our input stream, allowing the user to only read a segment of it. + NB: dataLength will be negative if the segment length is in the upper range above 2**31. + + + + Base class for a PGP object. + + + Basic output stream. + + + Create a stream representing a general packet. + Output stream to write to. + + + Create a stream representing an old style partial object. + Output stream to write to. + The packet tag for the object. + + + Create a stream representing a general packet. + Output stream to write to. + Packet tag. + Size of chunks making up the packet. + If true, the header is written out in old format. + + + Create a new style partial input stream buffered into chunks. + Output stream to write to. + Packet tag. + Size of chunks making up the packet. + + + Create a new style partial input stream buffered into chunks. + Output stream to write to. + Packet tag. + Buffer to use for collecting chunks. + + + Flush the underlying stream. + + + Finish writing out the current packet without closing the underlying stream. + + + Generic compressed data object. + + + The algorithm tag value. + + + Basic tags for compression algorithms. + + + Basic type for a PGP packet. + + + Base class for a DSA public key. + + + The stream to read the packet from. + + + The format, as a string, always "PGP". + + + Return the standard PGP encoding of the key. + + + Base class for a DSA secret key. + + + @param in + + + The format, as a string, always "PGP". + + + Return the standard PGP encoding of the key. + + + @return x + + + Base class for an ECDH Public Key. + + + The stream to read the packet from. + + + Base class for an ECDSA Public Key. + + + The stream to read the packet from. + + + Base class for an EC Public Key. + + + The stream to read the packet from. + + + The format, as a string, always "PGP". + + + Return the standard PGP encoding of the key. + + + Base class for an EC Secret Key. + + + The format, as a string, always "PGP". + + + Return the standard PGP encoding of the key. + + + Base class for an ElGamal public key. + + + The format, as a string, always "PGP". + + + Return the standard PGP encoding of the key. + + + Base class for an ElGamal secret key. + + + @param in + + + @param x + + + The format, as a string, always "PGP". + + + Return the standard PGP encoding of the key. + + + Basic packet for an experimental packet. + + + Basic tags for hash algorithms. + + + Base interface for a PGP key. + + + + The base format for this key - in the case of the symmetric keys it will generally + be raw indicating that the key is just a straight byte representation, for an asymmetric + key the format will be PGP, indicating the key is a string of MPIs encoded in PGP format. + + "RAW" or "PGP". + + + Note: you can only read from this once... + + + Generic literal data packet. + + + The format tag value. + + + The modification time of the file in milli-seconds (since Jan 1, 1970 UTC) + + + Basic type for a marker packet. + + + Basic packet for a modification detection code packet. + + + A multiple precision integer + + + Generic signature object + + + The encryption algorithm tag. + + + The hash algorithm tag. + + + Basic PGP packet tag types. + + + Public Key Algorithm tag numbers. + + + Basic packet for a PGP public key. + + + Basic packet for a PGP public key. + + + Construct a version 4 public key packet. + + + Basic packet for a PGP public subkey + + + Construct a version 4 public subkey packet. + + + Base class for an RSA public key. + + + Construct an RSA public key from the passed in stream. + + + The modulus. + The public exponent. + + + The format, as a string, always "PGP". + + + Return the standard PGP encoding of the key. + + + Base class for an RSA secret (or priate) key. + + + The format, as a string, always "PGP". + + + Return the standard PGP encoding of the key. + + + The string to key specifier class. + + + The hash algorithm. + + + The IV for the key generation algorithm. + + + The iteration count + + + The protection mode - only if GnuDummyS2K + + + Basic packet for a PGP secret key. + + + Basic packet for a PGP secret key. + + + Generic signature packet. + + + Generate a version 4 signature packet. + + @param signatureType + @param keyAlgorithm + @param hashAlgorithm + @param hashedData + @param unhashedData + @param fingerprint + @param signature + + + Generate a version 2/3 signature packet. + + @param signatureType + @param keyAlgorithm + @param hashAlgorithm + @param fingerprint + @param signature + + + return the keyId + @return the keyId that created the signature. + + + return the signature trailer that must be included with the data + to reconstruct the signature + + @return byte[] + + + * return the signature as a set of integers - note this is normalised to be the + * ASN.1 encoding of what appears in the signature packet. + + + Return the byte encoding of the signature section. + @return uninterpreted signature bytes. + + + Return the creation time in milliseconds since 1 Jan., 1970 UTC. + + + Basic type for a PGP Signature sub-packet. + + + Return the generic data making up the packet. + + + reader for signature sub-packets + + + Basic PGP signature sub-packet tag types. + + + Packet embedded signature + + + packet giving signature creation time. + + + packet giving signature expiration time. + + + Identifier for the Modification Detection (packets 18 and 19) + + + Identifier for the AEAD Encrypted Data Packet (packet 20) and version 5 + Symmetric-Key Encrypted Session Key Packets (packet 3) + + + Identifier for the Version 5 Public-Key Packet format and corresponding new + fingerprint format + + + Returns if modification detection is supported. + + + Returns if a particular feature is supported. + + + packet giving signature creation time. + + + packet giving time after creation at which the key expires. + + + Return the number of seconds after creation time a key is valid for. + + @return second count for key validity. + + + Packet holding the key flag values. + + + + Return the flag values contained in the first 4 octets (note: at the moment + the standard only uses the first one). + + + + Class provided a NotationData object according to + RFC2440, Chapter 5.2.3.15. Notation Data + + + packet giving signature creation time. + + + packet giving whether or not the signature is signed using the primary user ID for the key. + + + packet giving whether or not is revocable. + + + packet giving signature creation time. + + + packet giving signature expiration time. + + + return time in seconds before signature expires after creation time. + + + packet giving the User ID of the signer. + + + packet giving trust. + + + + Represents revocation key OpenPGP signature sub packet. + + + + + Represents revocation reason OpenPGP signature sub packet. + + + + Basic type for a symmetric key encrypted packet. + + + Basic tags for symmetric key algorithms + + + Basic type for a symmetric encrypted session key packet + + + @return int + + + @return S2k + + + @return byte[] + + + @return int + + + Basic type for a trust packet. + + + Basic type for a user attribute packet. + + + Basic type for a user attribute sub-packet. + + + return the generic data making up the packet. + + + reader for user attribute sub-packets + + + Basic PGP user attribute sub-packet tag types. + + + Basic type for a user ID packet. + + + Compressed data objects + + + The algorithm used for compression + + + Get the raw input stream contained in the object. + + + Return an uncompressed input stream which allows reading of the compressed data. + + + Class for producing compressed data packets. + + + +

+ Return an output stream which will save the data being written to + the compressed object. +

+

+ The stream created can be closed off by either calling Close() + on the stream or Close() on the generator. Closing the returned + stream does not close off the Stream parameter outStr. +

+
+ Stream to be used for output. + A Stream for output of the compressed data. + + + +
+ + +

+ Return an output stream which will compress the data as it is written to it. + The stream will be written out in chunks according to the size of the passed in buffer. +

+

+ The stream created can be closed off by either calling Close() + on the stream or Close() on the generator. Closing the returned + stream does not close off the Stream parameter outStr. +

+

+ Note: if the buffer is not a power of 2 in length only the largest power of 2 + bytes worth of the buffer will be used. +

+

+ Note: using this may break compatibility with RFC 1991 compliant tools. + Only recent OpenPGP implementations are capable of accepting these streams. +

+
+ Stream to be used for output. + The buffer to use. + A Stream for output of the compressed data. + + + + +
+ + Close the compressed object.summary> + + + + Thrown if the IV at the start of a data stream indicates the wrong key is being used. + + + + Return the raw input stream for the data stream. + + + Return true if the message is integrity protected. + True, if there is a modification detection code namespace associated + with this stream. + + + Note: This can only be called after the message has been read. + True, if the message verifies, false otherwise + + + Generator for encrypted objects. + + + Existing SecureRandom constructor. + The symmetric algorithm to use. + Source of randomness. + + + Creates a cipher stream which will have an integrity packet associated with it. + + + Base constructor. + The symmetric algorithm to use. + Source of randomness. + PGP 2.6.x compatibility required. + + + + Add a PBE encryption method to the encrypted object using the default algorithm (S2K_SHA1). + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + Add a PBE encryption method to the encrypted object. + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + Add a PBE encryption method to the encrypted object. + + The passphrase is encoded to bytes using UTF8 (Encoding.UTF8.GetBytes). + + + + Add a PBE encryption method to the encrypted object. + + Allows the caller to handle the encoding of the passphrase to bytes. + + + + Add a public key encrypted session key to the encrypted object. + + + +

+ If buffer is non null stream assumed to be partial, otherwise the length will be used + to output a fixed length packet. +

+

+ The stream created can be closed off by either calling Close() + on the stream or Close() on the generator. Closing the returned + stream does not close off the Stream parameter outStr. +

+
+
+ + +

+ Return an output stream which will encrypt the data as it is written to it. +

+

+ The stream created can be closed off by either calling Close() + on the stream or Close() on the generator. Closing the returned + stream does not close off the Stream parameter outStr. +

+
+
+ + +

+ Return an output stream which will encrypt the data as it is written to it. + The stream will be written out in chunks according to the size of the passed in buffer. +

+

+ The stream created can be closed off by either calling Close() + on the stream or Close() on the generator. Closing the returned + stream does not close off the Stream parameter outStr. +

+

+ Note: if the buffer is not a power of 2 in length only the largest power of 2 + bytes worth of the buffer will be used. +

+
+
+ + +

+ Close off the encrypted object - this is equivalent to calling Close() on the stream + returned by the Open() method. +

+

+ Note: This does not close the underlying output stream, only the stream on top of + it created by the Open() method. +

+
+
+ + A holder for a list of PGP encryption method packets. + + + Generic exception class for PGP encoding/decoding problems. + + + Key flag values for the KeyFlags subpacket. + + + + General class to handle JCA key pairs and convert them into OpenPGP ones. +

+ A word for the unwary, the KeyId for an OpenPGP public key is calculated from + a hash that includes the time of creation, if you pass a different date to the + constructor below with the same public private key pair the KeyIs will not be the + same as for previous generations of the key, so ideally you only want to do + this once. +

+
+
+ + Create a key pair from a PgpPrivateKey and a PgpPublicKey. + The public key. + The private key. + + + The keyId associated with this key pair. + + + + Generator for a PGP master and subkey ring. + This class will generate both the secret and public key rings + + + + + Create a new key ring generator using old style checksumming. It is recommended to use + SHA1 checksumming where possible. + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + The certification level for keys on this ring. + The master key pair. + The id to be associated with the ring. + The algorithm to be used to protect secret keys. + The passPhrase to be used to protect secret keys. + Packets to be included in the certification hash. + Packets to be attached unhashed to the certification. + input secured random. + + + + Create a new key ring generator. + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + The certification level for keys on this ring. + The master key pair. + The id to be associated with the ring. + The algorithm to be used to protect secret keys. + The passPhrase to be used to protect secret keys. + Checksum the secret keys with SHA1 rather than the older 16 bit checksum. + Packets to be included in the certification hash. + Packets to be attached unhashed to the certification. + input secured random. + + + + Create a new key ring generator. + + The certification level for keys on this ring. + The master key pair. + The id to be associated with the ring. + The algorithm to be used to protect secret keys. + + If true, conversion of the passphrase to bytes uses Encoding.UTF8.GetBytes(), otherwise the conversion + is performed using Convert.ToByte(), which is the historical behaviour of the library (1.7 and earlier). + + The passPhrase to be used to protect secret keys. + Checksum the secret keys with SHA1 rather than the older 16 bit checksum. + Packets to be included in the certification hash. + Packets to be attached unhashed to the certification. + input secured random. + + + + Create a new key ring generator. + + The certification level for keys on this ring. + The master key pair. + The id to be associated with the ring. + The algorithm to be used to protect secret keys. + The passPhrase to be used to protect secret keys. + Checksum the secret keys with SHA1 rather than the older 16 bit checksum. + Packets to be included in the certification hash. + Packets to be attached unhashed to the certification. + input secured random. + + + + Create a new key ring generator. + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + The certification level for keys on this ring. + The master key pair. + The id to be associated with the ring. + The algorithm to be used to protect secret keys. + The hash algorithm. + The passPhrase to be used to protect secret keys. + Checksum the secret keys with SHA1 rather than the older 16 bit checksum. + Packets to be included in the certification hash. + Packets to be attached unhashed to the certification. + input secured random. + + + + Create a new key ring generator. + + The certification level for keys on this ring. + The master key pair. + The id to be associated with the ring. + The algorithm to be used to protect secret keys. + The hash algorithm. + + If true, conversion of the passphrase to bytes uses Encoding.UTF8.GetBytes(), otherwise the conversion + is performed using Convert.ToByte(), which is the historical behaviour of the library (1.7 and earlier). + + The passPhrase to be used to protect secret keys. + Checksum the secret keys with SHA1 rather than the older 16 bit checksum. + Packets to be included in the certification hash. + Packets to be attached unhashed to the certification. + input secured random. + + + + Create a new key ring generator. + + + Allows the caller to handle the encoding of the passphrase to bytes. + + The certification level for keys on this ring. + The master key pair. + The id to be associated with the ring. + The algorithm to be used to protect secret keys. + The hash algorithm. + The passPhrase to be used to protect secret keys. + Checksum the secret keys with SHA1 rather than the older 16 bit checksum. + Packets to be included in the certification hash. + Packets to be attached unhashed to the certification. + input secured random. + + + Add a subkey to the key ring to be generated with default certification. + + + + Add a subkey to the key ring to be generated with default certification. + + The key pair. + The hash algorithm. + + + + Add a signing subkey to the key ring to be generated with default certification and a primary key binding signature. + + The key pair. + The hash algorithm. + The primary-key binding hash algorithm. + + + + Add a subkey with specific hashed and unhashed packets associated with it and + default certification using SHA-1. + + Public/private key pair. + Hashed packet values to be included in certification. + Unhashed packets values to be included in certification. + + + + + Add a subkey with specific hashed and unhashed packets associated with it and + default certification. + + Public/private key pair. + Hashed packet values to be included in certification. + Unhashed packets values to be included in certification. + The hash algorithm. + exception adding subkey: + + + + + Add a signing subkey with specific hashed and unhashed packets associated with it and + default certifications, including the primary-key binding signature. + + Public/private key pair. + Hashed packet values to be included in certification. + Unhashed packets values to be included in certification. + The hash algorithm. + The primary-key binding hash algorithm. + exception adding subkey: + + + + Return the secret key ring. + + + Return the public key ring that corresponds to the secret key ring. + + + + Thrown if the key checksum is invalid. + + + + Class for processing literal data objects. + + + The special name indicating a "for your eyes only" packet. + + + The format of the data stream - Binary or Text + + + The file name that's associated with the data stream. + + + Return the file name as an unintrepreted byte array. + + + The modification time for the file. + + + The raw input stream for the data stream. + + + The input stream representing the data stream. + + + Class for producing literal data packets. + + + The special name indicating a "for your eyes only" packet. + + + + Generates literal data objects in the old format. + This is important if you need compatibility with PGP 2.6.x. + + If true, uses old format. + + + +

+ Open a literal data packet, returning a stream to store the data inside the packet. +

+

+ The stream created can be closed off by either calling Close() + on the stream or Close() on the generator. Closing the returned + stream does not close off the Stream parameter outStr. +

+
+ The stream we want the packet in. + The format we are using. + The name of the 'file'. + The length of the data we will write. + The time of last modification we want stored. +
+ + +

+ Open a literal data packet, returning a stream to store the data inside the packet, + as an indefinite length stream. The stream is written out as a series of partial + packets with a chunk size determined by the size of the passed in buffer. +

+

+ The stream created can be closed off by either calling Close() + on the stream or Close() on the generator. Closing the returned + stream does not close off the Stream parameter outStr. +

+

+ Note: if the buffer is not a power of 2 in length only the largest power of 2 + bytes worth of the buffer will be used.

+
+ The stream we want the packet in. + The format we are using. + The name of the 'file'. + The time of last modification we want stored. + The buffer to use for collecting data to put into chunks. +
+ + +

+ Open a literal data packet for the passed in FileInfo object, returning + an output stream for saving the file contents. +

+

+ The stream created can be closed off by either calling Close() + on the stream or Close() on the generator. Closing the returned + stream does not close off the Stream parameter outStr. +

+
+ The stream we want the packet in. + The format we are using. + The FileInfo object containg the packet details. +
+ + + Close the literal data packet - this is equivalent to calling Close() + on the stream returned by the Open() method. + + + + + A PGP marker packet - in general these should be ignored other than where + the idea is to preserve the original input stream. + + + + + General class for reading a PGP object stream. +

+ Note: if this class finds a PgpPublicKey or a PgpSecretKey it + will create a PgpPublicKeyRing, or a PgpSecretKeyRing for each + key found. If all you are trying to do is read a key ring file use + either PgpPublicKeyRingBundle or PgpSecretKeyRingBundle.

+
+
+ + Return the next object in the stream, or null if the end is reached. + On a parse error + + + + Return all available objects in a list. + + An IList containing all objects from this factory, in order. + + + + Read all available objects, returning only those that are assignable to the specified type. + + The type of objects to return. All other objects are ignored. + An IList containing the filtered objects from this factory, in order. + + + A one pass signature object. + + + Initialise the signature object for verification. + + + Verify the calculated signature against the passed in PgpSignature. + + + Holder for a list of PgpOnePassSignature objects. + + + Padding functions. + + + A password based encryption object. + + + Return the raw input stream for the data stream. + + + Return the decrypted input stream, using the passed in passphrase. + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + Return the decrypted input stream, using the passed in passphrase. + + The passphrase is encoded to bytes using UTF8 (Encoding.UTF8.GetBytes). + + + + Return the decrypted input stream, using the passed in passphrase. + + Allows the caller to handle the encoding of the passphrase to bytes. + + + + General class to contain a private key for use with other OpenPGP objects. + + + + Create a PgpPrivateKey from a keyID, the associated public data packet, and a regular private key. + + ID of the corresponding public key. + the public key data packet to be associated with this private key. + the private key data packet to be associated with this private key. + + + The keyId associated with the contained private key. + + + The public key packet associated with this private key, if available. + + + The contained private key. + + + General class to handle a PGP public key object. + + + + Create a PgpPublicKey from the passed in lightweight one. + + + Note: the time passed in affects the value of the key's keyId, so you probably only want + to do this once for a lightweight key, or make sure you keep track of the time you used. + + Asymmetric algorithm type representing the public key. + Actual public key to associate. + Date of creation. + If pubKey is not public. + On key creation problem. + + + Constructor for a sub-key. + + + Copy constructor. + The public key to copy. + + + The version of this key. + + + The creation time of this key. + + + The number of valid days from creation time - zero means no expiry. + WARNING: This method will return 1 for keys with version > 3 that expire in less than 1 day + + + Return the trust data associated with the public key, if present. + A byte array with trust data, null otherwise. + + + The number of valid seconds from creation time - zero means no expiry. + + + The keyId associated with the public key. + + + The fingerprint of the key + + + + Check if this key has an algorithm type that makes it suitable to use for encryption. + + + Note: with version 4 keys KeyFlags subpackets should also be considered when present for + determining the preferred use of the key. + + + true if this key algorithm is suitable for encryption. + + + + True, if this could be a master key. + + + The algorithm code associated with the public key. + + + The strength of the key in bits. + + + The public key contained in the object. + A lightweight public key. + If the key algorithm is not recognised. + + + Allows enumeration of any user IDs associated with the key. + An IEnumerable of string objects. + + + Allows enumeration of any user attribute vectors associated with the key. + An IEnumerable of PgpUserAttributeSubpacketVector objects. + + + Allows enumeration of any signatures associated with the passed in id. + The ID to be matched. + An IEnumerable of PgpSignature objects. + + + Allows enumeration of signatures associated with the passed in user attributes. + The vector of user attributes to be matched. + An IEnumerable of PgpSignature objects. + + + Allows enumeration of signatures of the passed in type that are on this key. + The type of the signature to be returned. + An IEnumerable of PgpSignature objects. + + + Allows enumeration of all signatures/certifications associated with this key. + An IEnumerable with all signatures/certifications. + + + Return all signatures/certifications directly associated with this key (ie, not to a user id). + + @return an iterator (possibly empty) with all signatures/certifications. + + + Check whether this (sub)key has a revocation signature on it. + True, if this (sub)key has been revoked. + + + Add a certification for an id to the given public key. + The key the certification is to be added to. + The ID the certification is associated with. + The new certification. + The re-certified key. + + + Add a certification for the given UserAttributeSubpackets to the given public key. + The key the certification is to be added to. + The attributes the certification is associated with. + The new certification. + The re-certified key. + + + + Remove any certifications associated with a user attribute subpacket on a key. + + The key the certifications are to be removed from. + The attributes to be removed. + + The re-certified key, or null if the user attribute subpacket was not found on the key. + + + + Remove any certifications associated with a given ID on a key. + The key the certifications are to be removed from. + The ID that is to be removed. + The re-certified key, or null if the ID was not found on the key. + + + Remove a certification associated with a given ID on a key. + The key the certifications are to be removed from. + The ID that the certfication is to be removed from. + The certfication to be removed. + The re-certified key, or null if the certification was not found. + + + Remove a certification associated with a given user attributes on a key. + The key the certifications are to be removed from. + The user attributes that the certfication is to be removed from. + The certification to be removed. + The re-certified key, or null if the certification was not found. + + + Add a revocation or some other key certification to a key. + The key the revocation is to be added to. + The key signature to be added. + The new changed public key object. + + + Remove a certification from the key. + The key the certifications are to be removed from. + The certfication to be removed. + The modified key, null if the certification was not found. + + + A public key encrypted data object. + + + The key ID for the key used to encrypt the data. + + + + Return the algorithm code for the symmetric algorithm used to encrypt the data. + + + + Return the decrypted data stream for the packet. + + + + Class to hold a single master public key and its subkeys. +

+ Often PGP keyring files consist of multiple master keys, if you are trying to process + or construct one of these you should use the PgpPublicKeyRingBundle class. +

+
+
+ + Return the first public key in the ring. + + + Return the public key referred to by the passed in key ID if it is present. + + + Allows enumeration of all the public keys. + An IEnumerable of PgpPublicKey objects. + + + + Returns a new key ring with the public key passed in either added or + replacing an existing one. + + The public key ring to be modified. + The public key to be inserted. + A new PgpPublicKeyRing + + + Returns a new key ring with the public key passed in removed from the key ring. + The public key ring to be modified. + The public key to be removed. + A new PgpPublicKeyRing, or null if pubKey is not found. + + + + Often a PGP key ring file is made up of a succession of master/sub-key key rings. + If you want to read an entire public key file in one hit this is the class for you. + + + + Build a PgpPublicKeyRingBundle from the passed in input stream. + Input stream containing data. + If a problem parsing the stream occurs. + If an object is encountered which isn't a PgpPublicKeyRing. + + + Return the number of key rings in this collection. + + + Allow enumeration of the public key rings making up this collection. + + + Allow enumeration of the key rings associated with the passed in userId. + The user ID to be matched. + An IEnumerable of key rings which matched (possibly none). + + + Allow enumeration of the key rings associated with the passed in userId. + The user ID to be matched. + If true, userId need only be a substring of an actual ID string to match. + An IEnumerable of key rings which matched (possibly none). + + + Allow enumeration of the key rings associated with the passed in userId. + The user ID to be matched. + If true, userId need only be a substring of an actual ID string to match. + If true, case is ignored in user ID comparisons. + An IEnumerable of key rings which matched (possibly none). + + + Return the PGP public key associated with the given key id. + The ID of the public key to return. + + + Return the public key ring which contains the key referred to by keyId + key ID to match against + + + + Return true if a key matching the passed in key ID is present, false otherwise. + + key ID to look for. + + + + Return a new bundle containing the contents of the passed in bundle and + the passed in public key ring. + + The PgpPublicKeyRingBundle the key ring is to be added to. + The key ring to be added. + A new PgpPublicKeyRingBundle merging the current one with the passed in key ring. + If the keyId for the passed in key ring is already present. + + + + Return a new bundle containing the contents of the passed in bundle with + the passed in public key ring removed. + + The PgpPublicKeyRingBundle the key ring is to be removed from. + The key ring to be removed. + A new PgpPublicKeyRingBundle not containing the passed in key ring. + If the keyId for the passed in key ring is not present. + + + General class to handle a PGP secret key object. + + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + + If utf8PassPhrase is true, conversion of the passphrase to bytes uses Encoding.UTF8.GetBytes(), otherwise the conversion + is performed using Convert.ToByte(), which is the historical behaviour of the library (1.7 and earlier). + + + + + Allows the caller to handle the encoding of the passphrase to bytes. + + + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + + If utf8PassPhrase is true, conversion of the passphrase to bytes uses Encoding.UTF8.GetBytes(), otherwise the conversion + is performed using Convert.ToByte(), which is the historical behaviour of the library (1.7 and earlier). + + + + + Allows the caller to handle the encoding of the passphrase to bytes. + + + + + Check if this key has an algorithm type that makes it suitable to use for signing. + + + Note: with version 4 keys KeyFlags subpackets should also be considered when present for + determining the preferred use of the key. + + + true if this key algorithm is suitable for use with signing. + + + + True, if this is a master key. + + + Detect if the Secret Key's Private Key is empty or not + + + The algorithm the key is encrypted with. + + + The key ID of the public key associated with this key. + + + Return the S2K usage associated with this key. + + + Return the S2K used to process this key. + + + The public key associated with this key. + + + Allows enumeration of any user IDs associated with the key. + An IEnumerable of string objects. + + + Allows enumeration of any user attribute vectors associated with the key. + An IEnumerable of string objects. + + + Extract a PgpPrivateKey from this secret key's encrypted contents. + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + Extract a PgpPrivateKey from this secret key's encrypted contents. + + The passphrase is encoded to bytes using UTF8 (Encoding.UTF8.GetBytes). + + + + Extract a PgpPrivateKey from this secret key's encrypted contents. + + Allows the caller to handle the encoding of the passphrase to bytes. + + + + + Return a copy of the passed in secret key, encrypted using a new password + and the passed in algorithm. + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + The PgpSecretKey to be copied. + The current password for the key. + The new password for the key. + The algorithm to be used for the encryption. + Source of randomness. + + + + Return a copy of the passed in secret key, encrypted using a new password + and the passed in algorithm. + + + The passphrase is encoded to bytes using UTF8 (Encoding.UTF8.GetBytes). + + The PgpSecretKey to be copied. + The current password for the key. + The new password for the key. + The algorithm to be used for the encryption. + Source of randomness. + + + + Return a copy of the passed in secret key, encrypted using a new password + and the passed in algorithm. + + + Allows the caller to handle the encoding of the passphrase to bytes. + + The PgpSecretKey to be copied. + The current password for the key. + The new password for the key. + The algorithm to be used for the encryption. + Source of randomness. + + + Replace the passed the public key on the passed in secret key. + Secret key to change. + New public key. + A new secret key. + If KeyId's do not match. + + + + Parse a secret key from one of the GPG S expression keys associating it with the passed in public key. + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + + Parse a secret key from one of the GPG S expression keys associating it with the passed in public key. + + + The passphrase is encoded to bytes using UTF8 (Encoding.UTF8.GetBytes). + + + + + Parse a secret key from one of the GPG S expression keys associating it with the passed in public key. + + + Allows the caller to handle the encoding of the passphrase to bytes. + + + + + Parse a secret key from one of the GPG S expression keys. + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + + Parse a secret key from one of the GPG S expression keys. + + + The passphrase is encoded to bytes using UTF8 (Encoding.UTF8.GetBytes). + + + + + Parse a secret key from one of the GPG S expression keys. + + + Allows the caller to handle the encoding of the passphrase to bytes. + + + + + Parse a secret key from one of the GPG S expression keys. + + + + + Class to hold a single master secret key and its subkeys. +

+ Often PGP keyring files consist of multiple master keys, if you are trying to process + or construct one of these you should use the PgpSecretKeyRingBundle class. +

+
+
+ + Return the public key for the master key. + + + Return the master private key. + + + Allows enumeration of the secret keys. + An IEnumerable of PgpSecretKey objects. + + + + Return an iterator of the public keys in the secret key ring that + have no matching private key. At the moment only personal certificate data + appears in this fashion. + + An IEnumerable of unattached, or extra, public keys. + + + + Replace the public key set on the secret ring with the corresponding key off the public ring. + + Secret ring to be changed. + Public ring containing the new public key set. + + + + Return a copy of the passed in secret key ring, with the master key and sub keys encrypted + using a new password and the passed in algorithm. + + The PgpSecretKeyRing to be copied. + The current password for key. + The new password for the key. + The algorithm to be used for the encryption. + Source of randomness. + + + + Returns a new key ring with the secret key passed in either added or + replacing an existing one with the same key ID. + + The secret key ring to be modified. + The secret key to be inserted. + A new PgpSecretKeyRing + + + Returns a new key ring with the secret key passed in removed from the key ring. + The secret key ring to be modified. + The secret key to be removed. + A new PgpSecretKeyRing, or null if secKey is not found. + + + + Often a PGP key ring file is made up of a succession of master/sub-key key rings. + If you want to read an entire secret key file in one hit this is the class for you. + + + + Build a PgpSecretKeyRingBundle from the passed in input stream. + Input stream containing data. + If a problem parsing the stream occurs. + If an object is encountered which isn't a PgpSecretKeyRing. + + + Return the number of rings in this collection. + + + Allow enumeration of the secret key rings making up this collection. + + + Allow enumeration of the key rings associated with the passed in userId. + The user ID to be matched. + An IEnumerable of key rings which matched (possibly none). + + + Allow enumeration of the key rings associated with the passed in userId. + The user ID to be matched. + If true, userId need only be a substring of an actual ID string to match. + An IEnumerable of key rings which matched (possibly none). + + + Allow enumeration of the key rings associated with the passed in userId. + The user ID to be matched. + If true, userId need only be a substring of an actual ID string to match. + If true, case is ignored in user ID comparisons. + An IEnumerable of key rings which matched (possibly none). + + + Return the PGP secret key associated with the given key id. + The ID of the secret key to return. + + + Return the secret key ring which contains the key referred to by keyId + The ID of the secret key + + + + Return true if a key matching the passed in key ID is present, false otherwise. + + key ID to look for. + + + + Return a new bundle containing the contents of the passed in bundle and + the passed in secret key ring. + + The PgpSecretKeyRingBundle the key ring is to be added to. + The key ring to be added. + A new PgpSecretKeyRingBundle merging the current one with the passed in key ring. + If the keyId for the passed in key ring is already present. + + + + Return a new bundle containing the contents of the passed in bundle with + the passed in secret key ring removed. + + The PgpSecretKeyRingBundle the key ring is to be removed from. + The key ring to be removed. + A new PgpSecretKeyRingBundle not containing the passed in key ring. + If the keyId for the passed in key ring is not present. + + + A PGP signature object. + + + The OpenPGP version number for this signature. + + + The key algorithm associated with this signature. + + + The hash algorithm associated with this signature. + + + Return true if this signature represents a certification. + + + + Verify the signature as certifying the passed in public key as associated + with the passed in user attributes. + + User attributes the key was stored under. + The key to be verified. + True, if the signature matches, false otherwise. + + + + Verify the signature as certifying the passed in public key as associated + with the passed in ID. + + ID the key was stored under. + The key to be verified. + True, if the signature matches, false otherwise. + + + Verify a certification for the passed in key against the passed in master key. + The key we are verifying against. + The key we are verifying. + True, if the certification is valid, false otherwise. + + + Verify a key certification, such as revocation, for the passed in key. + The key we are checking. + True, if the certification is valid, false otherwise. + + + The ID of the key that created the signature. + + + The creation time of this signature. + + + + Return true if the signature has either hashed or unhashed subpackets. + + + + + Return true if the passed in signature type represents a certification, false if the signature type is not. + + + true if signatureType is a certification, false otherwise. + + + Generator for PGP signatures. + + + Create a generator for the passed in keyAlgorithm and hashAlgorithm codes. + + + Initialise the generator for signing. + + + Initialise the generator for signing. + + + Return the one pass header associated with the current signature. + + + Return a signature object containing the current signature state. + + + Generate a certification for the passed in ID and key. + The ID we are certifying against the public key. + The key we are certifying against the ID. + The certification. + + + Generate a certification for the passed in userAttributes. + The ID we are certifying against the public key. + The key we are certifying against the ID. + The certification. + + + Generate a certification for the passed in key against the passed in master key. + The key we are certifying against. + The key we are certifying. + The certification. + + + Generate a certification, such as a revocation, for the passed in key. + The key we are certifying. + The certification. + + + A list of PGP signatures - normally in the signature block after literal data. + + + Generator for signature subpackets. + + + + Base constructor, creates an empty generator. + + + + + Constructor for pre-initialising the generator from an existing one. + + + sigSubV an initial set of subpackets. + + + + + Add a TrustSignature packet to the signature. The values for depth and trust are largely + installation dependent but there are some guidelines in RFC 4880 - 5.2.3.13. + + true if the packet is critical. + depth level. + trust amount. + + + + Set the number of seconds a key is valid for after the time of its creation. + A value of zero means the key never expires. + + True, if should be treated as critical, false otherwise. + The number of seconds the key is valid, or zero if no expiry. + + + + Set the number of seconds a signature is valid for after the time of its creation. + A value of zero means the signature never expires. + + True, if should be treated as critical, false otherwise. + The number of seconds the signature is valid, or zero if no expiry. + + + + Set the creation time for the signature. +

+ Note: this overrides the generation of a creation time when the signature + is generated.

+
+
+ + + Sets revocation reason sub packet + + + + + Sets revocation key sub packet + + + + + Sets issuer key sub packet + + + + Container for a list of signature subpackets. + + + Return true if a particular subpacket type exists. + + @param type type to look for. + @return true if present, false otherwise. + + + Return all signature subpackets of the passed in type. + @param type subpacket type code + @return an array of zero or more matching subpackets. + + + + Return the number of seconds a signature is valid for after its creation date. + A value of zero means the signature never expires. + + Seconds a signature is valid for. + + + + Return the number of seconds a key is valid for after its creation date. + A value of zero means the key never expires. + + Seconds a signature is valid for. + + + Return the number of packets this vector contains. + + + Container for a list of user attribute subpackets. + + + Basic utility class. + + + + Conversion of the passphrase characters to bytes is performed using Convert.ToByte(), which is + the historical behaviour of the library (1.7 and earlier). + + + + + The passphrase is encoded to bytes using UTF8 (Encoding.UTF8.GetBytes). + + + + + Allows the caller to handle the encoding of the passphrase to bytes. + + + + Write out the passed in file as a literal data packet. + + + Write out the passed in file as a literal data packet in partial packet format. + + + + Return either an ArmoredInputStream or a BcpgInputStream based on whether + the initial characters of the stream are binary PGP encodings or not. + + + + Generator for old style PGP V3 Signatures. + + + Create a generator for the passed in keyAlgorithm and hashAlgorithm codes. + + + Initialise the generator for signing. + + + Initialise the generator for signing. + + + Return the one pass header associated with the current signature. + + + Return a V3 signature object containing the current signature state. + + + Utility functions for looking a S-expression keys. This class will move when it finds a better home! +

+ Format documented here: + http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=blob;f=agent/keyformat.txt;h=42c4b1f06faf1bbe71ffadc2fee0fad6bec91a97;hb=refs/heads/master +

+
+ + + Wrap a PKIMessage ASN.1 structure. + + PKI message. + + + + Create a PKIMessage from the passed in bytes. + + BER/DER encoding of the PKIMessage + + + + Return true if this message has protection bits on it. A return value of true + indicates the message can be used to construct a ProtectedPKIMessage. + + + + + Wrapper for a PKIMessage with protection attached to it. + + + + + Wrap a general message. + + If the general message does not have protection. + The General message + + + + Wrap a PKI message. + + If the PKI message does not have protection. + The PKI message + + + + Message header + + + + + Message Body + + + + + Return the underlying ASN.1 structure contained in this object. + + PKI Message structure + + + + Determine whether the message is protected by a password based MAC. Use verify(PKMACBuilder, char[]) + to verify the message if this method returns true. + + true if protection MAC PBE based, false otherwise. + + + + Return the extra certificates associated with this message. + + an array of extra certificates, zero length if none present. + + + + Verify a message with a public key based signature attached. + + a factory of signature verifiers. + true if the provider is able to create a verifier that validates the signature, false otherwise. + + + + Verify a message with password based MAC protection. + + MAC builder that can be used to construct the appropriate MacCalculator + the MAC password + true if the passed in password and MAC builder verify the message, false otherwise. + if algorithm not MAC based, or an exception is thrown verifying the MAC. + + + + The 'Signature' parameter is only available when generating unsigned attributes. + + + + containing class for an CMS Authenticated Data object + + + return the object identifier for the content MAC algorithm. + + + return a store of the intended recipients for this message + + + return the ContentInfo + + + return a table of the digested attributes indexed by + the OID of the attribute. + + + return a table of the undigested attributes indexed by + the OID of the attribute. + + + return the ASN.1 encoded representation of this object. + + + General class for generating a CMS authenticated-data message. + + A simple example of usage. + +
+                  CMSAuthenticatedDataGenerator  fact = new CMSAuthenticatedDataGenerator();
+            
+                  fact.addKeyTransRecipient(cert);
+            
+                  CMSAuthenticatedData         data = fact.generate(content, algorithm, "BC");
+             
+
+ + base constructor + + + constructor allowing specific source of randomness + @param rand instance of SecureRandom to use + + + generate an enveloped object that contains an CMS Enveloped Data + object using the given provider and the passed in key generator. + + + generate an authenticated object that contains an CMS Authenticated Data object + + + Parsing class for an CMS Authenticated Data object from an input stream. +

+ Note: that because we are in a streaming mode only one recipient can be tried and it is important + that the methods on the parser are called in the appropriate order. +

+

+ Example of use - assuming the first recipient matches the private key we have. +

+                  CMSAuthenticatedDataParser     ad = new CMSAuthenticatedDataParser(inputStream);
+            
+                  RecipientInformationStore  recipients = ad.getRecipientInfos();
+            
+                  Collection  c = recipients.getRecipients();
+                  Iterator    it = c.iterator();
+            
+                  if (it.hasNext())
+                  {
+                      RecipientInformation   recipient = (RecipientInformation)it.next();
+            
+                      CMSTypedStream recData = recipient.getContentStream(privateKey, "BC");
+            
+                      processDataStream(recData.getContentStream());
+            
+                      if (!Arrays.equals(ad.getMac(), recipient.getMac())
+                      {
+                          System.err.println("Data corrupted!!!!");
+                      }
+                  }
+              
+ Note: this class does not introduce buffering - if you are processing large files you should create + the parser with: +
+                      CMSAuthenticatedDataParser     ep = new CMSAuthenticatedDataParser(new BufferedInputStream(inputStream, bufSize));
+              
+ where bufSize is a suitably large buffer size. +

+
+ + return the object identifier for the mac algorithm. + + + return the ASN.1 encoded encryption algorithm parameters, or null if + there aren't any. + + + return a store of the intended recipients for this message + + + return a table of the unauthenticated attributes indexed by + the OID of the attribute. + @exception java.io.IOException + + + return a table of the unauthenticated attributes indexed by + the OID of the attribute. + @exception java.io.IOException + + + General class for generating a CMS authenticated-data message stream. +

+ A simple example of usage. +

+                  CMSAuthenticatedDataStreamGenerator edGen = new CMSAuthenticatedDataStreamGenerator();
+            
+                  edGen.addKeyTransRecipient(cert);
+            
+                  ByteArrayOutputStream  bOut = new ByteArrayOutputStream();
+            
+                  OutputStream out = edGen.open(
+                                          bOut, CMSAuthenticatedDataGenerator.AES128_CBC, "BC");*
+                  out.write(data);
+            
+                  out.close();
+             
+

+
+ + base constructor + + + constructor allowing specific source of randomness + @param rand instance of SecureRandom to use + + + Set the underlying string size for encapsulated data + + @param bufferSize length of octet strings to buffer the data. + + + Use a BER Set to store the recipient information + + + generate an enveloped object that contains an CMS Enveloped Data + object using the given provider and the passed in key generator. + @throws java.io.IOException + + + generate an enveloped object that contains an CMS Enveloped Data object + + + generate an enveloped object that contains an CMS Enveloped Data object + + + base constructor + + + constructor allowing specific source of randomness + + @param rand instance of SecureRandom to use + + + containing class for an CMS AuthEnveloped Data object + + + containing class for an CMS Compressed Data object + + + Return the uncompressed content. + + @return the uncompressed content + @throws CmsException if there is an exception uncompressing the data. + + + Return the uncompressed content, throwing an exception if the data size + is greater than the passed in limit. If the content is exceeded getCause() + on the CMSException will contain a StreamOverflowException + + @param limit maximum number of bytes to read + @return the content read + @throws CMSException if there is an exception uncompressing the data. + + + return the ContentInfo + + + return the ASN.1 encoded representation of this object. + + + * General class for generating a compressed CMS message. + *

+ * A simple example of usage.

+ *

+ *

+                *      CMSCompressedDataGenerator fact = new CMSCompressedDataGenerator();
+                *      CMSCompressedData data = fact.Generate(content, algorithm);
+                * 
+ *

+
+ + Generate an object that contains an CMS Compressed Data + + + Class for reading a CMS Compressed Data stream. +
+                 CMSCompressedDataParser cp = new CMSCompressedDataParser(inputStream);
+            
+                 process(cp.GetContent().GetContentStream());
+             
+ Note: this class does not introduce buffering - if you are processing large files you should create + the parser with: +
+                  CMSCompressedDataParser     ep = new CMSCompressedDataParser(new BufferedInputStream(inputStream, bufSize));
+              
+ where bufSize is a suitably large buffer size. +
+ + General class for generating a compressed CMS message stream. +

+ A simple example of usage. +

+
+                  CMSCompressedDataStreamGenerator gen = new CMSCompressedDataStreamGenerator();
+            
+                  Stream cOut = gen.Open(outputStream, CMSCompressedDataStreamGenerator.ZLIB);
+            
+                  cOut.Write(data);
+            
+                  cOut.Close();
+             
+
+ + base constructor + + + Set the underlying string size for encapsulated data + + @param bufferSize length of octet strings to buffer the data. + + + Close the underlying data stream. + @throws IOException if the close fails. + + + containing class for an CMS Enveloped Data object + + + return the object identifier for the content encryption algorithm. + + + return a store of the intended recipients for this message + + + return the ContentInfo + + + return a table of the unprotected attributes indexed by + the OID of the attribute. + + + return the ASN.1 encoded representation of this object. + + + + General class for generating a CMS enveloped-data message. + + A simple example of usage. + +
+                  CmsEnvelopedDataGenerator  fact = new CmsEnvelopedDataGenerator();
+            
+                  fact.AddKeyTransRecipient(cert);
+            
+                  CmsEnvelopedData         data = fact.Generate(content, algorithm);
+             
+
+
+ + Constructor allowing specific source of randomness + Instance of SecureRandom to use. + + + + Generate an enveloped object that contains a CMS Enveloped Data + object using the passed in key generator. + + + + Generate an enveloped object that contains an CMS Enveloped Data object. + + + Generate an enveloped object that contains an CMS Enveloped Data object. + + + Parsing class for an CMS Enveloped Data object from an input stream. +

+ Note: that because we are in a streaming mode only one recipient can be tried and it is important + that the methods on the parser are called in the appropriate order. +

+

+ Example of use - assuming the first recipient matches the private key we have. +

+                  CmsEnvelopedDataParser     ep = new CmsEnvelopedDataParser(inputStream);
+            
+                  RecipientInformationStore  recipients = ep.GetRecipientInfos();
+            
+                  Collection  c = recipients.getRecipients();
+                  Iterator    it = c.iterator();
+            
+                  if (it.hasNext())
+                  {
+                      RecipientInformation   recipient = (RecipientInformation)it.next();
+            
+                      CMSTypedStream recData = recipient.getContentStream(privateKey);
+            
+                      processDataStream(recData.getContentStream());
+                  }
+              
+ Note: this class does not introduce buffering - if you are processing large files you should create + the parser with: +
+                      CmsEnvelopedDataParser     ep = new CmsEnvelopedDataParser(new BufferedInputStream(inputStream, bufSize));
+              
+ where bufSize is a suitably large buffer size. +

+
+ + return the object identifier for the content encryption algorithm. + + + return the ASN.1 encoded encryption algorithm parameters, or null if + there aren't any. + + + return a store of the intended recipients for this message + + + return a table of the unprotected attributes indexed by + the OID of the attribute. + @throws IOException + + + General class for generating a CMS enveloped-data message stream. +

+ A simple example of usage. +

+                  CmsEnvelopedDataStreamGenerator edGen = new CmsEnvelopedDataStreamGenerator();
+            
+                  edGen.AddKeyTransRecipient(cert);
+            
+                  MemoryStream  bOut = new MemoryStream();
+            
+                  Stream out = edGen.Open(
+                                          bOut, CMSEnvelopedDataGenerator.AES128_CBC);*
+                  out.Write(data);
+            
+                  out.Close();
+             
+

+
+ + Constructor allowing specific source of randomness + Instance of SecureRandom to use. + + + Set the underlying string size for encapsulated data. + Length of octet strings to buffer the data. + + + Use a BER Set to store the recipient information. + + + + Generate an enveloped object that contains an CMS Enveloped Data + object using the passed in key generator. + + + + generate an enveloped object that contains an CMS Enveloped Data object + @throws IOException + + + generate an enveloped object that contains an CMS Enveloped Data object + @throws IOException + + + General class for generating a CMS enveloped-data message. + + A simple example of usage. + +
+                  CMSEnvelopedDataGenerator  fact = new CMSEnvelopedDataGenerator();
+            
+                  fact.addKeyTransRecipient(cert);
+            
+                  CMSEnvelopedData         data = fact.generate(content, algorithm, "BC");
+             
+
+ + Constructor allowing specific source of randomness + Instance of SecureRandom to use. + + + add a recipient. + + @param cert recipient's public key certificate + @exception ArgumentException if there is a problem with the certificate + + + add a recipient + + @param key the public key used by the recipient + @param subKeyId the identifier for the recipient's public key + @exception ArgumentException if there is a problem with the key + + + add a KEK recipient. + @param key the secret key to use for wrapping + @param keyIdentifier the byte string that identifies the key + + + add a KEK recipient. + @param key the secret key to use for wrapping + @param keyIdentifier the byte string that identifies the key + + + Add a key agreement based recipient. + + @param agreementAlgorithm key agreement algorithm to use. + @param senderPrivateKey private key to initialise sender side of agreement with. + @param senderPublicKey sender public key to include with message. + @param recipientCert recipient's public key certificate. + @param cekWrapAlgorithm OID for key wrapping algorithm to use. + @exception SecurityUtilityException if the algorithm requested cannot be found + @exception InvalidKeyException if the keys are inappropriate for the algorithm specified + + + Add multiple key agreement based recipients (sharing a single KeyAgreeRecipientInfo structure). + + @param agreementAlgorithm key agreement algorithm to use. + @param senderPrivateKey private key to initialise sender side of agreement with. + @param senderPublicKey sender public key to include with message. + @param recipientCerts recipients' public key certificates. + @param cekWrapAlgorithm OID for key wrapping algorithm to use. + @exception SecurityUtilityException if the algorithm requested cannot be found + @exception InvalidKeyException if the keys are inappropriate for the algorithm specified + + + + Add a generator to produce the recipient info required. + + a generator of a recipient info object. + + + + Generic routine to copy out the data we want processed. + + + This routine may be called multiple times. + + + + a holding class for a byte array of data to be processed. + + + A clone of the byte array + + + a holding class for a file of data to be processed. + + + The file handle + + + general class for handling a pkcs7-signature message. + + A simple example of usage - note, in the example below the validity of + the certificate isn't verified, just the fact that one of the certs + matches the given signer... + +
+              IX509Store              certs = s.GetCertificates();
+              SignerInformationStore  signers = s.GetSignerInfos();
+            
+              foreach (SignerInformation signer in signers.GetSigners())
+              {
+                  ArrayList       certList = new ArrayList(certs.GetMatches(signer.SignerID));
+                  X509Certificate cert = (X509Certificate) certList[0];
+            
+                  if (signer.Verify(cert.GetPublicKey()))
+                  {
+                      verified++;
+                  }
+              }
+             
+
+ + Content with detached signature, digests precomputed + + @param hashes a map of precomputed digests for content indexed by name of hash. + @param sigBlock the signature object. + + + base constructor - content with detached signature. + + @param signedContent the content that was signed. + @param sigData the signature object. + + + base constructor - with encapsulated content + + + Return the version number for this object. + + + return the collection of signers that are associated with the + signatures for the message. + + + return a X509Store containing the attribute certificates, if any, contained + in this message. + + @param type type of store to create + @return a store of attribute certificates + @exception NoSuchStoreException if the store type isn't available. + @exception CmsException if a general exception prevents creation of the X509Store + + + return a X509Store containing the public key certificates, if any, contained + in this message. + + @param type type of store to create + @return a store of public key certificates + @exception NoSuchStoreException if the store type isn't available. + @exception CmsException if a general exception prevents creation of the X509Store + + + return a X509Store containing CRLs, if any, contained + in this message. + + @param type type of store to create + @return a store of CRLs + @exception NoSuchStoreException if the store type isn't available. + @exception CmsException if a general exception prevents creation of the X509Store + + + + Return the DerObjectIdentifier associated with the encapsulated + content info structure carried in the signed data. + + + + return the ContentInfo + + + return the ASN.1 encoded representation of this object. + + + return the ASN.1 encoded representation of this object using the specified encoding. + + @param encoding the ASN.1 encoding format to use ("BER" or "DER"). + + + Replace the signerinformation store associated with this + CmsSignedData object with the new one passed in. You would + probably only want to do this if you wanted to change the unsigned + attributes associated with a signer, or perhaps delete one. + + @param signedData the signed data object to be used as a base. + @param signerInformationStore the new signer information store to use. + @return a new signed data object. + + + Replace the certificate and CRL information associated with this + CmsSignedData object with the new one passed in. + + @param signedData the signed data object to be used as a base. + @param x509Certs the new certificates to be used. + @param x509Crls the new CRLs to be used. + @return a new signed data object. + @exception CmsException if there is an error processing the stores + + + * general class for generating a pkcs7-signature message. + *

+ * A simple example of usage. + * + *

+                 *      IX509Store certs...
+                 *      IX509Store crls...
+                 *      CmsSignedDataGenerator gen = new CmsSignedDataGenerator();
+                 *
+                 *      gen.AddSigner(privKey, cert, CmsSignedGenerator.DigestSha1);
+                 *      gen.AddCertificates(certs);
+                 *      gen.AddCrls(crls);
+                 *
+                 *      CmsSignedData data = gen.Generate(content);
+                 * 
+ *

+
+ + Constructor allowing specific source of randomness + Instance of SecureRandom to use. + + + * add a signer - no attributes other than the default ones will be + * provided here. + * + * @param key signing key to use + * @param cert certificate containing corresponding public key + * @param digestOID digest algorithm OID + + + add a signer, specifying the digest encryption algorithm to use - no attributes other than the default ones will be + provided here. + + @param key signing key to use + @param cert certificate containing corresponding public key + @param encryptionOID digest encryption algorithm OID + @param digestOID digest algorithm OID + + + add a signer - no attributes other than the default ones will be + provided here. + + + add a signer, specifying the digest encryption algorithm to use - no attributes other than the default ones will be + provided here. + + + * add a signer with extra signed/unsigned attributes. + * + * @param key signing key to use + * @param cert certificate containing corresponding public key + * @param digestOID digest algorithm OID + * @param signedAttr table of attributes to be included in signature + * @param unsignedAttr table of attributes to be included as unsigned + + + add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes. + + @param key signing key to use + @param cert certificate containing corresponding public key + @param encryptionOID digest encryption algorithm OID + @param digestOID digest algorithm OID + @param signedAttr table of attributes to be included in signature + @param unsignedAttr table of attributes to be included as unsigned + + + * add a signer with extra signed/unsigned attributes. + * + * @param key signing key to use + * @param subjectKeyID subjectKeyID of corresponding public key + * @param digestOID digest algorithm OID + * @param signedAttr table of attributes to be included in signature + * @param unsignedAttr table of attributes to be included as unsigned + + + add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes. + + @param key signing key to use + @param subjectKeyID subjectKeyID of corresponding public key + @param encryptionOID digest encryption algorithm OID + @param digestOID digest algorithm OID + @param signedAttr table of attributes to be included in signature + @param unsignedAttr table of attributes to be included as unsigned + + + add a signer with extra signed/unsigned attributes based on generators. + + + add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes based on generators. + + + add a signer with extra signed/unsigned attributes based on generators. + + + add a signer, including digest encryption algorithm, with extra signed/unsigned attributes based on generators. + + + generate a signed object that for a CMS Signed Data object + + + generate a signed object that for a CMS Signed Data + object - if encapsulate is true a copy + of the message will be included in the signature. The content type + is set according to the OID represented by the string signedContentType. + + + generate a signed object that for a CMS Signed Data + object - if encapsulate is true a copy + of the message will be included in the signature with the + default content type "data". + + + generate a set of one or more SignerInformation objects representing counter signatures on + the passed in SignerInformation object. + + @param signer the signer to be countersigned + @param sigProvider the provider to be used for counter signing. + @return a store containing the signers. + + + Parsing class for an CMS Signed Data object from an input stream. +

+ Note: that because we are in a streaming mode only one signer can be tried and it is important + that the methods on the parser are called in the appropriate order. +

+

+ A simple example of usage for an encapsulated signature. +

+

+ Two notes: first, in the example below the validity of + the certificate isn't verified, just the fact that one of the certs + matches the given signer, and, second, because we are in a streaming + mode the order of the operations is important. +

+
+                  CmsSignedDataParser     sp = new CmsSignedDataParser(encapSigData);
+            
+                  sp.GetSignedContent().Drain();
+            
+                  IX509Store              certs = sp.GetCertificates();
+                  SignerInformationStore  signers = sp.GetSignerInfos();
+            
+                  foreach (SignerInformation signer in signers.GetSigners())
+                  {
+                      ArrayList       certList = new ArrayList(certs.GetMatches(signer.SignerID));
+                      X509Certificate cert = (X509Certificate) certList[0];
+            
+                      Console.WriteLine("verify returns: " + signer.Verify(cert));
+                  }
+             
+ Note also: this class does not introduce buffering - if you are processing large files you should create + the parser with: +
+                      CmsSignedDataParser     ep = new CmsSignedDataParser(new BufferedInputStream(encapSigData, bufSize));
+              
+ where bufSize is a suitably large buffer size. +
+ + base constructor - with encapsulated content + + + base constructor + + @param signedContent the content that was signed. + @param sigData the signature object. + + + Return the version number for the SignedData object + + @return the version number + + + return the collection of signers that are associated with the + signatures for the message. + @throws CmsException + + + return a X509Store containing the attribute certificates, if any, contained + in this message. + + @param type type of store to create + @return a store of attribute certificates + @exception org.bouncycastle.x509.NoSuchStoreException if the store type isn't available. + @exception CmsException if a general exception prevents creation of the X509Store + + + return a X509Store containing the public key certificates, if any, contained + in this message. + + @param type type of store to create + @return a store of public key certificates + @exception NoSuchStoreException if the store type isn't available. + @exception CmsException if a general exception prevents creation of the X509Store + + + return a X509Store containing CRLs, if any, contained + in this message. + + @param type type of store to create + @return a store of CRLs + @exception NoSuchStoreException if the store type isn't available. + @exception CmsException if a general exception prevents creation of the X509Store + + + + Return the DerObjectIdentifier associated with the encapsulated + content info structure carried in the signed data. + + + + Replace the signerinformation store associated with the passed + in message contained in the stream original with the new one passed in. + You would probably only want to do this if you wanted to change the unsigned + attributes associated with a signer, or perhaps delete one. +

+ The output stream is returned unclosed. +

+ @param original the signed data stream to be used as a base. + @param signerInformationStore the new signer information store to use. + @param out the stream to Write the new signed data object to. + @return out. +
+ + Replace the certificate and CRL information associated with this + CMSSignedData object with the new one passed in. +

+ The output stream is returned unclosed. +

+ @param original the signed data stream to be used as a base. + @param certsAndCrls the new certificates and CRLs to be used. + @param out the stream to Write the new signed data object to. + @return out. + @exception CmsException if there is an error processing the CertStore +
+ + General class for generating a pkcs7-signature message stream. +

+ A simple example of usage. +

+
+                  IX509Store                   certs...
+                  CmsSignedDataStreamGenerator gen = new CmsSignedDataStreamGenerator();
+            
+                  gen.AddSigner(privateKey, cert, CmsSignedDataStreamGenerator.DIGEST_SHA1);
+            
+                  gen.AddCertificates(certs);
+            
+                  Stream sigOut = gen.Open(bOut);
+            
+                  sigOut.Write(Encoding.UTF8.GetBytes("Hello World!"));
+            
+                  sigOut.Close();
+             
+
+ + Constructor allowing specific source of randomness + Instance of SecureRandom to use. + + + Set the underlying string size for encapsulated data + + @param bufferSize length of octet strings to buffer the data. + + + add a signer - no attributes other than the default ones will be + provided here. + @throws NoSuchAlgorithmException + @throws InvalidKeyException + + + add a signer, specifying the digest encryption algorithm - no attributes other than the default ones will be + provided here. + @throws NoSuchProviderException + @throws NoSuchAlgorithmException + @throws InvalidKeyException + + + add a signer with extra signed/unsigned attributes. + @throws NoSuchAlgorithmException + @throws InvalidKeyException + + + add a signer with extra signed/unsigned attributes - specifying digest + encryption algorithm. + @throws NoSuchProviderException + @throws NoSuchAlgorithmException + @throws InvalidKeyException + + + add a signer - no attributes other than the default ones will be + provided here. + @throws NoSuchAlgorithmException + @throws InvalidKeyException + + + add a signer - no attributes other than the default ones will be + provided here. + @throws NoSuchProviderException + @throws NoSuchAlgorithmException + @throws InvalidKeyException + + + add a signer with extra signed/unsigned attributes. + @throws NoSuchAlgorithmException + @throws InvalidKeyException + + + generate a signed object that for a CMS Signed Data object + + + generate a signed object that for a CMS Signed Data + object - if encapsulate is true a copy + of the message will be included in the signature with the + default content type "data". + + + generate a signed object that for a CMS Signed Data + object using the given provider - if encapsulate is true a copy + of the message will be included in the signature with the + default content type "data". If dataOutputStream is non null the data + being signed will be written to the stream as it is processed. + @param out stream the CMS object is to be written to. + @param encapsulate true if data should be encapsulated. + @param dataOutputStream output stream to copy the data being signed to. + + + generate a signed object that for a CMS Signed Data + object - if encapsulate is true a copy + of the message will be included in the signature. The content type + is set according to the OID represented by the string signedContentType. + + + generate a signed object that for a CMS Signed Data + object using the given provider - if encapsulate is true a copy + of the message will be included in the signature. The content type + is set according to the OID represented by the string signedContentType. + @param out stream the CMS object is to be written to. + @param signedContentType OID for data to be signed. + @param encapsulate true if data should be encapsulated. + @param dataOutputStream output stream to copy the data being signed to. + + + Default type for the signed data. + + + Constructor allowing specific source of randomness + Instance of SecureRandom to use. + + + Add the attribute certificates contained in the passed in store to the + generator. + + @param store a store of Version 2 attribute certificates + @throws CmsException if an error occurse processing the store. + + + Add a store of precalculated signers to the generator. + + @param signerStore store of signers + + + Return a map of oids and byte arrays representing the digests calculated on the content during + the last generate. + + @return a map of oids (as string objects) and byte[] representing digests. + + + Return the digest algorithm using one of the standard JCA string + representations rather than the algorithm identifier (if possible). + + + Return the digest encryption algorithm using one of the standard + JCA string representations rather than the algorithm identifier (if + possible). + + + Default authenticated attributes generator. + + + Initialise to use all defaults + + + Initialise with some extra attributes or overrides. + + @param attributeTable initial attribute table to use. + + + Create a standard attribute table from the passed in parameters - this will + normally include contentType and messageDigest. If the constructor + using an AttributeTable was used, entries in it for contentType and + messageDigest will override the generated ones. + + @param parameters source parameters for table generation. + + @return a filled in IDictionary of attributes. + + + @param parameters source parameters + @return the populated attribute table + + + Default signed attributes generator. + + + Initialise to use all defaults + + + Initialise with some extra attributes or overrides. + + @param attributeTable initial attribute table to use. + + + Create a standard attribute table from the passed in parameters - this will + normally include contentType, signingTime, and messageDigest. If the constructor + using an AttributeTable was used, entries in it for contentType, signingTime, and + messageDigest will override the generated ones. + + @param parameters source parameters for table generation. + + @return a filled in Hashtable of attributes. + + + @param parameters source parameters + @return the populated attribute table + + + the RecipientInfo class for a recipient who has been sent a message + encrypted using a secret key known to the other side. + + + decrypt the content and return an input stream. + + + the RecipientInfo class for a recipient who has been sent a message + encrypted using key agreement. + + + decrypt the content and return an input stream. + + + the KeyTransRecipientInformation class for a recipient who has been sent a secret + key encrypted using their public key that needs to be used to + extract the message. + + + decrypt the content and return it as a byte array. + + + a basic index for an originator. + + + Return the certificates stored in the underlying OriginatorInfo object. + + @return a Store of X509CertificateHolder objects. + + + Return the CRLs stored in the underlying OriginatorInfo object. + + @return a Store of X509CRLHolder objects. + + + Return the underlying ASN.1 object defining this SignerInformation object. + + @return a OriginatorInfo. + + + the RecipientInfo class for a recipient who has been sent a message + encrypted using a password. + + + return the object identifier for the key derivation algorithm, or null + if there is none present. + + @return OID for key derivation algorithm, if present. + + + decrypt the content and return an input stream. + + + + PKCS5 scheme-2 - password converted to bytes assuming ASCII. + + + + PKCS5 scheme-2 - password converted to bytes using UTF-8. + + + + Generate a RecipientInfo object for the given key. + + + A + + + A + + + A + + + + + * return the object identifier for the key encryption algorithm. + * + * @return OID for key encryption algorithm. + + + * return the ASN.1 encoded key encryption algorithm parameters, or null if + * there aren't any. + * + * @return ASN.1 encoding of key encryption algorithm parameters. + + + Return the MAC calculated for the content stream. Note: this call is only meaningful once all + the content has been read. + + @return byte array containing the mac. + + + Return the first RecipientInformation object that matches the + passed in selector. Null if there are no matches. + + @param selector to identify a recipient + @return a single RecipientInformation object. Null if none matches. + + + Return the number of recipients in the collection. + + @return number of recipients identified. + + + Return all recipients in the collection + + @return a collection of recipients. + + + Return possible empty collection with recipients matching the passed in RecipientID + + @param selector a recipient id to select against. + @return a collection of RecipientInformation objects. + + + a basic index for a signer. + + + If the passed in flag is true, the signer signature will be based on the data, not + a collection of signed attributes, and no signed attributes will be included. + + @return the builder object + + + Provide a custom signed attribute generator. + + @param signedGen a generator of signed attributes. + @return the builder object + + + Provide a generator of unsigned attributes. + + @param unsignedGen a generator for signed attributes. + @return the builder object + + + Build a generator with the passed in X.509 certificate issuer and serial number as the signerIdentifier. + + @param contentSigner operator for generating the final signature in the SignerInfo with. + @param certificate X.509 certificate related to the contentSigner. + @return a SignerInfoGenerator + @throws OperatorCreationException if the generator cannot be built. + + + Build a generator with the passed in subjectKeyIdentifier as the signerIdentifier. If used you should + try to follow the calculation described in RFC 5280 section 4.2.1.2. + + @param signerFactory operator factory for generating the final signature in the SignerInfo with. + @param subjectKeyIdentifier key identifier to identify the public key for verifying the signature. + @return a SignerInfoGenerator + + + an expanded SignerInfo block from a CMS Signed message + + + Protected constructor. In some cases clients have their own idea about how to encode + the signed attributes and calculate the signature. This constructor is to allow developers + to deal with that by extending off the class and overriding e.g. SignedAttributes property. + + @param baseInfo the SignerInformation to base this one on. + + + return the version number for this objects underlying SignerInfo structure. + + + return the object identifier for the signature. + + + return the signature parameters, or null if there aren't any. + + + return the content digest that was calculated during verification. + + + return the object identifier for the signature. + + + return the signature/encryption algorithm parameters, or null if + there aren't any. + + + return a table of the signed attributes - indexed by + the OID of the attribute. + + + return a table of the unsigned attributes indexed by + the OID of the attribute. + + + return the encoded signature + + + Return a SignerInformationStore containing the counter signatures attached to this + signer. If no counter signatures are present an empty store is returned. + + + return the DER encoding of the signed attributes. + @throws IOException if an encoding error occurs. + + + verify that the given public key successfully handles and confirms the + signature associated with this signer. + + + verify that the given certificate successfully handles and confirms + the signature associated with this signer and, if a signingTime + attribute is available, that the certificate was valid at the time the + signature was generated. + + + Return the base ASN.1 CMS structure that this object contains. + + @return an object containing a CMS SignerInfo structure. + + + Return a signer information object with the passed in unsigned + attributes replacing the ones that are current associated with + the object passed in. + + @param signerInformation the signerInfo to be used as the basis. + @param unsignedAttributes the unsigned attributes to add. + @return a copy of the original SignerInformationObject with the changed attributes. + + + Return a signer information object with passed in SignerInformationStore representing counter + signatures attached as an unsigned attribute. + + @param signerInformation the signerInfo to be used as the basis. + @param counterSigners signer info objects carrying counter signature. + @return a copy of the original SignerInformationObject with the changed attributes. + + + Create a store containing a single SignerInformation object. + + @param signerInfo the signer information to contain. + + + Create a store containing a collection of SignerInformation objects. + + @param signerInfos a collection signer information objects to contain. + + + Return the first SignerInformation object that matches the + passed in selector. Null if there are no matches. + + @param selector to identify a signer + @return a single SignerInformation object. Null if none matches. + + + The number of signers in the collection. + + + An ICollection of all signers in the collection + + + Return possible empty collection with signers matching the passed in SignerID + + @param selector a signer id to select against. + @return a collection of SignerInformation objects. + + + Basic generator that just returns a preconstructed attribute table + + + + Carrier for an authenticator control. + + + + + Basic constructor - build from a UTF-8 string representing the token. + + UTF-8 string representing the token. + + + + Basic constructor - build from a string representing the token. + + string representing the token. + + + + Return the type of this control. + + + + + Return the token associated with this control (a UTF8String). + + + + + Create a CertificateRequestMessage from the passed in bytes. + + BER/DER encoding of the CertReqMsg structure. + + + + Return the underlying ASN.1 object defining this CertificateRequestMessage object. + + A CertReqMsg + + + + Return the certificate template contained in this message. + + a CertTemplate structure. + + + + Return whether or not this request has control values associated with it. + + true if there are control values present, false otherwise. + + + + Return whether or not this request has a specific type of control value. + + the type OID for the control value we are checking for. + true if a control value of type is present, false otherwise. + + + + Return a control value of the specified type. + + the type OID for the control value we are checking for. + the control value if present, null otherwise. + + + + Return whether or not this request message has a proof-of-possession field in it. + + true if proof-of-possession is present, false otherwise. + + + + Return the type of the proof-of-possession this request message provides. + + one of: popRaVerified, popSigningKey, popKeyEncipherment, popKeyAgreement + + + + Return whether or not the proof-of-possession (POP) is of the type popSigningKey and + it has a public key MAC associated with it. + + true if POP is popSigningKey and a PKMAC is present, false otherwise. + + + + Return whether or not a signing key proof-of-possession (POP) is valid. + + a provider that can produce content verifiers for the signature contained in this POP. + true if the POP is valid, false otherwise. + if there is a problem in verification or content verifier creation. + if POP not appropriate. + + + + Return the ASN.1 encoding of the certReqMsg we wrap. + + a byte array containing the binary encoding of the certReqMsg. + + + + Create a builder that makes EncryptedValue structures. + + wrapper a wrapper for key used to encrypt the actual data contained in the EncryptedValue. + encryptor an output encryptor to encrypt the actual data contained in the EncryptedValue. + + + + + Create a builder that makes EncryptedValue structures with fixed length blocks padded using the passed in padder. + + a wrapper for key used to encrypt the actual data contained in the EncryptedValue. + encryptor an output encryptor to encrypt the actual data contained in the EncryptedValue. + padder a padder to ensure that the EncryptedValue created will always be a constant length. + + + + + Build an EncryptedValue structure containing the passed in pass phrase. + + a revocation pass phrase. + an EncryptedValue containing the encrypted pass phrase. + + + + + Build an EncryptedValue structure containing the certificate contained in + the passed in holder. + + a holder containing a certificate. + an EncryptedValue containing the encrypted certificate. + on a failure to encrypt the data, or wrap the symmetric key for this value. + + + + + Build an EncryptedValue structure containing the private key contained in + the passed info structure. + + a PKCS#8 private key info structure. + an EncryptedValue containing an EncryptedPrivateKeyInfo structure. + on a failure to encrypt the data, or wrap the symmetric key for this value. + + + + + Generic interface for a CertificateRequestMessage control value. + + + + + Return the type of this control. + + + + + Return the value contained in this control object. + + + + + An encrypted value padder is used to make sure that prior to a value been + encrypted the data is padded to a standard length. + + + + + Return a byte array of padded data. + + the data to be padded. + a padded byte array containing data. + + + + + Return a byte array of with padding removed. + + the data to be padded. + an array containing the original unpadded data. + + + + + Basic constructor - build from an PKIArchiveOptions structure. + + the ASN.1 structure that will underlie this control. + + + + Return the type of this control. + + CRMFObjectIdentifiers.id_regCtrl_pkiArchiveOptions + + + + Return the underlying ASN.1 object. + + a PKIArchiveOptions structure. + + + + Return the archive control type, one of: encryptedPrivKey,keyGenParameters,or archiveRemGenPrivKey. + + the archive control type. + + + + Return whether this control contains enveloped data. + + true if the control contains enveloped data, false otherwise. + + + + Return the enveloped data structure contained in this control. + + a CMSEnvelopedData object. + + + + Basic constructor - specify the contents of the PKIArchiveControl structure. + + the private key to be archived. + the general name to be associated with the private key. + + + + Add a recipient generator to this control. + recipient generator created for a specific recipient. + this builder object. + + + Build the PKIArchiveControl using the passed in encryptor to encrypt its contents. + a suitable content encryptor. + a PKIArchiveControl object. + + + + Default, IterationCount = 1000, OIW=IdSha1, Mac=HmacSHA1 + + + + + Defaults with IPKMacPrimitivesProvider + + + + + + Create. + + The Mac provider + Digest Algorithm Id + Mac Algorithm Id + + + + Create a PKMAC builder enforcing a ceiling on the maximum iteration count. + + supporting calculator + max allowable value for iteration count. + + + Set the salt length in octets. + + @param saltLength length in octets of the salt to be generated. + @return the generator + + + + Set the iteration count. + + the iteration count. + this + if iteration count is less than 100 + + + + Set PbmParameters + + The parameters. + this + + + + The Secure random + + The random. + this + + + + Build an IMacFactory. + + The password. + IMacFactory + + + + Basic constructor - build from a UTF-8 string representing the token. + + UTF-8 string representing the token. + + + + Basic constructor - build from a string representing the token. + + string representing the token. + + + + Return the type of this control. + + CRMFObjectIdentifiers.id_regCtrl_regToken + + + + Return the token associated with this control (a UTF8String). + + a UTF8String. + + + a Diffie-Hellman key exchange engine. +

+ note: This uses MTI/A0 key agreement in order to make the key agreement + secure against passive attacks. If you're doing Diffie-Hellman and both + parties have long term public keys you should look at using this. For + further information have a look at RFC 2631.

+

+ It's possible to extend this to more than two parties as well, for the moment + that is left as an exercise for the reader.

+
+ + calculate our initial message. + + + given a message from a given party and the corresponding public key + calculate the next message in the agreement sequence. In this case + this will represent the shared secret. + + + a Diffie-Hellman key agreement class. +

+ note: This is only the basic algorithm, it doesn't take advantage of + long term public keys if they are available. See the DHAgreement class + for a "better" implementation.

+
+ + given a short term public key from a given party calculate the next + message in the agreement sequence. + + + Standard Diffie-Hellman groups from various IETF specifications. + + + P1363 7.2.1 ECSVDP-DH + + ECSVDP-DH is Elliptic Curve Secret Value Derivation Primitive, + Diffie-Hellman version. It is based on the work of [DH76], [Mil86], + and [Kob87]. This primitive derives a shared secret value from one + party's private key and another party's public key, where both have + the same set of EC domain parameters. If two parties correctly + execute this primitive, they will produce the same output. This + primitive can be invoked by a scheme to derive a shared secret key; + specifically, it may be used with the schemes ECKAS-DH1 and + DL/ECKAS-DH2. It assumes that the input keys are valid (see also + Section 7.2.2). + + + P1363 7.2.2 ECSVDP-DHC + + ECSVDP-DHC is Elliptic Curve Secret Value Derivation Primitive, + Diffie-Hellman version with cofactor multiplication. It is based on + the work of [DH76], [Mil86], [Kob87], [LMQ98] and [Kal98a]. This + primitive derives a shared secret value from one party's private key + and another party's public key, where both have the same set of EC + domain parameters. If two parties correctly execute this primitive, + they will produce the same output. This primitive can be invoked by a + scheme to derive a shared secret key; specifically, it may be used + with the schemes ECKAS-DH1 and DL/ECKAS-DH2. It does not assume the + validity of the input public key (see also Section 7.2.1). +

+ Note: As stated P1363 compatibility mode with ECDH can be preset, and + in this case the implementation doesn't have a ECDH compatibility mode + (if you want that just use ECDHBasicAgreement and note they both implement + BasicAgreement!).

+
+ + + A participant in a Password Authenticated Key Exchange by Juggling (J-PAKE) exchange. + + The J-PAKE exchange is defined by Feng Hao and Peter Ryan in the paper + + "Password Authenticated Key Exchange by Juggling, 2008." + + The J-PAKE protocol is symmetric. + There is no notion of a client or server, but rather just two participants. + An instance of JPakeParticipant represents one participant, and + is the primary interface for executing the exchange. + + To execute an exchange, construct a JPakeParticipant on each end, + and call the following 7 methods + (once and only once, in the given order, for each participant, sending messages between them as described): + + CreateRound1PayloadToSend() - and send the payload to the other participant + ValidateRound1PayloadReceived(JPakeRound1Payload) - use the payload received from the other participant + CreateRound2PayloadToSend() - and send the payload to the other participant + ValidateRound2PayloadReceived(JPakeRound2Payload) - use the payload received from the other participant + CalculateKeyingMaterial() + CreateRound3PayloadToSend(BigInteger) - and send the payload to the other participant + ValidateRound3PayloadReceived(JPakeRound3Payload, BigInteger) - use the payload received from the other participant + + Each side should derive a session key from the keying material returned by CalculateKeyingMaterial(). + The caller is responsible for deriving the session key using a secure key derivation function (KDF). + + Round 3 is an optional key confirmation process. + If you do not execute round 3, then there is no assurance that both participants are using the same key. + (i.e. if the participants used different passwords, then their session keys will differ.) + + If the round 3 validation succeeds, then the keys are guaranteed to be the same on both sides. + + The symmetric design can easily support the asymmetric cases when one party initiates the communication. + e.g. Sometimes the round1 payload and round2 payload may be sent in one pass. + Also, in some cases, the key confirmation payload can be sent together with the round2 payload. + These are the trivial techniques to optimize the communication. + + The key confirmation process is implemented as specified in + NIST SP 800-56A Revision 1, + Section 8.2 Unilateral Key Confirmation for Key Agreement Schemes. + + This class is stateful and NOT threadsafe. + Each instance should only be used for ONE complete J-PAKE exchange + (i.e. a new JPakeParticipant should be constructed for each new J-PAKE exchange). + + + + + Convenience constructor for a new JPakeParticipant that uses + the JPakePrimeOrderGroups#NIST_3072 prime order group, + a SHA-256 digest, and a default SecureRandom implementation. + + After construction, the State state will be STATE_INITIALIZED. + + Throws NullReferenceException if any argument is null. Throws + ArgumentException if password is empty. + + Unique identifier of this participant. + The two participants in the exchange must NOT share the same id. + Shared secret. + A defensive copy of this array is made (and cleared once CalculateKeyingMaterial() is called). + Caller should clear the input password as soon as possible. + + + + Convenience constructor for a new JPakeParticipant that uses + a SHA-256 digest, and a default SecureRandom implementation. + + After construction, the State state will be STATE_INITIALIZED. + + Throws NullReferenceException if any argument is null. Throws + ArgumentException if password is empty. + + Unique identifier of this participant. + The two participants in the exchange must NOT share the same id. + Shared secret. + A defensive copy of this array is made (and cleared once CalculateKeyingMaterial() is called). + Caller should clear the input password as soon as possible. + Prime order group. See JPakePrimeOrderGroups for standard groups. + + + + Constructor for a new JPakeParticipant. + + After construction, the State state will be STATE_INITIALIZED. + + Throws NullReferenceException if any argument is null. Throws + ArgumentException if password is empty. + + Unique identifier of this participant. + The two participants in the exchange must NOT share the same id. + Shared secret. + A defensive copy of this array is made (and cleared once CalculateKeyingMaterial() is called). + Caller should clear the input password as soon as possible. + Prime order group. See JPakePrimeOrderGroups for standard groups. + Digest to use during zero knowledge proofs and key confirmation + (SHA-256 or stronger preferred). + Source of secure random data for x1 and x2, and for the zero knowledge proofs. + + + + Gets the current state of this participant. + See the STATE_* constants for possible values. + + + + + Creates and returns the payload to send to the other participant during round 1. + + After execution, the State state} will be STATE_ROUND_1_CREATED}. + + + + + Validates the payload received from the other participant during round 1. + + Must be called prior to CreateRound2PayloadToSend(). + + After execution, the State state will be STATE_ROUND_1_VALIDATED. + + Throws CryptoException if validation fails. Throws InvalidOperationException + if called multiple times. + + + + + Creates and returns the payload to send to the other participant during round 2. + + ValidateRound1PayloadReceived(JPakeRound1Payload) must be called prior to this method. + + After execution, the State state will be STATE_ROUND_2_CREATED. + + Throws InvalidOperationException if called prior to ValidateRound1PayloadReceived(JPakeRound1Payload), or multiple times + + + + + Validates the payload received from the other participant during round 2. + Note that this DOES NOT detect a non-common password. + The only indication of a non-common password is through derivation + of different keys (which can be detected explicitly by executing round 3 and round 4) + + Must be called prior to CalculateKeyingMaterial(). + + After execution, the State state will be STATE_ROUND_2_VALIDATED. + + Throws CryptoException if validation fails. Throws + InvalidOperationException if called prior to ValidateRound1PayloadReceived(JPakeRound1Payload), or multiple times + + + + + Calculates and returns the key material. + A session key must be derived from this key material using a secure key derivation function (KDF). + The KDF used to derive the key is handled externally (i.e. not by JPakeParticipant). + + The keying material will be identical for each participant if and only if + each participant's password is the same. i.e. If the participants do not + share the same password, then each participant will derive a different key. + Therefore, if you immediately start using a key derived from + the keying material, then you must handle detection of incorrect keys. + If you want to handle this detection explicitly, you can optionally perform + rounds 3 and 4. See JPakeParticipant for details on how to execute + rounds 3 and 4. + + The keying material will be in the range [0, p-1]. + + ValidateRound2PayloadReceived(JPakeRound2Payload) must be called prior to this method. + + As a side effect, the internal password array is cleared, since it is no longer needed. + + After execution, the State state will be STATE_KEY_CALCULATED. + + Throws InvalidOperationException if called prior to ValidateRound2PayloadReceived(JPakeRound2Payload), + or if called multiple times. + + + + + Creates and returns the payload to send to the other participant during round 3. + + See JPakeParticipant for more details on round 3. + + After execution, the State state} will be STATE_ROUND_3_CREATED. + Throws InvalidOperationException if called prior to CalculateKeyingMaterial, or multiple + times. + + The keying material as returned from CalculateKeyingMaterial(). + + + + Validates the payload received from the other participant during round 3. + + See JPakeParticipant for more details on round 3. + + After execution, the State state will be STATE_ROUND_3_VALIDATED. + + Throws CryptoException if validation fails. Throws InvalidOperationException if called prior to + CalculateKeyingMaterial or multiple times + + The round 3 payload received from the other participant. + The keying material as returned from CalculateKeyingMaterial(). + + + + A pre-computed prime order group for use during a J-PAKE exchange. + + Typically a Schnorr group is used. In general, J-PAKE can use any prime order group + that is suitable for public key cryptography, including elliptic curve cryptography. + + See JPakePrimeOrderGroups for convenient standard groups. + + NIST publishes + many groups that can be used for the desired level of security. + + + + + Constructs a new JPakePrimeOrderGroup. + + In general, you should use one of the pre-approved groups from + JPakePrimeOrderGroups, rather than manually constructing one. + + The following basic checks are performed: + + p-1 must be evenly divisible by q + g must be in [2, p-1] + g^q mod p must equal 1 + p must be prime (within reasonably certainty) + q must be prime (within reasonably certainty) + + The prime checks are performed using BigInteger#isProbablePrime(int), + and are therefore subject to the same probability guarantees. + + These checks prevent trivial mistakes. + However, due to the small uncertainties if p and q are not prime, + advanced attacks are not prevented. + Use it at your own risk. + + Throws NullReferenceException if any argument is null. Throws + InvalidOperationException is any of the above validations fail. + + + + + Constructor used by the pre-approved groups in JPakePrimeOrderGroups. + These pre-approved groups can avoid the expensive checks. + User-specified groups should not use this constructor. + + + + + Standard pre-computed prime order groups for use by J-PAKE. + (J-PAKE can use pre-computed prime order groups, same as DSA and Diffie-Hellman.) +

+ This class contains some convenient constants for use as input for + constructing {@link JPAKEParticipant}s. +

+ The prime order groups below are taken from Sun's JDK JavaDoc (docs/guide/security/CryptoSpec.html#AppB), + and from the prime order groups + published by NIST. +

+
+ + + From Sun's JDK JavaDoc (docs/guide/security/CryptoSpec.html#AppB) + 1024-bit p, 160-bit q and 1024-bit g for 80-bit security. + + + + + From NIST. + 2048-bit p, 224-bit q and 2048-bit g for 112-bit security. + + + + + From NIST. + 3072-bit p, 256-bit q and 3072-bit g for 128-bit security. + + + + + The payload sent/received during the first round of a J-PAKE exchange. + + Each JPAKEParticipant creates and sends an instance of this payload to + the other. The payload to send should be created via + JPAKEParticipant.CreateRound1PayloadToSend(). + + Each participant must also validate the payload received from the other. + The received payload should be validated via + JPAKEParticipant.ValidateRound1PayloadReceived(JPakeRound1Payload). + + + + + The id of the JPAKEParticipant who created/sent this payload. + + + + + The value of g^x1 + + + + + The value of g^x2 + + + + + The zero knowledge proof for x1. + + This is a two element array, containing {g^v, r} for x1. + + + + + The zero knowledge proof for x2. + + This is a two element array, containing {g^v, r} for x2. + + + + + The payload sent/received during the second round of a J-PAKE exchange. + + Each JPAKEParticipant creates and sends an instance + of this payload to the other JPAKEParticipant. + The payload to send should be created via + JPAKEParticipant#createRound2PayloadToSend() + + Each JPAKEParticipant must also validate the payload + received from the other JPAKEParticipant. + The received payload should be validated via + JPAKEParticipant#validateRound2PayloadReceived(JPakeRound2Payload) + + + + + The id of the JPAKEParticipant who created/sent this payload. + + + + + The value of A, as computed during round 2. + + + + + The zero knowledge proof for x2 * s. + + This is a two element array, containing {g^v, r} for x2 * s. + + + + + The payload sent/received during the optional third round of a J-PAKE exchange, + which is for explicit key confirmation. + + Each JPAKEParticipant creates and sends an instance + of this payload to the other JPAKEParticipant. + The payload to send should be created via + JPAKEParticipant#createRound3PayloadToSend(BigInteger) + + Eeach JPAKEParticipant must also validate the payload + received from the other JPAKEParticipant. + The received payload should be validated via + JPAKEParticipant#validateRound3PayloadReceived(JPakeRound3Payload, BigInteger) + + + + + The id of the {@link JPAKEParticipant} who created/sent this payload. + + + + + The value of MacTag, as computed by round 3. + + See JPAKEUtil#calculateMacTag(string, string, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, org.bouncycastle.crypto.Digest) + + + + + Primitives needed for a J-PAKE exchange. + + The recommended way to perform a J-PAKE exchange is by using + two JPAKEParticipants. Internally, those participants + call these primitive operations in JPakeUtilities. + + The primitives, however, can be used without a JPAKEParticipant if needed. + + + + + Return a value that can be used as x1 or x3 during round 1. + The returned value is a random value in the range [0, q-1]. + + + + + Return a value that can be used as x2 or x4 during round 1. + The returned value is a random value in the range [1, q-1]. + + + + + Converts the given password to a BigInteger + for use in arithmetic calculations. + + + + + Calculate g^x mod p as done in round 1. + + + + + Calculate ga as done in round 2. + + + + + Calculate x2 * s as done in round 2. + + + + + Calculate A as done in round 2. + + + + + Calculate a zero knowledge proof of x using Schnorr's signature. + The returned array has two elements {g^v, r = v-x*h} for x. + + + + + Validates that g^x4 is not 1. + throws CryptoException if g^x4 is 1 + + + + + Validates that ga is not 1. + + As described by Feng Hao... + Alice could simply check ga != 1 to ensure it is a generator. + In fact, as we will explain in Section 3, (x1 + x3 + x4 ) is random over Zq even in the face of active attacks. + Hence, the probability for ga = 1 is extremely small - on the order of 2^160 for 160-bit q. + + throws CryptoException if ga is 1 + + + + + Validates the zero knowledge proof (generated by + calculateZeroKnowledgeProof(BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, string, Digest, SecureRandom) + is correct. + + throws CryptoException if the zero knowledge proof is not correct + + + + + Calculates the keying material, which can be done after round 2 has completed. + A session key must be derived from this key material using a secure key derivation function (KDF). + The KDF used to derive the key is handled externally (i.e. not by JPAKEParticipant). + + KeyingMaterial = (B/g^{x2*x4*s})^x2 + + + + + Validates that the given participant ids are not equal. + (For the J-PAKE exchange, each participant must use a unique id.) + + Throws CryptoException if the participantId strings are equal. + + + + + Validates that the given participant ids are equal. + This is used to ensure that the payloads received from + each round all come from the same participant. + + + + + Validates that the given object is not null. + throws NullReferenceException if the object is null. + + object in question + name of the object (to be used in exception message) + + + + Calculates the MacTag (to be used for key confirmation), as defined by + NIST SP 800-56A Revision 1, + Section 8.2 Unilateral Key Confirmation for Key Agreement Schemes. + + MacTag = HMAC(MacKey, MacLen, MacData) + MacKey = H(K || "JPAKE_KC") + MacData = "KC_1_U" || participantId || partnerParticipantId || gx1 || gx2 || gx3 || gx4 + + Note that both participants use "KC_1_U" because the sender of the round 3 message + is always the initiator for key confirmation. + + HMAC = {@link HMac} used with the given {@link Digest} + H = The given {@link Digest} + MacLen = length of MacTag + + + + + Calculates the MacKey (i.e. the key to use when calculating the MagTag for key confirmation). + + MacKey = H(K || "JPAKE_KC") + + + + + Validates the MacTag received from the partner participant. + + throws CryptoException if the participantId strings are equal. + + + + Generator for Concatenation Key Derivation Function defined in NIST SP 800-56A, Sect 5.8.1 + + + @param digest the digest to be used as the source of generated bytes + + + return the underlying digest. + + + fill len bytes of the output buffer with bytes generated from + the derivation function. + + @throws DataLengthException if the out buffer is too small. + + + RFC 2631 Diffie-hellman KEK derivation function. + + + X9.63 based key derivation function for ECDH CMS. + + + + SM2 Key Exchange protocol - based on https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02 + + + + Implements the client side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe. + This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper + "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002" + + + Initialises the client to begin new authentication attempt + @param N The safe prime associated with the client's verifier + @param g The group parameter associated with the client's verifier + @param digest The digest algorithm associated with the client's verifier + @param random For key generation + + + Generates client's credentials given the client's salt, identity and password + @param salt The salt used in the client's verifier. + @param identity The user's identity (eg. username) + @param password The user's password + @return Client's public value to send to server + + + Generates client's verification message given the server's credentials + @param serverB The server's credentials + @return Client's verification message for the server + @throws CryptoException If server's credentials are invalid + + + Computes the client evidence message M1 using the previously received values. + To be called after calculating the secret S. + @return M1: the client side generated evidence message + @throws CryptoException + + + Authenticates the server evidence message M2 received and saves it only if correct. + @param M2: the server side generated evidence message + @return A boolean indicating if the server message M2 was the expected one. + @throws CryptoException + + + Computes the final session key as a result of the SRP successful mutual authentication + To be called after verifying the server evidence message M2. + @return Key: the mutually authenticated symmetric session key + @throws CryptoException + + + Implements the server side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe. + This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper + "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002" + + + Initialises the server to accept a new client authentication attempt + @param N The safe prime associated with the client's verifier + @param g The group parameter associated with the client's verifier + @param v The client's verifier + @param digest The digest algorithm associated with the client's verifier + @param random For key generation + + + Generates the server's credentials that are to be sent to the client. + @return The server's public value to the client + + + Processes the client's credentials. If valid the shared secret is generated and returned. + @param clientA The client's credentials + @return A shared secret BigInteger + @throws CryptoException If client's credentials are invalid + + + Authenticates the received client evidence message M1 and saves it only if correct. + To be called after calculating the secret S. + @param M1: the client side generated evidence message + @return A boolean indicating if the client message M1 was the expected one. + @throws CryptoException + + + Computes the server evidence message M2 using the previously verified values. + To be called after successfully verifying the client evidence message M1. + @return M2: the server side generated evidence message + @throws CryptoException + + + Computes the final session key as a result of the SRP successful mutual authentication + To be called after calculating the server evidence message M2. + @return Key: the mutual authenticated symmetric session key + @throws CryptoException + + + Computes the client evidence message (M1) according to the standard routine: + M1 = H( A | B | S ) + @param digest The Digest used as the hashing function H + @param N Modulus used to get the pad length + @param A The public client value + @param B The public server value + @param S The secret calculated by both sides + @return M1 The calculated client evidence message + + + Computes the server evidence message (M2) according to the standard routine: + M2 = H( A | M1 | S ) + @param digest The Digest used as the hashing function H + @param N Modulus used to get the pad length + @param A The public client value + @param M1 The client evidence message + @param S The secret calculated by both sides + @return M2 The calculated server evidence message + + + Computes the final Key according to the standard routine: Key = H(S) + @param digest The Digest used as the hashing function H + @param N Modulus used to get the pad length + @param S The secret calculated by both sides + @return + + + Generates new SRP verifier for user + + + Initialises generator to create new verifiers + @param N The safe prime to use (see DHParametersGenerator) + @param g The group parameter to use (see DHParametersGenerator) + @param digest The digest to use. The same digest type will need to be used later for the actual authentication + attempt. Also note that the final session key size is dependent on the chosen digest. + + + Creates a new SRP verifier + @param salt The salt to use, generally should be large and random + @param identity The user's identifying information (eg. username) + @param password The user's password + @return A new verifier for use in future SRP authentication + + + a holding class for public/private parameter pairs. + + + basic constructor. + + @param publicParam a public key parameters object. + @param privateParam the corresponding private key parameters. + + + return the public key parameters. + + @return the public key parameters. + + + return the private key parameters. + + @return the private key parameters. + + + The AEAD block ciphers already handle buffering internally, so this class + just takes care of implementing IBufferedCipher methods. + + + initialise the cipher. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the blocksize for the underlying cipher. + + @return the blocksize for the underlying cipher. + + + return the size of the output buffer required for an update + an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to update + with len bytes of input. + + + return the size of the output buffer required for an update plus a + doFinal with an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to update and doFinal + with len bytes of input. + + + process a single byte, producing an output block if necessary. + + @param in the input byte. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + process an array of bytes, producing output if necessary. + + @param in the input byte array. + @param inOff the offset at which the input data starts. + @param len the number of bytes to be copied out of the input array. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + Process the last block in the buffer. + + @param out the array the block currently being held is copied into. + @param outOff the offset at which the copying starts. + @return the number of output bytes copied to out. + @exception DataLengthException if there is insufficient space in out for + the output, or the input is not block size aligned and should be. + @exception InvalidOperationException if the underlying cipher is not + initialised. + @exception InvalidCipherTextException if padding is expected and not found. + @exception DataLengthException if the input is not block size + aligned. + + + Reset the buffer and cipher. After resetting the object is in the same + state as it was after the last init (if there was one). + + + The AEAD ciphers already handle buffering internally, so this class + just takes care of implementing IBufferedCipher methods. + + + initialise the cipher. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the blocksize for the underlying cipher. + + @return the blocksize for the underlying cipher. + + + return the size of the output buffer required for an update + an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to update + with len bytes of input. + + + return the size of the output buffer required for an update plus a + doFinal with an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to update and doFinal + with len bytes of input. + + + process a single byte, producing an output block if necessary. + + @param in the input byte. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + process an array of bytes, producing output if necessary. + + @param in the input byte array. + @param inOff the offset at which the input data starts. + @param len the number of bytes to be copied out of the input array. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + Process the last block in the buffer. + + @param out the array the block currently being held is copied into. + @param outOff the offset at which the copying starts. + @return the number of output bytes copied to out. + @exception DataLengthException if there is insufficient space in out for + the output, or the input is not block size aligned and should be. + @exception InvalidOperationException if the underlying cipher is not + initialised. + @exception InvalidCipherTextException if padding is expected and not found. + @exception DataLengthException if the input is not block size + aligned. + + + Reset the buffer and cipher. After resetting the object is in the same + state as it was after the last init (if there was one). + + + a buffer wrapper for an asymmetric block cipher, allowing input + to be accumulated in a piecemeal fashion until final processing. + + + base constructor. + + @param cipher the cipher this buffering object wraps. + + + return the amount of data sitting in the buffer. + + @return the amount of data sitting in the buffer. + + + initialise the buffer and the underlying cipher. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + + + process the contents of the buffer using the underlying + cipher. + + @return the result of the encryption/decryption process on the + buffer. + @exception InvalidCipherTextException if we are given a garbage block. + + + Reset the buffer + + + A wrapper class that allows block ciphers to be used to process data in + a piecemeal fashion. The BufferedBlockCipher outputs a block only when the + buffer is full and more data is being added, or on a doFinal. +

+ Note: in the case where the underlying cipher is either a CFB cipher or an + OFB one the last block may not be a multiple of the block size. +

+
+ + constructor for subclasses + + + Create a buffered block cipher without padding. + + @param cipher the underlying block cipher this buffering object wraps. + false otherwise. + + + initialise the cipher. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the blocksize for the underlying cipher. + + @return the blocksize for the underlying cipher. + + + return the size of the output buffer required for an update + an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to update + with len bytes of input. + + + return the size of the output buffer required for an update plus a + doFinal with an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to update and doFinal + with len bytes of input. + + + process a single byte, producing an output block if necessary. + + @param in the input byte. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + process an array of bytes, producing output if necessary. + + @param in the input byte array. + @param inOff the offset at which the input data starts. + @param len the number of bytes to be copied out of the input array. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + Process the last block in the buffer. + + @param out the array the block currently being held is copied into. + @param outOff the offset at which the copying starts. + @return the number of output bytes copied to out. + @exception DataLengthException if there is insufficient space in out for + the output, or the input is not block size aligned and should be. + @exception InvalidOperationException if the underlying cipher is not + initialised. + @exception InvalidCipherTextException if padding is expected and not found. + @exception DataLengthException if the input is not block size + aligned. + + + Reset the buffer and cipher. After resetting the object is in the same + state as it was after the last init (if there was one). + + + The base class for symmetric, or secret, cipher key generators. + + + initialise the key generator. + + @param param the parameters to be used for key generation + + + Generate a secret key. + + @return a byte array containing the key value. + + + this exception is thrown if a buffer that is meant to have output + copied into it turns out to be too short, or if we've been given + insufficient input. In general this exception will Get thrown rather + than an ArrayOutOfBounds exception. + + + base constructor. + + + create a DataLengthException with the given message. + + @param message the message to be carried with the exception. + + + + Basic sized constructor - size in bits. + + @param digestSize size of the digest in bits + + + Blake2b for authentication ("Prefix-MAC mode"). + After calling the doFinal() method, the key will + remain to be used for further computations of + this instance. + The key can be overwritten using the clearKey() method. + + @param key A key up to 64 bytes or null + + + Blake2b with key, required digest length (in bytes), salt and personalization. + After calling the doFinal() method, the key, the salt and the personal string + will remain and might be used for further computations with this instance. + The key can be overwritten using the clearKey() method, the salt (pepper) + can be overwritten using the clearSalt() method. + + @param key A key up to 64 bytes or null + @param digestLength from 1 up to 64 bytes + @param salt 16 bytes or null + @param personalization 16 bytes or null + + + update the message digest with a single byte. + + @param b the input byte to be entered. + + + update the message digest with a block of bytes. + + @param message the byte array containing the data. + @param offset the offset into the byte array where the data starts. + @param len the length of the data. + + + close the digest, producing the final digest value. The doFinal + call leaves the digest reset. + Key, salt and personal string remain. + + @param out the array the digest is to be copied into. + @param outOffset the offset into the out array the digest is to start at. + + + Reset the digest back to it's initial state. + The key, the salt and the personal string will + remain for further computations. + + + return the algorithm name + + @return the algorithm name + + + return the size, in bytes, of the digest produced by this message digest. + + @return the size, in bytes, of the digest produced by this message digest. + + + Return the size in bytes of the internal buffer the digest applies it's compression + function to. + + @return byte length of the digests internal buffer. + + + Overwrite the key + if it is no longer used (zeroization) + + + Overwrite the salt (pepper) if it + is secret and no longer used (zeroization) + + + Implementation of the cryptographic hash function BLAKE2s. +

+ BLAKE2s offers a built-in keying mechanism to be used directly + for authentication ("Prefix-MAC") rather than a HMAC construction. +

+ BLAKE2s offers a built-in support for a salt for randomized hashing + and a personal string for defining a unique hash function for each application. +

+ BLAKE2s is optimized for 32-bit platforms and produces digests of any size + between 1 and 32 bytes. + + + BLAKE2s Initialization Vector + + + + Message word permutations + + + + Whenever this buffer overflows, it will be processed in the Compress() + function. For performance issues, long messages will not use this buffer. + + + Position of last inserted byte + + + + Internal state, in the BLAKE2 paper it is called v + + + + State vector, in the BLAKE2 paper it is called h + + + + holds least significant bits of counter + + + + holds most significant bits of counter + + + + finalization flag, for last block: ~0 + + + + BLAKE2s-256 for hashing. + + + BLAKE2s for hashing. + + @param digestBits the desired digest length in bits. Must be a multiple of 8 and less than 256. + + + BLAKE2s for authentication ("Prefix-MAC mode"). +

+ After calling the doFinal() method, the key will remain to be used for + further computations of this instance. The key can be overwritten using + the clearKey() method. + + @param key a key up to 32 bytes or null + + + BLAKE2s with key, required digest length, salt and personalization. +

+ After calling the doFinal() method, the key, the salt and the personal + string will remain and might be used for further computations with this + instance. The key can be overwritten using the clearKey() method, the + salt (pepper) can be overwritten using the clearSalt() method. + + @param key a key up to 32 bytes or null + @param digestBytes from 1 up to 32 bytes + @param salt 8 bytes or null + @param personalization 8 bytes or null + + + Update the message digest with a single byte. + + @param b the input byte to be entered. + + + Update the message digest with a block of bytes. + + @param message the byte array containing the data. + @param offset the offset into the byte array where the data starts. + @param len the length of the data. + + + Close the digest, producing the final digest value. The doFinal() call + leaves the digest reset. Key, salt and personal string remain. + + @param out the array the digest is to be copied into. + @param outOffset the offset into the out array the digest is to start at. + + + Reset the digest back to its initial state. The key, the salt and the + personal string will remain for further computations. + + + Return the algorithm name. + + @return the algorithm name + + + Return the size in bytes of the digest produced by this message digest. + + @return the size in bytes of the digest produced by this message digest. + + + Return the size in bytes of the internal buffer the digest applies its + compression function to. + + @return byte length of the digest's internal buffer. + + + Overwrite the key if it is no longer used (zeroization). + + + Overwrite the salt (pepper) if it is secret and no longer used + (zeroization). + + +

+ Customizable SHAKE function. + +
+ + + Base constructor + + bit length of the underlying SHAKE function, 128 or 256. + the function name string, note this is reserved for use by NIST. Avoid using it if not required. + the customization string - available for local use. + + + implementation of Ukrainian DSTU 7564 hash function + + + base implementation of MD4 family style digest as outlined in + "Handbook of Applied Cryptography", pages 344 - 347. + + + implementation of GOST R 34.11-94 + + + Standard constructor + + + Constructor to allow use of a particular sbox with GOST28147 + @see GOST28147Engine#getSBox(String) + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables to the IV values. + + + + Implementation of Keccak based on following KeccakNISTInterface.c from http://keccak.noekeon.org/ + + + Following the naming conventions used in the C source code to enable easy review of the implementation. + + + + Return the size of block that the compression function is applied to in bytes. + + @return internal byte length of a block. + + + Base class for SHA-384 and SHA-512. + + + Constructor for variable length word + + + Copy constructor. We are using copy constructors in place + of the object.Clone() interface as this interface is not + supported by J2ME. + + + adjust the byte counts so that byteCount2 represents the + upper long (less 3 bits) word of the byte count. + + + implementation of MD2 + as outlined in RFC1319 by B.Kaliski from RSA Laboratories April 1992 + + + return the algorithm name + + @return the algorithm name + + + Close the digest, producing the final digest value. The doFinal + call leaves the digest reset. + + @param out the array the digest is to be copied into. + @param outOff the offset into the out array the digest is to start at. + + + reset the digest back to it's initial state. + + + update the message digest with a single byte. + + @param in the input byte to be entered. + + + update the message digest with a block of bytes. + + @param in the byte array containing the data. + @param inOff the offset into the byte array where the data starts. + @param len the length of the data. + + + implementation of MD4 as RFC 1320 by R. Rivest, MIT Laboratory for + Computer Science and RSA Data Security, Inc. +

+ NOTE: This algorithm is only included for backwards compatibility + with legacy applications, it's not secure, don't use it for anything new!

+
+ + Standard constructor + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables to the IV values. + + + implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347. + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables to the IV values. + + + Wrapper removes exposure to the IMemoable interface on an IDigest implementation. + + + Base constructor. + + @param baseDigest underlying digest to use. + @exception IllegalArgumentException if baseDigest is null + + + + ParallelHash - a hash designed to support the efficient hashing of very long strings, by taking advantage, + of the parallelism available in modern processors with an optional XOF mode. + + From NIST Special Publication 800-185 - SHA-3 Derived Functions:cSHAKE, KMAC, TupleHash and ParallelHash + + + + + Base constructor. + + @param bitLength bit length of the underlying SHAKE function, 128 or 256. + @param S the customization string - available for local use. + @param B the blocksize (in bytes) for hashing. + + + implementation of RipeMD128 + + + Standard constructor + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables to the IV values. + + + implementation of RipeMD see, + http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html + + + Standard constructor + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables to the IV values. + + + +

Implementation of RipeMD256.

+

Note: this algorithm offers the same level of security as RipeMD128.

+
+
+ + Standard constructor + + + Copy constructor. This will copy the state of the provided + message digest. + + + + reset the chaining variables to the IV values. + + + +

Implementation of RipeMD 320.

+

Note: this algorithm offers the same level of security as RipeMD160.

+
+
+ + Standard constructor + + + Copy constructor. This will copy the state of the provided + message digest. + + + + reset the chaining variables to the IV values. + + + implementation of SHA-1 as outlined in "Handbook of Applied Cryptography", pages 346 - 349. + + It is interesting to ponder why the, apart from the extra IV, the other difference here from MD5 + is the "endianness" of the word processing! + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables + + + SHA-224 as described in RFC 3874 +
+                    block  word  digest
+            SHA-1   512    32    160
+            SHA-224 512    32    224
+            SHA-256 512    32    256
+            SHA-384 1024   64    384
+            SHA-512 1024   64    512
+            
+
+ + Standard constructor + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables + + + Draft FIPS 180-2 implementation of SHA-256. Note: As this is + based on a draft this implementation is subject to change. + +
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             
+
+ + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables + + + Draft FIPS 180-2 implementation of SHA-384. Note: As this is + based on a draft this implementation is subject to change. + +
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             
+
+ + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables + + + + Implementation of SHA-3 based on following KeccakNISTInterface.c from http://keccak.noekeon.org/ + + + Following the naming conventions used in the C source code to enable easy review of the implementation. + + + + Draft FIPS 180-2 implementation of SHA-512. Note: As this is + based on a draft this implementation is subject to change. + +
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             
+
+ + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables + + + FIPS 180-4 implementation of SHA-512/t + + + Standard constructor + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables + + + + Implementation of SHAKE based on following KeccakNISTInterface.c from http://keccak.noekeon.org/ + + + Following the naming conventions used in the C source code to enable easy review of the implementation. + + + + Wrapper class that reduces the output length of a particular digest to + only the first n bytes of the digest function. + + + Base constructor. + + @param baseDigest underlying digest to use. + @param length length in bytes of the output of doFinal. + @exception ArgumentException if baseDigest is null, or length is greater than baseDigest.GetDigestSize(). + + + + Implementation of the Skein parameterised hash function in 256, 512 and 1024 bit block sizes, + based on the Threefish tweakable block cipher. + + + This is the 1.3 version of Skein defined in the Skein hash function submission to the NIST SHA-3 + competition in October 2010. +

+ Skein was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir + Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. + + + + + +

+ 256 bit block size - Skein-256 + +
+ + + 512 bit block size - Skein-512 + + + + + 1024 bit block size - Skein-1024 + + + + + Constructs a Skein digest with an internal state size and output size. + + the internal state size in bits - one of or + . + the output/digest size to produce in bits, which must be an integral number of + bytes. + + + + Optionally initialises the Skein digest with the provided parameters. + + See for details on the parameterisation of the Skein hash function. + the parameters to apply to this engine, or null to use no parameters. + + + + Implementation of the Skein family of parameterised hash functions in 256, 512 and 1024 bit block + sizes, based on the Threefish tweakable block cipher. + + + This is the 1.3 version of Skein defined in the Skein hash function submission to the NIST SHA-3 + competition in October 2010. +

+ Skein was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir + Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. +

+ This implementation is the basis for and , implementing the + parameter based configuration system that allows Skein to be adapted to multiple applications.
+ Initialising the engine with allows standard and arbitrary parameters to + be applied during the Skein hash function. +

+ Implemented: +

    +
  • 256, 512 and 1024 bit internal states.
  • +
  • Full 96 bit input length.
  • +
  • Parameters defined in the Skein specification, and arbitrary other pre and post message + parameters.
  • +
  • Arbitrary output size in 1 byte intervals.
  • +
+

+ Not implemented: +

    +
  • Sub-byte length input (bit padding).
  • +
  • Tree hashing.
  • +
+
+ +
+ + + 256 bit block size - Skein-256 + + + + + 512 bit block size - Skein-512 + + + + + 1024 bit block size - Skein-1024 + + + + The parameter type for the Skein key. + + + The parameter type for the Skein configuration block. + + + The parameter type for the message. + + + The parameter type for the output transformation. + + + Precalculated UBI(CFG) states for common state/output combinations without key or other + pre-message params. + + + Point at which position might overflow long, so switch to add with carry logic + + + Bit 127 = final + + + Bit 126 = first + + + UBI uses a 128 bit tweak + + + Whether 64 bit position exceeded + + + Advances the position in the tweak by the specified value. + + + The Unique Block Iteration chaining mode. + + + Buffer for the current block of message data + + + Offset into the current message block + + + Buffer for message words for feedback into encrypted block + + + Underlying Threefish tweakable block cipher + + + Size of the digest output, in bytes + + + The current chaining/state value + + + The initial state value + + + The (optional) key parameter + + + Parameters to apply prior to the message + + + Parameters to apply after the message, but prior to output + + + The current UBI operation + + + Buffer for single byte update method + + + + Constructs a Skein digest with an internal state size and output size. + + the internal state size in bits - one of or + . + the output/digest size to produce in bits, which must be an integral number of + bytes. + + + + Creates a SkeinEngine as an exact copy of an existing instance. + + + + + Initialises the Skein engine with the provided parameters. See for + details on the parameterisation of the Skein hash function. + + the parameters to apply to this engine, or null to use no parameters. + + + Calculate the initial (pre message block) chaining state. + + + + Reset the engine to the initial state (with the key and any pre-message parameters , ready to + accept message input. + + + + + Implementation of Chinese SM3 digest as described at + http://tools.ietf.org/html/draft-shen-sm3-hash-00 + and at .... ( Chinese PDF ) + + + The specification says "process a bit stream", + but this is written to process bytes in blocks of 4, + meaning this will process 32-bit word groups. + But so do also most other digest specifications, + including the SHA-256 which was a origin for + this specification. + + + + + Standard constructor + + + + + Copy constructor. This will copy the state of the provided + message digest. + + + + + reset the chaining variables + + + + implementation of Tiger based on: + + http://www.cs.technion.ac.il/~biham/Reports/Tiger + + + Standard constructor + + + Copy constructor. This will copy the state of the provided + message digest. + + + reset the chaining variables + + + + TupleHash - a hash designed to simply hash a tuple of input strings, any or all of which may be empty strings, + in an unambiguous way with an optional XOF mode. + + From NIST Special Publication 800-185 - SHA-3 Derived Functions:cSHAKE, KMAC, TupleHash and ParallelHash + + + + + Base constructor. + + @param bitLength bit length of the underlying SHAKE function, 128 or 256. + @param S the customization string - available for local use. + + + Implementation of WhirlpoolDigest, based on Java source published by Barreto + and Rijmen. + + + + Copy constructor. This will copy the state of the provided message + digest. + + + Reset the chaining variables + + + return the X9ECParameters object for the named curve represented by + the passed in object identifier. Null if the curve isn't present. + + @param oid an object identifier representing a named curve, if present. + + + return the object identifier signified by the passed in name. Null + if there is no object identifier associated with name. + + @return the object identifier associated with name, if present. + + + return the named curve name represented by the given object identifier. + + + returns an enumeration containing the name strings for curves + contained in this structure. + + + ISO 9796-1 padding. Note in the light of recent results you should + only use this with RSA (rather than the "simpler" Rabin keys) and you + should never use it with anything other than a hash (ie. even if the + message is small don't sign the message, sign it's hash) or some "random" + value. See your favorite search engine for details. + + + return the input block size. The largest message we can process + is (key_size_in_bits + 3)/16, which in our world comes to + key_size_in_bytes / 2. + + + return the maximum possible size for the output. + + + set the number of bits in the next message to be treated as + pad bits. + + + retrieve the number of pad bits in the last decoded message. + + + @exception InvalidCipherTextException if the decrypted block is not a valid ISO 9796 bit string + + + Optimal Asymmetric Encryption Padding (OAEP) - see PKCS 1 V 2. + + + @exception InvalidCipherTextException if the decrypted block turns out to + be badly formatted. + + + mask generator function, as described in PKCS1v2. + + + this does your basic Pkcs 1 v1.5 padding - whether or not you should be using this + depends on your application - see Pkcs1 Version 2 for details. + + + some providers fail to include the leading zero in PKCS1 encoded blocks. If you need to + work with one of these set the system property Org.BouncyCastle.Pkcs1.Strict to false. + + + The same effect can be achieved by setting the static property directly +

+ The static property is checked during construction of the encoding object, it is set to + true by default. +

+
+ + Basic constructor. + + @param cipher + + + Constructor for decryption with a fixed plaintext length. + + @param cipher The cipher to use for cryptographic operation. + @param pLen Length of the expected plaintext. + + + Constructor for decryption with a fixed plaintext length and a fallback + value that is returned, if the padding is incorrect. + + @param cipher + The cipher to use for cryptographic operation. + @param fallback + The fallback value, we don't to a arraycopy here. + + + Checks if the argument is a correctly PKCS#1.5 encoded Plaintext + for encryption. + + @param encoded The Plaintext. + @param pLen Expected length of the plaintext. + @return Either 0, if the encoding is correct, or -1, if it is incorrect. + + + Decode PKCS#1.5 encoding, and return a random value if the padding is not correct. + + @param in The encrypted block. + @param inOff Offset in the encrypted block. + @param inLen Length of the encrypted block. + @param pLen Length of the desired output. + @return The plaintext without padding, or a random value if the padding was incorrect. + @throws InvalidCipherTextException + + + @exception InvalidCipherTextException if the decrypted block is not in Pkcs1 format. + + + an implementation of the AES (Rijndael), from FIPS-197. +

+ For further details see: http://csrc.nist.gov/encryption/aes/. + + This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at + http://fp.gladman.plus.com/cryptography_technology/rijndael/ + + There are three levels of tradeoff of speed vs memory + Because java has no preprocessor, they are written as three separate classes from which to choose + + The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption + and 4 for decryption. + + The middle performance version uses only one 256 word table for each, for a total of 2Kbytes, + adding 12 rotate operations per round to compute the values contained in the other tables from + the contents of the first. + + The slowest version uses no static tables at all and computes the values in each round. +

+

+ This file contains the middle performance version with 2Kbytes of static tables for round precomputation. +

+
+ + Calculate the necessary round keys + The number of calculations depends on key size and block size + AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits + This code is written assuming those are the only possible values + + + default constructor - 128 bit block size. + + + initialise an AES cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + an implementation of the AES (Rijndael)), from FIPS-197. +

+ For further details see: http://csrc.nist.gov/encryption/aes/. + + This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at + http://fp.gladman.plus.com/cryptography_technology/rijndael/ + + There are three levels of tradeoff of speed vs memory + Because java has no preprocessor), they are written as three separate classes from which to choose + + The fastest uses 8Kbytes of static tables to precompute round calculations), 4 256 word tables for encryption + and 4 for decryption. + + The middle performance version uses only one 256 word table for each), for a total of 2Kbytes), + adding 12 rotate operations per round to compute the values contained in the other tables from + the contents of the first + + The slowest version uses no static tables at all and computes the values in each round +

+

+ This file contains the fast version with 8Kbytes of static tables for round precomputation +

+ + Unfortunately this class has a few side channel issues. + In an environment where encryption/decryption may be closely observed it should not be used. + +
+ + Calculate the necessary round keys + The number of calculations depends on key size and block size + AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits + This code is written assuming those are the only possible values + + + default constructor - 128 bit block size. + + + initialise an AES cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + an implementation of the AES (Rijndael), from FIPS-197. +

+ For further details see: http://csrc.nist.gov/encryption/aes/. + + This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at + http://fp.gladman.plus.com/cryptography_technology/rijndael/ + + There are three levels of tradeoff of speed vs memory + Because java has no preprocessor, they are written as three separate classes from which to choose + + The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption + and 4 for decryption. + + The middle performance version uses only one 256 word table for each, for a total of 2Kbytes, + adding 12 rotate operations per round to compute the values contained in the other tables from + the contents of the first + + The slowest version uses no static tables at all and computes the values + in each round. +

+

+ This file contains the slowest performance version with no static tables + for round precomputation, but it has the smallest foot print. +

+
+ + Calculate the necessary round keys + The number of calculations depends on key size and block size + AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits + This code is written assuming those are the only possible values + + + default constructor - 128 bit block size. + + + initialise an AES cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + + An implementation of the AES Key Wrapper from the NIST Key Wrap Specification. +

+ For further details see: http://csrc.nist.gov/encryption/kms/key-wrap.pdf. + + + + RFC 5794. + + ARIA is a 128-bit block cipher with 128-, 192-, and 256-bit keys. + + + A class that provides Blowfish key encryption operations, + such as encoding data and generating keys. + All the algorithms herein are from Applied Cryptography + and implement a simplified cryptography interface. + + + initialise a Blowfish cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + apply the encryption cycle to each value pair in the table. + + + Encrypt the given input starting at the given offset and place + the result in the provided buffer starting at the given offset. + The input will be an exact multiple of our blocksize. + + + Decrypt the given input starting at the given offset and place + the result in the provided buffer starting at the given offset. + The input will be an exact multiple of our blocksize. + + + Camellia - based on RFC 3713. + + + Camellia - based on RFC 3713, smaller implementation, about half the size of CamelliaEngine. + + + + An implementation of the Camellia key wrapper based on RFC 3657/RFC 3394. +

+ For further details see: http://www.ietf.org/rfc/rfc3657.txt. + + + + A class that provides CAST key encryption operations, + such as encoding data and generating keys. + + All the algorithms herein are from the Internet RFC's + + RFC2144 - Cast5 (64bit block, 40-128bit key) + RFC2612 - CAST6 (128bit block, 128-256bit key) + + and implement a simplified cryptography interface. + + + initialise a CAST cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + Encrypt the given input starting at the given offset and place + the result in the provided buffer starting at the given offset. + + @param src The plaintext buffer + @param srcIndex An offset into src + @param dst The ciphertext buffer + @param dstIndex An offset into dst + + + Decrypt the given input starting at the given offset and place + the result in the provided buffer starting at the given offset. + + @param src The plaintext buffer + @param srcIndex An offset into src + @param dst The ciphertext buffer + @param dstIndex An offset into dst + + + The first of the three processing functions for the + encryption and decryption. + + @param D the input to be processed + @param Kmi the mask to be used from Km[n] + @param Kri the rotation value to be used + + + + The second of the three processing functions for the + encryption and decryption. + + @param D the input to be processed + @param Kmi the mask to be used from Km[n] + @param Kri the rotation value to be used + + + + The third of the three processing functions for the + encryption and decryption. + + @param D the input to be processed + @param Kmi the mask to be used from Km[n] + @param Kri the rotation value to be used + + + + Does the 16 rounds to encrypt the block. + + @param L0 the LH-32bits of the plaintext block + @param R0 the RH-32bits of the plaintext block + + + A class that provides CAST6 key encryption operations, + such as encoding data and generating keys. + + All the algorithms herein are from the Internet RFC + + RFC2612 - CAST6 (128bit block, 128-256bit key) + + and implement a simplified cryptography interface. + + + Encrypt the given input starting at the given offset and place + the result in the provided buffer starting at the given offset. + + @param src The plaintext buffer + @param srcIndex An offset into src + @param dst The ciphertext buffer + @param dstIndex An offset into dst + + + Decrypt the given input starting at the given offset and place + the result in the provided buffer starting at the given offset. + + @param src The plaintext buffer + @param srcIndex An offset into src + @param dst The ciphertext buffer + @param dstIndex An offset into dst + + + Does the 12 quad rounds rounds to encrypt the block. + + @param A the 00-31 bits of the plaintext block + @param B the 32-63 bits of the plaintext block + @param C the 64-95 bits of the plaintext block + @param D the 96-127 bits of the plaintext block + @param result the resulting ciphertext + + + Does the 12 quad rounds rounds to decrypt the block. + + @param A the 00-31 bits of the ciphertext block + @param B the 32-63 bits of the ciphertext block + @param C the 64-95 bits of the ciphertext block + @param D the 96-127 bits of the ciphertext block + @param result the resulting plaintext + + +

+ Implementation of Daniel J. Bernstein's ChaCha stream cipher. + +
+ + + Creates a 20 rounds ChaCha engine. + + + + + Implementation of Daniel J. Bernstein's ChaCha stream cipher. + + + + + Creates a 20 rounds ChaCha engine. + + + + + Creates a ChaCha engine with a specific number of rounds. + + the number of rounds (must be an even number). + + + + ChaCha function. + + The number of ChaCha rounds to execute + The input words. + The ChaCha state to modify. + + + A class that provides a basic DESede (or Triple DES) engine. + + + initialise a DESede cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + * Wrap keys according to + * + * draft-ietf-smime-key-wrap-01.txt. + *

+ * Note: + *

    + *
  • this is based on a draft, and as such is subject to change - don't use this class for anything requiring long term storage.
  • + *
  • if you are using this to wrap triple-des keys you need to set the + * parity bits on the key and, if it's a two-key triple-des key, pad it + * yourself.
  • + *
+ *

+
+ + Field engine + + + Field param + + + Field paramPlusIV + + + Field iv + + + Field forWrapping + + + Field IV2 + + + Method init + + @param forWrapping + @param param + + + Method GetAlgorithmName + + @return + + + Method wrap + + @param in + @param inOff + @param inLen + @return + + + Method unwrap + + @param in + @param inOff + @param inLen + @return + @throws InvalidCipherTextException + + + Some key wrap algorithms make use of the Key Checksum defined + in CMS [CMS-Algorithms]. This is used to provide an integrity + check value for the key being wrapped. The algorithm is + + - Compute the 20 octet SHA-1 hash on the key being wrapped. + - Use the first 8 octets of this hash as the checksum value. + + @param key + @return + @throws Exception + @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum + + + @param key + @param checksum + @return + @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum + + + A class that provides a basic DES engine. + + + initialise a DES cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + what follows is mainly taken from "Applied Cryptography", by + Bruce Schneier, however it also bears great resemblance to Richard + Outerbridge's D3DES... + + + Generate an integer based working key based on our secret key + and what we processing we are planning to do. + + Acknowledgements for this routine go to James Gillogly and Phil Karn. + (whoever, and wherever they are!). + + + the DES engine. + + + implementation of DSTU 7624 (Kalyna) + + + this does your basic ElGamal algorithm. + + + initialise the ElGamal engine. + + @param forEncryption true if we are encrypting, false otherwise. + @param param the necessary ElGamal key parameters. + + + Return the maximum size for an input block to this engine. + For ElGamal this is always one byte less than the size of P on + encryption, and twice the length as the size of P on decryption. + + @return maximum size for an input block. + + + Return the maximum size for an output block to this engine. + For ElGamal this is always one byte less than the size of P on + decryption, and twice the length as the size of P on encryption. + + @return maximum size for an output block. + + + Process a single block using the basic ElGamal algorithm. + + @param in the input array. + @param inOff the offset into the input buffer where the data starts. + @param length the length of the data to be processed. + @return the result of the ElGamal process. + @exception DataLengthException the input block is too large. + + + implementation of GOST 28147-89 + + + standard constructor. + + + initialise an Gost28147 cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is inappropriate. + + + Return the S-Box associated with SBoxName + @param sBoxName name of the S-Box + @return byte array representing the S-Box + + + HC-128 is a software-efficient stream cipher created by Hongjun Wu. It + generates keystream from a 128-bit secret key and a 128-bit initialization + vector. +

+ http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf +

+ It is a third phase candidate in the eStream contest, and is patent-free. + No attacks are known as of today (April 2007). See + + http://www.ecrypt.eu.org/stream/hcp3.html +

+
+ + Initialise a HC-128 cipher. + + @param forEncryption whether or not we are for encryption. Irrelevant, as + encryption and decryption are the same. + @param params the parameters required to set up the cipher. + @throws ArgumentException if the params argument is + inappropriate (ie. the key is not 128 bit long). + + + HC-256 is a software-efficient stream cipher created by Hongjun Wu. It + generates keystream from a 256-bit secret key and a 256-bit initialization + vector. +

+ http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc256_p3.pdf +

+ Its brother, HC-128, is a third phase candidate in the eStream contest. + The algorithm is patent-free. No attacks are known as of today (April 2007). + See + + http://www.ecrypt.eu.org/stream/hcp3.html +

+
+ + Initialise a HC-256 cipher. + + @param forEncryption whether or not we are for encryption. Irrelevant, as + encryption and decryption are the same. + @param params the parameters required to set up the cipher. + @throws ArgumentException if the params argument is + inappropriate (ie. the key is not 256 bit long). + + + A class that provides a basic International Data Encryption Algorithm (IDEA) engine. +

+ This implementation is based on the "HOWTO: INTERNATIONAL DATA ENCRYPTION ALGORITHM" + implementation summary by Fauzan Mirza (F.U.Mirza@sheffield.ac.uk). (barring 1 typo at the + end of the MulInv function!). +

+

+ It can be found at ftp://ftp.funet.fi/pub/crypt/cryptography/symmetric/idea/ +

+

+ Note: This algorithm was patented in the USA, Japan and Europe. These patents expired in 2011/2012. +

+
+ + standard constructor. + + + initialise an IDEA cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return x = x * y where the multiplication is done modulo + 65537 (0x10001) (as defined in the IDEA specification) and + a zero input is taken to be 65536 (0x10000). + + @param x the x value + @param y the y value + @return x = x * y + + + The following function is used to expand the user key to the encryption + subkey. The first 16 bytes are the user key, and the rest of the subkey + is calculated by rotating the previous 16 bytes by 25 bits to the left, + and so on until the subkey is completed. + + + This function computes multiplicative inverse using Euclid's Greatest + Common Divisor algorithm. Zero and one are self inverse. +

+ i.e. x * MulInv(x) == 1 (modulo BASE) +

+
+ + Return the additive inverse of x. +

+ i.e. x + AddInv(x) == 0 +

+
+ + The function to invert the encryption subkey to the decryption subkey. + It also involves the multiplicative inverse and the additive inverse functions. + + + support class for constructing intergrated encryption ciphers + for doing basic message exchanges on top of key agreement ciphers + + + set up for use with stream mode, where the key derivation function + is used to provide a stream of bytes to xor with the message. + + @param agree the key agreement used as the basis for the encryption + @param kdf the key derivation function used for byte generation + @param mac the message authentication code generator for the message + + + set up for use in conjunction with a block cipher to handle the + message. + + @param agree the key agreement used as the basis for the encryption + @param kdf the key derivation function used for byte generation + @param mac the message authentication code generator for the message + @param cipher the cipher to used for encrypting the message + + + Initialise the encryptor. + + @param forEncryption whether or not this is encryption/decryption. + @param privParam our private key parameters + @param pubParam the recipient's/sender's public key parameters + @param param encoding and derivation parameters. + + + Implementation of Bob Jenkin's ISAAC (Indirection Shift Accumulate Add and Count). + see: http://www.burtleburtle.net/bob/rand/isaacafa.html + + + initialise an ISAAC cipher. + + @param forEncryption whether or not we are for encryption. + @param params the parameters required to set up the cipher. + @exception ArgumentException if the params argument is + inappropriate. + + + NaccacheStern Engine. For details on this cipher, please see + http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf + + + Initializes this algorithm. Must be called before all other Functions. + + @see org.bouncycastle.crypto.AsymmetricBlockCipher#init(bool, + org.bouncycastle.crypto.CipherParameters) + + + Returns the input block size of this algorithm. + + @see org.bouncycastle.crypto.AsymmetricBlockCipher#GetInputBlockSize() + + + Returns the output block size of this algorithm. + + @see org.bouncycastle.crypto.AsymmetricBlockCipher#GetOutputBlockSize() + + + Process a single Block using the Naccache-Stern algorithm. + + @see org.bouncycastle.crypto.AsymmetricBlockCipher#ProcessBlock(byte[], + int, int) + + + Encrypts a BigInteger aka Plaintext with the public key. + + @param plain + The BigInteger to encrypt + @return The byte[] representation of the encrypted BigInteger (i.e. + crypted.toByteArray()) + + + Adds the contents of two encrypted blocks mod sigma + + @param block1 + the first encrypted block + @param block2 + the second encrypted block + @return encrypt((block1 + block2) mod sigma) + @throws InvalidCipherTextException + + + Convenience Method for data exchange with the cipher. + + Determines blocksize and splits data to blocksize. + + @param data the data to be processed + @return the data after it went through the NaccacheSternEngine. + @throws InvalidCipherTextException + + + Computes the integer x that is expressed through the given primes and the + congruences with the chinese remainder theorem (CRT). + + @param congruences + the congruences c_i + @param primes + the primes p_i + @return an integer x for that x % p_i == c_i + + + A Noekeon engine, using direct-key mode. + + + Create an instance of the Noekeon encryption algorithm + and set some defaults + + + initialise + + @param forEncryption whether or not we are for encryption. + @param params the parameters required to set up the cipher. + @exception ArgumentException if the params argument is + inappropriate. + + + The no-op engine that just copies bytes through, irrespective of whether encrypting and decrypting. + Provided for the sake of completeness. + + + an implementation of RC2 as described in RFC 2268 + "A Description of the RC2(r) Encryption Algorithm" R. Rivest. + + + initialise a RC2 cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the result rotating the 16 bit number in x left by y + + + Wrap keys according to RFC 3217 - RC2 mechanism + + + Field engine + + + Field param + + + Field paramPlusIV + + + Field iv + + + Field forWrapping + + + Field IV2 + + + Method init + + @param forWrapping + @param param + + + Method GetAlgorithmName + + @return + + + Method wrap + + @param in + @param inOff + @param inLen + @return + + + Method unwrap + + @param in + @param inOff + @param inLen + @return + @throws InvalidCipherTextException + + + Some key wrap algorithms make use of the Key Checksum defined + in CMS [CMS-Algorithms]. This is used to provide an integrity + check value for the key being wrapped. The algorithm is + + - Compute the 20 octet SHA-1 hash on the key being wrapped. + - Use the first 8 octets of this hash as the checksum value. + + @param key + @return + @throws Exception + @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum + + + @param key + @param checksum + @return + @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum + + + initialise a RC4 cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + The specification for RC5 came from the RC5 Encryption Algorithm + publication in RSA CryptoBytes, Spring of 1995. + http://www.rsasecurity.com/rsalabs/cryptobytes. +

+ This implementation has a word size of 32 bits.

+
+ + Create an instance of the RC5 encryption algorithm + and set some defaults + + + initialise a RC5-32 cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + Re-key the cipher. + + @param key the key to be used + + + Encrypt the given block starting at the given offset and place + the result in the provided buffer starting at the given offset. + + @param in in byte buffer containing data to encrypt + @param inOff offset into src buffer + @param out out buffer where encrypted data is written + @param outOff offset into out buffer + + + Perform a left "spin" of the word. The rotation of the given + word x is rotated left by y bits. + Only the lg(32) low-order bits of y + are used to determine the rotation amount. Here it is + assumed that the wordsize used is a power of 2. + + @param x word to rotate + @param y number of bits to rotate % 32 + + + Perform a right "spin" of the word. The rotation of the given + word x is rotated left by y bits. + Only the lg(32) low-order bits of y + are used to determine the rotation amount. Here it is + assumed that the wordsize used is a power of 2. + + @param x word to rotate + @param y number of bits to rotate % 32 + + + The specification for RC5 came from the RC5 Encryption Algorithm + publication in RSA CryptoBytes, Spring of 1995. + http://www.rsasecurity.com/rsalabs/cryptobytes. +

+ This implementation is set to work with a 64 bit word size.

+
+ + Create an instance of the RC5 encryption algorithm + and set some defaults + + + initialise a RC5-64 cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + Re-key the cipher. + + @param key the key to be used + + + Encrypt the given block starting at the given offset and place + the result in the provided buffer starting at the given offset. + + @param in in byte buffer containing data to encrypt + @param inOff offset into src buffer + @param out out buffer where encrypted data is written + @param outOff offset into out buffer + + + Perform a left "spin" of the word. The rotation of the given + word x is rotated left by y bits. + Only the lg(wordSize) low-order bits of y + are used to determine the rotation amount. Here it is + assumed that the wordsize used is a power of 2. + + @param x word to rotate + @param y number of bits to rotate % wordSize + + + Perform a right "spin" of the word. The rotation of the given + word x is rotated left by y bits. + Only the lg(wordSize) low-order bits of y + are used to determine the rotation amount. Here it is + assumed that the wordsize used is a power of 2. + + @param x word to rotate + @param y number of bits to rotate % wordSize + + + An RC6 engine. + + + Create an instance of the RC6 encryption algorithm + and set some defaults + + + initialise a RC5-32 cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + Re-key the cipher. + + @param inKey the key to be used + + + Perform a left "spin" of the word. The rotation of the given + word x is rotated left by y bits. + Only the lg(wordSize) low-order bits of y + are used to determine the rotation amount. Here it is + assumed that the wordsize used is a power of 2. + + @param x word to rotate + @param y number of bits to rotate % wordSize + + + Perform a right "spin" of the word. The rotation of the given + word x is rotated left by y bits. + Only the lg(wordSize) low-order bits of y + are used to determine the rotation amount. Here it is + assumed that the wordsize used is a power of 2. + + @param x word to rotate + @param y number of bits to rotate % wordSize + + + an implementation of the RFC 3211 Key Wrap + Specification. + + + + An implementation of the AES Key Wrapper from the NIST Key Wrap + Specification as described in RFC 3394. +

+ For further details see: http://www.ietf.org/rfc/rfc3394.txt + and http://csrc.nist.gov/encryption/kms/key-wrap.pdf. + + + + an implementation of Rijndael, based on the documentation and reference implementation + by Paulo Barreto, Vincent Rijmen, for v2.0 August '99. +

+ Note: this implementation is based on information prior to readonly NIST publication. +

+
+ + multiply two elements of GF(2^m) + needed for MixColumn and InvMixColumn + + + xor corresponding text input and round key input bytes + + + Row 0 remains unchanged + The other three rows are shifted a variable amount + + + Replace every byte of the input by the byte at that place + in the nonlinear S-box + + + Mix the bytes of every column in a linear way + + + Mix the bytes of every column in a linear way + This is the opposite operation of Mixcolumn + + + Calculate the necessary round keys + The number of calculations depends on keyBits and blockBits + + + default constructor - 128 bit block size. + + + basic constructor - set the cipher up for a given blocksize + + @param blocksize the blocksize in bits, must be 128, 192, or 256. + + + initialise a Rijndael cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + this does your basic RSA algorithm with blinding + + + initialise the RSA engine. + + @param forEncryption true if we are encrypting, false otherwise. + @param param the necessary RSA key parameters. + + + Return the maximum size for an input block to this engine. + For RSA this is always one byte less than the key size on + encryption, and the same length as the key size on decryption. + + @return maximum size for an input block. + + + Return the maximum size for an output block to this engine. + For RSA this is always one byte less than the key size on + decryption, and the same length as the key size on encryption. + + @return maximum size for an output block. + + + Process a single block using the basic RSA algorithm. + + @param inBuf the input array. + @param inOff the offset into the input buffer where the data starts. + @param inLen the length of the data to be processed. + @return the result of the RSA process. + @exception DataLengthException the input block is too large. + + + This does your basic RSA Chaum's blinding and unblinding as outlined in + "Handbook of Applied Cryptography", page 475. You need to use this if you are + trying to get another party to generate signatures without them being aware + of the message they are signing. + + + Initialise the blinding engine. + + @param forEncryption true if we are encrypting (blinding), false otherwise. + @param param the necessary RSA key parameters. + + + Return the maximum size for an input block to this engine. + For RSA this is always one byte less than the key size on + encryption, and the same length as the key size on decryption. + + @return maximum size for an input block. + + + Return the maximum size for an output block to this engine. + For RSA this is always one byte less than the key size on + decryption, and the same length as the key size on encryption. + + @return maximum size for an output block. + + + Process a single block using the RSA blinding algorithm. + + @param in the input array. + @param inOff the offset into the input buffer where the data starts. + @param inLen the length of the data to be processed. + @return the result of the RSA process. + @throws DataLengthException the input block is too large. + + + this does your basic RSA algorithm. + + + initialise the RSA engine. + + @param forEncryption true if we are encrypting, false otherwise. + @param param the necessary RSA key parameters. + + + Return the maximum size for an input block to this engine. + For RSA this is always one byte less than the key size on + encryption, and the same length as the key size on decryption. + + @return maximum size for an input block. + + + Return the maximum size for an output block to this engine. + For RSA this is always one byte less than the key size on + decryption, and the same length as the key size on encryption. + + @return maximum size for an output block. + + + this does your basic RSA algorithm. + + + initialise the RSA engine. + + @param forEncryption true if we are encrypting, false otherwise. + @param param the necessary RSA key parameters. + + + Return the maximum size for an input block to this engine. + For RSA this is always one byte less than the key size on + encryption, and the same length as the key size on decryption. + + @return maximum size for an input block. + + + Return the maximum size for an output block to this engine. + For RSA this is always one byte less than the key size on + decryption, and the same length as the key size on encryption. + + @return maximum size for an output block. + + + Process a single block using the basic RSA algorithm. + + @param inBuf the input array. + @param inOff the offset into the input buffer where the data starts. + @param inLen the length of the data to be processed. + @return the result of the RSA process. + @exception DataLengthException the input block is too large. + + + + Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005 + + + + Constants + + + + Creates a 20 round Salsa20 engine. + + + + + Creates a Salsa20 engine with a specific number of rounds. + + the number of rounds (must be an even number). + + + Implementation of the SEED algorithm as described in RFC 4009 + + + + An implementation of the SEED key wrapper based on RFC 4010/RFC 3394. +

+ For further details see: http://www.ietf.org/rfc/rfc4010.txt. + + + + * Serpent is a 128-bit 32-round block cipher with variable key lengths, + * including 128, 192 and 256 bit keys conjectured to be at least as + * secure as three-key triple-DES. + *

+ * Serpent was designed by Ross Anderson, Eli Biham and Lars Knudsen as a + * candidate algorithm for the NIST AES Quest. + *

+ *

+ * For full details see The Serpent home page + *

+
+ + Expand a user-supplied key material into a session key. + + @param key The user-key bytes (multiples of 4) to use. + @exception ArgumentException + + + Encrypt one block of plaintext. + + @param input the array containing the input data. + @param inOff offset into the in array the data starts at. + @param output the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + + + Decrypt one block of ciphertext. + + @param input the array containing the input data. + @param inOff offset into the in array the data starts at. + @param output the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + + + initialise a Serpent cipher. + + @param encrypting whether or not we are for encryption. + @param params the parameters required to set up the cipher. + @throws IllegalArgumentException if the params argument is + inappropriate. + + + Process one block of input from the array in and write it to + the out array. + + @param in the array containing the input data. + @param inOff offset into the in array the data starts at. + @param out the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + @return the number of bytes processed and produced. + @throws DataLengthException if there isn't enough data in in, or + space in out. + @throws IllegalStateException if the cipher isn't initialised. + + + InvSO - {13, 3,11, 0,10, 6, 5,12, 1,14, 4, 7,15, 9, 8, 2 } - 15 terms. + + + S1 - {15,12, 2, 7, 9, 0, 5,10, 1,11,14, 8, 6,13, 3, 4 } - 14 terms. + + + InvS1 - { 5, 8, 2,14,15, 6,12, 3,11, 4, 7, 9, 1,13,10, 0 } - 14 steps. + + + S2 - { 8, 6, 7, 9, 3,12,10,15,13, 1,14, 4, 0,11, 5, 2 } - 16 terms. + + + InvS2 - {12, 9,15, 4,11,14, 1, 2, 0, 3, 6,13, 5, 8,10, 7 } - 16 steps. + + + S3 - { 0,15,11, 8,12, 9, 6, 3,13, 1, 2, 4,10, 7, 5,14 } - 16 terms. + + + InvS3 - { 0, 9,10, 7,11,14, 6,13, 3, 5,12, 2, 4, 8,15, 1 } - 15 terms + + + S4 - { 1,15, 8, 3,12, 0,11, 6, 2, 5, 4,10, 9,14, 7,13 } - 15 terms. + + + InvS4 - { 5, 0, 8, 3,10, 9, 7,14, 2,12,11, 6, 4,15,13, 1 } - 15 terms. + + + S5 - {15, 5, 2,11, 4,10, 9,12, 0, 3,14, 8,13, 6, 7, 1 } - 16 terms. + + + InvS5 - { 8,15, 2, 9, 4, 1,13,14,11, 6, 5, 3, 7,12,10, 0 } - 16 terms. + + + S6 - { 7, 2,12, 5, 8, 4, 6,11,14, 9, 1,15,13, 3,10, 0 } - 15 terms. + + + InvS6 - {15,10, 1,13, 5, 3, 6, 0, 4, 9,14, 7, 2,12, 8,11 } - 15 terms. + + + S7 - { 1,13,15, 0,14, 8, 2,11, 7, 4,12,10, 9, 3, 5, 6 } - 16 terms. + + + InvS7 - { 3, 0, 6,13, 9,14,15, 8, 5,12,11, 7,10, 1, 4, 2 } - 17 terms. + + + Apply the linear transformation to the register set. + + + Apply the inverse of the linear transformation to the register set. + + + a class that provides a basic SKIPJACK engine. + + + initialise a SKIPJACK cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + The G permutation + + + the inverse of the G permutation. + + + + SM2 public key encryption engine - based on https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02. + + + + SM4 Block Cipher - SM4 is a 128 bit block cipher with a 128 bit key. + + The implementation here is based on the document http://eprint.iacr.org/2008/329.pdf + by Whitfield Diffie and George Ledin, which is a translation of Prof. LU Shu-wang's original standard. + + + + An TEA engine. + + + Create an instance of the TEA encryption algorithm + and set some defaults + + + initialise + + @param forEncryption whether or not we are for encryption. + @param params the parameters required to set up the cipher. + @exception ArgumentException if the params argument is + inappropriate. + + + Re-key the cipher. + + @param key the key to be used + + + + Implementation of the Threefish tweakable large block cipher in 256, 512 and 1024 bit block + sizes. + + + This is the 1.3 version of Threefish defined in the Skein hash function submission to the NIST + SHA-3 competition in October 2010. +

+ Threefish was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir + Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. +

+ This implementation inlines all round functions, unrolls 8 rounds, and uses 1.2k of static tables + to speed up key schedule injection.
+ 2 x block size state is retained by each cipher instance. + + + +

+ 256 bit block size - Threefish-256 + +
+ + + 512 bit block size - Threefish-512 + + + + + 1024 bit block size - Threefish-1024 + + + + Size of the tweak in bytes (always 128 bit/16 bytes) + + + Rounds in Threefish-256 + + + Rounds in Threefish-512 + + + Rounds in Threefish-1024 + + + Max rounds of any of the variants + + + Key schedule parity constant + + + Block size in bytes + + + Block size in 64 bit words + + + Buffer for byte oriented processBytes to call internal word API + + + Tweak bytes (2 byte t1,t2, calculated t3 and repeat of t1,t2 for modulo free lookup + + + Key schedule words + + + The internal cipher implementation (varies by blocksize) + + + + Constructs a new Threefish cipher, with a specified block size. + + the block size in bits, one of , , + . + + + + Initialise the engine. + + Initialise for encryption if true, for decryption if false. + an instance of or (to + use a 0 tweak) + + + + Initialise the engine, specifying the key and tweak directly. + + the cipher mode. + the words of the key, or null to use the current key. + the 2 word (128 bit) tweak, or null to use the current tweak. + + + + Process a block of data represented as 64 bit words. + + the number of 8 byte words processed (which will be the same as the block size). + a block sized buffer of words to process. + a block sized buffer of words to receive the output of the operation. + if either the input or output is not block sized + if this engine is not initialised + + + + Read a single 64 bit word from input in LSB first order. + + + + + Write a 64 bit word to output in LSB first order. + + + + Rotate left + xor part of the mix operation. + + + Rotate xor + rotate right part of the unmix operation. + + + The extended + repeated tweak words + + + The extended + repeated key words + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Mix rotation constants defined in Skein 1.3 specification + + + Tnepres is a 128-bit 32-round block cipher with variable key lengths, + including 128, 192 and 256 bit keys conjectured to be at least as + secure as three-key triple-DES. +

+ Tnepres is based on Serpent which was designed by Ross Anderson, Eli Biham and Lars Knudsen as a + candidate algorithm for the NIST AES Quest. Unfortunately there was an endianness issue + with test vectors in the AES submission and the resulting confusion lead to the Tnepres cipher + as well, which is a byte swapped version of Serpent. +

+

+ For full details see The Serpent home page +

+
+ + Expand a user-supplied key material into a session key. + + @param key The user-key bytes (multiples of 4) to use. + @exception ArgumentException + + + Encrypt one block of plaintext. + + @param input the array containing the input data. + @param inOff offset into the in array the data starts at. + @param output the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + + + Decrypt one block of ciphertext. + + @param input the array containing the input data. + @param inOff offset into the in array the data starts at. + @param output the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + + + A class that provides Twofish encryption operations. + + This Java implementation is based on the Java reference + implementation provided by Bruce Schneier and developed + by Raif S. Naffah. + + + Define the fixed p0/p1 permutations used in keyed S-box lookup. + By changing the following constant definitions, the S-boxes will + automatically Get changed in the Twofish engine. + + + gSubKeys[] and gSBox[] are eventually used in the + encryption and decryption methods. + + + initialise a Twofish cipher. + + @param forEncryption whether or not we are for encryption. + @param parameters the parameters required to set up the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + Encrypt the given input starting at the given offset and place + the result in the provided buffer starting at the given offset. + The input will be an exact multiple of our blocksize. + + encryptBlock uses the pre-calculated gSBox[] and subKey[] + arrays. + + + Decrypt the given input starting at the given offset and place + the result in the provided buffer starting at the given offset. + The input will be an exact multiple of our blocksize. + + + Use (12, 8) Reed-Solomon code over GF(256) to produce + a key S-box 32-bit entity from 2 key material 32-bit + entities. + + @param k0 first 32-bit entity + @param k1 second 32-bit entity + @return Remainder polynomial Generated using RS code + + + * Reed-Solomon code parameters: (12,8) reversible code: + *

+ *

+                    * G(x) = x^4 + (a+1/a)x^3 + ax^2 + (a+1/a)x + 1
+                    * 
+ * where a = primitive root of field generator 0x14D + *

+
+ + initialise a VMPC cipher. + + @param forEncryption + whether or not we are for encryption. + @param params + the parameters required to set up the cipher. + @exception ArgumentException + if the params argument is inappropriate. + + + + Implementation of Daniel J. Bernstein's XSalsa20 stream cipher - Salsa20 with an extended nonce. + + + XSalsa20 requires a 256 bit key, and a 192 bit nonce. + + + + + XSalsa20 key generation: process 256 bit input key and 128 bits of the input nonce + using a core Salsa20 function without input addition to produce 256 bit working key + and use that with the remaining 64 bits of nonce to initialize a standard Salsa20 engine state. + + + + An XTEA engine. + + + Create an instance of the TEA encryption algorithm + and set some defaults + + + initialise + + @param forEncryption whether or not we are for encryption. + @param params the parameters required to set up the cipher. + @exception ArgumentException if the params argument is + inappropriate. + + + Re-key the cipher. + + @param key the key to be used + + + Base class for format-preserving encryption. + + + + Process length bytes from inBuf, writing the output to outBuf. + + number of bytes output. + input data. + offset in input data to start at. + number of bytes to process. + destination buffer. + offset to start writing at in destination buffer. + + + + Initialize the FPE engine for encryption/decryption. + + number of bytes output. + true if initialising for encryption, false otherwise. + the key and other parameters to use to set the engine up. + + + Basic KDF generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033 +
+ This implementation is based on ISO 18033/P1363a. +
+ + Construct a KDF Parameters generator. + + @param counterStart value of counter. + @param digest the digest to be used as the source of derived keys. + + + return the underlying digest. + + + fill len bytes of the output buffer with bytes generated from + the derivation function. + + @throws ArgumentException if the size of the request will cause an overflow. + @throws DataLengthException if the out buffer is too small. + + + Core of password hashing scheme Bcrypt, + designed by Niels Provos and David Mazières, + corresponds to the C reference implementation. +

+ This implementation does not correspondent to the 1999 published paper + "A Future-Adaptable Password Scheme" of Niels Provos and David Mazières, + see: https://www.usenix.org/legacy/events/usenix99/provos/provos_html/node1.html. + In contrast to the paper, the order of key setup and salt setup is reversed: + state <- ExpandKey(state, 0, key) + state %lt;- ExpandKey(state, 0, salt) + This corresponds to the OpenBSD reference implementation of Bcrypt. +

+ Note: + There is no successful cryptanalysis (status 2015), but + the amount of memory and the band width of Bcrypt + may be insufficient to effectively prevent attacks + with custom hardware like FPGAs, ASICs +

+ This implementation uses some parts of Bouncy Castle's BlowfishEngine. +

+
+ + Derives a raw 192 bit Bcrypt key + + @param cost the cost factor, treated as an exponent of 2 + @param salt a 16 byte salt + @param psw the password + @return a 192 bit key + + + Size of the salt parameter in bytes + + + Minimum value of cost parameter, equal to log2(bytes of salt) + + + Maximum value of cost parameter (31 == 2,147,483,648) + + + Maximum size of password == max (unrestricted) size of Blowfish key + + + Converts a character password to bytes incorporating the required trailing zero byte. + + @param password the password to be encoded. + @return a byte representation of the password in UTF8 + trailing zero. + + + Calculates the bcrypt hash of a password. +

+ This implements the raw bcrypt function as defined in the bcrypt specification, not + the crypt encoded version implemented in OpenBSD. +

+ @param password the password bytes (up to 72 bytes) to use for this invocation. + @param salt the 128 bit salt to use for this invocation. + @param cost the bcrypt cost parameter. The cost of the bcrypt function grows as + 2^cost. Legal values are 4..31 inclusive. + @return the output of the raw bcrypt operation: a 192 bit (24 byte) hash. +
+ + initialise the key generator - if strength is set to zero + the key Generated will be 192 bits in size, otherwise + strength can be 128 or 192 (or 112 or 168 if you don't count + parity bits), depending on whether you wish to do 2-key or 3-key + triple DES. + + @param param the parameters to be used for key generation + + + initialise the key generator - if strength is set to zero + the key generated will be 64 bits in size, otherwise + strength can be 64 or 56 bits (if you don't count the parity bits). + + @param param the parameters to be used for key generation + + + a basic Diffie-Hellman key pair generator. + + This generates keys consistent for use with the basic algorithm for + Diffie-Hellman. + + + a Diffie-Hellman key pair generator. + + This generates keys consistent for use in the MTI/A0 key agreement protocol + as described in "Handbook of Applied Cryptography", Pages 516-519. + + + which Generates the p and g values from the given parameters, + returning the DHParameters object. +

+ Note: can take a while...

+
+ + a DSA key pair generator. + + This Generates DSA keys in line with the method described + in FIPS 186-3 B.1 FFC Key Pair Generation. + + + Generate suitable parameters for DSA, in line with FIPS 186-2, or FIPS 186-3. + + + Initialise the generator + This form can only be used for older DSA (pre-DSA2) parameters + the size of keys in bits (from 512 up to 1024, and a multiple of 64) + measure of robustness of primes (at least 80 for FIPS 186-2 compliance) + the source of randomness to use + + + Initialise the generator for DSA 2 + You must use this Init method if you need to generate parameters for DSA 2 keys + An instance of DsaParameterGenerationParameters used to configure this generator + + + Generates a set of DsaParameters + Can take a while... + + + generate suitable parameters for DSA, in line with + FIPS 186-3 A.1 Generation of the FFC Primes p and q. + + + Given the domain parameters this routine generates an EC key + pair in accordance with X9.62 section 5.2.1 pages 26, 27. + + + a ElGamal key pair generator. +

+ This Generates keys consistent for use with ElGamal as described in + page 164 of "Handbook of Applied Cryptography".

+
+ + * which Generates the p and g values from the given parameters, + * returning the ElGamalParameters object. + *

+ * Note: can take a while... + *

+
+ + a GOST3410 key pair generator. + This generates GOST3410 keys in line with the method described + in GOST R 34.10-94. + + + generate suitable parameters for GOST3410. + + + initialise the key generator. + + @param size size of the key + @param typeProcedure type procedure A,B = 1; A',B' - else + @param random random byte source. + + + Procedure C + procedure generates the a value from the given p,q, + returning the a value. + + + which generates the p , q and a values from the given parameters, + returning the Gost3410Parameters object. + + + HMAC-based Extract-and-Expand Key Derivation Function (HKDF) implemented + according to IETF RFC 5869, May 2010 as specified by H. Krawczyk, IBM + Research & P. Eronen, Nokia. It uses a HMac internally to compute de OKM + (output keying material) and is likely to have better security properties + than KDF's based on just a hash function. + + + Creates a HKDFBytesGenerator based on the given hash function. + + @param hash the digest to be used as the source of generatedBytes bytes + + + Performs the extract part of the key derivation function. + + @param salt the salt to use + @param ikm the input keying material + @return the PRK as KeyParameter + + + Performs the expand part of the key derivation function, using currentT + as input and output buffer. + + @throws DataLengthException if the total number of bytes generated is larger than the one + specified by RFC 5869 (255 * HashLen) + + + KFD2 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033 +
+ This implementation is based on IEEE P1363/ISO 18033. +
+ + Construct a KDF1 byte generator. + + @param digest the digest to be used as the source of derived keys. + + + KDF2 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033 +
+ This implementation is based on IEEE P1363/ISO 18033. +
+ + Construct a KDF2 bytes generator. Generates key material + according to IEEE P1363 or ISO 18033 depending on the initialisation. + + @param digest the digest to be used as the source of derived keys. + + + Generator for MGF1 as defined in Pkcs 1v2 + + + @param digest the digest to be used as the source of Generated bytes + + + return the underlying digest. + + + int to octet string. + + + fill len bytes of the output buffer with bytes Generated from + the derivation function. + + @throws DataLengthException if the out buffer is too small. + + + Key generation parameters for NaccacheStern cipher. For details on this cipher, please see + + http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf + + + Generates a permuted ArrayList from the original one. The original List + is not modified + + @param arr + the ArrayList to be permuted + @param rand + the source of Randomness for permutation + @return a new IList with the permuted elements. + + + Finds the first 'count' primes starting with 3 + + @param count + the number of primes to find + @return a vector containing the found primes as Integer + + + Password hashing scheme BCrypt, + designed by Niels Provos and David Mazières, using the + String format and the Base64 encoding + of the reference implementation on OpenBSD + + + Creates a 60 character Bcrypt String, including + version, cost factor, salt and hash, separated by '$' + + @param version the version, 2y,2b or 2a. (2a is not backwards compatible.) + @param cost the cost factor, treated as an exponent of 2 + @param salt a 16 byte salt + @param password the password + @return a 60 character Bcrypt String + + + Creates a 60 character Bcrypt String, including + version, cost factor, salt and hash, separated by '$' using version + '2y'. + + @param cost the cost factor, treated as an exponent of 2 + @param salt a 16 byte salt + @param password the password + @return a 60 character Bcrypt String + + + Creates a 60 character Bcrypt String, including + version, cost factor, salt and hash, separated by '$' + + @param version the version, may be 2b, 2y or 2a. (2a is not backwards compatible.) + @param cost the cost factor, treated as an exponent of 2 + @param salt a 16 byte salt + @param password the password + @return a 60 character Bcrypt String + + + Checks if a password corresponds to a 60 character Bcrypt String + + @param bcryptString a 60 character Bcrypt String, including + version, cost factor, salt and hash, + separated by '$' + @param password the password as an array of chars + @return true if the password corresponds to the + Bcrypt String, otherwise false + + + + + + Construct a OpenSSL Parameters generator - digest the original MD5. + + + + + + + Construct a OpenSSL Parameters generator - digest as specified. + + the digest to use as the PRF. + + + + Initialise - note the iteration count for this algorithm is fixed at 1. + + @param password password to use. + @param salt salt to use. + + + the derived key function, the ith hash of the password and the salt. + + + Generate a key parameter derived from the password, salt, and iteration + count we are currently initialised with. + + @param keySize the size of the key we want (in bits) + @return a KeyParameter object. + @exception ArgumentException if the key length larger than the base hash size. + + + Generate a key with initialisation vector parameter derived from + the password, salt, and iteration count we are currently initialised + with. + + @param keySize the size of the key we want (in bits) + @param ivSize the size of the iv we want (in bits) + @return a ParametersWithIV object. + @exception ArgumentException if keySize + ivSize is larger than the base hash size. + + + Generate a key parameter for use with a MAC derived from the password, + salt, and iteration count we are currently initialised with. + + @param keySize the size of the key we want (in bits) + @return a KeyParameter object. + @exception ArgumentException if the key length larger than the base hash size. + + + Generator for Pbe derived keys and ivs as defined by Pkcs 12 V1.0. +

+ The document this implementation is based on can be found at + + RSA's Pkcs12 Page +

+
+ + Construct a Pkcs 12 Parameters generator. + + @param digest the digest to be used as the source of derived keys. + @exception ArgumentException if an unknown digest is passed in. + + + add a + b + 1, returning the result in a. The a value is treated + as a BigInteger of length (b.Length * 8) bits. The result is + modulo 2^b.Length in case of overflow. + + + generation of a derived key ala Pkcs12 V1.0. + + + Generate a key parameter derived from the password, salt, and iteration + count we are currently initialised with. + + @param keySize the size of the key we want (in bits) + @return a KeyParameter object. + + + Generate a key with initialisation vector parameter derived from + the password, salt, and iteration count we are currently initialised + with. + + @param keySize the size of the key we want (in bits) + @param ivSize the size of the iv we want (in bits) + @return a ParametersWithIV object. + + + Generate a key parameter for use with a MAC derived from the password, + salt, and iteration count we are currently initialised with. + + @param keySize the size of the key we want (in bits) + @return a KeyParameter object. + + + Generator for Pbe derived keys and ivs as defined by Pkcs 5 V2.0 Scheme 1. + Note this generator is limited to the size of the hash produced by the + digest used to drive it. +

+ The document this implementation is based on can be found at + + RSA's Pkcs5 Page +

+
+ + Construct a Pkcs 5 Scheme 1 Parameters generator. + + @param digest the digest to be used as the source of derived keys. + + + the derived key function, the ith hash of the mPassword and the mSalt. + + + Generate a key parameter derived from the mPassword, mSalt, and iteration + count we are currently initialised with. + + @param keySize the size of the key we want (in bits) + @return a KeyParameter object. + @exception ArgumentException if the key length larger than the base hash size. + + + Generate a key with initialisation vector parameter derived from + the mPassword, mSalt, and iteration count we are currently initialised + with. + + @param keySize the size of the key we want (in bits) + @param ivSize the size of the iv we want (in bits) + @return a ParametersWithIV object. + @exception ArgumentException if keySize + ivSize is larger than the base hash size. + + + Generate a key parameter for use with a MAC derived from the mPassword, + mSalt, and iteration count we are currently initialised with. + + @param keySize the size of the key we want (in bits) + @return a KeyParameter object. + @exception ArgumentException if the key length larger than the base hash size. + + + Generator for Pbe derived keys and ivs as defined by Pkcs 5 V2.0 Scheme 2. + This generator uses a SHA-1 HMac as the calculation function. +

+ The document this implementation is based on can be found at + + RSA's Pkcs5 Page

+
+ + construct a Pkcs5 Scheme 2 Parameters generator. + + + Generate a key parameter derived from the password, salt, and iteration + count we are currently initialised with. + + @param keySize the size of the key we want (in bits) + @return a KeyParameter object. + + + Generate a key with initialisation vector parameter derived from + the password, salt, and iteration count we are currently initialised + with. + + @param keySize the size of the key we want (in bits) + @param ivSize the size of the iv we want (in bits) + @return a ParametersWithIV object. + + + Generate a key parameter for use with a MAC derived from the password, + salt, and iteration count we are currently initialised with. + + @param keySize the size of the key we want (in bits) + @return a KeyParameter object. + + + + Generates keys for the Poly1305 MAC. + + + Poly1305 keys are 256 bit keys consisting of a 128 bit secret key used for the underlying block + cipher followed by a 128 bit {@code r} value used for the polynomial portion of the Mac.
+ The {@code r} value has a specific format with some bits required to be cleared, resulting in an + effective 106 bit key.
+ A separately generated 256 bit key can be modified to fit the Poly1305 key format by using the + {@link #clamp(byte[])} method to clear the required bits. +
+ +
+ + + Initialises the key generator. + + + Poly1305 keys are always 256 bits, so the key length in the provided parameters is ignored. + + + + + Generates a 256 bit key in the format required for Poly1305 - e.g. + k[0] ... k[15], r[0] ... r[15] with the required bits in r cleared + as per . + + + + + Modifies an existing 32 byte key value to comply with the requirements of the Poly1305 key by + clearing required bits in the r (second 16 bytes) portion of the key.
+ Specifically: +
    +
  • r[3], r[7], r[11], r[15] have top four bits clear (i.e., are {0, 1, . . . , 15})
  • +
  • r[4], r[8], r[12] have bottom two bits clear (i.e., are in {0, 4, 8, . . . , 252})
  • +
+
+ a 32 byte key value k[0] ... k[15], r[0] ... r[15] +
+ + + Checks a 32 byte key for compliance with the Poly1305 key requirements, e.g. + k[0] ... k[15], r[0] ... r[15] with the required bits in r cleared + as per . + + Key. + if the key is of the wrong length, or has invalid bits set + in the r portion of the key. + + + Generate a random factor suitable for use with RSA blind signatures + as outlined in Chaum's blinding and unblinding as outlined in + "Handbook of Applied Cryptography", page 475. + + + Initialise the factor generator + + @param param the necessary RSA key parameters. + + + Generate a suitable blind factor for the public key the generator was initialised with. + + @return a random blind factor + + + an RSA key pair generator. + + + Choose a random prime value for use with RSA + the bit-length of the returned prime + the RSA public exponent + a prime p, with (p-1) relatively prime to e + + + Implementation of the scrypt a password-based key derivation function. + + Scrypt was created by Colin Percival and is specified in + draft-josefsson-scrypt-kd. + + + + Generate a key using the scrypt key derivation function. + the bytes of the pass phrase. + the salt to use for this invocation. + CPU/Memory cost parameter. Must be larger than 1, a power of 2 and less than + 2^(128 * r / 8). + the block size, must be >= 1. + Parallelization parameter. Must be a positive integer less than or equal to + Int32.MaxValue / (128 * r * 8). + the length of the key to generate. + the generated key. + + + Base interface for mapping from an alphabet to a set of indexes + suitable for use with FPE. + + + + Return the number of characters in the alphabet. + + the radix for the alphabet. + + + + Return the passed in char[] as a byte array of indexes (indexes + can be more than 1 byte) + + an index array. + characters to be mapped. + + + + Return a char[] for this alphabet based on the indexes passed. + + an array of char corresponding to the index values. + input array of indexes. + + + Base interface for a public/private key block cipher. + + + The name of the algorithm this cipher implements. + + + Initialise the cipher. + Initialise for encryption if true, for decryption if false. + The key or other data required by the cipher. + + + The maximum size, in bytes, an input block may be. + + + The maximum size, in bytes, an output block will be. + + + Process a block. + The input buffer. + The offset into inBuf that the input block begins. + The length of the input block. + Input decrypts improperly. + Input is too large for the cipher. + + + interface that a public/private key pair generator should conform to. + + + intialise the key pair generator. + + @param the parameters the key pair is to be initialised with. + + + return an AsymmetricCipherKeyPair containing the Generated keys. + + @return an AsymmetricCipherKeyPair containing the Generated keys. + + + The basic interface that basic Diffie-Hellman implementations + conforms to. + + + initialise the agreement engine. + + + return the field size for the agreement algorithm in bytes. + + + given a public key from a given party calculate the next + message in the agreement sequence. + + + Base interface for a symmetric key block cipher. + + + The name of the algorithm this cipher implements. + + + Initialise the cipher. + Initialise for encryption if true, for decryption if false. + The key or other data required by the cipher. + + + The block size for this cipher, in bytes. + + + Indicates whether this cipher can handle partial blocks. + + + Process a block. + The input buffer. + The offset into inBuf that the input block begins. + The output buffer. + The offset into outBuf to write the output block. + If input block is wrong size, or outBuf too small. + The number of bytes processed and produced. + + + + Reset the cipher to the same state as it was after the last init (if there was one). + + + + + Operators that reduce their input to a single block return an object + of this type. + + + + + Return the final result of the operation. + + A block of bytes, representing the result of an operation. + + + + Store the final result of the operation by copying it into the destination array. + + The number of bytes copied into destination. + The byte array to copy the result into. + The offset into destination to start copying the result at. + + + Block cipher engines are expected to conform to this interface. + + + The name of the algorithm this cipher implements. + + + Initialise the cipher. + If true the cipher is initialised for encryption, + if false for decryption. + The key and other data required by the cipher. + + + + Reset the cipher. After resetting the cipher is in the same state + as it was after the last init (if there was one). + + + + + Base interface for a ciphers that do not require data to be block aligned. + + Note: In cases where the underlying algorithm is block based, these ciphers may add or remove padding as needed. + + + + + + Return the size of the output buffer required for a Write() plus a + close() with the write() being passed inputLen bytes. + + The returned size may be dependent on the initialisation of this cipher + and may not be accurate once subsequent input data is processed as the cipher may + add, add or remove padding, as it sees fit. + + + The space required to accommodate a call to processBytes and doFinal with inputLen bytes of input. + The length of the expected input. + + + + Return the size of the output buffer required for a write() with the write() being + passed inputLen bytes and just updating the cipher output. + + The space required to accommodate a call to processBytes with inputLen bytes of input. + The length of the expected input. + + + + Gets the stream for reading/writing data processed/to be processed. + + The stream associated with this cipher. + + + + Base interface for cipher builders. + + + + + Return the algorithm and parameter details associated with any cipher built. + + + + + Return the maximum output size that a given input will produce. + + the length of the expected input. + The maximum possible output size that can produced for the expected input length. + + + + Build a cipher that operates on the passed in stream. + + The stream to write/read any encrypted/decrypted data. + A cipher based around the given stream. + + + + A cipher builder that can also return the key it was initialized with. + + + + + Return the key we were initialized with. + + + + all parameter classes implement this. + + + + Interface describing a provider of cipher builders for creating decrypting ciphers. + + + + + Return a cipher builder for creating decrypting ciphers. + + The algorithm details/parameters to use to create the final cipher. + A new cipher builder. + + + base interface for general purpose byte derivation functions. + + + return the message digest used as the basis for the function + + + Parameters for key/byte stream derivation classes + + + interface that a message digest conforms to. + + + return the algorithm name + + @return the algorithm name + + + return the size, in bytes, of the digest produced by this message digest. + + @return the size, in bytes, of the digest produced by this message digest. + + + return the size, in bytes, of the internal buffer used by this digest. + + @return the size, in bytes, of the internal buffer used by this digest. + + + update the message digest with a single byte. + + @param inByte the input byte to be entered. + + + update the message digest with a block of bytes. + + @param input the byte array containing the data. + @param inOff the offset into the byte array where the data starts. + @param len the length of the data. + + + Close the digest, producing the final digest value. The doFinal + call leaves the digest reset. + + @param output the array the digest is to be copied into. + @param outOff the offset into the out array the digest is to start at. + + + reset the digest back to it's initial state. + + + + Base interface for operator factories that create stream-based digest calculators. + + + + The algorithm details object for calculators made by this factory. + + + Return the size of the digest associated with this factory. + The length of the digest produced by this calculators from this factory in bytes. + + + + Create a stream calculator for the digest associated with this factory. The stream + calculator is used for the actual operation of entering the data to be digested + and producing the digest block. + + A calculator producing an IBlockResult with the final digest in it. + + + interface for classes implementing the Digital Signature Algorithm + + + initialise the signer for signature generation or signature + verification. + + @param forSigning true if we are generating a signature, false + otherwise. + @param param key parameters for signature generation. + + + sign the passed in message (usually the output of a hash function). + + @param message the message to be signed. + @return two big integers representing the r and s values respectively. + + + verify the message message against the signature values r and s. + + @param message the message that was supposed to have been signed. + @param r the r signature value. + @param s the s signature value. + + + + An "extended" interface for classes implementing DSA-style algorithms, that provides access + to the group order. + + + + The order of the group that the r, s values in signatures belong to. + + + + Base interface describing an entropy source for a DRBG. + + + + + Return whether or not this entropy source is regarded as prediction resistant. + + true if this instance is prediction resistant; otherwise, false. + + + + Return a byte array of entropy. + + The entropy bytes. + + + + Return the number of bits of entropy this source can produce. + + The size, in bits, of the return value of getEntropy. + + + + Base interface describing a provider of entropy sources. + + + + + Return an entropy source providing a block of entropy. + + The size of the block of entropy required. + An entropy source providing bitsRequired blocks of entropy. + + + + Base interface for a key unwrapper. + + + + + The parameter set used to configure this key unwrapper. + + + + + Unwrap the passed in data. + + The array containing the data to be unwrapped. + The offset into cipherText at which the unwrapped data starts. + The length of the data to be unwrapped. + an IBlockResult containing the unwrapped key data. + + + + Base interface for a key wrapper. + + + + + The parameter set used to configure this key wrapper. + + + + + Wrap the passed in key data. + + The key data to be wrapped. + an IBlockResult containing the wrapped key data. + + + The base interface for implementations of message authentication codes (MACs). + + + Initialise the MAC. + + @param param the key and other data required by the MAC. + @exception ArgumentException if the parameters argument is + inappropriate. + + + Return the name of the algorithm the MAC implements. + + @return the name of the algorithm the MAC implements. + + + Return the block size for this MAC (in bytes). + + @return the block size for this MAC in bytes. + + + add a single byte to the mac for processing. + + @param in the byte to be processed. + @exception InvalidOperationException if the MAC is not initialised. + + + @param in the array containing the input. + @param inOff the index in the array the data begins at. + @param len the length of the input starting at inOff. + @exception InvalidOperationException if the MAC is not initialised. + @exception DataLengthException if there isn't enough data in in. + + + Compute the final stage of the MAC writing the output to the out + parameter. +

+ doFinal leaves the MAC in the same state it was after the last init. +

+ @param out the array the MAC is to be output to. + @param outOff the offset into the out buffer the output is to start at. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the MAC is not initialised. +
+ + Reset the MAC. At the end of resetting the MAC should be in the + in the same state it was after the last init (if there was one). + + + The algorithm details object for this calculator. + + + + Create a stream calculator for this signature calculator. The stream + calculator is used for the actual operation of entering the data to be signed + and producing the signature block. + + A calculator producing an IBlockResult with a signature in it. + + + this exception is thrown whenever we find something we don't expect in a + message. + + + base constructor. + + + create a InvalidCipherTextException with the given message. + + @param message the message to be carried with the exception. + + + + Base interface for operators that serve as stream-based signature calculators. + + + + The algorithm details object for this calculator. + + + + Create a stream calculator for this signature calculator. The stream + calculator is used for the actual operation of entering the data to be signed + and producing the signature block. + + A calculator producing an IBlockResult with a signature in it. + + + Return the name of the algorithm the signer implements. + + @return the name of the algorithm the signer implements. + + + Initialise the signer for signing or verification. + + @param forSigning true if for signing, false otherwise + @param param necessary parameters. + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + Generate a signature for the message we've been loaded with using + the key we were initialised with. + + + return true if the internal state represents the signature described + in the passed in array. + + + reset the internal state + + + Signer with message recovery. + + + Returns true if the signer has recovered the full message as + part of signature verification. + + @return true if full message recovered. + + + Returns a reference to what message was recovered (if any). + + @return full/partial message, null if nothing. + + + Perform an update with the recovered message before adding any other data. This must + be the first update method called, and calling it will result in the signer assuming + that further calls to update will include message content past what is recoverable. + + @param signature the signature that we are in the process of verifying. + @throws IllegalStateException + + + + Base interface for cryptographic operations such as Hashes, MACs, and Signatures which reduce a stream of data + to a single value. + + + + Return a "sink" stream which only exists to update the implementing object. + A stream to write to in order to update the implementing object. + + + + Return the result of processing the stream. This value is only available once the stream + has been closed. + + The result of processing the stream. + + + The interface stream ciphers conform to. + + + The name of the algorithm this cipher implements. + + + Initialise the cipher. + If true the cipher is initialised for encryption, + if false for decryption. + The key and other data required by the cipher. + + If the parameters argument is inappropriate. + + + + encrypt/decrypt a single byte returning the result. + the byte to be processed. + the result of processing the input byte. + + + + Process a block of bytes from input putting the result into output. + + The input byte array. + + The offset into input where the data to be processed starts. + + The number of bytes to be processed. + The output buffer the processed bytes go into. + + The offset into output the processed data starts at. + + If the output buffer is too small. + + + + Reset the cipher to the same state as it was after the last init (if there was one). + + + + + Operators that reduce their input to the validation of a signature produce this type. + + + + + Return true if the passed in data matches what is expected by the verification result. + + The bytes representing the signature. + true if the signature verifies, false otherwise. + + + + Return true if the length bytes from off in the source array match the signature + expected by the verification result. + + Byte array containing the signature. + The offset into the source array where the signature starts. + The number of bytes in source making up the signature. + true if the signature verifies, false otherwise. + + + + Base interface for operators that serve as stream-based signature verifiers. + + + + The algorithm details object for this verifier. + + + + Create a stream calculator for this verifier. The stream + calculator is used for the actual operation of entering the data to be verified + and producing a result which can be used to verify the original signature. + + A calculator producing an IVerifier which can verify the signature. + + + + Base interface for a provider to support the dynamic creation of signature verifiers. + + + + + Return a signature verfier for signature algorithm described in the passed in algorithm details object. + + The details of the signature algorithm verification is required for. + A new signature verifier. + + + The name of the algorithm this cipher implements. + + + + With FIPS PUB 202 a new kind of message digest was announced which supported extendable output, or variable digest sizes. + This interface provides the extra method required to support variable output on a digest implementation. + + + + + Output the results of the final calculation for this digest to outLen number of bytes. + + output array to write the output bytes to. + offset to start writing the bytes at. + the number of output bytes requested. + the number of bytes written + + + + Start outputting the results of the final calculation for this digest. Unlike DoFinal, this method + will continue producing output until the Xof is explicitly reset, or signals otherwise. + + output array to write the output bytes to. + offset to start writing the bytes at. + the number of output bytes requested. + the number of bytes written + + + The base class for parameters to key generators. + + + initialise the generator with a source of randomness + and a strength (in bits). + + @param random the random byte source. + @param strength the size, in bits, of the keys we want to produce. + + + return the random source associated with this + generator. + + @return the generators random source. + + + return the bit strength for keys produced by this generator, + + @return the strength of the keys this generator produces (in bits). + + + standard CBC Block Cipher MAC - if no padding is specified the default of + pad of zeroes is used. + + + create a standard MAC based on a CBC block cipher. This will produce an + authentication code half the length of the block size of the cipher. + + @param cipher the cipher to be used as the basis of the MAC generation. + + + create a standard MAC based on a CBC block cipher. This will produce an + authentication code half the length of the block size of the cipher. + + @param cipher the cipher to be used as the basis of the MAC generation. + @param padding the padding to be used to complete the last block. + + + create a standard MAC based on a block cipher with the size of the + MAC been given in bits. This class uses CBC mode as the basis for the + MAC generation. +

+ Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), + or 16 bits if being used as a data authenticator (FIPS Publication 113), + and in general should be less than the size of the block cipher as it reduces + the chance of an exhaustive attack (see Handbook of Applied Cryptography). +

+ @param cipher the cipher to be used as the basis of the MAC generation. + @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. +
+ + create a standard MAC based on a block cipher with the size of the + MAC been given in bits. This class uses CBC mode as the basis for the + MAC generation. +

+ Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), + or 16 bits if being used as a data authenticator (FIPS Publication 113), + and in general should be less than the size of the block cipher as it reduces + the chance of an exhaustive attack (see Handbook of Applied Cryptography). +

+ @param cipher the cipher to be used as the basis of the MAC generation. + @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. + @param padding the padding to be used to complete the last block. +
+ + Reset the mac generator. + + + implements a Cipher-FeedBack (CFB) mode on top of a simple cipher. + + + Basic constructor. + + @param cipher the block cipher to be used as the basis of the + feedback mode. + @param blockSize the block size in bits (note: a multiple of 8) + + + Initialise the cipher and, possibly, the initialisation vector (IV). + If an IV isn't passed as part of the parameter, the IV will be all zeros. + An IV which is too short is handled in FIPS compliant fashion. + + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the algorithm name and mode. + + @return the name of the underlying algorithm followed by "/CFB" + and the block size in bits. + + + return the block size we are operating at. + + @return the block size we are operating at (in bytes). + + + Process one block of input from the array in and write it to + the out array. + + @param in the array containing the input data. + @param inOff offset into the in array the data starts at. + @param out the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + reset the chaining vector back to the IV and reset the underlying + cipher. + + + create a standard MAC based on a CFB block cipher. This will produce an + authentication code half the length of the block size of the cipher, with + the CFB mode set to 8 bits. + + @param cipher the cipher to be used as the basis of the MAC generation. + + + create a standard MAC based on a CFB block cipher. This will produce an + authentication code half the length of the block size of the cipher, with + the CFB mode set to 8 bits. + + @param cipher the cipher to be used as the basis of the MAC generation. + @param padding the padding to be used. + + + create a standard MAC based on a block cipher with the size of the + MAC been given in bits. This class uses CFB mode as the basis for the + MAC generation. +

+ Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), + or 16 bits if being used as a data authenticator (FIPS Publication 113), + and in general should be less than the size of the block cipher as it reduces + the chance of an exhaustive attack (see Handbook of Applied Cryptography). +

+ @param cipher the cipher to be used as the basis of the MAC generation. + @param cfbBitSize the size of an output block produced by the CFB mode. + @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. +
+ + create a standard MAC based on a block cipher with the size of the + MAC been given in bits. This class uses CFB mode as the basis for the + MAC generation. +

+ Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), + or 16 bits if being used as a data authenticator (FIPS Publication 113), + and in general should be less than the size of the block cipher as it reduces + the chance of an exhaustive attack (see Handbook of Applied Cryptography). +

+ @param cipher the cipher to be used as the basis of the MAC generation. + @param cfbBitSize the size of an output block produced by the CFB mode. + @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. + @param padding a padding to be used. +
+ + Reset the mac generator. + + + CMAC - as specified at www.nuee.nagoya-u.ac.jp/labs/tiwata/omac/omac.html +

+ CMAC is analogous to OMAC1 - see also en.wikipedia.org/wiki/CMAC +

+ CMAC is a NIST recomendation - see + csrc.nist.gov/CryptoToolkit/modes/800-38_Series_Publications/SP800-38B.pdf +

+ CMAC/OMAC1 is a blockcipher-based message authentication code designed and + analyzed by Tetsu Iwata and Kaoru Kurosawa. +

+ CMAC/OMAC1 is a simple variant of the CBC MAC (Cipher Block Chaining Message + Authentication Code). OMAC stands for One-Key CBC MAC. +

+ It supports 128- or 64-bits block ciphers, with any key size, and returns + a MAC with dimension less or equal to the block size of the underlying + cipher. +

+
+ + create a standard MAC based on a CBC block cipher (64 or 128 bit block). + This will produce an authentication code the length of the block size + of the cipher. + + @param cipher the cipher to be used as the basis of the MAC generation. + + + create a standard MAC based on a block cipher with the size of the + MAC been given in bits. +

+ Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), + or 16 bits if being used as a data authenticator (FIPS Publication 113), + and in general should be less than the size of the block cipher as it reduces + the chance of an exhaustive attack (see Handbook of Applied Cryptography). + + @param cipher the cipher to be used as the basis of the MAC generation. + @param macSizeInBits the size of the MAC in bits, must be a multiple of 8 and @lt;= 128. + + + Reset the mac generator. + + +

+ Implementation of DSTU7564 mac mode + +
+ + implementation of DSTU 7624 MAC + + + + The GMAC specialisation of Galois/Counter mode (GCM) detailed in NIST Special Publication + 800-38D. + + + GMac is an invocation of the GCM mode where no data is encrypted (i.e. all input data to the Mac + is processed as additional authenticated data with the underlying GCM block cipher). + + + + + Creates a GMAC based on the operation of a block cipher in GCM mode. + + + This will produce an authentication code the length of the block size of the cipher. + + the cipher to be used in GCM mode to generate the MAC. + + + + Creates a GMAC based on the operation of a 128 bit block cipher in GCM mode. + + + This will produce an authentication code the length of the block size of the cipher. + + the cipher to be used in GCM mode to generate the MAC. + the mac size to generate, in bits. Must be a multiple of 8, between 32 and 128 (inclusive). + Sizes less than 96 are not recommended, but are supported for specialized applications. + + + + Initialises the GMAC - requires a + providing a and a nonce. + + + + implementation of GOST 28147-89 MAC + + + HMAC implementation based on RFC2104 + + H(K XOR opad, H(K XOR ipad, text)) + + + Reset the mac generator. + + + DES based CBC Block Cipher MAC according to ISO9797, algorithm 3 (ANSI X9.19 Retail MAC) + + This could as well be derived from CBCBlockCipherMac, but then the property mac in the base + class must be changed to protected + + + create a Retail-MAC based on a CBC block cipher. This will produce an + authentication code of the length of the block size of the cipher. + + @param cipher the cipher to be used as the basis of the MAC generation. This must + be DESEngine. + + + create a Retail-MAC based on a CBC block cipher. This will produce an + authentication code of the length of the block size of the cipher. + + @param cipher the cipher to be used as the basis of the MAC generation. + @param padding the padding to be used to complete the last block. + + + create a Retail-MAC based on a block cipher with the size of the + MAC been given in bits. This class uses single DES CBC mode as the basis for the + MAC generation. +

+ Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), + or 16 bits if being used as a data authenticator (FIPS Publication 113), + and in general should be less than the size of the block cipher as it reduces + the chance of an exhaustive attack (see Handbook of Applied Cryptography). +

+ @param cipher the cipher to be used as the basis of the MAC generation. + @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. +
+ + create a standard MAC based on a block cipher with the size of the + MAC been given in bits. This class uses single DES CBC mode as the basis for the + MAC generation. The final block is decrypted and then encrypted using the + middle and right part of the key. +

+ Note: the size of the MAC must be at least 24 bits (FIPS Publication 81), + or 16 bits if being used as a data authenticator (FIPS Publication 113), + and in general should be less than the size of the block cipher as it reduces + the chance of an exhaustive attack (see Handbook of Applied Cryptography). +

+ @param cipher the cipher to be used as the basis of the MAC generation. + @param macSizeInBits the size of the MAC in bits, must be a multiple of 8. + @param padding the padding to be used to complete the last block. +
+ + Reset the mac generator. + + + + Poly1305 message authentication code, designed by D. J. Bernstein. + + + Poly1305 computes a 128-bit (16 bytes) authenticator, using a 128 bit nonce and a 256 bit key + consisting of a 128 bit key applied to an underlying cipher, and a 128 bit key (with 106 + effective key bits) used in the authenticator. + + The polynomial calculation in this implementation is adapted from the public domain poly1305-donna-unrolled C implementation + by Andrew M (@floodyberry). + + + + + Polynomial key + + + Polynomial key + + + Polynomial key + + + Polynomial key + + + Polynomial key + + + Precomputed 5 * r[1..4] + + + Precomputed 5 * r[1..4] + + + Precomputed 5 * r[1..4] + + + Precomputed 5 * r[1..4] + + + Encrypted nonce + + + Encrypted nonce + + + Encrypted nonce + + + Encrypted nonce + + + Current block of buffered input + + + Current offset in input buffer + + + Polynomial accumulator + + + Polynomial accumulator + + + Polynomial accumulator + + + Polynomial accumulator + + + Polynomial accumulator + + + Constructs a Poly1305 MAC, where the key passed to init() will be used directly. + + + Constructs a Poly1305 MAC, using a 128 bit block cipher. + + + + Initialises the Poly1305 MAC. + + a {@link ParametersWithIV} containing a 128 bit nonce and a {@link KeyParameter} with + a 256 bit key complying to the {@link Poly1305KeyGenerator Poly1305 key format}. + + + + Implementation of SipHash as specified in "SipHash: a fast short-input PRF", by Jean-Philippe + Aumasson and Daniel J. Bernstein (https://131002.net/siphash/siphash.pdf). + + + "SipHash is a family of PRFs SipHash-c-d where the integer parameters c and d are the number of + compression rounds and the number of finalization rounds. A compression round is identical to a + finalization round and this round function is called SipRound. Given a 128-bit key k and a + (possibly empty) byte string m, SipHash-c-d returns a 64-bit value..." + + + + SipHash-2-4 + + + SipHash-c-d + the number of compression rounds + the number of finalization rounds + + + + Implementation of the Skein parameterised MAC function in 256, 512 and 1024 bit block sizes, + based on the Threefish tweakable block cipher. + + + This is the 1.3 version of Skein defined in the Skein hash function submission to the NIST SHA-3 + competition in October 2010. +

+ Skein was designed by Niels Ferguson - Stefan Lucks - Bruce Schneier - Doug Whiting - Mihir + Bellare - Tadayoshi Kohno - Jon Callas - Jesse Walker. + + + + + +

+ 256 bit block size - Skein-256 + +
+ + + 512 bit block size - Skein-512 + + + + + 1024 bit block size - Skein-1024 + + + + + Constructs a Skein MAC with an internal state size and output size. + + the internal state size in bits - one of or + . + the output/MAC size to produce in bits, which must be an integral number of + bytes. + + + + Optionally initialises the Skein digest with the provided parameters. + + See for details on the parameterisation of the Skein hash function. + the parameters to apply to this engine, or null to use no parameters. + + + + This exception is thrown whenever a cipher requires a change of key, iv + or similar after x amount of bytes enciphered + + + + implements Cipher-Block-Chaining (CBC) mode on top of a simple cipher. + + + Basic constructor. + + @param cipher the block cipher to be used as the basis of chaining. + + + return the underlying block cipher that we are wrapping. + + @return the underlying block cipher that we are wrapping. + + + Initialise the cipher and, possibly, the initialisation vector (IV). + If an IV isn't passed as part of the parameter, the IV will be all zeros. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the algorithm name and mode. + + @return the name of the underlying algorithm followed by "/CBC". + + + return the block size of the underlying cipher. + + @return the block size of the underlying cipher. + + + Process one block of input from the array in and write it to + the out array. + + @param in the array containing the input data. + @param inOff offset into the in array the data starts at. + @param out the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + reset the chaining vector back to the IV and reset the underlying + cipher. + + + Do the appropriate chaining step for CBC mode encryption. + + @param in the array containing the data to be encrypted. + @param inOff offset into the in array the data starts at. + @param out the array the encrypted data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + Do the appropriate chaining step for CBC mode decryption. + + @param in the array containing the data to be decrypted. + @param inOff offset into the in array the data starts at. + @param out the array the decrypted data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + Implements the Counter with Cipher Block Chaining mode (CCM) detailed in + NIST Special Publication 800-38C. +

+ Note: this mode is a packet mode - it needs all the data up front. +

+
+ + Basic constructor. + + @param cipher the block cipher to be used. + + + return the underlying block cipher that we are wrapping. + + @return the underlying block cipher that we are wrapping. + + + Returns a byte array containing the mac calculated as part of the + last encrypt or decrypt operation. + + @return the last mac calculated. + + + Process a packet of data for either CCM decryption or encryption. + + @param in data for processing. + @param inOff offset at which data starts in the input array. + @param inLen length of the data in the input array. + @return a byte array containing the processed input.. + @throws IllegalStateException if the cipher is not appropriately set up. + @throws InvalidCipherTextException if the input data is truncated or the mac check fails. + + + Process a packet of data for either CCM decryption or encryption. + + @param in data for processing. + @param inOff offset at which data starts in the input array. + @param inLen length of the data in the input array. + @param output output array. + @param outOff offset into output array to start putting processed bytes. + @return the number of bytes added to output. + @throws IllegalStateException if the cipher is not appropriately set up. + @throws InvalidCipherTextException if the input data is truncated or the mac check fails. + @throws DataLengthException if output buffer too short. + + + implements a Cipher-FeedBack (CFB) mode on top of a simple cipher. + + + Basic constructor. + + @param cipher the block cipher to be used as the basis of the + feedback mode. + @param blockSize the block size in bits (note: a multiple of 8) + + + return the underlying block cipher that we are wrapping. + + @return the underlying block cipher that we are wrapping. + + + Initialise the cipher and, possibly, the initialisation vector (IV). + If an IV isn't passed as part of the parameter, the IV will be all zeros. + An IV which is too short is handled in FIPS compliant fashion. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the algorithm name and mode. + + @return the name of the underlying algorithm followed by "/CFB" + and the block size in bits. + + + return the block size we are operating at. + + @return the block size we are operating at (in bytes). + + + Process one block of input from the array in and write it to + the out array. + + @param in the array containing the input data. + @param inOff offset into the in array the data starts at. + @param out the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + Do the appropriate processing for CFB mode encryption. + + @param in the array containing the data to be encrypted. + @param inOff offset into the in array the data starts at. + @param out the array the encrypted data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + Do the appropriate processing for CFB mode decryption. + + @param in the array containing the data to be decrypted. + @param inOff offset into the in array the data starts at. + @param out the array the encrypted data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + reset the chaining vector back to the IV and reset the underlying + cipher. + + + A Cipher Text Stealing (CTS) mode cipher. CTS allows block ciphers to + be used to produce cipher text which is the same outLength as the plain text. + + + Create a buffered block cipher that uses Cipher Text Stealing + + @param cipher the underlying block cipher this buffering object wraps. + + + return the size of the output buffer required for an update of 'length' bytes. + + @param length the outLength of the input. + @return the space required to accommodate a call to update + with length bytes of input. + + + return the size of the output buffer required for an update plus a + doFinal with an input of length bytes. + + @param length the outLength of the input. + @return the space required to accommodate a call to update and doFinal + with length bytes of input. + + + process a single byte, producing an output block if necessary. + + @param in the input byte. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + process an array of bytes, producing output if necessary. + + @param in the input byte array. + @param inOff the offset at which the input data starts. + @param length the number of bytes to be copied out of the input array. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + Process the last block in the buffer. + + @param out the array the block currently being held is copied into. + @param outOff the offset at which the copying starts. + @return the number of output bytes copied to out. + @exception DataLengthException if there is insufficient space in out for + the output. + @exception InvalidOperationException if the underlying cipher is not + initialised. + @exception InvalidCipherTextException if cipher text decrypts wrongly (in + case the exception will never Get thrown). + + + A Two-Pass Authenticated-Encryption Scheme Optimized for Simplicity and + Efficiency - by M. Bellare, P. Rogaway, D. Wagner. + + http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf + + EAX is an AEAD scheme based on CTR and OMAC1/CMAC, that uses a single block + cipher to encrypt and authenticate data. It's on-line (the length of a + message isn't needed to begin processing it), has good performances, it's + simple and provably secure (provided the underlying block cipher is secure). + + Of course, this implementations is NOT thread-safe. + + + Constructor that accepts an instance of a block cipher engine. + + @param cipher the engine to use + + + + Implements the Galois/Counter mode (GCM) detailed in + NIST Special Publication 800-38D. + + + + + MAC sizes from 32 bits to 128 bits (must be a multiple of 8) are supported. The default is 128 bits. + Sizes less than 96 are not recommended, but are supported for specialized applications. + + + + GCM-SIV Mode. +

It should be noted that the specified limit of 236 bytes is not supported. This is because all bytes are + cached in a ByteArrayOutputStream object (which has a limit of a little less than 231 bytes), + and are output on the DoFinal() call (which can only process a maximum of 231 bytes).

+

The practical limit of 231 - 24 bytes is policed, and attempts to breach the limit will be rejected

+

In order to properly support the higher limit, an extended form of ByteArrayOutputStream would be needed + which would use multiple arrays to store the data. In addition, a new doOutput method would be required (similar + to that in XOF digests), which would allow the data to be output over multiple calls. Alternatively an extended + form of ByteArrayInputStream could be used to deliver the data.

+
+ + The buffer length. + + + The halfBuffer length. + + + The nonce length. + + + The maximum data length (AEAD/PlainText). Due to implementation constraints this is restricted to the maximum + array length (https://programming.guide/java/array-maximum-length.html) minus the BUFLEN to allow for the MAC + + + The top bit mask. + + + The addition constant. + + + The initialisation flag. + + + The aeadComplete flag. + + + The cipher. + + + The multiplier. + + + The gHash buffer. + + + The reverse buffer. + + + The aeadHasher. + + + The dataHasher. + + + The plainDataStream. + + + The encryptedDataStream (decryption only). + + + Are we encrypting? + + + The initialAEAD. + + + The nonce. + + + The flags. + + + Constructor. + + + Constructor. + @param pCipher the underlying cipher + + + Constructor. + @param pCipher the underlying cipher + @param pMultiplier the multiplier + + + check AEAD status. + @param pLen the aeadLength + + + check status. + @param pLen the dataLength + + + Reset Streams. + + + Obtain buffer length (allowing for null). + @param pBuffer the buffere + @return the length + + + Check buffer. + @param pBuffer the buffer + @param pOffset the offset + @param pLen the length + @param pOutput is this an output buffer? + + + encrypt data stream. + @param pCounter the counter + @param pTarget the target buffer + @param pOffset the target offset + @return the length of data encrypted + + + decrypt data stream. + @throws InvalidCipherTextException on data too short or mac check failed + + + calculate tag. + @return the calculated tag + + + complete polyVAL. + @return the calculated value + + + process lengths. + + + perform the next GHASH step. + @param pNext the next value + + + + xor a full block buffer. + @param pLeft the left operand and result + @param pRight the right operand + + + xor a partial block buffer. + @param pLeft the left operand and result + @param pRight the right operand + @param pOffset the offset in the right operand + @param pLength the length of data in the right operand + + + increment the counter. + @param pCounter the counter to increment + + + multiply by X. + @param pValue the value to adjust + + + Derive Keys. + @param pKey the keyGeneration key + + + Hash Control. + + + Cache. + + + Single byte cache. + + + Count of active bytes in cache. + + + Count of hashed bytes. + + + Obtain the count of bytes hashed. + @return the count + + + Reset the hasher. + + + update hash. + @param pByte the byte + + + update hash. + @param pBuffer the buffer + @param pOffset the offset within the buffer + @param pLen the length of data + + + complete hash. + + + implements the GOST 28147 OFB counter mode (GCTR). + + + Basic constructor. + + @param cipher the block cipher to be used as the basis of the + counter mode (must have a 64 bit block size). + + + return the underlying block cipher that we are wrapping. + + @return the underlying block cipher that we are wrapping. + + + Initialise the cipher and, possibly, the initialisation vector (IV). + If an IV isn't passed as part of the parameter, the IV will be all zeros. + An IV which is too short is handled in FIPS compliant fashion. + + @param encrypting if true the cipher is initialised for + encryption, if false for decryption. + @param parameters the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is inappropriate. + + + return the algorithm name and mode. + + @return the name of the underlying algorithm followed by "/GCTR" + and the block size in bits + + + return the block size we are operating at (in bytes). + + @return the block size we are operating at (in bytes). + + + Process one block of input from the array in and write it to + the out array. + + @param in the array containing the input data. + @param inOff offset into the in array the data starts at. + @param out the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + reset the feedback vector back to the IV and reset the underlying + cipher. + + + An IAeadCipher based on an IBlockCipher. + + + The block size for this cipher, in bytes. + + + The block cipher underlying this algorithm. + + + + A cipher mode that includes authenticated encryption with a streaming mode and optional + associated data. + + + Implementations of this interface may operate in a packet mode (where all input data is + buffered and processed during the call to DoFinal, or in a streaming mode (where output + data is incrementally produced with each call to ProcessByte or ProcessBytes. This is + important to consider during decryption: in a streaming mode, unauthenticated plaintext + data may be output prior to the call to DoFinal that results in an authentication failure. + The higher level protocol utilising this cipher must ensure the plaintext data is handled + appropriately until the end of data is reached and the entire ciphertext is authenticated. + + + + + The name of the algorithm this cipher implements. + + + Initialise the cipher. + Parameter can either be an AeadParameters or a ParametersWithIV object. + Initialise for encryption if true, for decryption if false. + The key or other data required by the cipher. + + + Add a single byte to the associated data check. + If the implementation supports it, this will be an online operation and will not retain the associated data. + The byte to be processed. + + + Add a sequence of bytes to the associated data check. + If the implementation supports it, this will be an online operation and will not retain the associated data. + The input byte array. + The offset into the input array where the data to be processed starts. + The number of bytes to be processed. + + + Encrypt/decrypt a single byte. + + @param input the byte to be processed. + @param outBytes the output buffer the processed byte goes into. + @param outOff the offset into the output byte array the processed data starts at. + @return the number of bytes written to out. + @exception DataLengthException if the output buffer is too small. + + + Process a block of bytes from in putting the result into out. + + @param inBytes the input byte array. + @param inOff the offset into the in array where the data to be processed starts. + @param len the number of bytes to be processed. + @param outBytes the output buffer the processed bytes go into. + @param outOff the offset into the output byte array the processed data starts at. + @return the number of bytes written to out. + @exception DataLengthException if the output buffer is too small. + + + Finish the operation either appending or verifying the MAC at the end of the data. + + @param outBytes space for any resulting output data. + @param outOff offset into out to start copying the data at. + @return number of bytes written into out. + @throws InvalidOperationException if the cipher is in an inappropriate state. + @throws InvalidCipherTextException if the MAC fails to match. + + + Return the value of the MAC associated with the last stream processed. + + @return MAC for plaintext data. + + + Return the size of the output buffer required for a ProcessBytes + an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to ProcessBytes + with len bytes of input. + + + Return the size of the output buffer required for a ProcessBytes plus a + DoFinal with an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to ProcessBytes and DoFinal + with len bytes of input. + + + + Reset the cipher to the same state as it was after the last init (if there was one). + + + + + Base constructor. Nb value is set to 4. + + base cipher to use under CCM. + + + + Constructor allowing Nb configuration. + + Nb is a parameter specified in CCM mode of DSTU7624 standard. + This parameter specifies maximum possible length of input.It should + be calculated as follows: Nb = 1 / 8 * (-3 + log[2]Nmax) + 1, + where Nmax - length of input message in bits.For practical reasons + Nmax usually less than 4Gb, e.g. for Nmax = 2^32 - 1, Nb = 4. + + base cipher to use under CCM. + Nb value to use. + + + Implements a Gamming or Counter (CTR) mode on top of a DSTU 7624 block cipher. + + + Basic constructor. + + @param cipher the block cipher to be used as the basis of the + feedback mode. + + + return the underlying block cipher that we are wrapping. + + @return the underlying block cipher that we are wrapping. + + + Initialise the cipher and, possibly, the initialisation vector (IV). + If an IV isn't passed as part of the parameter, the IV will be all zeros. + An IV which is too short is handled in FIPS compliant fashion. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the algorithm name and mode. + + @return the name of the underlying algorithm followed by "/KCTR" + and the block size in bits. + + + return the block size we are operating at. + + @return the block size we are operating at (in bytes). + + + Process one block of input from the array in and write it to + the out array. + + @param input the array containing the input data. + @param inOff offset into the in array the data starts at. + @param output the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + reset the chaining vector back to the IV and reset the underlying + cipher. + + + An implementation of RFC 7253 on The OCB + Authenticated-Encryption Algorithm, licensed per: + +

License for + Open-Source Software Implementations of OCB (Jan 9, 2013) - 'License 1'
+ Under this license, you are authorized to make, use, and distribute open-source software + implementations of OCB. This license terminates for you if you sue someone over their open-source + software implementation of OCB claiming that you have a patent covering their implementation. +

+ This is a non-binding summary of a legal document (the link above). The parameters of the license + are specified in the license document and that document is controlling.

+
+ + implements a Output-FeedBack (OFB) mode on top of a simple cipher. + + + Basic constructor. + + @param cipher the block cipher to be used as the basis of the + feedback mode. + @param blockSize the block size in bits (note: a multiple of 8) + + + return the underlying block cipher that we are wrapping. + + @return the underlying block cipher that we are wrapping. + + + Initialise the cipher and, possibly, the initialisation vector (IV). + If an IV isn't passed as part of the parameter, the IV will be all zeros. + An IV which is too short is handled in FIPS compliant fashion. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the algorithm name and mode. + + @return the name of the underlying algorithm followed by "/OFB" + and the block size in bits + + + return the block size we are operating at (in bytes). + + @return the block size we are operating at (in bytes). + + + Process one block of input from the array in and write it to + the out array. + + @param in the array containing the input data. + @param inOff offset into the in array the data starts at. + @param out the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + reset the feedback vector back to the IV and reset the underlying + cipher. + + + * Implements OpenPGP's rather strange version of Cipher-FeedBack (CFB) mode + * on top of a simple cipher. This class assumes the IV has been prepended + * to the data stream already, and just accomodates the reset after + * (blockSize + 2) bytes have been read. + *

+ * For further info see RFC 2440. + *

+
+ + Basic constructor. + + @param cipher the block cipher to be used as the basis of the + feedback mode. + + + return the underlying block cipher that we are wrapping. + + @return the underlying block cipher that we are wrapping. + + + return the algorithm name and mode. + + @return the name of the underlying algorithm followed by "/PGPCFB" + and the block size in bits. + + + return the block size we are operating at. + + @return the block size we are operating at (in bytes). + + + Process one block of input from the array in and write it to + the out array. + + @param in the array containing the input data. + @param inOff offset into the in array the data starts at. + @param out the array the output data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + reset the chaining vector back to the IV and reset the underlying + cipher. + + + Initialise the cipher and, possibly, the initialisation vector (IV). + If an IV isn't passed as part of the parameter, the IV will be all zeros. + An IV which is too short is handled in FIPS compliant fashion. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param parameters the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + Encrypt one byte of data according to CFB mode. + @param data the byte to encrypt + @param blockOff offset in the current block + @returns the encrypted byte + + + Do the appropriate processing for CFB IV mode encryption. + + @param in the array containing the data to be encrypted. + @param inOff offset into the in array the data starts at. + @param out the array the encrypted data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + Do the appropriate processing for CFB IV mode decryption. + + @param in the array containing the data to be decrypted. + @param inOff offset into the in array the data starts at. + @param out the array the encrypted data will be copied into. + @param outOff the offset into the out array the output will start at. + @exception DataLengthException if there isn't enough data in in, or + space in out. + @exception InvalidOperationException if the cipher isn't initialised. + @return the number of bytes processed and produced. + + + Implements the Segmented Integer Counter (SIC) mode on top of a simple + block cipher. + + + Basic constructor. + + @param c the block cipher to be used. + + + return the underlying block cipher that we are wrapping. + + @return the underlying block cipher that we are wrapping. + + + Return the digest algorithm using one of the standard JCA string + representations rather than the algorithm identifier (if possible). + + + + Calculator factory class for signature generation in ASN.1 based profiles that use an AlgorithmIdentifier to preserve + signature algorithm details. + + + + + Base constructor. + + The name of the signature algorithm to use. + The private key to be used in the signing operation. + + + + Constructor which also specifies a source of randomness to be used if one is required. + + The name of the signature algorithm to use. + The private key to be used in the signing operation. + The source of randomness to be used in signature calculation. + + + + Allows enumeration of the signature names supported by the verifier provider. + + + + + Verifier class for signature verification in ASN.1 based profiles that use an AlgorithmIdentifier to preserve + signature algorithm details. + + + + + Base constructor. + + The name of the signature algorithm to use. + The public key to be used in the verification operation. + + + + Provider class which supports dynamic creation of signature verifiers. + + + + + Base constructor - specify the public key to be used in verification. + + The public key to be used in creating verifiers provided by this object. + + + + Allows enumeration of the signature names supported by the verifier provider. + + + + Block cipher padders are expected to conform to this interface + + + Initialise the padder. + + @param param parameters, if any required. + + + Return the name of the algorithm the cipher implements. + + @return the name of the algorithm the cipher implements. + + + add the pad bytes to the passed in block, returning the + number of bytes added. + + + return the number of pad bytes present in the block. + @exception InvalidCipherTextException if the padding is badly formed + or invalid. + + + A padder that adds ISO10126-2 padding to a block. + + + Initialise the padder. + + @param random a SecureRandom if available. + + + Return the name of the algorithm the cipher implements. + + @return the name of the algorithm the cipher implements. + + + add the pad bytes to the passed in block, returning the + number of bytes added. + + + return the number of pad bytes present in the block. + + + A padder that adds the padding according to the scheme referenced in + ISO 7814-4 - scheme 2 from ISO 9797-1. The first byte is 0x80, rest is 0x00 + + + Initialise the padder. + + @param random - a SecureRandom if available. + + + Return the name of the algorithm the padder implements. + + @return the name of the algorithm the padder implements. + + + add the pad bytes to the passed in block, returning the + number of bytes added. + + + return the number of pad bytes present in the block. + + + A wrapper class that allows block ciphers to be used to process data in + a piecemeal fashion with padding. The PaddedBufferedBlockCipher + outputs a block only when the buffer is full and more data is being added, + or on a doFinal (unless the current block in the buffer is a pad block). + The default padding mechanism used is the one outlined in Pkcs5/Pkcs7. + + + Create a buffered block cipher with the desired padding. + + @param cipher the underlying block cipher this buffering object wraps. + @param padding the padding type. + + + Create a buffered block cipher Pkcs7 padding + + @param cipher the underlying block cipher this buffering object wraps. + + + initialise the cipher. + + @param forEncryption if true the cipher is initialised for + encryption, if false for decryption. + @param param the key and other data required by the cipher. + @exception ArgumentException if the parameters argument is + inappropriate. + + + return the minimum size of the output buffer required for an update + plus a doFinal with an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to update and doFinal + with len bytes of input. + + + return the size of the output buffer required for an update + an input of len bytes. + + @param len the length of the input. + @return the space required to accommodate a call to update + with len bytes of input. + + + process a single byte, producing an output block if necessary. + + @param in the input byte. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + process an array of bytes, producing output if necessary. + + @param in the input byte array. + @param inOff the offset at which the input data starts. + @param len the number of bytes to be copied out of the input array. + @param out the space for any output that might be produced. + @param outOff the offset from which the output will be copied. + @return the number of output bytes copied to out. + @exception DataLengthException if there isn't enough space in out. + @exception InvalidOperationException if the cipher isn't initialised. + + + Process the last block in the buffer. If the buffer is currently + full and padding needs to be added a call to doFinal will produce + 2 * GetBlockSize() bytes. + + @param out the array the block currently being held is copied into. + @param outOff the offset at which the copying starts. + @return the number of output bytes copied to out. + @exception DataLengthException if there is insufficient space in out for + the output or we are decrypting and the input is not block size aligned. + @exception InvalidOperationException if the underlying cipher is not + initialised. + @exception InvalidCipherTextException if padding is expected and not found. + + + A padder that adds Pkcs7/Pkcs5 padding to a block. + + + Initialise the padder. + + @param random - a SecureRandom if available. + + + Return the name of the algorithm the cipher implements. + + @return the name of the algorithm the cipher implements. + + + add the pad bytes to the passed in block, returning the + number of bytes added. + + + return the number of pad bytes present in the block. + + + A padder that adds Trailing-Bit-Compliment padding to a block. +

+ This padding pads the block out compliment of the last bit + of the plain text. +

+
+
+ + Return the name of the algorithm the cipher implements. + the name of the algorithm the cipher implements. + + + + Initialise the padder. + - a SecureRandom if available. + + + + add the pad bytes to the passed in block, returning the + number of bytes added. +

+ Note: this assumes that the last block of plain text is always + passed to it inside in. i.e. if inOff is zero, indicating the + entire block is to be overwritten with padding the value of in + should be the same as the last block of plain text. +

+
+
+ + return the number of pad bytes present in the block. + + + A padder that adds X9.23 padding to a block - if a SecureRandom is + passed in random padding is assumed, otherwise padding with zeros is used. + + + Initialise the padder. + + @param random a SecureRandom if one is available. + + + Return the name of the algorithm the cipher implements. + + @return the name of the algorithm the cipher implements. + + + add the pad bytes to the passed in block, returning the + number of bytes added. + + + return the number of pad bytes present in the block. + + + A padder that adds Null byte padding to a block. + + + Return the name of the algorithm the cipher implements. + + + the name of the algorithm the cipher implements. + + + + Initialise the padder. + + + - a SecureRandom if available. + + + + add the pad bytes to the passed in block, returning the + number of bytes added. + + + + return the number of pad bytes present in the block. + + + Base constructor. + + @param key key to be used by underlying cipher + @param macSize macSize in bits + @param nonce nonce to be used + + + Base constructor. + + @param key key to be used by underlying cipher + @param macSize macSize in bits + @param nonce nonce to be used + @param associatedText associated text, if any + + + Base constructor. + + @param key key to be used by underlying cipher + @param macSize macSize in bits + @param nonce nonce to be used + @param associatedText associated text, if any + + + return true if the passed in key is a DES-EDE weak key. + + @param key bytes making up the key + @param offset offset into the byte array the key starts at + @param length number of bytes making up the key + + + return true if the passed in key is a DES-EDE weak key. + + @param key bytes making up the key + @param offset offset into the byte array the key starts at + + + return true if the passed in key is a real 2/3 part DES-EDE key. + + @param key bytes making up the key + @param offset offset into the byte array the key starts at + + + return true if the passed in key is a real 2 part DES-EDE key. + + @param key bytes making up the key + @param offset offset into the byte array the key starts at + + + return true if the passed in key is a real 3 part DES-EDE key. + + @param key bytes making up the key + @param offset offset into the byte array the key starts at + + + DES has 16 weak keys. This method will check + if the given DES key material is weak or semi-weak. + Key material that is too short is regarded as weak. +

+ See "Applied + Cryptography" by Bruce Schneier for more information. +

+ @return true if the given DES key material is weak or semi-weak, + false otherwise. +
+ + DES Keys use the LSB as the odd parity bit. This can + be used to check for corrupt keys. + + @param bytes the byte array to set the parity on. + + + The minimum bitlength of the private value. + + + The bitlength of the private value. + + + Construct without a usage index, this will do a random construction of G. + + @param L desired length of prime P in bits (the effective key size). + @param N desired length of prime Q in bits. + @param certainty certainty level for prime number generation. + @param random the source of randomness to use. + + + Construct for a specific usage index - this has the effect of using verifiable canonical generation of G. + + @param L desired length of prime P in bits (the effective key size). + @param N desired length of prime Q in bits. + @param certainty certainty level for prime number generation. + @param random the source of randomness to use. + @param usageIndex a valid usage index. + + + return the generator - g + + + return private value limit - l + + + Parameter class for the HkdfBytesGenerator class. + + + Generates parameters for HKDF, specifying both the optional salt and + optional info. Step 1: Extract won't be skipped. + + @param ikm the input keying material or seed + @param salt the salt to use, may be null for a salt for hashLen zeros + @param info the info to use, may be null for an info field of zero bytes + + + Factory method that makes the HKDF skip the extract part of the key + derivation function. + + @param ikm the input keying material or seed, directly used for step 2: + Expand + @param info the info to use, may be null for an info field of zero bytes + @return HKDFParameters that makes the implementation skip step 1 + + + Returns the input keying material or seed. + + @return the keying material + + + Returns if step 1: extract has to be skipped or not + + @return true for skipping, false for no skipping of step 1 + + + Returns the salt, or null if the salt should be generated as a byte array + of HashLen zeros. + + @return the salt, or null + + + Returns the info field, which may be empty (null is converted to empty). + + @return the info field, never null + + + parameters for using an integrated cipher in stream mode. + + + @param derivation the derivation parameter for the KDF function. + @param encoding the encoding parameter for the KDF function. + @param macKeySize the size of the MAC key (in bits). + + + @param derivation the derivation parameter for the KDF function. + @param encoding the encoding parameter for the KDF function. + @param macKeySize the size of the MAC key (in bits). + @param cipherKeySize the size of the associated Cipher key (in bits). + + + parameters for Key derivation functions for ISO-18033 + + + + Base constructor - suffix fixed input data only. + + the KDF seed + fixed input data to follow counter. + length of the counter in bits + + + + Base constructor - prefix and suffix fixed input data. + + the KDF seed + fixed input data to precede counter + fixed input data to follow counter. + length of the counter in bits. + + + parameters for Key derivation functions for IEEE P1363a + + + Parameters for mask derivation functions. + + + Parameters for NaccacheStern public private key generation. For details on + this cipher, please see + + http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf + + + Parameters for generating a NaccacheStern KeyPair. + + @param random + The source of randomness + @param strength + The desired strength of the Key in Bits + @param certainty + the probability that the generated primes are not really prime + as integer: 2^(-certainty) is then the probability + @param countSmallPrimes + How many small key factors are desired + + + * Parameters for a NaccacheStern KeyPair. + * + * @param random + * The source of randomness + * @param strength + * The desired strength of the Key in Bits + * @param certainty + * the probability that the generated primes are not really prime + * as integer: 2^(-certainty) is then the probability + * @param cntSmallPrimes + * How many small key factors are desired + * @param debug + * Ignored + + + @return Returns the certainty. + + + @return Returns the countSmallPrimes. + + + Public key parameters for NaccacheStern cipher. For details on this cipher, + please see + + http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf + + + @param privateKey + + + @return Returns the g. + + + @return Returns the lowerSigmaBound. + + + @return Returns the n. + + + Private key parameters for NaccacheStern cipher. For details on this cipher, + please see + + http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf + + + Constructs a NaccacheSternPrivateKey + + @param g + the public enryption parameter g + @param n + the public modulus n = p*q + @param lowerSigmaBound + the public lower sigma bound up to which data can be encrypted + @param smallPrimes + the small primes, of which sigma is constructed in the right + order + @param phi_n + the private modulus phi(n) = (p-1)(q-1) + + + Cipher parameters with a fixed salt value associated with them. + + + + Parameters for the Skein hash function - a series of byte[] strings identified by integer tags. + + + Parameterised Skein can be used for: +
    +
  • MAC generation, by providing a key.
  • +
  • Randomised hashing, by providing a nonce.
  • +
  • A hash function for digital signatures, associating a + public key with the message digest.
  • +
  • A key derivation function, by providing a + key identifier.
  • +
  • Personalised hashing, by providing a + recommended format or + arbitrary personalisation string.
  • +
+
+ + + +
+ + + The parameter type for a secret key, supporting MAC or KDF functions: 0 + + + + + The parameter type for the Skein configuration block: 4 + + + + + The parameter type for a personalisation string: 8 + + + + + The parameter type for a public key: 12 + + + + + The parameter type for a key identifier string: 16 + + + + + The parameter type for a nonce: 20 + + + + + The parameter type for the message: 48 + + + + + The parameter type for the output transformation: 63 + + + + + Obtains a map of type (int) to value (byte[]) for the parameters tracked in this object. + + + + + Obtains the value of the key parameter, or null if not + set. + + The key. + + + + Obtains the value of the personalisation parameter, or + null if not set. + + + + + Obtains the value of the public key parameter, or + null if not set. + + + + + Obtains the value of the key identifier parameter, or + null if not set. + + + + + Obtains the value of the nonce parameter, or null if + not set. + + + + + A builder for . + + + + + Sets a parameters to apply to the Skein hash function. + + + Parameter types must be in the range 0,5..62, and cannot use the value 48 + (reserved for message body). +

+ Parameters with type < 48 are processed before + the message content, parameters with type > 48 + are processed after the message and prior to output. + + the type of the parameter, in the range 5..62. + the byte sequence of the parameter. + + +

+ Sets the parameter. + +
+ + + Sets the parameter. + + + + + Implements the recommended personalisation format for Skein defined in Section 4.11 of + the Skein 1.3 specification. + + + The format is YYYYMMDD email@address distinguisher, encoded to a byte + sequence using UTF-8 encoding. + + the date the personalised application of the Skein was defined. + the email address of the creation of the personalised application. + an arbitrary personalisation string distinguishing the application. + + + + Sets the parameter. + + + + + Sets the parameter. + + + + + Sets the parameter. + + + + + Constructs a new instance with the parameters provided to this + builder. + + + + Private parameters for an SM2 key exchange. + The ephemeralPrivateKey is used to calculate the random point used in the algorithm. + + + Public parameters for an SM2 key exchange. + In this case the ephemeralPublicKey provides the random point used in the algorithm. + + + + Parameters for tweakable block ciphers. + + + + + Gets the key. + + the key to use, or null to use the current key. + + + + Gets the tweak value. + + The tweak to use, or null to use the current tweak. + + + super class for all Password Based Encyrption (Pbe) parameter generator classes. + + + base constructor. + + + initialise the Pbe generator. + + @param password the password converted into bytes (see below). + @param salt the salt to be mixed with the password. + @param iterationCount the number of iterations the "mixing" function + is to be applied for. + + + return the password byte array. + + @return the password byte array. + + + return the salt byte array. + + @return the salt byte array. + + + return the iteration count. + + @return the iteration count. + + + Generate derived parameters for a key of length keySize. + + @param keySize the length, in bits, of the key required. + @return a parameters object representing a key. + + + Generate derived parameters for a key of length keySize, and + an initialisation vector (IV) of length ivSize. + + @param keySize the length, in bits, of the key required. + @param ivSize the length, in bits, of the iv required. + @return a parameters object representing a key and an IV. + + + Generate derived parameters for a key of length keySize, specifically + for use with a MAC. + + @param keySize the length, in bits, of the key required. + @return a parameters object representing a key. + + + converts a password to a byte array according to the scheme in + Pkcs5 (ascii, no padding) + + @param password a character array representing the password. + @return a byte array representing the password. + + + converts a password to a byte array according to the scheme in + PKCS5 (UTF-8, no padding) + + @param password a character array representing the password. + @return a byte array representing the password. + + + converts a password to a byte array according to the scheme in + Pkcs12 (unicode, big endian, 2 zero pad bytes at the end). + + @param password a character array representing the password. + @return a byte array representing the password. + + + An EntropySourceProvider where entropy generation is based on a SecureRandom output using SecureRandom.generateSeed(). + + + Create a entropy source provider based on the passed in SecureRandom. + + @param secureRandom the SecureRandom to base EntropySource construction on. + @param isPredictionResistant boolean indicating if the SecureRandom is based on prediction resistant entropy or not (true if it is). + + + Return an entropy source that will create bitsRequired bits of entropy on + each invocation of getEntropy(). + + @param bitsRequired size (in bits) of entropy to be created by the provided source. + @return an EntropySource that generates bitsRequired bits of entropy on each call to its getEntropy() method. + + + + Uses RandomNumberGenerator.Create() to get randomness generator + + + + Random generation based on the digest with counter. Calling AddSeedMaterial will + always increase the entropy of the hash. +

+ Internal access to the digest is synchronized so a single one of these can be shared. +

+
+ + A SP800-90A CTR DRBG. + + + Construct a SP800-90A CTR DRBG. +

+ Minimum entropy requirement is the security strength requested. +

+ @param engine underlying block cipher to use to support DRBG + @param keySizeInBits size of the key to use with the block cipher. + @param securityStrength security strength required (in bits) + @param entropySource source of entropy to use for seeding/reseeding. + @param personalizationString personalization string to distinguish this DRBG (may be null). + @param nonce nonce to further distinguish this DRBG (may be null). +
+ + Return the block size (in bits) of the DRBG. + + @return the number of bits produced on each internal round of the DRBG. + + + Populate a passed in array with random data. + + @param output output array for generated bits. + @param additionalInput additional input to be added to the DRBG in this step. + @param predictionResistant true if a reseed should be forced, false otherwise. + + @return number of bits generated, -1 if a reseed required. + + + Reseed the DRBG. + + @param additionalInput additional input to be added to the DRBG in this step. + + + Pad out a key for TDEA, setting odd parity for each byte. + + @param keyMaster + @param keyOff + @param tmp + @param tmpOff + + + Used by both Dual EC and Hash. + + + A SP800-90A Hash DRBG. + + + Construct a SP800-90A Hash DRBG. +

+ Minimum entropy requirement is the security strength requested. +

+ @param digest source digest to use for DRB stream. + @param securityStrength security strength required (in bits) + @param entropySource source of entropy to use for seeding/reseeding. + @param personalizationString personalization string to distinguish this DRBG (may be null). + @param nonce nonce to further distinguish this DRBG (may be null). +
+ + Return the block size (in bits) of the DRBG. + + @return the number of bits produced on each internal round of the DRBG. + + + Populate a passed in array with random data. + + @param output output array for generated bits. + @param additionalInput additional input to be added to the DRBG in this step. + @param predictionResistant true if a reseed should be forced, false otherwise. + + @return number of bits generated, -1 if a reseed required. + + + Reseed the DRBG. + + @param additionalInput additional input to be added to the DRBG in this step. + + + A SP800-90A HMAC DRBG. + + + Construct a SP800-90A Hash DRBG. +

+ Minimum entropy requirement is the security strength requested. +

+ @param hMac Hash MAC to base the DRBG on. + @param securityStrength security strength required (in bits) + @param entropySource source of entropy to use for seeding/reseeding. + @param personalizationString personalization string to distinguish this DRBG (may be null). + @param nonce nonce to further distinguish this DRBG (may be null). +
+ + Return the block size (in bits) of the DRBG. + + @return the number of bits produced on each round of the DRBG. + + + Populate a passed in array with random data. + + @param output output array for generated bits. + @param additionalInput additional input to be added to the DRBG in this step. + @param predictionResistant true if a reseed should be forced, false otherwise. + + @return number of bits generated, -1 if a reseed required. + + + Reseed the DRBG. + + @param additionalInput additional input to be added to the DRBG in this step. + + + Interface to SP800-90A deterministic random bit generators. + + + Return the block size of the DRBG. + + @return the block size (in bits) produced by each round of the DRBG. + + + Populate a passed in array with random data. + + @param output output array for generated bits. + @param additionalInput additional input to be added to the DRBG in this step. + @param predictionResistant true if a reseed should be forced, false otherwise. + + @return number of bits generated, -1 if a reseed required. + + + Reseed the DRBG. + + @param additionalInput additional input to be added to the DRBG in this step. + + + Generate numBytes worth of entropy from the passed in entropy source. + + @param entropySource the entropy source to request the data from. + @param numBytes the number of bytes of entropy requested. + @return a byte array populated with the random data. + + + Generic interface for objects generating random bytes. + + + Add more seed material to the generator. + A byte array to be mixed into the generator's state. + + + Add more seed material to the generator. + A long value to be mixed into the generator's state. + + + Fill byte array with random values. + Array to be filled. + + + Fill byte array with random values. + Array to receive bytes. + Index to start filling at. + Length of segment to fill. + + + + Takes bytes generated by an underling RandomGenerator and reverses the order in + each small window (of configurable size). +

+ Access to internals is synchronized so a single one of these can be shared. +

+
+
+ + Add more seed material to the generator. + A byte array to be mixed into the generator's state. + + + Add more seed material to the generator. + A long value to be mixed into the generator's state. + + + Fill byte array with random values. + Array to be filled. + + + Fill byte array with random values. + Array to receive bytes. + Index to start filling at. + Length of segment to fill. + + + Force a reseed of the DRBG. + optional additional input + + + Builder class for making SecureRandom objects based on SP 800-90A Deterministic Random Bit Generators (DRBG). + + + Basic constructor, creates a builder using an EntropySourceProvider based on the default SecureRandom with + predictionResistant set to false. +

+ Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if + the default SecureRandom does for its generateSeed() call. +

+
+ + Construct a builder with an EntropySourceProvider based on the passed in SecureRandom and the passed in value + for prediction resistance. +

+ Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if + the passed in SecureRandom does for its generateSeed() call. +

+ @param entropySource + @param predictionResistant +
+ + Create a builder which makes creates the SecureRandom objects from a specified entropy source provider. +

+ Note: If this constructor is used any calls to setSeed() in the resulting SecureRandom will be ignored. +

+ @param entropySourceProvider a provider of EntropySource objects. +
+ + Set the personalization string for DRBG SecureRandoms created by this builder + @param personalizationString the personalisation string for the underlying DRBG. + @return the current builder. + + + Set the security strength required for DRBGs used in building SecureRandom objects. + + @param securityStrength the security strength (in bits) + @return the current builder. + + + Set the amount of entropy bits required for seeding and reseeding DRBGs used in building SecureRandom objects. + + @param entropyBitsRequired the number of bits of entropy to be requested from the entropy source on each seed/reseed. + @return the current builder. + + + Build a SecureRandom based on a SP 800-90A Hash DRBG. + + @param digest digest algorithm to use in the DRBG underneath the SecureRandom. + @param nonce nonce value to use in DRBG construction. + @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. + @return a SecureRandom supported by a Hash DRBG. + + + Build a SecureRandom based on a SP 800-90A CTR DRBG. + + @param cipher the block cipher to base the DRBG on. + @param keySizeInBits key size in bits to be used with the block cipher. + @param nonce nonce value to use in DRBG construction. + @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. + @return a SecureRandom supported by a CTR DRBG. + + + Build a SecureRandom based on a SP 800-90A HMAC DRBG. + + @param hMac HMAC algorithm to use in the DRBG underneath the SecureRandom. + @param nonce nonce value to use in DRBG construction. + @param predictionResistant specify whether the underlying DRBG in the resulting SecureRandom should reseed on each request for bytes. + @return a SecureRandom supported by a HMAC DRBG. + + + A thread based seed generator - one source of randomness. +

+ Based on an idea from Marcus Lippert. +

+
+ + Generate seed bytes. Set fast to false for best quality. +

+ If fast is set to true, the code should be round about 8 times faster when + generating a long sequence of random bytes. 20 bytes of random values using + the fast mode take less than half a second on a Nokia e70. If fast is set to false, + it takes round about 2500 ms. +

+ @param numBytes the number of bytes to generate + @param fast true if fast mode should be used +
+ + + Permutation generated by code: + + // First 1850 fractional digit of Pi number. + byte[] key = new BigInteger("14159265358979323846...5068006422512520511").ToByteArray(); + s = 0; + P = new byte[256]; + for (int i = 0; i < 256; i++) + { + P[i] = (byte) i; + } + for (int m = 0; m < 768; m++) + { + s = P[(s + P[m & 0xff] + key[m % key.length]) & 0xff]; + byte temp = P[m & 0xff]; + P[m & 0xff] = P[s & 0xff]; + P[s & 0xff] = temp; + } + + + + Value generated in the same way as P. + + + + @param engine + @param entropySource + + + Populate a passed in array with random data. + + @param output output array for generated bits. + @param predictionResistant true if a reseed should be forced, false otherwise. + + @return number of bits generated, -1 if a reseed required. + + + Reseed the RNG. + + + Basic constructor, creates a builder using an EntropySourceProvider based on the default SecureRandom with + predictionResistant set to false. +

+ Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if + the default SecureRandom does for its generateSeed() call. +

+
+ + Construct a builder with an EntropySourceProvider based on the passed in SecureRandom and the passed in value + for prediction resistance. +

+ Any SecureRandom created from a builder constructed like this will make use of input passed to SecureRandom.setSeed() if + the passed in SecureRandom does for its generateSeed() call. +

+ @param entropySource + @param predictionResistant +
+ + Create a builder which makes creates the SecureRandom objects from a specified entropy source provider. +

+ Note: If this constructor is used any calls to setSeed() in the resulting SecureRandom will be ignored. +

+ @param entropySourceProvider a provider of EntropySource objects. +
+ + Construct a X9.31 secure random generator using the passed in engine and key. If predictionResistant is true the + generator will be reseeded on each request. + + @param engine a block cipher to use as the operator. + @param key the block cipher key to initialise engine with. + @param predictionResistant true if engine to be reseeded on each use, false otherwise. + @return a SecureRandom. + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + Generate a signature for the message we've been loaded with using + the key we were initialised with. + + + true if the internal state represents the signature described in the passed in array. + + + Reset the internal state + + + The Digital Signature Algorithm - as described in "Handbook of Applied + Cryptography", pages 452 - 453. + + + Default configuration, random K values. + + + Configuration with an alternate, possibly deterministic calculator of K. + + @param kCalculator a K value calculator. + + + Generate a signature for the given message using the key we were + initialised with. For conventional DSA the message should be a SHA-1 + hash of the message of interest. + + @param message the message that will be verified later. + + + return true if the value r and s represent a DSA signature for + the passed in message for standard DSA the message should be a + SHA-1 hash of the real message to be verified. + + + EC-DSA as described in X9.62 + + + Default configuration, random K values. + + + Configuration with an alternate, possibly deterministic calculator of K. + + @param kCalculator a K value calculator. + + + Generate a signature for the given message using the key we were + initialised with. For conventional DSA the message should be a SHA-1 + hash of the message of interest. + + @param message the message that will be verified later. + + + return true if the value r and s represent a DSA signature for + the passed in message (for standard DSA the message should be + a SHA-1 hash of the real message to be verified). + + + GOST R 34.10-2001 Signature Algorithm + + + generate a signature for the given message using the key we were + initialised with. For conventional GOST3410 the message should be a GOST3411 + hash of the message of interest. + + @param message the message that will be verified later. + + + return true if the value r and s represent a GOST3410 signature for + the passed in message (for standard GOST3410 the message should be + a GOST3411 hash of the real message to be verified). + + + EC-NR as described in IEEE 1363-2000 + + + generate a signature for the given message using the key we were + initialised with. Generally, the order of the curve should be at + least as long as the hash of the message of interest, and with + ECNR it *must* be at least as long. + + @param digest the digest to be signed. + @exception DataLengthException if the digest is longer than the key allows + + + return true if the value r and s represent a signature for the + message passed in. Generally, the order of the curve should be at + least as long as the hash of the message of interest, and with + ECNR, it *must* be at least as long. But just in case the signer + applied mod(n) to the longer digest, this implementation will + apply mod(n) during verification. + + @param digest the digest to be verified. + @param r the r value of the signature. + @param s the s value of the signature. + @exception DataLengthException if the digest is longer than the key allows + + + initialise the signer for signing or verification. + + @param forSigning + true if for signing, false otherwise + @param parameters + necessary parameters. + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + Generate a signature for the message we've been loaded with using the key + we were initialised with. + + + return true if the internal state represents the signature described in + the passed in array. + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + Generate a signature for the message we've been loaded with using + the key we were initialised with. + + + true if the internal state represents the signature described in the passed in array. + + + Reset the internal state + + + Gost R 34.10-94 Signature Algorithm + + + generate a signature for the given message using the key we were + initialised with. For conventional Gost3410 the message should be a Gost3411 + hash of the message of interest. + + @param message the message that will be verified later. + + + return true if the value r and s represent a Gost3410 signature for + the passed in message for standard Gost3410 the message should be a + Gost3411 hash of the real message to be verified. + + + A deterministic K calculator based on the algorithm in section 3.2 of RFC 6979. + + + Base constructor. + + @param digest digest to build the HMAC on. + + + + An interface for different encoding formats for DSA signatures. + + + + Decode the (r, s) pair of a DSA signature. + The order of the group that r, s belong to. + An encoding of the (r, s) pair of a DSA signature. + The (r, s) of a DSA signature, stored in an array of exactly two elements, r followed by s. + + + Encode the (r, s) pair of a DSA signature. + The order of the group that r, s belong to. + The r value of a DSA signature. + The s value of a DSA signature. + An encoding of the DSA signature given by the provided (r, s) pair. + + + Interface define calculators of K values for DSA/ECDSA. + + + Return true if this calculator is deterministic, false otherwise. + + @return true if deterministic, otherwise false. + + + Non-deterministic initialiser. + + @param n the order of the DSA group. + @param random a source of randomness. + + + Deterministic initialiser. + + @param n the order of the DSA group. + @param d the DSA private value. + @param message the message being signed. + + + Return the next valid value of K. + + @return a K value. + + + ISO9796-2 - mechanism using a hash function with recovery (scheme 2 and 3). +

+ Note: the usual length for the salt is the length of the hash + function used in bytes.

+
+
+ + + Return a reference to the recoveredMessage message. + + The full/partial recoveredMessage message. + + + + + Generate a signer with either implicit or explicit trailers for ISO9796-2, scheme 2 or 3. + + base cipher to use for signature creation/verification + digest to use. + length of salt in bytes. + whether or not the trailer is implicit or gives the hash. + + + Constructor for a signer with an explicit digest trailer. + + + cipher to use. + + digest to sign with. + + length of salt in bytes. + + + + Initialise the signer. + true if for signing, false if for verification. + parameters for signature generation/verification. If the + parameters are for generation they should be a ParametersWithRandom, + a ParametersWithSalt, or just an RsaKeyParameters object. If RsaKeyParameters + are passed in a SecureRandom will be created. + + if wrong parameter type or a fixed + salt is passed in which is the wrong length. + + + + compare two byte arrays - constant time. + + + clear possible sensitive data + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + reset the internal state + + + Generate a signature for the loaded message using the key we were + initialised with. + + + + return true if the signature represents a ISO9796-2 signature + for the passed in message. + + + + + Return true if the full message was recoveredMessage. + + true on full message recovery, false otherwise, or if not sure. + + + + int to octet string. + int to octet string. + + + long to octet string. + + + mask generator function, as described in Pkcs1v2. + + + ISO9796-2 - mechanism using a hash function with recovery (scheme 1) + + + + Return a reference to the recoveredMessage message. + + The full/partial recoveredMessage message. + + + + + Generate a signer with either implicit or explicit trailers for ISO9796-2. + + base cipher to use for signature creation/verification + digest to use. + whether or not the trailer is implicit or gives the hash. + + + Constructor for a signer with an explicit digest trailer. + + + cipher to use. + + digest to sign with. + + + + compare two byte arrays - constant time. + + + clear possible sensitive data + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + reset the internal state + + + Generate a signature for the loaded message using the key we were + initialised with. + + + + return true if the signature represents a ISO9796-2 signature + for the passed in message. + + + + + Return true if the full message was recoveredMessage. + + true on full message recovery, false otherwise. + + + + RSA-PSS as described in Pkcs# 1 v 2.1. +

+ Note: the usual value for the salt length is the number of + bytes in the hash function.

+
+
+ + Basic constructor + the asymmetric cipher to use. + the digest to use. + the length of the salt to use (in bytes). + + + Basic constructor + the asymmetric cipher to use. + the digest to use. + the fixed salt to be used. + + + clear possible sensitive data + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + reset the internal state + + + Generate a signature for the message we've been loaded with using + the key we were initialised with. + + + + return true if the internal state represents the signature described + in the passed in array. + + + + int to octet string. + + + mask generator function, as described in Pkcs1v2. + + + + Load oid table. + + + + Initialise the signer for signing or verification. + + @param forSigning true if for signing, false otherwise + @param param necessary parameters. + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + Generate a signature for the message we've been loaded with using + the key we were initialised with. + + + return true if the internal state represents the signature described + in the passed in array. + + + The SM2 Digital Signature algorithm. + + + X9.31-1998 - signing using a hash. +

+ The message digest hash, H, is encapsulated to form a byte string as follows +

+
+            EB = 06 || PS || 0xBA || H || TRAILER
+            
+ where PS is a string of bytes all of value 0xBB of length such that |EB|=|n|, and TRAILER is the ISO/IEC 10118 part number† for the digest. The byte string, EB, is converted to an integer value, the message representative, f. +
+ + Generate a signer with either implicit or explicit trailers for X9.31. + + @param cipher base cipher to use for signature creation/verification + @param digest digest to use. + @param implicit whether or not the trailer is implicit or gives the hash. + + + Constructor for a signer with an explicit digest trailer. + + @param cipher cipher to use. + @param digest digest to sign with. + + + clear possible sensitive data + + + update the internal digest with the byte b + + + update the internal digest with the byte array in + + + reset the internal state + + + generate a signature for the loaded message using the key we were + initialised with. + + + return true if the signature represents a ISO9796-2 signature + for the passed in message. + + + + A simple block result object which just carries a byte array. + + + + + Base constructor - a wrapper for the passed in byte array. + + The byte array to be wrapped. + + + + Return the number of bytes in the result + + The length of the result in bytes. + + + + Return the final result of the operation. + + A block of bytes, representing the result of an operation. + + + + Store the final result of the operation by copying it into the destination array. + + The number of bytes copied into destination. + The byte array to copy the result into. + The offset into destination to start copying the result at. + + + a wrapper for block ciphers with a single byte block size, so that they + can be treated like stream ciphers. + + + basic constructor. + + @param cipher the block cipher to be wrapped. + @exception ArgumentException if the cipher has a block size other than + one. + + + initialise the underlying cipher. + + @param forEncryption true if we are setting up for encryption, false otherwise. + @param param the necessary parameters for the underlying cipher to be initialised. + + + return the name of the algorithm we are wrapping. + + @return the name of the algorithm we are wrapping. + + + encrypt/decrypt a single byte returning the result. + + @param in the byte to be processed. + @return the result of processing the input byte. + + + process a block of bytes from in putting the result into out. + + @param in the input byte array. + @param inOff the offset into the in array where the data to be processed starts. + @param len the number of bytes to be processed. + @param out the output buffer the processed bytes go into. + @param outOff the offset into the output byte array the processed data stars at. + @exception DataLengthException if the output buffer is too small. + + + reset the underlying cipher. This leaves it in the same state + it was at after the last init (if there was one). + + + + + + + + + + + + + + + + + + + RFC 5246 7.2 + + + + This message notifies the recipient that the sender will not send any more messages on this + connection. Note that as of TLS 1.1, failure to properly close a connection no longer + requires that a session not be resumed. This is a change from TLS 1.0 ("The session becomes + unresumable if any connection is terminated without proper close_notify messages with level + equal to warning.") to conform with widespread implementation practice. + + + An inappropriate message was received. This alert is always fatal and should never be + observed in communication between proper implementations. + + + This alert is returned if a record is received with an incorrect MAC. This alert also MUST be + returned if an alert is sent because a TLSCiphertext decrypted in an invalid way: either it + wasn't an even multiple of the block length, or its padding values, when checked, weren't + correct. This message is always fatal and should never be observed in communication between + proper implementations (except when messages were corrupted in the network). + + + This alert was used in some earlier versions of TLS, and may have permitted certain attacks + against the CBC mode [CBCATT]. It MUST NOT be sent by compliant implementations. + + + A TLSCiphertext record was received that had a length more than 2^14+2048 bytes, or a record + decrypted to a TLSCompressed record with more than 2^14+1024 bytes. This message is always + fatal and should never be observed in communication between proper implementations (except + when messages were corrupted in the network). + + + The decompression function received improper input (e.g., data that would expand to excessive + length). This message is always fatal and should never be observed in communication between + proper implementations. + + + Reception of a handshake_failure alert message indicates that the sender was unable to + negotiate an acceptable set of security parameters given the options available. This is a + fatal error. + + + This alert was used in SSLv3 but not any version of TLS. It MUST NOT be sent by compliant + implementations. + + + A certificate was corrupt, contained signatures that did not verify correctly, etc. + + + A certificate was of an unsupported type. + + + A certificate was revoked by its signer. + + + A certificate has expired or is not currently valid. + + + Some other (unspecified) issue arose in processing the certificate, rendering it + unacceptable. + + + A field in the handshake was out of range or inconsistent with other fields. This message is + always fatal. + + + A valid certificate chain or partial chain was received, but the certificate was not accepted + because the CA certificate could not be located or couldn't be matched with a known, trusted + CA. This message is always fatal. + + + A valid certificate was received, but when access control was applied, the sender decided not + to proceed with negotiation. This message is always fatal. + + + A message could not be decoded because some field was out of the specified range or the + length of the message was incorrect. This message is always fatal and should never be + observed in communication between proper implementations (except when messages were corrupted + in the network). + + + A handshake cryptographic operation failed, including being unable to correctly verify a + signature or validate a Finished message. This message is always fatal. + + + This alert was used in some earlier versions of TLS. It MUST NOT be sent by compliant + implementations. + + + The protocol version the client has attempted to negotiate is recognized but not supported. + (For example, old protocol versions might be avoided for security reasons.) This message is + always fatal. + + + Returned instead of handshake_failure when a negotiation has failed specifically because the + server requires ciphers more secure than those supported by the client. This message is + always fatal. + + + An internal error unrelated to the peer or the correctness of the protocol (such as a memory + allocation failure) makes it impossible to continue. This message is always fatal. + + + This handshake is being canceled for some reason unrelated to a protocol failure. If the user + cancels an operation after the handshake is complete, just closing the connection by sending + a close_notify is more appropriate. This alert should be followed by a close_notify. This + message is generally a warning. + + + Sent by the client in response to a hello request or by the server in response to a client + hello after initial handshaking. Either of these would normally lead to renegotiation; when + that is not appropriate, the recipient should respond with this alert. At that point, the + original requester can decide whether to proceed with the connection. One case where this + would be appropriate is where a server has spawned a process to satisfy a request; the + process might receive security parameters (key length, authentication, etc.) at startup, and + it might be difficult to communicate changes to these parameters after that point. This + message is always a warning. + + + Sent by clients that receive an extended server hello containing an extension that they did + not put in the corresponding client hello. This message is always fatal. + + + This alert is sent by servers who are unable to retrieve a certificate chain from the URL + supplied by the client (see Section 3.3). This message MAY be fatal - for example if client + authentication is required by the server for the handshake to continue and the server is + unable to retrieve the certificate chain, it may send a fatal alert. + + + This alert is sent by servers that receive a server_name extension request, but do not + recognize the server name. This message MAY be fatal. + + + This alert is sent by clients that receive an invalid certificate status response (see + Section 3.6). This message is always fatal. + + + This alert is sent by servers when a certificate hash does not match a client provided + certificate_hash. This message is always fatal. + + + If the server does not recognize the PSK identity, it MAY respond with an + "unknown_psk_identity" alert message. + + + If TLS_FALLBACK_SCSV appears in ClientHello.cipher_suites and the highest protocol version + supported by the server is higher than the version indicated in ClientHello.client_version, + the server MUST respond with a fatal inappropriate_fallback alert [..]. + + + + RFC 5246 7.2 + + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to + depend on the particular values (e.g. serialization). + + + + + A queue for bytes. +

+ This file could be more optimized. +

+
+
+ + The smallest number which can be written as 2^x which is bigger than i. + + + The initial size for our buffer. + + + The buffer where we store our data. + + + How many bytes at the beginning of the buffer are skipped. + + + How many bytes in the buffer are valid data. + + + Add some data to our buffer. + A byte-array to read data from. + How many bytes to skip at the beginning of the array. + How many bytes to read from the array. + + + The number of bytes which are available in this buffer. + + + Copy some bytes from the beginning of the data to the provided Stream. + The Stream to copy the bytes to. + How many bytes to copy. + If insufficient data is available. + If there is a problem copying the data. + + + Read data from the buffer. + The buffer where the read data will be copied to. + How many bytes to skip at the beginning of buf. + How many bytes to read at all. + How many bytes from our data to skip. + + + Return a MemoryStream over some bytes at the beginning of the data. + How many bytes will be readable. + A MemoryStream over the data. + If insufficient data is available. + + + Remove some bytes from our data from the beginning. + How many bytes to remove. + + + Parsing and encoding of a Certificate struct from RFC 4346. +

+

+             opaque ASN.1Cert<2^24-1>;
+            
+             struct {
+                 ASN.1Cert certificate_list<0..2^24-1>;
+             } Certificate;
+             
+ + @see Org.BouncyCastle.Asn1.X509.X509CertificateStructure +
+ + The certificates. + + + @return an array of {@link org.bouncycastle.asn1.x509.Certificate} representing a certificate + chain. + + + @return true if this certificate chain contains no certificates, or + false otherwise. + + + Encode this {@link Certificate} to a {@link Stream}. + + @param output the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link Certificate} from a {@link Stream}. + + @param input the {@link Stream} to parse from. + @return a {@link Certificate} object. + @throws IOException + + + Parsing and encoding of a CertificateRequest struct from RFC 4346. +

+

+             struct {
+                 ClientCertificateType certificate_types<1..2^8-1>;
+                 DistinguishedName certificate_authorities<3..2^16-1>
+             } CertificateRequest;
+             
+ + @see ClientCertificateType + @see X509Name +
+ + @param certificateTypes see {@link ClientCertificateType} for valid constants. + @param certificateAuthorities an {@link IList} of {@link X509Name}. + + + @return an array of certificate types + @see {@link ClientCertificateType} + + + @return an {@link IList} of {@link SignatureAndHashAlgorithm} (or null before TLS 1.2). + + + @return an {@link IList} of {@link X509Name} + + + Encode this {@link CertificateRequest} to a {@link Stream}. + + @param output the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link CertificateRequest} from a {@link Stream}. + + @param context + the {@link TlsContext} of the current connection. + @param input + the {@link Stream} to parse from. + @return a {@link CertificateRequest} object. + @throws IOException + + + Encode this {@link CertificateStatus} to a {@link Stream}. + + @param output + the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link CertificateStatus} from a {@link Stream}. + + @param input + the {@link Stream} to parse from. + @return a {@link CertificateStatus} object. + @throws IOException + + + Encode this {@link CertificateStatusRequest} to a {@link Stream}. + + @param output + the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link CertificateStatusRequest} from a {@link Stream}. + + @param input + the {@link Stream} to parse from. + @return a {@link CertificateStatusRequest} object. + @throws IOException + + + RFC 6091 + + + @param type + see {@link CertChainType} for valid constants. + @param urlAndHashList + a {@link IList} of {@link UrlAndHash}. + + + @return {@link CertChainType} + + + @return an {@link IList} of {@link UrlAndHash} + + + Encode this {@link CertificateUrl} to a {@link Stream}. + + @param output the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link CertificateUrl} from a {@link Stream}. + + @param context + the {@link TlsContext} of the current connection. + @param input + the {@link Stream} to parse from. + @return a {@link CertificateUrl} object. + @throws IOException + + + draft-ietf-tls-chacha20-poly1305-04 + + + + + + + + + + + + + + + + RFC 2246 A.5 + + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to + depend on the particular values (e.g. serialization). + + + + A combined hash, which implements md5(m) || sha1(m). + + + @see org.bouncycastle.crypto.Digest#update(byte[], int, int) + + + @see org.bouncycastle.crypto.Digest#doFinal(byte[], int) + + + @see org.bouncycastle.crypto.Digest#reset() + + + + RFC 2246 6.1 + + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to + depend on the particular values (e.g. serialization). + + + + RFC 2246 6.2.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Accept various standard DH groups with 'P' at least DefaultMinimumPrimeBits bits. + + + Accept various standard DH groups with 'P' at least the specified number of bits. + + + Accept a custom set of group parameters, subject to a minimum bitlength for 'P'. + An IList of acceptable DHParameters. + The minimum acceptable bitlength of the 'P' parameter. + + + + + + + + + Accept only the group parameters specified in RFC 5054 Appendix A. + + + Specify a custom set of acceptable group parameters. + + @param groups a {@link Vector} of acceptable {@link SRP6GroupParameters} + + + Buffers input until the hash algorithm is determined. + + + @return a {@link SignatureAndHashAlgorithm} (or null before TLS 1.2). + + + Encode this {@link DigitallySigned} to a {@link Stream}. + + @param output + the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link DigitallySigned} from a {@link Stream}. + + @param context + the {@link TlsContext} of the current connection. + @param input + the {@link Stream} to parse from. + @return a {@link DigitallySigned} object. + @throws IOException + + + + + + + + + + + + + + + + + + + + + + + + + + + Check that there are no "extra" messages left in the current inbound flight + + + RFC 4347 4.1.2.5 Anti-replay +

+ Support fast rejection of duplicate records by maintaining a sliding receive window + + + Check whether a received record with the given sequence number should be rejected as a duplicate. + + @param seq the 48-bit DTLSPlainText.sequence_number field of a received record. + @return true if the record should be discarded without further processing. + + + Report that a received record with the given sequence number passed authentication checks. + + @param seq the 48-bit DTLSPlainText.sequence_number field of an authenticated record. + + + When a new epoch begins, sequence numbers begin again at 0 + + +

RFC 4492 5.4. (Errata ID: 2389) +
+ + + RFC 4492 5.4 + + + + Indicates the elliptic curve domain parameters are conveyed verbosely, and the + underlying finite field is a prime field. + + + Indicates the elliptic curve domain parameters are conveyed verbosely, and the + underlying finite field is a characteristic-2 field. + + + Indicates that a named curve is used. This option SHOULD be used when applicable. + + + + RFC 4492 5.1.2 + + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to + depend on the particular values (e.g. serialization). + + + + RFC 5705 + + + RFC 5246 7.4.1.4.1 + + + Encode this {@link HeartbeatExtension} to a {@link Stream}. + + @param output + the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link HeartbeatExtension} from a {@link Stream}. + + @param input + the {@link Stream} to parse from. + @return a {@link HeartbeatExtension} object. + @throws IOException + + + Encode this {@link HeartbeatMessage} to a {@link Stream}. + + @param output + the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link HeartbeatMessage} from a {@link Stream}. + + @param input + the {@link Stream} to parse from. + @return a {@link HeartbeatMessage} object. + @throws IOException + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to + depend on the particular values (e.g. serialization). + + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to + depend on the particular values (e.g. serialization). + + + + + RFC 4492 5.1.1 + The named curves defined here are those specified in SEC 2 [13]. Note that many of + these curves are also recommended in ANSI X9.62 [7] and FIPS 186-2 [11]. Values 0xFE00 + through 0xFEFF are reserved for private use. Values 0xFF01 and 0xFF02 indicate that the + client supports arbitrary prime and characteristic-2 curves, respectively (the curve + parameters must be encoded explicitly in ECParameters). + + + + Encode this {@link NewSessionTicket} to a {@link Stream}. + + @param output the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link NewSessionTicket} from a {@link Stream}. + + @param input the {@link Stream} to parse from. + @return a {@link NewSessionTicket} object. + @throws IOException + + + RFC 3546 3.6 + + + @param responderIDList + an {@link IList} of {@link ResponderID}, specifying the list of trusted OCSP + responders. An empty list has the special meaning that the responders are + implicitly known to the server - e.g., by prior arrangement. + @param requestExtensions + OCSP request extensions. A null value means that there are no extensions. + + + @return an {@link IList} of {@link ResponderID} + + + @return OCSP request extensions + + + Encode this {@link OcspStatusRequest} to a {@link Stream}. + + @param output + the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link OcspStatusRequest} from a {@link Stream}. + + @param input + the {@link Stream} to parse from. + @return an {@link OcspStatusRequest} object. + @throws IOException + + + RFC 5246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to + depend on the particular values (e.g. serialization). + + + + + + + An implementation of the TLS 1.0/1.1/1.2 record layer, allowing downgrade to SSLv3. + + + RFC 5246 E.1. "Earlier versions of the TLS specification were not fully clear on what the + record layer version number (TLSPlaintext.version) should contain when sending ClientHello + (i.e., before it is known which version of the protocol will be employed). Thus, TLS servers + compliant with this specification MUST accept any value {03,XX} as the record layer version + number for ClientHello." + + + @return {@link ConnectionEnd} + + + @return {@link CipherSuite} + + + @return {@link CompressionMethod} + + + @return {@link PRFAlgorithm} + + + Encode this {@link ServerName} to a {@link Stream}. + + @param output + the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link ServerName} from a {@link Stream}. + + @param input + the {@link Stream} to parse from. + @return a {@link ServerName} object. + @throws IOException + + + @param serverNameList an {@link IList} of {@link ServerName}. + + + @return an {@link IList} of {@link ServerName}. + + + Encode this {@link ServerNameList} to a {@link Stream}. + + @param output + the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link ServerNameList} from a {@link Stream}. + + @param input + the {@link Stream} to parse from. + @return a {@link ServerNameList} object. + @throws IOException + + + Encode this {@link ServerSRPParams} to an {@link OutputStream}. + + @param output + the {@link OutputStream} to encode to. + @throws IOException + + + Parse a {@link ServerSRPParams} from an {@link InputStream}. + + @param input + the {@link InputStream} to parse from. + @return a {@link ServerSRPParams} object. + @throws IOException + + + RFC 5246 7.4.1.4.1 (in RFC 2246, there were no specific values assigned) + + + RFC 5246 7.4.1.4.1 + + + @param hash {@link HashAlgorithm} + @param signature {@link SignatureAlgorithm} + + + @return {@link HashAlgorithm} + + + @return {@link SignatureAlgorithm} + + + Encode this {@link SignatureAndHashAlgorithm} to a {@link Stream}. + + @param output the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link SignatureAndHashAlgorithm} from a {@link Stream}. + + @param input the {@link Stream} to parse from. + @return a {@link SignatureAndHashAlgorithm} object. + @throws IOException + + + An implementation of {@link TlsSRPIdentityManager} that simulates the existence of "unknown" identities + to obscure the fact that there is no verifier for them. + + + Create a {@link SimulatedTlsSRPIdentityManager} that implements the algorithm from RFC 5054 2.5.1.3 + + @param group the {@link SRP6GroupParameters} defining the group that SRP is operating in + @param seedKey the secret "seed key" referred to in RFC 5054 2.5.1.3 + @return an instance of {@link SimulatedTlsSRPIdentityManager} + + + HMAC implementation based on original internet draft for HMAC (RFC 2104) + + The difference is that padding is concatentated versus XORed with the key + + H(K + opad, H(K + ipad, text)) + + + Base constructor for one of the standard digest algorithms that the byteLength of + the algorithm is know for. Behaviour is undefined for digests other than MD5 or SHA1. + + @param digest the digest. + + + Reset the mac generator. + + + RFC 4680 + + + + + + + + + + + + + + + + + + + + + + Called by the protocol handler to report the server certificate. + + + This method is responsible for certificate verification and validation + + The server received + + + + + Return client credentials in response to server's certificate request + + + A containing server certificate request details + + + A to be used for client authentication + (or null for no client authentication) + + + + + + A generic TLS 1.0-1.2 / SSLv3 block cipher. This can be used for AES or 3DES for example. + + + + + + + + + + + + + + + + + + + + Called at the start of a new TLS session, before any other methods. + + + A + + + + Return the session this client wants to resume, if any. + Note that the peer's certificate chain for the session (if any) may need to be periodically revalidated. + + A representing the resumable session to be used for this connection, + or null to use a new session. + + + + + Return the to use for the TLSPlaintext.version field prior to + receiving the server version. NOTE: This method is not called for DTLS. + + + See RFC 5246 E.1.: "TLS clients that wish to negotiate with older servers MAY send any value + {03,XX} as the record layer version number. Typical values would be {03,00}, the lowest + version number supported by the client, and the value of ClientHello.client_version. No + single value will guarantee interoperability with all old servers, but this is a complex + topic beyond the scope of this document." + + The to use. + + + + Get the list of cipher suites that this client supports. + + + An array of values, each specifying a supported cipher suite. + + + + + Get the list of compression methods that this client supports. + + + An array of values, each specifying a supported compression method. + + + + + Get the (optional) table of client extensions to be included in (extended) client hello. + + + A (Int32 -> byte[]). May be null. + + + + + + + + + Notifies the client of the session_id sent in the ServerHello. + + An array of + + + + Report the cipher suite that was selected by the server. + + + The protocol handler validates this value against the offered cipher suites + + + + A + + + + + Report the compression method that was selected by the server. + + + The protocol handler validates this value against the offered compression methods + + + + A + + + + + Report the extensions from an extended server hello. + + + Will only be called if we returned a non-null result from . + + + A (Int32 -> byte[]) + + + + A list of + + + + + Return an implementation of to negotiate the key exchange + part of the protocol. + + + A + + + + + + Return an implementation of to handle authentication + part of the protocol. + + + + + A list of + + + + RFC 5077 3.3. NewSessionTicket Handshake Message + + This method will be called (only) when a NewSessionTicket handshake message is received. The + ticket is opaque to the client and clients MUST NOT examine the ticket under the assumption + that it complies with e.g. RFC 5077 4. Recommended Ticket Construction. + + The ticket + + + + Constructor for blocking mode. + @param stream The bi-directional stream of data to/from the server + @param secureRandom Random number generator for various cryptographic functions + + + Constructor for blocking mode. + @param input The stream of data from the server + @param output The stream of data to the server + @param secureRandom Random number generator for various cryptographic functions + + + Constructor for non-blocking mode.
+
+ When data is received, use {@link #offerInput(java.nio.ByteBuffer)} to + provide the received ciphertext, then use + {@link #readInput(byte[], int, int)} to read the corresponding cleartext.
+
+ Similarly, when data needs to be sent, use + {@link #offerOutput(byte[], int, int)} to provide the cleartext, then use + {@link #readOutput(byte[], int, int)} to get the corresponding + ciphertext. + + @param secureRandom + Random number generator for various cryptographic functions +
+ + Initiates a TLS handshake in the role of client.
+
+ In blocking mode, this will not return until the handshake is complete. + In non-blocking mode, use {@link TlsPeer#NotifyHandshakeComplete()} to + receive a callback when the handshake is complete. + + @param tlsClient The {@link TlsClient} to use for the handshake. + @throws IOException If in blocking mode and handshake was not successful. +
+ + + + + Used to get the resumable session, if any, used by this connection. Only available after the + handshake has successfully completed. + + @return A {@link TlsSession} representing the resumable session used by this connection, or + null if no resumable session available. + @see TlsPeer#NotifyHandshakeComplete() + + + Export keying material according to RFC 5705: "Keying Material Exporters for TLS". + + @param asciiLabel indicates which application will use the exported keys. + @param context_value allows the application using the exporter to mix its own data with the TLS PRF for + the exporter output. + @param length the number of bytes to generate + @return a pseudorandom bit string of 'length' bytes generated from the master_secret. + + + (D)TLS DH key exchange. + + + An interface for verifying that Diffie-Hellman parameters are acceptable. + + + Verify that the given DHParameters are acceptable. + The DHParameters to verify. + true if (and only if) the specified parameters are acceptable. + + + (D)TLS ECDHE key exchange (see RFC 4492). + + + (D)TLS ECDH key exchange (see RFC 4492). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A generic interface for key exchange implementations in (D)TLS. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A generic TLS MAC implementation, acting as an HMAC based on some underlying Digest. + + + + Generate a new instance of an TlsMac. + + @param context the TLS client context + @param digest The digest to use. + @param key A byte-array where the key for this MAC is located. + @param keyOff The number of bytes to skip, before the key starts in the buffer. + @param keyLen The length of the key. + + + @return the MAC write secret + + + @return The output length of this MAC. + + + Calculate the MAC for some given data. + + @param type The message type of the message. + @param message A byte-buffer containing the message. + @param offset The number of bytes to skip, before the message starts. + @param length The length of the message. + @return A new byte-buffer containing the MAC value. + + + + This exception will be thrown(only) when the connection is closed by the peer without sending a + close_notify warning alert. + + + If this happens, the TLS protocol cannot rule out truncation of the connection data (potentially + malicious). It may be possible to check for truncation via some property of a higher level protocol + built upon TLS, e.g.the Content-Length header for HTTPS. + + + + + A NULL CipherSuite, with optional MAC. + + + + + + + + + + + + + + + + + Specify the timeout, in milliseconds, to use for the complete handshake process. + + + Negative values are not allowed. A timeout of zero means an infinite timeout (i.e. the + handshake will never time out). NOTE: Currently only respected by DTLS protocols. + + + + + This implementation supports RFC 7627 and will always negotiate the extended_master_secret + extension where possible. + + + When connecting to a peer that does not offer/accept this extension, it is recommended to + abort the handshake. This option is provided for interoperability with legacy peers, + although some TLS features will be disabled in that case (see RFC 7627 5.4). + + + true if the handshake should be aborted when the peer does not negotiate the + extended_master_secret extension, or false to support legacy interoperability. + + + + + draft-mathewson-no-gmtunixtime-00 2. "If existing users of a TLS implementation may rely on + gmt_unix_time containing the current time, we recommend that implementors MAY provide the + ability to set gmt_unix_time as an option only, off by default." + + + true if the current time should be used in the gmt_unix_time field of + Random, or false if gmt_unix_time should contain a cryptographically + random value. + + + + + Report whether the server supports secure renegotiation + + + The protocol handler automatically processes the relevant extensions + + + A , true if the server supports secure renegotiation + + + + + + Return an implementation of to handle record compression. + + A + + + + + Return an implementation of to use for encryption/decryption. + + A + + + + This method will be called when an alert is raised by the protocol. + + + A human-readable message explaining what caused this alert. May be null. + The Exception that caused this alert to be raised. May be null. + + + This method will be called when an alert is received from the remote peer. + + + + + Notifies the peer that the handshake has been successfully completed. + + + + This method is called, when a change cipher spec message is received. + + @throws IOException If the message has an invalid content or the handshake is not in the correct + state. + + + Read data from the network. The method will return immediately, if there is still some data + left in the buffer, or block until some application data has been read from the network. + + @param buf The buffer where the data will be copied to. + @param offset The position where the data will be placed in the buffer. + @param len The maximum number of bytes to read. + @return The number of bytes read. + @throws IOException If something goes wrong during reading data. + + + Send some application data to the remote system. +

+ The method will handle fragmentation internally. + + @param buf The buffer with the data. + @param offset The position in the buffer where the data is placed. + @param len The length of the data. + @throws IOException If something goes wrong during sending. + + +

The secure bidirectional stream for this connection + Only allowed in blocking mode. +
+ + Should be called in non-blocking mode when the input data reaches EOF. + + + Equivalent to OfferInput(input, 0, input.length) + @see TlsProtocol#OfferInput(byte[], int, int) + @param input The input buffer to offer + @throws IOException If an error occurs while decrypting or processing a record + + + Offer input from an arbitrary source. Only allowed in non-blocking mode.
+
+ This method will decrypt and process all records that are fully available. + If only part of a record is available, the buffer will be retained until the + remainder of the record is offered.
+
+ If any records containing application data were processed, the decrypted data + can be obtained using {@link #readInput(byte[], int, int)}. If any records + containing protocol data were processed, a response may have been generated. + You should always check to see if there is any available output after calling + this method by calling {@link #getAvailableOutputBytes()}. + @param input The input buffer to offer + @param inputOff The offset within the input buffer that input begins + @param inputLen The number of bytes of input being offered + @throws IOException If an error occurs while decrypting or processing a record +
+ + Gets the amount of received application data. A call to {@link #readInput(byte[], int, int)} + is guaranteed to be able to return at least this much data.
+
+ Only allowed in non-blocking mode. + @return The number of bytes of available application data +
+ + Retrieves received application data. Use {@link #getAvailableInputBytes()} to check + how much application data is currently available. This method functions similarly to + {@link InputStream#read(byte[], int, int)}, except that it never blocks. If no data + is available, nothing will be copied and zero will be returned.
+
+ Only allowed in non-blocking mode. + @param buffer The buffer to hold the application data + @param offset The start offset in the buffer at which the data is written + @param length The maximum number of bytes to read + @return The total number of bytes copied to the buffer. May be less than the + length specified if the length was greater than the amount of available data. +
+ + Offer output from an arbitrary source. Only allowed in non-blocking mode.
+
+ After this method returns, the specified section of the buffer will have been + processed. Use {@link #readOutput(byte[], int, int)} to get the bytes to + transmit to the other peer.
+
+ This method must not be called until after the handshake is complete! Attempting + to call it before the handshake is complete will result in an exception. + @param buffer The buffer containing application data to encrypt + @param offset The offset at which to begin reading data + @param length The number of bytes of data to read + @throws IOException If an error occurs encrypting the data, or the handshake is not complete +
+ + Gets the amount of encrypted data available to be sent. A call to + {@link #readOutput(byte[], int, int)} is guaranteed to be able to return at + least this much data.
+
+ Only allowed in non-blocking mode. + @return The number of bytes of available encrypted data +
+ + Retrieves encrypted data to be sent. Use {@link #getAvailableOutputBytes()} to check + how much encrypted data is currently available. This method functions similarly to + {@link InputStream#read(byte[], int, int)}, except that it never blocks. If no data + is available, nothing will be copied and zero will be returned.
+
+ Only allowed in non-blocking mode. + @param buffer The buffer to hold the encrypted data + @param offset The start offset in the buffer at which the data is written + @param length The maximum number of bytes to read + @return The total number of bytes copied to the buffer. May be less than the + length specified if the length was greater than the amount of available data. +
+ + Closes this connection. + + @throws IOException If something goes wrong during closing. + + + Make sure the InputStream 'buf' now empty. Fail otherwise. + + @param buf The InputStream to check. + @throws IOException If 'buf' is not empty. + + + 'sender' only relevant to SSLv3 + + + Both streams can be the same object + + + (D)TLS PSK key exchange (RFC 4279). + + + (D)TLS and SSLv3 RSA key exchange. + + + + + + + + + + + + + + + + + + A (Int32 -> byte[]). Will never be null. + + + + + + + + + + + + + + Get the (optional) table of server extensions to be included in (extended) server hello. + + + A (Int32 -> byte[]). May be null. + + + + + + A (). May be null. + + + + + + + + + This method will be called (only) if the server included an extension of type + "status_request" with empty "extension_data" in the extended server hello. See RFC 3546 + 3.6. Certificate Status Request. If a non-null is returned, it + is sent to the client as a handshake message of type "certificate_status". + + A to be sent to the client (or null for none). + + + + + + + + + + () + + + + + Called by the protocol handler to report the client certificate, only if GetCertificateRequest + returned non-null. + + Note: this method is responsible for certificate verification and validation. + the effective client certificate (may be an empty chain). + + + + RFC 5077 3.3. NewSessionTicket Handshake Message. + + This method will be called (only) if a NewSessionTicket extension was sent by the server. See + RFC 5077 4. Recommended Ticket Construction for recommended format and protection. + + The ticket) + + + + Constructor for blocking mode. + @param stream The bi-directional stream of data to/from the client + @param output The stream of data to the client + @param secureRandom Random number generator for various cryptographic functions + + + Constructor for blocking mode. + @param input The stream of data from the client + @param output The stream of data to the client + @param secureRandom Random number generator for various cryptographic functions + + + Constructor for non-blocking mode.
+
+ When data is received, use {@link #offerInput(java.nio.ByteBuffer)} to + provide the received ciphertext, then use + {@link #readInput(byte[], int, int)} to read the corresponding cleartext.
+
+ Similarly, when data needs to be sent, use + {@link #offerOutput(byte[], int, int)} to provide the cleartext, then use + {@link #readOutput(byte[], int, int)} to get the corresponding + ciphertext. + + @param secureRandom + Random number generator for various cryptographic functions +
+ + Receives a TLS handshake in the role of server.
+
+ In blocking mode, this will not return until the handshake is complete. + In non-blocking mode, use {@link TlsPeer#notifyHandshakeComplete()} to + receive a callback when the handshake is complete. + + @param tlsServer + @throws IOException If in blocking mode and handshake was not successful. +
+ + + + + Check whether the given SRP group parameters are acceptable for use. + + @param group the {@link SRP6GroupParameters} to check + @return true if (and only if) the specified group parameters are acceptable + + + Lookup the {@link TlsSRPLoginParameters} corresponding to the specified identity. + + NOTE: To avoid "identity probing", unknown identities SHOULD be handled as recommended in RFC + 5054 2.5.1.3. {@link SimulatedTlsSRPIdentityManager} is provided for this purpose. + + @param identity + the SRP identity sent by the connecting client + @return the {@link TlsSRPLoginParameters} for the specified identity, or else 'simulated' + parameters if the identity is not recognized. A null value is also allowed, but not + recommended. + + + (D)TLS SRP key exchange (RFC 5054). + + + RFC 5764 DTLS Extension to Establish Keys for SRTP. + + + + + + + + + + + + Some helper functions for MicroTLS. + + + Add a 'signature_algorithms' extension to existing extensions. + + @param extensions A {@link Hashtable} to add the extension to. + @param supportedSignatureAlgorithms {@link Vector} containing at least 1 {@link SignatureAndHashAlgorithm}. + @throws IOException + + + Get a 'signature_algorithms' extension from extensions. + + @param extensions A {@link Hashtable} to get the extension from, if it is present. + @return A {@link Vector} containing at least 1 {@link SignatureAndHashAlgorithm}, or null. + @throws IOException + + + Create a 'signature_algorithms' extension value. + + @param supportedSignatureAlgorithms A {@link Vector} containing at least 1 {@link SignatureAndHashAlgorithm}. + @return A byte array suitable for use as an extension value. + @throws IOException + + + Read 'signature_algorithms' extension data. + + @param extensionData The extension data. + @return A {@link Vector} containing at least 1 {@link SignatureAndHashAlgorithm}. + @throws IOException + + + RFC 6066 5. + + + Encode this {@link UrlAndHash} to a {@link Stream}. + + @param output the {@link Stream} to encode to. + @throws IOException + + + Parse a {@link UrlAndHash} from a {@link Stream}. + + @param context + the {@link TlsContext} of the current connection. + @param input + the {@link Stream} to parse from. + @return a {@link UrlAndHash} object. + @throws IOException + + + RFC 4681 + + + RFC 5764 4.1.1 + + + @param protectionProfiles see {@link SrtpProtectionProfile} for valid constants. + @param mki valid lengths from 0 to 255. + + + @return see {@link SrtpProtectionProfile} for valid constants. + + + @return valid lengths from 0 to 255. + + + Create an AlgorithmIdentifier for the passed in encryption algorithm. + + @param encryptionOID OID for the encryption algorithm + @param keySize key size in bits (-1 if unknown) + @param random SecureRandom to use for parameter generation. + @return a full AlgorithmIdentifier including parameters + @throws IllegalArgumentException if encryptionOID cannot be matched + + + A basic alphabet mapper that just creates a mapper based on the + passed in array of characters. + + + Base constructor. + + @param alphabet a string of characters making up the alphabet. + + + Base constructor. + + @param alphabet an array of characters making up the alphabet. + + + Create a key generator for the passed in Object Identifier. + + @param algorithm the Object Identifier indicating the algorithn the generator is for. + @param random a source of random to initialise the generator with. + @return an initialised CipherKeyGenerator. + @throws IllegalArgumentException if the algorithm cannot be identified. + + + Use KeyTransRecipientInfoGenerator + + + return a = a + b - b preserved. + + + unsigned comparison on two arrays - note the arrays may + start with leading zeros. + + + return z = x / y - done in place (z value preserved, x contains the + remainder) + + + return whether or not a BigInteger is probably prime with a + probability of 1 - (1/2)**certainty. +

From Knuth Vol 2, pg 395.

+
+ + Calculate the numbers u1, u2, and u3 such that: + + u1 * a + u2 * b = u3 + + where u3 is the greatest common divider of a and b. + a and b using the extended Euclid algorithm (refer p. 323 + of The Art of Computer Programming vol 2, 2nd ed). + This also seems to have the side effect of calculating + some form of multiplicative inverse. + + @param a First number to calculate gcd for + @param b Second number to calculate gcd for + @param u1Out the return object for the u1 value + @return The greatest common divisor of a and b + + + return w with w = x * x - w is assumed to have enough space. + + + return x with x = y * z - x is assumed to have enough space. + + + Calculate mQuote = -m^(-1) mod b with b = 2^32 (32 = word size) + + + Montgomery multiplication: a = x * y * R^(-1) mod m +
+ Based algorithm 14.36 of Handbook of Applied Cryptography. +
+
  • m, x, y should have length n
  • +
  • a should have length (n + 1)
  • +
  • b = 2^32, R = b^n
  • +
    + The result is put in x +
    + NOTE: the indices of x, y, m, a different in HAC and in Java +
    + + return x = x % y - done in place (y value preserved) + + + do a left shift - this returns a new array. + + + do a right shift - this does it in place. + + + do a right shift by one - this does it in place. + + + returns x = x - y - we assume x is >= y + + + Class representing a simple version of a big decimal. A + SimpleBigDecimal is basically a + {@link java.math.BigInteger BigInteger} with a few digits on the right of + the decimal point. The number of (binary) digits on the right of the decimal + point is called the scale of the SimpleBigDecimal. + Unlike in {@link java.math.BigDecimal BigDecimal}, the scale is not adjusted + automatically, but must be set manually. All SimpleBigDecimals + taking part in the same arithmetic operation must have equal scale. The + result of a multiplication of two SimpleBigDecimals returns a + SimpleBigDecimal with double scale. + + + Returns a SimpleBigDecimal representing the same numerical + value as value. + @param value The value of the SimpleBigDecimal to be + created. + @param scale The scale of the SimpleBigDecimal to be + created. + @return The such created SimpleBigDecimal. + + + Constructor for SimpleBigDecimal. The value of the + constructed SimpleBigDecimal Equals bigInt / + 2scale. + @param bigInt The bigInt value parameter. + @param scale The scale of the constructed SimpleBigDecimal. + + + Class holding methods for point multiplication based on the window + τ-adic nonadjacent form (WTNAF). The algorithms are based on the + paper "Improved Algorithms for Arithmetic on Anomalous Binary Curves" + by Jerome A. Solinas. The paper first appeared in the Proceedings of + Crypto 1997. + + + The window width of WTNAF. The standard value of 4 is slightly less + than optimal for running time, but keeps space requirements for + precomputation low. For typical curves, a value of 5 or 6 results in + a better running time. When changing this value, the + αu's must be computed differently, see + e.g. "Guide to Elliptic Curve Cryptography", Darrel Hankerson, + Alfred Menezes, Scott Vanstone, Springer-Verlag New York Inc., 2004, + p. 121-122 + + + 24 + + + The αu's for a=0 as an array + of ZTauElements. + + + The αu's for a=0 as an array + of TNAFs. + + + The αu's for a=1 as an array + of ZTauElements. + + + The αu's for a=1 as an array + of TNAFs. + + + Computes the norm of an element λ of + Z[τ]. + @param mu The parameter μ of the elliptic curve. + @param lambda The element λ of + Z[τ]. + @return The norm of λ. + + + Computes the norm of an element λ of + R[τ], where λ = u + vτ + and u and u are real numbers (elements of + R). + @param mu The parameter μ of the elliptic curve. + @param u The real part of the element λ of + R[τ]. + @param v The τ-adic part of the element + λ of R[τ]. + @return The norm of λ. + + + Rounds an element λ of R[τ] + to an element of Z[τ], such that their difference + has minimal norm. λ is given as + λ = λ0 + λ1τ. + @param lambda0 The component λ0. + @param lambda1 The component λ1. + @param mu The parameter μ of the elliptic curve. Must + equal 1 or -1. + @return The rounded element of Z[τ]. + @throws ArgumentException if lambda0 and + lambda1 do not have same scale. + + + Approximate division by n. For an integer + k, the value λ = s k / n is + computed to c bits of accuracy. + @param k The parameter k. + @param s The curve parameter s0 or + s1. + @param vm The Lucas Sequence element Vm. + @param a The parameter a of the elliptic curve. + @param m The bit length of the finite field + Fm. + @param c The number of bits of accuracy, i.e. the scale of the returned + SimpleBigDecimal. + @return The value λ = s k / n computed to + c bits of accuracy. + + + Computes the τ-adic NAF (non-adjacent form) of an + element λ of Z[τ]. + @param mu The parameter μ of the elliptic curve. + @param lambda The element λ of + Z[τ]. + @return The τ-adic NAF of λ. + + + Applies the operation τ() to an + AbstractF2mPoint. + @param p The AbstractF2mPoint to which τ() is applied. + @return τ(p) + + + Returns the parameter μ of the elliptic curve. + @param curve The elliptic curve from which to obtain μ. + The curve must be a Koblitz curve, i.e. a Equals + 0 or 1 and b Equals + 1. + @return μ of the elliptic curve. + @throws ArgumentException if the given ECCurve is not a Koblitz + curve. + + + Calculates the Lucas Sequence elements Uk-1 and + Uk or Vk-1 and + Vk. + @param mu The parameter μ of the elliptic curve. + @param k The index of the second element of the Lucas Sequence to be + returned. + @param doV If set to true, computes Vk-1 and + Vk, otherwise Uk-1 and + Uk. + @return An array with 2 elements, containing Uk-1 + and Uk or Vk-1 + and Vk. + + + Computes the auxiliary value tw. If the width is + 4, then for mu = 1, tw = 6 and for + mu = -1, tw = 10 + @param mu The parameter μ of the elliptic curve. + @param w The window width of the WTNAF. + @return the auxiliary value tw + + + Computes the auxiliary values s0 and + s1 used for partial modular reduction. + @param curve The elliptic curve for which to compute + s0 and s1. + @throws ArgumentException if curve is not a + Koblitz curve (Anomalous Binary Curve, ABC). + + + Partial modular reduction modulo + m - 1)/(τ - 1). + @param k The integer to be reduced. + @param m The bitlength of the underlying finite field. + @param a The parameter a of the elliptic curve. + @param s The auxiliary values s0 and + s1. + @param mu The parameter μ of the elliptic curve. + @param c The precision (number of bits of accuracy) of the partial + modular reduction. + @return ρ := k partmod (τm - 1)/(τ - 1) + + + Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint} + by a BigInteger using the reduced τ-adic + NAF (RTNAF) method. + @param p The AbstractF2mPoint to Multiply. + @param k The BigInteger by which to Multiply p. + @return k * p + + + Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint} + by an element λ of Z[τ] + using the τ-adic NAF (TNAF) method. + @param p The AbstractF2mPoint to Multiply. + @param lambda The element λ of + Z[τ]. + @return λ * p + + + Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint} + by an element λ of Z[τ] + using the τ-adic NAF (TNAF) method, given the TNAF + of λ. + @param p The AbstractF2mPoint to Multiply. + @param u The the TNAF of λ.. + @return λ * p + + + Computes the [τ]-adic window NAF of an element + λ of Z[τ]. + @param mu The parameter μ of the elliptic curve. + @param lambda The element λ of + Z[τ] of which to compute the + [τ]-adic NAF. + @param width The window width of the resulting WNAF. + @param pow2w 2width. + @param tw The auxiliary value tw. + @param alpha The αu's for the window width. + @return The [τ]-adic window NAF of + λ. + + + Does the precomputation for WTNAF multiplication. + @param p The ECPoint for which to do the precomputation. + @param a The parameter a of the elliptic curve. + @return The precomputation array for p. + + + Class representing an element of Z[τ]. Let + λ be an element of Z[τ]. Then + λ is given as λ = u + vτ. The + components u and v may be used directly, there + are no accessor methods. + Immutable class. + + + The "real" part of λ. + + + The "τ-adic" part of λ. + + + Constructor for an element λ of + Z[τ]. + @param u The "real" part of λ. + @param v The "τ-adic" part of + λ. + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve the curve to use + @param x affine x co-ordinate + @param y affine y co-ordinate + + @deprecated Use ECCurve.CreatePoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve the curve to use + @param x affine x co-ordinate + @param y affine y co-ordinate + @param withCompression if true encode with point compression + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(boolean)} + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.CreatePoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.CreatePoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.CreatePoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + return a sqrt root - the routine verifies that the calculation returns the right value - if + none exists it returns null. + + + Create a point which encodes with point compression. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + + @deprecated Use ECCurve.createPoint to construct points + + + Create a point that encodes with or without point compresion. + + @param curve + the curve to use + @param x + affine x co-ordinate + @param y + affine y co-ordinate + @param withCompression + if true encode with point compression + + @deprecated per-point compression property will be removed, refer + {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + @deprecated Use ECCurve.createPoint to construct points + + + @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} + + + Simple shift-and-add multiplication. Serves as reference implementation to verify (possibly + faster) implementations, and for very small scalars. CAUTION: This implementation is NOT + constant-time in any way. It is only intended to be used for diagnostics. + + @param p + The point to multiply. + @param k + The multiplier. + @return The result of the point multiplication kP. + + + Base class for an elliptic curve. + + + Compute a PreCompInfo for a point on this curve, under a given name. Used by + ECMultipliers to save the precomputation for this ECPoint for use + by subsequent multiplication. + + @param point + The ECPoint to store precomputations for. + @param name + A String used to index precomputations of different types. + @param callback + Called to calculate the PreCompInfo. + + + Normalization ensures that any projective coordinate is 1, and therefore that the x, y + coordinates reflect those of the equivalent point in an affine coordinate system. Where more + than one point is to be normalized, this method will generally be more efficient than + normalizing each point separately. + + @param points + An array of points that will be updated in place with their normalized versions, + where necessary + + + Normalization ensures that any projective coordinate is 1, and therefore that the x, y + coordinates reflect those of the equivalent point in an affine coordinate system. Where more + than one point is to be normalized, this method will generally be more efficient than + normalizing each point separately. An (optional) z-scaling factor can be applied; effectively + each z coordinate is scaled by this value prior to normalization (but only one + actual multiplication is needed). + + @param points + An array of points that will be updated in place with their normalized versions, + where necessary + @param off + The start of the range of points to normalize + @param len + The length of the range of points to normalize + @param iso + The (optional) z-scaling factor - can be null + + + Create a cache-safe lookup table for the specified sequence of points. All the points MUST + belong to this ECCurve instance, and MUST already be normalized. + + + Sets the default ECMultiplier, unless already set. + + We avoid locking for performance reasons, so there is no uniqueness guarantee. + + + Decode a point on this curve from its ASN.1 encoding. The different + encodings are taken account of, including point compression for + Fp (X9.62 s 4.2.1 pg 17). + @return The decoded point. + + + Elliptic curve over Fp + + + The auxiliary values s0 and + s1 used for partial modular reduction for + Koblitz curves. + + + Solves a quadratic equation z2 + z = beta(X9.62 + D.1.6) The other solution is z + 1. + + @param beta + The value to solve the quadratic equation for. + @return the solution for z2 + z = beta or + null if no solution exists. + + + @return the auxiliary values s0 and + s1 used for partial modular reduction for + Koblitz curves. + + + Returns true if this is a Koblitz curve (ABC curve). + @return true if this is a Koblitz curve (ABC curve), false otherwise + + + Elliptic curves over F2m. The Weierstrass equation is given by + y2 + xy = x3 + ax2 + b. + + + The exponent m of F2m. + + + TPB: The integer k where xm + + xk + 1 represents the reduction polynomial + f(z).
    + PPB: The integer k1 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z).
    +
    + + TPB: Always set to 0
    + PPB: The integer k2 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z).
    +
    + + TPB: Always set to 0
    + PPB: The integer k3 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z).
    +
    + + The point at infinity on this curve. + + + Constructor for Trinomial Polynomial Basis (TPB). + @param m The exponent m of + F2m. + @param k The integer k where xm + + xk + 1 represents the reduction + polynomial f(z). + @param a The coefficient a in the Weierstrass equation + for non-supersingular elliptic curves over + F2m. + @param b The coefficient b in the Weierstrass equation + for non-supersingular elliptic curves over + F2m. + + + Constructor for Trinomial Polynomial Basis (TPB). + @param m The exponent m of + F2m. + @param k The integer k where xm + + xk + 1 represents the reduction + polynomial f(z). + @param a The coefficient a in the Weierstrass equation + for non-supersingular elliptic curves over + F2m. + @param b The coefficient b in the Weierstrass equation + for non-supersingular elliptic curves over + F2m. + @param order The order of the main subgroup of the elliptic curve. + @param cofactor The cofactor of the elliptic curve, i.e. + #Ea(F2m) = h * n. + + + Constructor for Pentanomial Polynomial Basis (PPB). + @param m The exponent m of + F2m. + @param k1 The integer k1 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param k2 The integer k2 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param k3 The integer k3 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param a The coefficient a in the Weierstrass equation + for non-supersingular elliptic curves over + F2m. + @param b The coefficient b in the Weierstrass equation + for non-supersingular elliptic curves over + F2m. + + + Constructor for Pentanomial Polynomial Basis (PPB). + @param m The exponent m of + F2m. + @param k1 The integer k1 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param k2 The integer k2 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param k3 The integer k3 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param a The coefficient a in the Weierstrass equation + for non-supersingular elliptic curves over + F2m. + @param b The coefficient b in the Weierstrass equation + for non-supersingular elliptic curves over + F2m. + @param order The order of the main subgroup of the elliptic curve. + @param cofactor The cofactor of the elliptic curve, i.e. + #Ea(F2m) = h * n. + + + Return true if curve uses a Trinomial basis. + + @return true if curve Trinomial, false otherwise. + + + return the field name for this field. + + @return the string "Fp". + + + return a sqrt root - the routine verifies that the calculation + returns the right value - if none exists it returns null. + + + Class representing the Elements of the finite field + F2m in polynomial basis (PB) + representation. Both trinomial (Tpb) and pentanomial (Ppb) polynomial + basis representations are supported. Gaussian normal basis (GNB) + representation is not supported. + + + Indicates gaussian normal basis representation (GNB). Number chosen + according to X9.62. GNB is not implemented at present. + + + Indicates trinomial basis representation (Tpb). Number chosen + according to X9.62. + + + Indicates pentanomial basis representation (Ppb). Number chosen + according to X9.62. + + + Tpb or Ppb. + + + The exponent m of F2m. + + + The LongArray holding the bits. + + + Constructor for Ppb. + @param m The exponent m of + F2m. + @param k1 The integer k1 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param k2 The integer k2 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param k3 The integer k3 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z). + @param x The BigInteger representing the value of the field element. + + + Constructor for Tpb. + @param m The exponent m of + F2m. + @param k The integer k where xm + + xk + 1 represents the reduction + polynomial f(z). + @param x The BigInteger representing the value of the field element. + + + Checks, if the ECFieldElements a and b + are elements of the same field F2m + (having the same representation). + @param a field element. + @param b field element to be compared. + @throws ArgumentException if a and b + are not elements of the same field + F2m (having the same + representation). + + + @return the representation of the field + F2m, either of + {@link F2mFieldElement.Tpb} (trinomial + basis representation) or + {@link F2mFieldElement.Ppb} (pentanomial + basis representation). + + + @return the degree m of the reduction polynomial + f(z). + + + @return Tpb: The integer k where xm + + xk + 1 represents the reduction polynomial + f(z).
    + Ppb: The integer k1 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z).
    +
    + + @return Tpb: Always returns 0
    + Ppb: The integer k2 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z).
    +
    + + @return Tpb: Always set to 0
    + Ppb: The integer k3 where xm + + xk3 + xk2 + xk1 + 1 + represents the reduction polynomial f(z).
    +
    + + base class for points on elliptic curves. + + + Returns the affine x-coordinate after checking that this point is normalized. + + @return The affine x-coordinate of this point + @throws IllegalStateException if the point is not normalized + + + Returns the affine y-coordinate after checking that this point is normalized + + @return The affine y-coordinate of this point + @throws IllegalStateException if the point is not normalized + + + Returns the x-coordinate. + + Caution: depending on the curve's coordinate system, this may not be the same value as in an + affine coordinate system; use Normalize() to get a point where the coordinates have their + affine values, or use AffineXCoord if you expect the point to already have been normalized. + + @return the x-coordinate of this point + + + Returns the y-coordinate. + + Caution: depending on the curve's coordinate system, this may not be the same value as in an + affine coordinate system; use Normalize() to get a point where the coordinates have their + affine values, or use AffineYCoord if you expect the point to already have been normalized. + + @return the y-coordinate of this point + + + Normalization ensures that any projective coordinate is 1, and therefore that the x, y + coordinates reflect those of the equivalent point in an affine coordinate system. + + @return a new ECPoint instance representing the same point, but with normalized coordinates + + + return the field element encoded with point compression. (S 4.3.6) + + + Multiplies this ECPoint by the given number. + @param k The multiplicator. + @return k * this. + + + Elliptic curve points over Fp + + + Create a point which encodes without point compression. + + @param curve the curve to use + @param x affine x co-ordinate + @param y affine y co-ordinate + + + Create a point that encodes with or without point compression. + + @param curve the curve to use + @param x affine x co-ordinate + @param y affine y co-ordinate + @param withCompression if true encode with point compression + + + Elliptic curve points over F2m + + + @param curve base curve + @param x x point + @param y y point + + + @param curve base curve + @param x x point + @param y y point + @param withCompression true if encode with point compression. + + + Joye's double-add algorithm. + + + Interface for classes encapsulating a point multiplication algorithm + for ECPoints. + + + Multiplies the ECPoint p by k, i.e. + p is added k times to itself. + @param p The ECPoint to be multiplied. + @param k The factor by which p is multiplied. + @return p multiplied by k. + + + Class holding precomputation data for fixed-point multiplications. + + + Lookup table for the precomputed ECPoints used for a fixed point multiplication. + + + The width used for the precomputation. If a larger width precomputation + is already available this may be larger than was requested, so calling + code should refer to the actual width. + + + Class implementing the NAF (Non-Adjacent Form) multiplication algorithm (right-to-left) using + mixed coordinates. + + + By default, addition will be done in Jacobian coordinates, and doubling will be done in + Modified Jacobian coordinates (independent of the original coordinate system of each point). + + + Montgomery ladder. + + + Class implementing the NAF (Non-Adjacent Form) multiplication algorithm (left-to-right). + + + Class implementing the NAF (Non-Adjacent Form) multiplication algorithm (right-to-left). + + + Interface for classes storing precomputation data for multiplication + algorithms. Used as a Memento (see GOF patterns) for + WNafMultiplier. + + + Class implementing the WNAF (Window Non-Adjacent Form) multiplication + algorithm. + + + Multiplies this by an integer k using the + Window NAF method. + @param k The integer by which this is multiplied. + @return A new ECPoint which equals this + multiplied by k. + + + Class holding precomputation data for the WNAF (Window Non-Adjacent Form) + algorithm. + + + Array holding the precomputed ECPoints used for a Window + NAF multiplication. + + + Array holding the negations of the precomputed ECPoints used + for a Window NAF multiplication. + + + Holds an ECPoint representing Twice(this). Used for the + Window NAF multiplication to create or extend the precomputed values. + + + Computes the Window NAF (non-adjacent Form) of an integer. + @param width The width w of the Window NAF. The width is + defined as the minimal number w, such that for any + w consecutive digits in the resulting representation, at + most one is non-zero. + @param k The integer of which the Window NAF is computed. + @return The Window NAF of the given width, such that the following holds: + k = &sum;i=0l-1 ki2i + , where the ki denote the elements of the + returned byte[]. + + + Determine window width to use for a scalar multiplication of the given size. + + @param bits the bit-length of the scalar to multiply by + @return the window size to use + + + Determine window width to use for a scalar multiplication of the given size. + + @param bits the bit-length of the scalar to multiply by + @param maxWidth the maximum window width to return + @return the window size to use + + + Determine window width to use for a scalar multiplication of the given size. + + @param bits the bit-length of the scalar to multiply by + @param windowSizeCutoffs a monotonically increasing list of bit sizes at which to increment the window width + @return the window size to use + + + Determine window width to use for a scalar multiplication of the given size. + + @param bits the bit-length of the scalar to multiply by + @param windowSizeCutoffs a monotonically increasing list of bit sizes at which to increment the window width + @param maxWidth the maximum window width to return + @return the window size to use + + + Class implementing the WTNAF (Window + τ-adic Non-Adjacent Form) algorithm. + + + Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint} + by k using the reduced τ-adic NAF (RTNAF) + method. + @param p The AbstractF2mPoint to multiply. + @param k The integer by which to multiply k. + @return p multiplied by k. + + + Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint} + by an element λ of Z[τ] using + the τ-adic NAF (TNAF) method. + @param p The AbstractF2mPoint to multiply. + @param lambda The element λ of + Z[τ] of which to compute the + [τ]-adic NAF. + @return p multiplied by λ. + + + Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint} + by an element λ of Z[τ] + using the window τ-adic NAF (TNAF) method, given the + WTNAF of λ. + @param p The AbstractF2mPoint to multiply. + @param u The the WTNAF of λ.. + @return λ * p + + + Class holding precomputation data for the WTNAF (Window + τ-adic Non-Adjacent Form) algorithm. + + + Array holding the precomputed AbstractF2mPoints used for the + WTNAF multiplication in + {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply() + WTauNafMultiplier.multiply()}. + + + 'Zeroless' Signed Digit Left-to-Right. + + + 'Zeroless' Signed Digit Right-to-Left. + + + Utility methods for generating primes and testing for primality. + + + Used to return the output from the + {@linkplain Primes#enhancedMRProbablePrimeTest(BigInteger, SecureRandom, int) Enhanced + Miller-Rabin Probabilistic Primality Test} + + + Used to return the output from the {@linkplain Primes#generateSTRandomPrime(Digest, int, byte[]) Shawe-Taylor Random_Prime Routine} + + + FIPS 186-4 C.6 Shawe-Taylor Random_Prime Routine + + Construct a provable prime number using a hash function. + + @param hash + the {@link Digest} instance to use (as "Hash()"). Cannot be null. + @param length + the length (in bits) of the prime to be generated. Must be at least 2. + @param inputSeed + the seed to be used for the generation of the requested prime. Cannot be null or + empty. + @return an {@link STOutput} instance containing the requested prime. + + + FIPS 186-4 C.3.2 Enhanced Miller-Rabin Probabilistic Primality Test + + Run several iterations of the Miller-Rabin algorithm with randomly-chosen bases. This is an + alternative to {@link #isMRProbablePrime(BigInteger, SecureRandom, int)} that provides more + information about a composite candidate, which may be useful when generating or validating + RSA moduli. + + @param candidate + the {@link BigInteger} instance to test for primality. + @param random + the source of randomness to use to choose bases. + @param iterations + the number of randomly-chosen bases to perform the test for. + @return an {@link MROutput} instance that can be further queried for details. + + + A fast check for small divisors, up to some implementation-specific limit. + + @param candidate + the {@link BigInteger} instance to test for division by small factors. + + @return true if the candidate is found to have any small factors, + false otherwise. + + + FIPS 186-4 C.3.1 Miller-Rabin Probabilistic Primality Test + + Run several iterations of the Miller-Rabin algorithm with randomly-chosen bases. + + @param candidate + the {@link BigInteger} instance to test for primality. + @param random + the source of randomness to use to choose bases. + @param iterations + the number of randomly-chosen bases to perform the test for. + @return false if any witness to compositeness is found amongst the chosen bases + (so candidate is definitely NOT prime), or else true + (indicating primality with some probability dependent on the number of iterations + that were performed). + + + FIPS 186-4 C.3.1 Miller-Rabin Probabilistic Primality Test (to a fixed base). + + Run a single iteration of the Miller-Rabin algorithm against the specified base. + + @param candidate + the {@link BigInteger} instance to test for primality. + @param baseValue + the base value to use for this iteration. + @return false if the specified base is a witness to compositeness (so + candidate is definitely NOT prime), or else true. + + + + + BasicOcspResponse ::= SEQUENCE { + tbsResponseData ResponseData, + signatureAlgorithm AlgorithmIdentifier, + signature BIT STRING, + certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL + } + + + + + The DER encoding of the tbsResponseData field. + In the event of an encoding error. + + + The certificates, if any, associated with the response. + In the event of an encoding error. + + + + Verify the signature against the tbsResponseData object we contain. + + + + The ASN.1 encoded representation of this object. + + + Generator for basic OCSP response objects. + + + basic constructor + + + construct with the responderID to be the SHA-1 keyHash of the passed in public key. + + + Add a response for a particular Certificate ID. + + @param certID certificate ID details + @param certStatus status of the certificate - null if okay + + + Add a response for a particular Certificate ID. + + @param certID certificate ID details + @param certStatus status of the certificate - null if okay + @param singleExtensions optional extensions + + + Add a response for a particular Certificate ID. + + @param certID certificate ID details + @param nextUpdate date when next update should be requested + @param certStatus status of the certificate - null if okay + @param singleExtensions optional extensions + + + Add a response for a particular Certificate ID. + + @param certID certificate ID details + @param thisUpdate date this response was valid on + @param nextUpdate date when next update should be requested + @param certStatus status of the certificate - null if okay + @param singleExtensions optional extensions + + + Set the extensions for the response. + + @param responseExtensions the extension object to carry. + + + + Generate the signed response using the passed in signature calculator. + + Implementation of signing calculator factory. + The certificate chain associated with the response signer. + "produced at" date. + + + + Return an IEnumerable of the signature names supported by the generator. + + @return an IEnumerable containing recognised names. + + + create from an issuer certificate and the serial number of the + certificate it signed. + @exception OcspException if any problems occur creating the id fields. + + + return the serial number for the certificate associated + with this request. + + + Create a new CertificateID for a new serial number derived from a previous one + calculated for the same CA certificate. + + @param original the previously calculated CertificateID for the CA. + @param newSerialNumber the serial number for the new certificate of interest. + + @return a new CertificateID for newSerialNumber + + +
    +             OcspRequest     ::=     SEQUENCE {
    +                   tbsRequest                  TBSRequest,
    +                   optionalSignature   [0]     EXPLICIT Signature OPTIONAL }
    +            
    +               TBSRequest      ::=     SEQUENCE {
    +                   version             [0]     EXPLICIT Version DEFAULT v1,
    +                   requestorName       [1]     EXPLICIT GeneralName OPTIONAL,
    +                   requestList                 SEQUENCE OF Request,
    +                   requestExtensions   [2]     EXPLICIT Extensions OPTIONAL }
    +            
    +               Signature       ::=     SEQUENCE {
    +                   signatureAlgorithm      AlgorithmIdentifier,
    +                   signature               BIT STRING,
    +                   certs               [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL}
    +            
    +               Version         ::=             INTEGER  {  v1(0) }
    +            
    +               Request         ::=     SEQUENCE {
    +                   reqCert                     CertID,
    +                   singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }
    +            
    +               CertID          ::=     SEQUENCE {
    +                   hashAlgorithm       AlgorithmIdentifier,
    +                   issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
    +                   issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
    +                   serialNumber        CertificateSerialNumber }
    +             
    +
    + + Return the DER encoding of the tbsRequest field. + @return DER encoding of tbsRequest + @throws OcspException in the event of an encoding error. + + + return the object identifier representing the signature algorithm + + + If the request is signed return a possibly empty CertStore containing the certificates in the + request. If the request is not signed the method returns null. + + @return null if not signed, a CertStore otherwise + @throws OcspException + + + Return whether or not this request is signed. + + @return true if signed false otherwise. + + + Verify the signature against the TBSRequest object we contain. + + + return the ASN.1 encoded representation of this object. + + + Add a request for the given CertificateID. + + @param certId certificate ID of interest + + + Add a request with extensions + + @param certId certificate ID of interest + @param singleRequestExtensions the extensions to attach to the request + + + Set the requestor name to the passed in X509Principal + + @param requestorName a X509Principal representing the requestor name. + + + Generate an unsigned request + + @return the OcspReq + @throws OcspException + + + Return an IEnumerable of the signature names supported by the generator. + + @return an IEnumerable containing recognised names. + + + return the ASN.1 encoded representation of this object. + + + base generator for an OCSP response - at the moment this only supports the + generation of responses containing BasicOCSP responses. + + + note 4 is not used. + + + Carrier for a ResponderID. + + + wrapper for the RevokedInfo object + + + return the revocation reason. Note: this field is optional, test for it + with hasRevocationReason() first. + @exception InvalidOperationException if a reason is asked for and none is avaliable + + + Return the status object for the response - null indicates good. + + @return the status object for the response, null if it is good. + + + return the NextUpdate value - note: this is an optional field so may + be returned as null. + + @return nextUpdate, or null if not present. + + + wrapper for the UnknownInfo object + + + + Utility class for creating IBasicAgreement objects from their names/Oids + + + + + Cipher Utility class contains methods that can not be specifically grouped into other classes. + + + + + Returns a ObjectIdentifier for a give encoding. + + A string representation of the encoding. + A DerObjectIdentifier, null if the Oid is not available. + + + + Utility class for creating IDigest objects from their names/Oids + + + + + Returns a ObjectIdentifier for a given digest mechanism. + + A string representation of the digest meanism. + A DerObjectIdentifier, null if the Oid is not available. + + + + A class containing methods to interface the BouncyCastle world to the .NET Crypto world. + + + + + Create an System.Security.Cryptography.X509Certificate from an X509Certificate Structure. + + + A System.Security.Cryptography.X509Certificate. + + + + Utility class for creating HMac object from their names/Oids + + + + + + + + + + Returns a ObjectIdentifier for a give encoding. + + A string representation of the encoding. + A DerObjectIdentifier, null if the Oid is not available. + + + + Create and auto-seed an instance based on the given algorithm. + + Equivalent to GetInstance(algorithm, true) + e.g. "SHA256PRNG" + + + + Create an instance based on the given algorithm, with optional auto-seeding + + e.g. "SHA256PRNG" + If true, the instance will be auto-seeded. + + + + To replicate existing predictable output, replace with GetInstance("SHA1PRNG", false), followed by SetSeed(seed) + + + + Use the specified instance of IRandomGenerator as random source. + + This constructor performs no seeding of either the IRandomGenerator or the + constructed SecureRandom. It is the responsibility of the client to provide + proper seed material as necessary/appropriate for the given IRandomGenerator + implementation. + + The source to generate all random bytes from. + + + base constructor. + + + create a SecurityUtilityException with the given message. + + @param message the message to be carried with the exception. + + + + Signer Utility class contains methods that can not be specifically grouped into other classes. + + + + + Returns an ObjectIdentifier for a given encoding. + + A string representation of the encoding. + A DerObjectIdentifier, null if the OID is not available. + + + + Utility class for creating IWrapper objects from their names/Oids + + + + PEM generator for the original set of PEM objects used in Open SSL. + + + Class for reading OpenSSL PEM encoded streams containing + X509 certificates, PKCS8 encoded keys and PKCS7 objects. +

    + In the case of PKCS7 objects the reader will return a CMS ContentInfo object. Keys and + Certificates will be returned using the appropriate java.security type.

    +
    + + Create a new PemReader + + @param reader the Reader + + + Create a new PemReader with a password finder + + @param reader the Reader + @param pFinder the password finder + + + Reads in a X509Certificate. + + @return the X509Certificate + @throws IOException if an I/O error occured + + + Reads in a X509CRL. + + @return the X509Certificate + @throws IOException if an I/O error occured + + + Reads in a PKCS10 certification request. + + @return the certificate request. + @throws IOException if an I/O error occured + + + Reads in a X509 Attribute Certificate. + + @return the X509 Attribute Certificate + @throws IOException if an I/O error occured + + + Reads in a PKCS7 object. This returns a ContentInfo object suitable for use with the CMS + API. + + @return the X509Certificate + @throws IOException if an I/O error occured + + + Read a Key Pair + + + General purpose writer for OpenSSL PEM objects. + + + The TextWriter object to write the output to. + + + Constructor for an unencrypted private key PEM object. + + @param key private key to be encoded. + + + Constructor for an encrypted private key PEM object. + + @param key private key to be encoded + @param algorithm encryption algorithm to use + @param provider provider to use + @throws NoSuchAlgorithmException if algorithm/mode cannot be found + + + + A class for verifying and creating Pkcs10 Certification requests. + + + CertificationRequest ::= Sequence { + certificationRequestInfo CertificationRequestInfo, + signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }}, + signature BIT STRING + } + + CertificationRequestInfo ::= Sequence { + version Integer { v1(0) } (v1,...), + subject Name, + subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }}, + attributes [0] Attributes{{ CRIAttributes }} + } + + Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }} + + Attr { ATTRIBUTE:IOSet } ::= Sequence { + type ATTRIBUTE.&id({IOSet}), + values Set SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{\@type}) + } + + see + + + + Instantiate a Pkcs10CertificationRequest object with the necessary credentials. + + Name of Sig Alg. + X509Name of subject eg OU="My unit." O="My Organisatioin" C="au" + Public Key to be included in cert reqest. + ASN1Set of Attributes. + Matching Private key for nominated (above) public key to be used to sign the request. + + + + Instantiate a Pkcs10CertificationRequest object with the necessary credentials. + + The factory for signature calculators to sign the PKCS#10 request with. + X509Name of subject eg OU="My unit." O="My Organisatioin" C="au" + Public Key to be included in cert reqest. + ASN1Set of Attributes. + Ignored. + + + + Instantiate a Pkcs10CertificationRequest object with the necessary credentials. + + The factory for signature calculators to sign the PKCS#10 request with. + X509Name of subject eg OU="My unit." O="My Organisatioin" C="au" + Public Key to be included in cert reqest. + ASN1Set of Attributes. + + + + Get the public key. + + The public key. + + + + Verify Pkcs10 Cert Request is valid. + + true = valid. + + + + Returns X509Extensions if the Extensions Request attribute can be found and returns the extensions block. + + X509Extensions block or null if one cannot be found. + + + + A class for creating and verifying Pkcs10 Certification requests (this is an extension on ). + The requests are made using delay signing. This is useful for situations where + the private key is in another environment and not directly accessible (e.g. HSM) + So the first step creates the request, then the signing is done outside this + object and the signature is then used to complete the request. + + + CertificationRequest ::= Sequence { + certificationRequestInfo CertificationRequestInfo, + signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }}, + signature BIT STRING + } + + CertificationRequestInfo ::= Sequence { + version Integer { v1(0) } (v1,...), + subject Name, + subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }}, + attributes [0] Attributes{{ CRIAttributes }} + } + + Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }} + + Attr { ATTRIBUTE:IOSet } ::= Sequence { + type ATTRIBUTE.&id({IOSet}), + values Set SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{\@type}) + } + + see + + + + Instantiate a Pkcs10CertificationRequest object with the necessary credentials. + + Name of Sig Alg. + X509Name of subject eg OU="My unit." O="My Organisatioin" C="au" + Public Key to be included in cert reqest. + ASN1Set of Attributes. + + After the object is constructed use the and finally the + SignRequest methods to finalize the request. + + + + simply return the cert entry for the private key + + + Utility class for reencoding PKCS#12 files to definite length. + + + Just re-encode the outer layer of the PKCS#12 file to definite length encoding. + + @param berPKCS12File - original PKCS#12 file + @return a byte array representing the DER encoding of the PFX structure + @throws IOException + + + Re-encode the PKCS#12 structure to definite length encoding at the inner layer + as well, recomputing the MAC accordingly. + + @param berPKCS12File - original PKCS12 file. + @param provider - provider to use for MAC calculation. + @return a byte array representing the DER encoding of the PFX structure. + @throws IOException on parsing, encoding errors. + + + + A holding class for a PKCS#8 encrypted private key info object that allows for its decryption. + + + + + Base constructor from a PKCS#8 EncryptedPrivateKeyInfo object. + + A PKCS#8 EncryptedPrivateKeyInfo object. + + + + Base constructor from a BER encoding of a PKCS#8 EncryptedPrivateKeyInfo object. + + A BER encoding of a PKCS#8 EncryptedPrivateKeyInfo objects. + + + + Returns the underlying ASN.1 structure inside this object. + + Return the EncryptedPrivateKeyInfo structure in this object. + + + + Returns a copy of the encrypted data in this structure. + + Return a copy of the encrypted data in this object. + + + + Return a binary ASN.1 encoding of the EncryptedPrivateKeyInfo structure in this object. + + A byte array containing the encoded object. + + + + Get a decryptor from the passed in provider and decrypt the encrypted private key info, returning the result. + + A provider to query for decryptors for the object. + The decrypted private key info structure. + + + + Create the encrypted private key info using the passed in encryptor. + + The encryptor to use. + An encrypted private key info containing the original private key info. + + + + Base exception for PKCS related issues. + + + + + Base exception for parsing related issues in the PKCS namespace. + + + + Create a PrivateKeyInfo representation of a private key with attributes. + + @param privateKey the key to be encoded into the info object. + @param attributes the set of attributes to be included. + @return the appropriate PrivateKeyInfo + @throws java.io.IOException on an error encoding the key + + + + Returns the revocationDate. + + + + + Returns the certStatus. + + + + Returns an immutable Set of X.509 attribute certificate + extensions that this PkixAttrCertChecker supports or + null if no extensions are supported. +

    + Each element of the set is a String representing the + Object Identifier (OID) of the X.509 extension that is supported. +

    +

    + All X.509 attribute certificate extensions that a + PkixAttrCertChecker might possibly be able to process + should be included in the set. +

    + + @return an immutable Set of X.509 extension OIDs (in + String format) supported by this + PkixAttrCertChecker, or null if no + extensions are supported +
    + + Performs checks on the specified attribute certificate. Every handled + extension is rmeoved from the unresolvedCritExts + collection. + + @param attrCert The attribute certificate to be checked. + @param certPath The certificate path which belongs to the attribute + certificate issuer public key certificate. + @param holderCertPath The certificate path which belongs to the holder + certificate. + @param unresolvedCritExts a Collection of OID strings + representing the current set of unresolved critical extensions + @throws CertPathValidatorException if the specified attribute certificate + does not pass the check. + + + Returns a clone of this object. + + @return a copy of this PkixAttrCertChecker + + + Build and validate a CertPath using the given parameter. + + @param params PKIXBuilderParameters object containing all information to + build the CertPath + + + CertPathValidatorSpi implementation for X.509 Attribute Certificates la RFC 3281. + + @see org.bouncycastle.x509.ExtendedPkixParameters + + + Validates an attribute certificate with the given certificate path. + +

    + params must be an instance of + ExtendedPkixParameters. +

    + The target constraints in the params must be an + X509AttrCertStoreSelector with at least the attribute + certificate criterion set. Obey that also target informations may be + necessary to correctly validate this attribute certificate. +

    + The attribute certificate issuer must be added to the trusted attribute + issuers with {@link ExtendedPkixParameters#setTrustedACIssuers(Set)}. +

    + @param certPath The certificate path which belongs to the attribute + certificate issuer public key certificate. + @param params The PKIX parameters. + @return A PKIXCertPathValidatorResult of the result of + validating the certPath. + @throws InvalidAlgorithmParameterException if params is + inappropriate for this validator. + @throws CertPathValidatorException if the verification fails. +
    + + + Summary description for PkixBuilderParameters. + + + + Returns an instance of PkixBuilderParameters. +

    + This method can be used to get a copy from other + PKIXBuilderParameters, PKIXParameters, + and ExtendedPKIXParameters instances. +

    + + @param pkixParams The PKIX parameters to create a copy of. + @return An PkixBuilderParameters instance. +
    + + + Excluded certificates are not used for building a certification path. + + the excluded certificates. + + + + Sets the excluded certificates which are not used for building a + certification path. If the ISet is null an + empty set is assumed. + + + The given set is cloned to protect it against subsequent modifications. + + The excluded certificates to set. + + + Can alse handle ExtendedPKIXBuilderParameters and + PKIXBuilderParameters. + + @param params Parameters to set. + @see org.bouncycastle.x509.ExtendedPKIXParameters#setParams(java.security.cert.PKIXParameters) + + + Makes a copy of this PKIXParameters object. Changes to the + copy will not affect the original and vice versa. + + @return a copy of this PKIXParameters object + + + An immutable sequence of certificates (a certification path).
    +
    + This is an abstract class that defines the methods common to all CertPaths. + Subclasses can handle different kinds of certificates (X.509, PGP, etc.).
    +
    + All CertPath objects have a type, a list of Certificates, and one or more + supported encodings. Because the CertPath class is immutable, a CertPath + cannot change in any externally visible way after being constructed. This + stipulation applies to all public fields and methods of this class and any + added or overridden by subclasses.
    +
    + The type is a string that identifies the type of Certificates in the + certification path. For each certificate cert in a certification path + certPath, cert.getType().equals(certPath.getType()) must be true.
    +
    + The list of Certificates is an ordered List of zero or more Certificates. + This List and all of the Certificates contained in it must be immutable.
    +
    + Each CertPath object must support one or more encodings so that the object + can be translated into a byte array for storage or transmission to other + parties. Preferably, these encodings should be well-documented standards + (such as PKCS#7). One of the encodings supported by a CertPath is considered + the default encoding. This encoding is used if no encoding is explicitly + requested (for the {@link #getEncoded()} method, for instance).
    +
    + All CertPath objects are also Serializable. CertPath objects are resolved + into an alternate {@link CertPathRep} object during serialization. This + allows a CertPath object to be serialized into an equivalent representation + regardless of its underlying implementation.
    +
    + CertPath objects can be created with a CertificateFactory or they can be + returned by other classes, such as a CertPathBuilder.
    +
    + By convention, X.509 CertPaths (consisting of X509Certificates), are ordered + starting with the target certificate and ending with a certificate issued by + the trust anchor. That is, the issuer of one certificate is the subject of + the following one. The certificate representing the + {@link TrustAnchor TrustAnchor} should not be included in the certification + path. Unvalidated X.509 CertPaths may not follow these conventions. PKIX + CertPathValidators will detect any departure from these conventions that + cause the certification path to be invalid and throw a + CertPathValidatorException.
    +
    + Concurrent Access
    +
    + All CertPath objects must be thread-safe. That is, multiple threads may + concurrently invoke the methods defined in this class on a single CertPath + object (or more than one) with no ill effects. This is also true for the List + returned by CertPath.getCertificates.
    +
    + Requiring CertPath objects to be immutable and thread-safe allows them to be + passed around to various pieces of code without worrying about coordinating + access. Providing this thread-safety is generally not difficult, since the + CertPath and List objects in question are immutable. + + @see CertificateFactory + @see CertPathBuilder + + CertPath implementation for X.509 certificates. + +
    + + @param certs + + + Creates a CertPath of the specified type. + This constructor is protected because most users should use + a CertificateFactory to create CertPaths. + @param type the standard name of the type of Certificatesin this path + + + + Creates a CertPath of the specified type. + This constructor is protected because most users should use + a CertificateFactory to create CertPaths. + + @param type the standard name of the type of Certificatesin this path + + + + Returns an iteration of the encodings supported by this + certification path, with the default encoding + first. Attempts to modify the returned Iterator via its + remove method result in an UnsupportedOperationException. + + @return an Iterator over the names of the supported encodings (as Strings) + + + + Compares this certification path for equality with the specified object. + Two CertPaths are equal if and only if their types are equal and their + certificate Lists (and by implication the Certificates in those Lists) + are equal. A CertPath is never equal to an object that is not a CertPath.
    +
    + This algorithm is implemented by this method. If it is overridden, the + behavior specified here must be maintained. + + @param other + the object to test for equality with this certification path + + @return true if the specified object is equal to this certification path, + false otherwise + + @see Object#hashCode() Object.hashCode() +
    + + Returns the encoded form of this certification path, using + the default encoding. + + @return the encoded bytes + @exception CertificateEncodingException if an encoding error occurs + + + + Returns the encoded form of this certification path, using + the specified encoding. + + @param encoding the name of the encoding to use + @return the encoded bytes + @exception CertificateEncodingException if an encoding error + occurs or the encoding requested is not supported + + + + + Returns the list of certificates in this certification + path. + + + + Return a DERObject containing the encoded certificate. + + @param cert the X509Certificate object to be encoded + + @return the DERObject + + + + Implements the PKIX CertPathBuilding algorithm for BouncyCastle. + + @see CertPathBuilderSpi + + + Build and validate a CertPath using the given parameter. + + @param params PKIXBuilderParameters object containing all information to + build the CertPath + + + + Summary description for PkixCertPathBuilderException. + + + + + Summary description for PkixCertPathBuilderResult. + + + + * Initializes the internal state of this PKIXCertPathChecker. + *

    + * The forward flag specifies the order that certificates + * will be passed to the {@link #check check} method (forward or reverse). A + * PKIXCertPathChecker must support reverse checking + * and may support forward checking. + *

    + * + * @param forward + * the order that certificates are presented to the + * check method. If true, + * certificates are presented from target to most-trusted CA + * (forward); if false, from most-trusted CA to + * target (reverse). + * @exception CertPathValidatorException + * if this PKIXCertPathChecker is unable to + * check certificates in the specified order; it should never + * be thrown if the forward flag is false since reverse + * checking must be supported +
    + + Indicates if forward checking is supported. Forward checking refers to + the ability of the PKIXCertPathChecker to perform its + checks when certificates are presented to the check method + in the forward direction (from target to most-trusted CA). + + @return true if forward checking is supported, + false otherwise + + + * Returns an immutable Set of X.509 certificate extensions + * that this PKIXCertPathChecker supports (i.e. recognizes, + * is able to process), or null if no extensions are + * supported. + *

    + * Each element of the set is a String representing the + * Object Identifier (OID) of the X.509 extension that is supported. The OID + * is represented by a set of nonnegative integers separated by periods. + *

    + * All X.509 certificate extensions that a PKIXCertPathChecker + * might possibly be able to process should be included in the set. + *

    + * + * @return an immutable Set of X.509 extension OIDs (in + * String format) supported by this + * PKIXCertPathChecker, or null if no + * extensions are supported +
    + + Performs the check(s) on the specified certificate using its internal + state and removes any critical extensions that it processes from the + specified collection of OID strings that represent the unresolved + critical extensions. The certificates are presented in the order + specified by the init method. + + @param cert + the Certificate to be checked + @param unresolvedCritExts + a Collection of OID strings representing the + current set of unresolved critical extensions + @exception CertPathValidatorException + if the specified certificate does not pass the check + + + Returns a clone of this object. Calls the Object.clone() + method. All subclasses which maintain state must support and override + this method, if necessary. + + @return a copy of this PKIXCertPathChecker + + + The Service Provider Interface (SPI) + for the {@link CertPathValidator CertPathValidator} class. All + CertPathValidator implementations must include a class (the + SPI class) that extends this class (CertPathValidatorSpi) + and implements all of its methods. In general, instances of this class + should only be accessed through the CertPathValidator class. + For details, see the Java Cryptography Architecture.
    +
    + Concurrent Access
    +
    + Instances of this class need not be protected against concurrent + access from multiple threads. Threads that need to access a single + CertPathValidatorSpi instance concurrently should synchronize + amongst themselves and provide the necessary locking before calling the + wrapping CertPathValidator object.
    +
    + However, implementations of CertPathValidatorSpi may still + encounter concurrency issues, since multiple threads each + manipulating a different CertPathValidatorSpi instance need not + synchronize. + + CertPathValidatorSpi implementation for X.509 Certificate validation a la RFC + 3280. + +
    + + An exception indicating one of a variety of problems encountered when + validating a certification path.
    +
    + A CertPathValidatorException provides support for wrapping + exceptions. The {@link #getCause getCause} method returns the throwable, + if any, that caused this exception to be thrown.
    +
    + A CertPathValidatorException may also include the + certification path that was being validated when the exception was thrown + and the index of the certificate in the certification path that caused the + exception to be thrown. Use the {@link #getCertPath getCertPath} and + {@link #getIndex getIndex} methods to retrieve this information.
    +
    + Concurrent Access
    +
    + Unless otherwise specified, the methods defined in this class are not + thread-safe. Multiple threads that need to access a single + object concurrently should synchronize amongst themselves and + provide the necessary locking. Multiple threads each manipulating + separate objects need not synchronize. + + @see CertPathValidator + +
    + + + Creates a PkixCertPathValidatorException with the given detail + message. A detail message is a String that describes this + particular exception. + + the detail message + + + + Creates a PkixCertPathValidatorException with the specified + detail message and cause. + + the detail message + the cause (which is saved for later retrieval by the + {@link #getCause getCause()} method). (A null + value is permitted, and indicates that the cause is + nonexistent or unknown.) + + + + Creates a PkixCertPathValidatorException with the specified + detail message, cause, certification path, and index. + + the detail message (or null if none) + the cause (or null if none) + the certification path that was in the process of being + validated when the error was encountered + the index of the certificate in the certification path that * + + + + Returns the detail message for this CertPathValidatorException. + + the detail message, or null if neither the message nor cause were specified + + + Returns the certification path that was being validated when the + exception was thrown. + + @return the CertPath that was being validated when the + exception was thrown (or null if not specified) + + + Returns the index of the certificate in the certification path that + caused the exception to be thrown. Note that the list of certificates in + a CertPath is zero based. If no index has been set, -1 is + returned. + + @return the index that has been set, or -1 if none has been set + + + + Summary description for PkixCertPathValidatorResult. + + + + + Summary description for PkixCertPathValidatorUtilities. + + + + + key usage bits + + + + + Search the given Set of TrustAnchor's for one that is the + issuer of the given X509 certificate. + + the X509 certificate + a Set of TrustAnchor's + the TrustAnchor object if found or + null if not. + + @exception + + + + Returns the issuer of an attribute certificate or certificate. + + The attribute certificate or certificate. + The issuer as X500Principal. + + + Return the next working key inheriting DSA parameters if necessary. +

    + This methods inherits DSA parameters from the indexed certificate or + previous certificates in the certificate chain to the returned + PublicKey. The list is searched upwards, meaning the end + certificate is at position 0 and previous certificates are following. +

    +

    + If the indexed certificate does not contain a DSA key this method simply + returns the public key. If the DSA key already contains DSA parameters + the key is also only returned. +

    + + @param certs The certification path. + @param index The index of the certificate which contains the public key + which should be extended with DSA parameters. + @return The public key of the certificate in list position + index extended with DSA parameters if applicable. + @throws Exception if DSA parameters cannot be inherited. +
    + + + Return a Collection of all certificates or attribute certificates found + in the X509Store's that are matching the certSelect criteriums. + + a {@link Selector} object that will be used to select + the certificates + a List containing only X509Store objects. These + are used to search for certificates. + a Collection of all found or + objects. + May be empty but never null. + + + + Add the CRL issuers from the cRLIssuer field of the distribution point or + from the certificate if not given to the issuer criterion of the + selector. +

    + The issuerPrincipals are a collection with a single + X500Principal for X509Certificates. For + {@link X509AttributeCertificate}s the issuer may contain more than one + X500Principal. +

    + + @param dp The distribution point. + @param issuerPrincipals The issuers of the certificate or attribute + certificate which contains the distribution point. + @param selector The CRL selector. + @param pkixParams The PKIX parameters containing the cert stores. + @throws Exception if an exception occurs while processing. + @throws ClassCastException if issuerPrincipals does not + contain only X500Principals. +
    + + Fetches complete CRLs according to RFC 3280. + + @param dp The distribution point for which the complete CRL + @param cert The X509Certificate or + {@link org.bouncycastle.x509.X509AttributeCertificate} for + which the CRL should be searched. + @param currentDate The date for which the delta CRLs must be valid. + @param paramsPKIX The extended PKIX parameters. + @return A Set of X509CRLs with complete + CRLs. + @throws Exception if an exception occurs while picking the CRLs + or no CRLs are found. + + + Fetches delta CRLs according to RFC 3280 section 5.2.4. + + @param currentDate The date for which the delta CRLs must be valid. + @param paramsPKIX The extended PKIX parameters. + @param completeCRL The complete CRL the delta CRL is for. + @return A Set of X509CRLs with delta CRLs. + @throws Exception if an exception occurs while picking the delta + CRLs. + + + Find the issuer certificates of a given certificate. + + @param cert + The certificate for which an issuer should be found. + @param pkixParams + @return A Collection object containing the issuer + X509Certificates. Never null. + + @exception Exception + if an error occurs. + + + + Extract the value of the given extension, if it exists. + + The extension object. + The object identifier to obtain. + Asn1Object + if the extension cannot be read. + + + + crl checking + Return a Collection of all CRLs found in the X509Store's that are + matching the crlSelect criteriums. + + a {@link X509CRLStoreSelector} object that will be used + to select the CRLs + a List containing only {@link org.bouncycastle.x509.X509Store + X509Store} objects. These are used to search for CRLs + a Collection of all found {@link X509CRL X509CRL} objects. May be + empty but never null. + + + + Returns the intersection of the permitted IP ranges in + permitted with ip. + + @param permitted A Set of permitted IP addresses with + their subnet mask as byte arrays. + @param ips The IP address with its subnet mask. + @return The Set of permitted IP ranges intersected with + ip. + + + Returns the union of the excluded IP ranges in excluded + with ip. + + @param excluded A Set of excluded IP addresses with their + subnet mask as byte arrays. + @param ip The IP address with its subnet mask. + @return The Set of excluded IP ranges unified with + ip as byte arrays. + + + Calculates the union if two IP ranges. + + @param ipWithSubmask1 The first IP address with its subnet mask. + @param ipWithSubmask2 The second IP address with its subnet mask. + @return A Set with the union of both addresses. + + + Calculates the interesction if two IP ranges. + + @param ipWithSubmask1 The first IP address with its subnet mask. + @param ipWithSubmask2 The second IP address with its subnet mask. + @return A Set with the single IP address with its subnet + mask as a byte array or an empty Set. + + + Concatenates the IP address with its subnet mask. + + @param ip The IP address. + @param subnetMask Its subnet mask. + @return The concatenated IP address with its subnet mask. + + + Splits the IP addresses and their subnet mask. + + @param ipWithSubmask1 The first IP address with the subnet mask. + @param ipWithSubmask2 The second IP address with the subnet mask. + @return An array with two elements. Each element contains the IP address + and the subnet mask in this order. + + + Based on the two IP addresses and their subnet masks the IP range is + computed for each IP address - subnet mask pair and returned as the + minimum IP address and the maximum address of the range. + + @param ip1 The first IP address. + @param subnetmask1 The subnet mask of the first IP address. + @param ip2 The second IP address. + @param subnetmask2 The subnet mask of the second IP address. + @return A array with two elements. The first/second element contains the + min and max IP address of the first/second IP address and its + subnet mask. + + + Checks if the IP address ip is constrained by + constraint. + + @param constraint The constraint. This is an IP address concatenated with + its subnetmask. + @param ip The IP address. + @return true if constrained, false + otherwise. + + + Checks if the IP ip is included in the permitted ISet + permitted. + + @param permitted A Set of permitted IP addresses with + their subnet mask as byte arrays. + @param ip The IP address. + @throws PkixNameConstraintValidatorException + if the IP is not permitted. + + + Checks if the IP ip is included in the excluded ISet + excluded. + + @param excluded A Set of excluded IP addresses with their + subnet mask as byte arrays. + @param ip The IP address. + @throws PkixNameConstraintValidatorException + if the IP is excluded. + + + The common part of email1 and email2 is + added to the union union. If email1 and + email2 have nothing in common they are added both. + + @param email1 Email address constraint 1. + @param email2 Email address constraint 2. + @param union The union. + + + The most restricting part from email1 and + email2 is added to the intersection intersect. + + @param email1 Email address constraint 1. + @param email2 Email address constraint 2. + @param intersect The intersection. + + + Checks if the given GeneralName is in the permitted ISet. + + @param name The GeneralName + @throws PkixNameConstraintValidatorException + If the name + + + Check if the given GeneralName is contained in the excluded ISet. + + @param name The GeneralName. + @throws PkixNameConstraintValidatorException + If the name is + excluded. + + + Updates the permitted ISet of these name constraints with the intersection + with the given subtree. + + @param permitted The permitted subtrees + + + Adds a subtree to the excluded ISet of these name constraints. + + @param subtree A subtree with an excluded GeneralName. + + + Returns the maximum IP address. + + @param ip1 The first IP address. + @param ip2 The second IP address. + @return The maximum IP address. + + + Returns the minimum IP address. + + @param ip1 The first IP address. + @param ip2 The second IP address. + @return The minimum IP address. + + + Compares IP address ip1 with ip2. If ip1 + is equal to ip2 0 is returned. If ip1 is bigger 1 is returned, -1 + otherwise. + + @param ip1 The first IP address. + @param ip2 The second IP address. + @return 0 if ip1 is equal to ip2, 1 if ip1 is bigger, -1 otherwise. + + + Returns the logical OR of the IP addresses ip1 and + ip2. + + @param ip1 The first IP address. + @param ip2 The second IP address. + @return The OR of ip1 and ip2. + + + Stringifies an IPv4 or v6 address with subnet mask. + + @param ip The IP with subnet mask. + @return The stringified IP address. + + + + Summary description for PkixParameters. + + + + This is the default PKIX validity model. Actually there are two variants + of this: The PKIX model and the modified PKIX model. The PKIX model + verifies that all involved certificates must have been valid at the + current time. The modified PKIX model verifies that all involved + certificates were valid at the signing time. Both are indirectly choosen + with the {@link PKIXParameters#setDate(java.util.Date)} method, so this + methods sets the Date when all certificates must have been + valid. + + + This model uses the following validity model. Each certificate must have + been valid at the moment where is was used. That means the end + certificate must have been valid at the time the signature was done. The + CA certificate which signed the end certificate must have been valid, + when the end certificate was signed. The CA (or Root CA) certificate must + have been valid, when the CA certificate was signed and so on. So the + {@link PKIXParameters#setDate(java.util.Date)} method sets the time, when + the end certificate must have been valid.

    It is used e.g. + in the German signature law. + + + Creates an instance of PKIXParameters with the specified Set of + most-trusted CAs. Each element of the set is a TrustAnchor.
    +
    + Note that the Set is copied to protect against subsequent modifications. + + @param trustAnchors + a Set of TrustAnchors + + @exception InvalidAlgorithmParameterException + if the specified Set is empty + (trustAnchors.isEmpty() == true) + @exception NullPointerException + if the specified Set is null + @exception ClassCastException + if any of the elements in the Set are not of type + java.security.cert.TrustAnchor +
    + + Returns the required constraints on the target certificate. The + constraints are returned as an instance of CertSelector. If + null, no constraints are defined.
    +
    + Note that the CertSelector returned is cloned to protect against + subsequent modifications. + + @return a CertSelector specifying the constraints on the target + certificate (or null) + + @see #setTargetCertConstraints(CertSelector) +
    + + Sets the required constraints on the target certificate. The constraints + are specified as an instance of CertSelector. If null, no constraints are + defined.
    +
    + Note that the CertSelector specified is cloned to protect against + subsequent modifications. + + @param selector + a CertSelector specifying the constraints on the target + certificate (or null) + + @see #getTargetCertConstraints() +
    + + Returns an immutable Set of initial policy identifiers (OID strings), + indicating that any one of these policies would be acceptable to the + certificate user for the purposes of certification path processing. The + default return value is an empty Set, which is + interpreted as meaning that any policy would be acceptable. + + @return an immutable Set of initial policy OIDs in String + format, or an empty Set (implying any policy is + acceptable). Never returns null. + + @see #setInitialPolicies(java.util.Set) + + + Sets the Set of initial policy identifiers (OID strings), + indicating that any one of these policies would be acceptable to the + certificate user for the purposes of certification path processing. By + default, any policy is acceptable (i.e. all policies), so a user that + wants to allow any policy as acceptable does not need to call this + method, or can call it with an empty Set (or + null).
    +
    + Note that the Set is copied to protect against subsequent modifications.
    +
    + + @param initialPolicies + a Set of initial policy OIDs in String format (or + null) + + @exception ClassCastException + if any of the elements in the set are not of type String + + @see #getInitialPolicies() +
    + + Sets a List of additional certification path checkers. If + the specified List contains an object that is not a PKIXCertPathChecker, + it is ignored.
    +
    + Each PKIXCertPathChecker specified implements additional + checks on a certificate. Typically, these are checks to process and + verify private extensions contained in certificates. Each + PKIXCertPathChecker should be instantiated with any + initialization parameters needed to execute the check.
    +
    + This method allows sophisticated applications to extend a PKIX + CertPathValidator or CertPathBuilder. Each + of the specified PKIXCertPathCheckers will be called, in turn, by a PKIX + CertPathValidator or CertPathBuilder for + each certificate processed or validated.
    +
    + Regardless of whether these additional PKIXCertPathCheckers are set, a + PKIX CertPathValidator or CertPathBuilder + must perform all of the required PKIX checks on each certificate. The one + exception to this rule is if the RevocationEnabled flag is set to false + (see the {@link #setRevocationEnabled(boolean) setRevocationEnabled} + method).
    +
    + Note that the List supplied here is copied and each PKIXCertPathChecker + in the list is cloned to protect against subsequent modifications. + + @param checkers + a List of PKIXCertPathCheckers. May be null, in which case no + additional checkers will be used. + @exception ClassCastException + if any of the elements in the list are not of type + java.security.cert.PKIXCertPathChecker + @see #getCertPathCheckers() +
    + + Returns the List of certification path checkers. Each PKIXCertPathChecker + in the returned IList is cloned to protect against subsequent modifications. + + @return an immutable List of PKIXCertPathCheckers (may be empty, but not + null) + + @see #setCertPathCheckers(java.util.List) + + + Adds a PKIXCertPathChecker to the list of certification + path checkers. See the {@link #setCertPathCheckers setCertPathCheckers} + method for more details. +

    + Note that the PKIXCertPathChecker is cloned to protect + against subsequent modifications.

    + + @param checker a PKIXCertPathChecker to add to the list of + checks. If null, the checker is ignored (not added to list). +
    + + Method to support Clone() under J2ME. + super.Clone() does not exist and fields are not copied. + + @param params Parameters to set. If this are + ExtendedPkixParameters they are copied to. + + + Whether delta CRLs should be used for checking the revocation status. + Defaults to false. + + + The validity model. + @see #CHAIN_VALIDITY_MODEL + @see #PKIX_VALIDITY_MODEL + + + Sets the Bouncy Castle Stores for finding CRLs, certificates, attribute + certificates or cross certificates. +

    + The IList is cloned. +

    + + @param stores A list of stores to use. + @see #getStores + @throws ClassCastException if an element of stores is not + a {@link Store}. +
    + + Adds a Bouncy Castle {@link Store} to find CRLs, certificates, attribute + certificates or cross certificates. +

    + This method should be used to add local stores, like collection based + X.509 stores, if available. Local stores should be considered first, + before trying to use additional (remote) locations, because they do not + need possible additional network traffic. +

    + If store is null it is ignored. +

    + + @param store The store to add. + @see #getStores +
    + + Adds an additional Bouncy Castle {@link Store} to find CRLs, certificates, + attribute certificates or cross certificates. +

    + You should not use this method. This method is used for adding additional + X.509 stores, which are used to add (remote) locations, e.g. LDAP, found + during X.509 object processing, e.g. in certificates or CRLs. This method + is used in PKIX certification path processing. +

    + If store is null it is ignored. +

    + + @param store The store to add. + @see #getStores() +
    + + Returns an IList of additional Bouncy Castle + Stores used for finding CRLs, certificates, attribute + certificates or cross certificates. + + @return an immutable IList of additional Bouncy Castle + Stores. Never null. + + @see #addAddionalStore(Store) + + + Returns an IList of Bouncy Castle + Stores used for finding CRLs, certificates, attribute + certificates or cross certificates. + + @return an immutable IList of Bouncy Castle + Stores. Never null. + + @see #setStores(IList) + + + Returns if additional {@link X509Store}s for locations like LDAP found + in certificates or CRLs should be used. + + @return Returns true if additional stores are used. + + + Sets if additional {@link X509Store}s for locations like LDAP found in + certificates or CRLs should be used. + + @param enabled true if additional stores are used. + + + Returns the required constraints on the target certificate or attribute + certificate. The constraints are returned as an instance of + IX509Selector. If null, no constraints are + defined. + +

    + The target certificate in a PKIX path may be a certificate or an + attribute certificate. +

    + Note that the IX509Selector returned is cloned to protect + against subsequent modifications. +

    + @return a IX509Selector specifying the constraints on the + target certificate or attribute certificate (or null) + @see #setTargetConstraints + @see X509CertStoreSelector + @see X509AttributeCertStoreSelector +
    + + Sets the required constraints on the target certificate or attribute + certificate. The constraints are specified as an instance of + IX509Selector. If null, no constraints are + defined. +

    + The target certificate in a PKIX path may be a certificate or an + attribute certificate. +

    + Note that the IX509Selector specified is cloned to protect + against subsequent modifications. +

    + + @param selector a IX509Selector specifying the constraints on + the target certificate or attribute certificate (or + null) + @see #getTargetConstraints + @see X509CertStoreSelector + @see X509AttributeCertStoreSelector +
    + + Returns the trusted attribute certificate issuers. If attribute + certificates is verified the trusted AC issuers must be set. +

    + The returned ISet consists of TrustAnchors. +

    + The returned ISet is immutable. Never null +

    + + @return Returns an immutable set of the trusted AC issuers. +
    + + Sets the trusted attribute certificate issuers. If attribute certificates + is verified the trusted AC issuers must be set. +

    + The trustedACIssuers must be a ISet of + TrustAnchor +

    + The given set is cloned. +

    + + @param trustedACIssuers The trusted AC issuers to set. Is never + null. + @throws ClassCastException if an element of stores is not + a TrustAnchor. +
    + + Returns the necessary attributes which must be contained in an attribute + certificate. +

    + The returned ISet is immutable and contains + Strings with the OIDs. +

    + + @return Returns the necessary AC attributes. +
    + + Sets the necessary which must be contained in an attribute certificate. +

    + The ISet must contain Strings with the + OIDs. +

    + The set is cloned. +

    + + @param necessaryACAttributes The necessary AC attributes to set. + @throws ClassCastException if an element of + necessaryACAttributes is not a + String. +
    + + Returns the attribute certificates which are not allowed. +

    + The returned ISet is immutable and contains + Strings with the OIDs. +

    + + @return Returns the prohibited AC attributes. Is never null. +
    + + Sets the attribute certificates which are not allowed. +

    + The ISet must contain Strings with the + OIDs. +

    + The set is cloned. +

    + + @param prohibitedACAttributes The prohibited AC attributes to set. + @throws ClassCastException if an element of + prohibitedACAttributes is not a + String. +
    + + Returns the attribute certificate checker. The returned set contains + {@link PKIXAttrCertChecker}s and is immutable. + + @return Returns the attribute certificate checker. Is never + null. + + + Sets the attribute certificate checkers. +

    + All elements in the ISet must a {@link PKIXAttrCertChecker}. +

    +

    + The given set is cloned. +

    + + @param attrCertCheckers The attribute certificate checkers to set. Is + never null. + @throws ClassCastException if an element of attrCertCheckers + is not a PKIXAttrCertChecker. +
    + + + Summary description for PkixPolicyNode. + + + + Constructors + + + + This class helps to handle CRL revocation reasons mask. Each CRL handles a + certain set of revocation reasons. + + + + + Constructs are reason mask with the reasons. + + The reasons. + + + + A reason mask with no reason. + + + + + A mask with all revocation reasons. + + + + Adds all reasons from the reasons mask to this mask. + + @param mask The reasons mask to add. + + + + Returns true if this reasons mask contains all possible + reasons. + + true if this reasons mask contains all possible reasons. + + + + + Intersects this mask with the given reasons mask. + + mask The mask to intersect with. + The intersection of this and teh given mask. + + + + Returns true if the passed reasons mask has new reasons. + + The reasons mask which should be tested for new reasons. + true if the passed reasons mask has new reasons. + + + + Returns the reasons in this mask. + + + + If the complete CRL includes an issuing distribution point (IDP) CRL + extension check the following: +

    + (i) If the distribution point name is present in the IDP CRL extension + and the distribution field is present in the DP, then verify that one of + the names in the IDP matches one of the names in the DP. If the + distribution point name is present in the IDP CRL extension and the + distribution field is omitted from the DP, then verify that one of the + names in the IDP matches one of the names in the cRLIssuer field of the + DP. +

    +

    + (ii) If the onlyContainsUserCerts boolean is asserted in the IDP CRL + extension, verify that the certificate does not include the basic + constraints extension with the cA boolean asserted. +

    +

    + (iii) If the onlyContainsCACerts boolean is asserted in the IDP CRL + extension, verify that the certificate includes the basic constraints + extension with the cA boolean asserted. +

    +

    + (iv) Verify that the onlyContainsAttributeCerts boolean is not asserted. +

    + + @param dp The distribution point. + @param cert The certificate. + @param crl The CRL. + @throws AnnotatedException if one of the conditions is not met or an error occurs. +
    + + If the DP includes cRLIssuer, then verify that the issuer field in the + complete CRL matches cRLIssuer in the DP and that the complete CRL + contains an + g distribution point extension with the indirectCRL + boolean asserted. Otherwise, verify that the CRL issuer matches the + certificate issuer. + + @param dp The distribution point. + @param cert The certificate ot attribute certificate. + @param crl The CRL for cert. + @throws AnnotatedException if one of the above conditions does not apply or an error + occurs. + + + Obtain and validate the certification path for the complete CRL issuer. + If a key usage extension is present in the CRL issuer's certificate, + verify that the cRLSign bit is set. + + @param crl CRL which contains revocation information for the certificate + cert. + @param cert The attribute certificate or certificate to check if it is + revoked. + @param defaultCRLSignCert The issuer certificate of the certificate cert. + @param defaultCRLSignKey The public key of the issuer certificate + defaultCRLSignCert. + @param paramsPKIX paramsPKIX PKIX parameters. + @param certPathCerts The certificates on the certification path. + @return A Set with all keys of possible CRL issuer + certificates. + @throws AnnotatedException if the CRL is not valid or the status cannot be checked or + some error occurs. + + + Checks a distribution point for revocation information for the + certificate cert. + + @param dp The distribution point to consider. + @param paramsPKIX PKIX parameters. + @param cert Certificate to check if it is revoked. + @param validDate The date when the certificate revocation status should be + checked. + @param defaultCRLSignCert The issuer certificate of the certificate cert. + @param defaultCRLSignKey The public key of the issuer certificate + defaultCRLSignCert. + @param certStatus The current certificate revocation status. + @param reasonMask The reasons mask which is already checked. + @param certPathCerts The certificates of the certification path. + @throws AnnotatedException if the certificate is revoked or the status cannot be checked + or some error occurs. + + + Checks a certificate if it is revoked. + + @param paramsPKIX PKIX parameters. + @param cert Certificate to check if it is revoked. + @param validDate The date when the certificate revocation status should be + checked. + @param sign The issuer certificate of the certificate cert. + @param workingPublicKey The public key of the issuer certificate sign. + @param certPathCerts The certificates of the certification path. + @throws AnnotatedException if the certificate is revoked or the status cannot be checked + or some error occurs. + + + If use-deltas is set, verify the issuer and scope of the delta CRL. + + @param deltaCRL The delta CRL. + @param completeCRL The complete CRL. + @param pkixParams The PKIX paramaters. + @throws AnnotatedException if an exception occurs. + + + Checks if an attribute certificate is revoked. + + @param attrCert Attribute certificate to check if it is revoked. + @param paramsPKIX PKIX parameters. + @param issuerCert The issuer certificate of the attribute certificate + attrCert. + @param validDate The date when the certificate revocation status should + be checked. + @param certPathCerts The certificates of the certification path to be + checked. + + @throws CertPathValidatorException if the certificate is revoked or the + status cannot be checked or some error occurs. + + + Searches for a holder public key certificate and verifies its + certification path. + + @param attrCert the attribute certificate. + @param pkixParams The PKIX parameters. + @return The certificate path of the holder certificate. + @throws Exception if +
      +
    • no public key certificate can be found although holder + information is given by an entity name or a base certificate + ID
    • +
    • support classes cannot be created
    • +
    • no certification path for the public key certificate can + be built
    • +
    +
    + + + Checks a distribution point for revocation information for the + certificate attrCert. + + @param dp The distribution point to consider. + @param attrCert The attribute certificate which should be checked. + @param paramsPKIX PKIX parameters. + @param validDate The date when the certificate revocation status should + be checked. + @param issuerCert Certificate to check if it is revoked. + @param reasonMask The reasons mask which is already checked. + @param certPathCerts The certificates of the certification path to be + checked. + @throws Exception if the certificate is revoked or the status + cannot be checked or some error occurs. + + + + A trust anchor or most-trusted Certification Authority (CA). + + This class represents a "most-trusted CA", which is used as a trust anchor + for validating X.509 certification paths. A most-trusted CA includes the + public key of the CA, the CA's name, and any constraints upon the set of + paths which may be validated using this key. These parameters can be + specified in the form of a trusted X509Certificate or as individual + parameters. + + + + + Creates an instance of TrustAnchor with the specified X509Certificate and + optional name constraints, which are intended to be used as additional + constraints when validating an X.509 certification path. + The name constraints are specified as a byte array. This byte array + should contain the DER encoded form of the name constraints, as they + would appear in the NameConstraints structure defined in RFC 2459 and + X.509. The ASN.1 definition of this structure appears below. + +
    +            	NameConstraints ::= SEQUENCE {
    +            		permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
    +            		excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }
    +            	   
    +             GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
    +             
    +            		GeneralSubtree ::= SEQUENCE {
    +            		base                    GeneralName,
    +            		minimum         [0]     BaseDistance DEFAULT 0,
    +            		maximum         [1]     BaseDistance OPTIONAL }
    +            		
    +            		BaseDistance ::= INTEGER (0..MAX)
    +            
    +            		GeneralName ::= CHOICE {
    +            		otherName                       [0]     OtherName,
    +            		rfc822Name                      [1]     IA5String,
    +            		dNSName                         [2]     IA5String,
    +            		x400Address                     [3]     ORAddress,
    +            		directoryName                   [4]     Name,
    +            		ediPartyName                    [5]     EDIPartyName,
    +            		uniformResourceIdentifier       [6]     IA5String,
    +            		iPAddress                       [7]     OCTET STRING,
    +            		registeredID                    [8]     OBJECT IDENTIFIER}
    +            	
    + + Note that the name constraints byte array supplied is cloned to protect + against subsequent modifications. +
    + a trusted X509Certificate + a byte array containing the ASN.1 DER encoding of a + NameConstraints extension to be used for checking name + constraints. Only the value of the extension is included, not + the OID or criticality flag. Specify null to omit the + parameter. + if the specified X509Certificate is null +
    + + + Creates an instance of TrustAnchor where the + most-trusted CA is specified as an X500Principal and public key. + + +

    + Name constraints are an optional parameter, and are intended to be used + as additional constraints when validating an X.509 certification path. +

    + The name constraints are specified as a byte array. This byte array + contains the DER encoded form of the name constraints, as they + would appear in the NameConstraints structure defined in RFC 2459 + and X.509. The ASN.1 notation for this structure is supplied in the + documentation for the other constructors. +

    + Note that the name constraints byte array supplied here is cloned to + protect against subsequent modifications. +

    +
    + the name of the most-trusted CA as X509Name + the public key of the most-trusted CA + + a byte array containing the ASN.1 DER encoding of a NameConstraints extension to + be used for checking name constraints. Only the value of the extension is included, + not the OID or criticality flag. Specify null to omit the parameter. + + + if caPrincipal or pubKey is null + +
    + + + Creates an instance of TrustAnchor where the most-trusted + CA is specified as a distinguished name and public key. Name constraints + are an optional parameter, and are intended to be used as additional + constraints when validating an X.509 certification path. +
    + The name constraints are specified as a byte array. This byte array + contains the DER encoded form of the name constraints, as they would + appear in the NameConstraints structure defined in RFC 2459 and X.509. +
    + the X.500 distinguished name of the most-trusted CA in RFC + 2253 string format + the public key of the most-trusted CA + a byte array containing the ASN.1 DER encoding of a + NameConstraints extension to be used for checking name + constraints. Only the value of the extension is included, not + the OID or criticality flag. Specify null to omit the + parameter. + throws NullPointerException, IllegalArgumentException +
    + + + Returns the most-trusted CA certificate. + + + + + Returns the name of the most-trusted CA as an X509Name. + + + + + Returns the name of the most-trusted CA in RFC 2253 string format. + + + + + Returns the public key of the most-trusted CA. + + + + + Decode the name constraints and clone them if not null. + + + + + Returns a formatted string describing the TrustAnchor. + + a formatted string describing the TrustAnchor + + + Base class for a TLS client. + + + + + + + + + + + + + + + an of (or null). + + + The default implementation calls this to determine which named + groups to include in the supported_groups extension for the ClientHello. + The named group roles for which there should + be at least one supported group. By default this is inferred from the offered cipher suites and signature + algorithms. + an of . See for group constants. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for supporting a TLS key exchange implementation. + + + Base class for supporting a TLS key exchange factory implementation. + + + Base class for a TLS client or server. + + + Get the values that are supported by this peer. + + WARNING: Mixing DTLS and TLS versions in the returned array is currently NOT supported. Use a separate + (sub-)class for each case. + + an array of supported values. + + + + + + + + + + + + + + + + + + Base class for a TLS server. + + + + + + RFC 5246 7.2. + + + This message notifies the recipient that the sender will not send any more messages on this + connection. + + Note that as of TLS 1.1, failure to properly close a connection no longer requires that a session not be + resumed. This is a change from TLS 1.0 ("The session becomes unresumable if any connection is terminated + without proper close_notify messages with level equal to warning.") to conform with widespread + implementation practice. + + + + An inappropriate message was received. + + This alert is always fatal and should never be observed in communication between proper implementations. + + + + This alert is returned if a record is received with an incorrect MAC. + + This alert also MUST be returned if an alert is sent because a TLSCiphertext decrypted in an invalid way: + either it wasn't an even multiple of the block length, or its padding values, when checked, weren't + correct. This message is always fatal and should never be observed in communication between proper + implementations (except when messages were corrupted in the network). + + + + + This alert was used in some earlier versions of TLS, and may have permitted certain attacks against the CBC + mode [CBCATT]. It MUST NOT be sent by compliant implementations. + + + + A TLSCiphertext record was received that had a length more than 2^14+2048 bytes, or a record + decrypted to a TLSCompressed record with more than 2^14+1024 bytes. + + This message is always fatal and should never be observed in communication between proper implementations + (except when messages were corrupted in the network). + + + + The decompression function received improper input (e.g., data that would expand to excessive + length). + + This message is always fatal and should never be observed in communication between proper implementations. + + + + Reception of a handshake_failure alert message indicates that the sender was unable to negotiate + an acceptable set of security parameters given the options available. + + This is a fatal error. + + + + + This alert was used in SSLv3 but not any version of TLS. It MUST NOT be sent by compliant implementations. + + + + A certificate was corrupt, contained signatures that did not verify correctly, etc. + + + A certificate was of an unsupported type. + + + A certificate was revoked by its signer. + + + A certificate has expired or is not currently valid. + + + Some other (unspecified) issue arose in processing the certificate, rendering it unacceptable. + + + + A field in the handshake was out of range or inconsistent with other fields. + + This message is always fatal. + + + + A valid certificate chain or partial chain was received, but the certificate was not accepted + because the CA certificate could not be located or couldn't be matched with a known, trusted CA. + + This message is always fatal. + + + + A valid certificate was received, but when access control was applied, the sender decided not to + proceed with negotiation. + + This message is always fatal. + + + + A message could not be decoded because some field was out of the specified range or the length of + the message was incorrect. + + This message is always fatal and should never be observed in communication between proper + implementations (except when messages were corrupted in the network). + + + + A handshake cryptographic operation failed, including being unable to correctly verify a signature + or validate a Finished message. + + This message is always fatal. + + + + + This alert was used in some earlier versions of TLS. It MUST NOT be sent by compliant implementations. + + + + The protocol version the client has attempted to negotiate is recognized but not supported. + + + (For example, old protocol versions might be avoided for security reasons.) This message is always fatal. + + + + Returned instead of handshake_failure when a negotiation has failed specifically because the + server requires ciphers more secure than those supported by the client. + + This message is always fatal. + + + + An internal error unrelated to the peer or the correctness of the protocol (such as a memory + allocation failure) makes it impossible to continue. + + This message is always fatal. + + + + This handshake is being canceled for some reason unrelated to a protocol failure. + + If the user cancels an operation after the handshake is complete, just closing the connection by sending a + close_notify is more appropriate. This alert should be followed by a close_notify. This message is + generally a warning. + + + + Sent by the client in response to a hello request or by the server in response to a client hello + after initial handshaking. + + Either of these would normally lead to renegotiation; when that is not appropriate, the recipient should + respond with this alert. At that point, the original requester can decide whether to proceed with the + connection. One case where this would be appropriate is where a server has spawned a process to satisfy a + request; the process might receive security parameters (key length, authentication, etc.) at startup, and + it might be difficult to communicate changes to these parameters after that point. This message is always a + warning. + + + + Sent by clients that receive an extended server hello containing an extension that they did not + put in the corresponding client hello. + + This message is always fatal. + + + + This alert is sent by servers who are unable to retrieve a certificate chain from the URL supplied + by the client(see Section 3.3). + + This message MAY be fatal - for example if client authentication is required by the server for the + handshake to continue and the server is unable to retrieve the certificate chain, it may send a fatal + alert. + + + + This alert is sent by servers that receive a server_name extension request, but do not recognize + the server name. + + This message MAY be fatal. + + + + This alert is sent by clients that receive an invalid certificate status response (see Section 3.6 + ). + + This message is always fatal. + + + + This alert is sent by servers when a certificate hash does not match a client provided + certificate_hash. + + This message is always fatal. + + + + If the server does not recognize the PSK identity, it MAY respond with an "unknown_psk_identity" + alert message. + + + In the event that the server supports no protocols that the client advertises, then the server + SHALL respond with a fatal "no_application_protocol" alert. + + + If TLS_FALLBACK_SCSV appears in ClientHello.cipher_suites and the highest protocol version + supported by the server is higher than the version indicated in ClientHello.client_version, the server MUST + respond with a fatal inappropriate_fallback alert[..]. + + + Sent by endpoints that receive a handshake message not containing an extension that is mandatory + to send for the offered TLS version or other negotiated parameters. + + + Sent by servers when a client certificate is desired but none was provided by the client. + + + + RFC 5246 7.2 + + + A basic PSK Identity holder. + + + A basic SRP Identity holder. + + + A queue for bytes. This file could be more optimized. + + + The smallest number which can be written as 2^x which is bigger than i. + + + The buffer where we store our data. + + + How many bytes at the beginning of the buffer are skipped. + + + How many bytes in the buffer are valid data. + + + Add some data to our buffer. + A byte-array to read data from. + How many bytes to skip at the beginning of the array. + How many bytes to read from the array. + + + The number of bytes which are available in this buffer. + + + Copy some bytes from the beginning of the data to the provided . + The to copy the bytes to. + How many bytes to copy. + + + Read data from the buffer. + The buffer where the read data will be copied to. + How many bytes to skip at the beginning of buf. + How many bytes to read at all. + How many bytes from our data to skip. + + + Return a over some bytes at the beginning of the data. + + How many bytes will be readable. + A over the data. + + + Remove some bytes from our data from the beginning. + How many bytes to remove. + + + Remove data from the buffer. + The buffer where the removed data will be copied to. + How many bytes to skip at the beginning of buf. + How many bytes to read at all. + How many bytes from our data to skip. + + + OutputStream based on a ByteQueue implementation. + + + Implementation of the RFC 3546 3.3. CertChainType. + + + Parsing and encoding of a Certificate struct from RFC 4346. + +
    +            opaque ASN.1Cert<2^24-1>;
    +            struct {
    +              ASN.1Cert certificate_list<0..2^24-1>;
    +            } Certificate;
    +            
    +
    +
    + + an array of representing a certificate chain. + + + true if this certificate chain contains no certificates, or false otherwise. + + + + Encode this to a , and optionally calculate the + "end point hash" (per RFC 5929's tls-server-end-point binding). + the of the current connection. + the to encode to. + the to write the "end point hash" to (or null). + + + + + Parse a from a . + the to apply during parsing. + the of the current connection. + the to parse from. + the to write the "end point hash" to (or null). + + a object. + + + + Parsing and encoding of a CertificateRequest struct from RFC 4346. + +
    +            struct {
    +              ClientCertificateType certificate_types<1..2^8-1>;
    +              DistinguishedName certificate_authorities<3..2^16-1>;
    +            } CertificateRequest;
    +            
    + Updated for RFC 5246: +
    +            struct {
    +              ClientCertificateType certificate_types <1..2 ^ 8 - 1>;
    +              SignatureAndHashAlgorithm supported_signature_algorithms <2 ^ 16 - 1>;
    +              DistinguishedName certificate_authorities <0..2 ^ 16 - 1>;
    +            } CertificateRequest;
    +            
    + Revised for RFC 8446: +
    +            struct {
    +              opaque certificate_request_context <0..2 ^ 8 - 1>;
    +              Extension extensions <2..2 ^ 16 - 1>;
    +            } CertificateRequest;
    +            
    +
    + + +
    + + + + + see for valid constants. + + an of . + + + + + + an array of certificate types + + + + an of (or null before TLS 1.2). + + + + an optional of . May be non-null from + TLS 1.3 onwards. + + + an of . + + + Encode this to a . + the of the current connection. + the to encode to. + + + + Parse a from a + the of the current connection. + the to parse from. + a object. + + + + an of (possibly null) . + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the of the current connection. + the to parse from. + a object. + + + + + + + Implementation of the RFC 3546 3.6. CertificateStatusRequest. + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + Implementation of the RFC 6961 2.2. CertificateStatusRequestItemV2. + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + RFC 6091 + + + RFC 3546 3.3 + + + see for valid constants. + an of . + + + + + + an of . + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the of the current connection. + the to parse from. + a object. + + + + RFC 5056 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the + particular values (e.g.serialization). + + + + RFC 2246 A.5 + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the + particular values (e.g. serialization). + + + + Encode this to a . + the of the current connection. + the to encode to. + + + + Parse a from a . + the to parse from. + for DTLS this should be non-null; the input is copied to this + , minus the cookie field. + a object. + + + + + + + A combined hash, which implements md5(m) || sha1(m). + + + RFC 2246 6.1 + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the + particular values(e.g.serialization). + + + + RFC 2246 6.2.1 + + + Carrier class for Diffie-Hellman group parameters. + + + Base constructor with the prime factor of (p - 1). + the prime modulus. + specifies the prime factor of (p - 1). + the base generator. + + + + Standard Diffie-Hellman groups from various IETF specifications. + + + Base class for a TlsCrypto implementation that provides some needed methods from elsewhere in the impl + package. + + + Base class for a TlsSecret implementation which captures common code and fields. + + + Base constructor. + the byte[] making up the secret value. + + + + + + Credentialed class generating agreed secrets from a peer's public key for our end of the TLS connection + using the BC light-weight API. + + + Credentialed class decrypting RSA encrypted secrets sent from a peer for our end of the TLS connection + using the BC light-weight API. + + + Credentialed class for generating signatures based on the use of primitives from the BC light-weight API. + + + HMAC implementation based on original internet draft for HMAC (RFC 2104). + + The difference is that padding is concatenated versus XORed with the key, e.g: + H(K + opad, H(K + ipad, text)) + + + + Base constructor for one of the standard digest algorithms for which the byteLength is known. + + + Behaviour is undefined for digests other than MD5 or SHA1. + + the digest. + + + Reset the mac generator. + + + Implementation class for a single X.509 certificate based on the BC light-weight API. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Class for providing cryptographic services for TLS based on implementations in the BC light-weight API. +

    + This class provides default implementations for everything. If you need to customise it, extend the class + and override the appropriate methods. +

    +
    + + Support class for ephemeral Diffie-Hellman using the BC light-weight library. + + + + + + + + + + + + BC light-weight support class for Diffie-Hellman key pair generation and key agreement over a + specified Diffie-Hellman configuration. + + + + + + + + + + + + + + + Implementation class for generation of the raw DSA signature type using the BC light-weight API. + + + + Implementation class for the verification of the raw DSA signature type using the BC light-weight API. + + + + BC light-weight base class for the signers implementing the two DSA style algorithms from FIPS PUB + 186-4: DSA and ECDSA. + + + BC light-weight base class for the verifiers supporting the two DSA style algorithms from FIPS PUB + 186-4: DSA and ECDSA. + + + Support class for ephemeral Elliptic Curve Diffie-Hellman using the BC light-weight library. + + + EC domain class for generating key pairs and performing key agreement. + + + Implementation class for generation of ECDSA signatures in TLS 1.3+ using the BC light-weight API. + + + + Implementation class for verification of ECDSA signatures in TLS 1.3+ using the BC light-weight API. + + + + Implementation class for generation of the raw ECDSA signature type using the BC light-weight API. + + + + Implementation class for the verification of the raw ECDSA signature type using the BC light-weight + API. + + + Operator supporting the generation of RSASSA-PSS signatures using the BC light-weight API. + + + Operator supporting the verification of RSASSA-PSS signatures using the BC light-weight API. + + + Operator supporting the generation of RSASSA-PKCS1-v1_5 signatures using the BC light-weight API. + + + + Operator supporting the verification of RSASSA-PKCS1-v1_5 signatures using the BC light-weight API. + + + + BC light-weight support class for handling TLS secrets and deriving key material and other secrets + from them. + + + Support class for X25519 using the BC light-weight library. + + + Support class for X448 using the BC light-weight library. + + + A generic TLS 1.2 AEAD cipher. + + + + + + Base interface for services supporting AEAD encryption/decryption. + + + Set the key to be used by the AEAD cipher implementation supporting this service. + array holding the AEAD cipher key. + offset into the array the key starts at. + length of the key in the array. + + + + Initialise the parameters for the AEAD operator. + the nonce. + MAC size in bytes. + any additional data to be included in the MAC calculation. + if the parameters are inappropriate. + + + Return the maximum size of the output for input of inputLength bytes. + the length (in bytes) of the proposed input. + the maximum size of the output. + + + Perform the cipher encryption/decryption returning the output in output. + + Note: we have to use DoFinal() here as it is the only way to guarantee output from the underlying cipher. + + array holding input data to the cipher. + offset into input array data starts at. + length of the input data in the array. + array to hold the cipher output. + offset into output array to start saving output. + the amount of data written to output. + in case of failure. + + + A generic TLS 1.0-1.2 block cipher. This can be used for AES or 3DES for example. + + + + + + Interface for block cipher services. + + + Set the key to be used by the block cipher implementation supporting this service. + array holding the block cipher key. + offset into the array the key starts at. + length of the key in the array. + + + + Initialise the parameters for operator. + array holding the initialization vector (IV). + offset into the array the IV starts at. + length of the IV in the array. + if the parameters are inappropriate. + + + Perform the cipher encryption/decryption returning the output in output. + + Note: we have to use DoFinal() here as it is the only way to guarantee output from the underlying cipher. + + array holding input data to the cipher. + offset into input array data starts at. + length of the input data in the array. + array to hold the cipher output. + offset into output array to start saving output. + the amount of data written to output. + in case of failure. + + + Return the blocksize (in bytes) of the underlying block cipher. + the cipher's blocksize. + + + Useful utility methods. + + + The NULL cipher. + + + + + + A generic TLS MAC implementation, acting as an HMAC based on some underlying Digest. + + + Generate a new instance of a TlsMac. + the TLS client context specific crypto parameters. + The MAC to use. + + + Base interface for a generic TLS MAC implementation for use with a bulk cipher. + + + Return the output length (in bytes) of this MAC. + The output length of this MAC. + + + Calculate the MAC for some given data. + The sequence number of the record. + The content type of the message. + A byte array containing the message. + The number of bytes to skip, before the message starts. + The length of the message. + A new byte array containing the MAC value. + + + Constant time calculation of the MAC for some given data with a given expected length. + The sequence number of the record. + The content type of the message. + A byte array containing the message. + The number of bytes to skip, before the message starts. + The length of the message. + The expected length of the full message. + Random data for padding out the MAC calculation if required. + A new byte array containing the MAC value. + + + Carrier class for SRP-6 group parameters. + + + Base constructor. + the n value. + the g value. + + + A selection of standard groups for SRP-6. + + + Base interface for ephemeral key agreement calculator. + + + Generate an ephemeral key pair, returning the encoding of the public key. + a byte encoding of the public key. + + + + Pass in the public key for the peer to the agreement calculator. + a byte encoding of the peer public key. + + + + Calculate the agreed secret based on the calculator's current state. + the calculated secret. + + + + Interface providing the functional representation of a single X.509 certificate. + + + Return an encryptor based on the public key in this certificate. + + a based on this certificate's public key. + + + + + + + + + + + + + + + + + + the OID of this certificate's 'signatureAlgorithm', as a string. + + + + + + + + + + + true if (and only if) this certificate can be used to verify the given signature algorithm. + + + + + + + + + + + + Base interface for a TLS bulk cipher. + + + Return the maximum input size for a ciphertext given a maximum output size for the plaintext of + plaintextLimit bytes. + the maximum output size for the plaintext. + the maximum input size of the ciphertext for plaintextlimit bytes of output. + + + Return the maximum output size for a ciphertext given an actual input plaintext size of + plaintextLength bytes and a maximum input plaintext size of plaintextLimit bytes. + the actual input size for the plaintext. + the maximum input size for the plaintext. + the maximum output size of the ciphertext for plaintextlimit bytes of input. + + + Return the maximum size for the plaintext given ciphertextlimit bytes of ciphertext. + the maximum number of bytes of ciphertext. + the maximum size of the plaintext for ciphertextlimit bytes of input. + + + Encode the passed in plaintext using the current bulk cipher. + sequence number of the message represented by plaintext. + content type of the message represented by plaintext. + used for the record. + extra bytes to allocate at start of returned byte array. + array holding input plaintext to the cipher. + offset into input array the plaintext starts at. + length of the plaintext in the array. + A containing the result of encoding (after 'headerAllocation' unused + bytes). + + + + Decode the passed in ciphertext using the current bulk cipher. + sequence number of the message represented by ciphertext. + content type used in the record for this message. + used for the record. + array holding input ciphertext to the cipher. + offset into input array the ciphertext starts at. + length of the ciphertext in the array. + A containing the result of decoding. + + + + + + + + + + Service and object creation interface for the primitive types and services that are associated with + cryptography in the API. + + + Return true if this TlsCrypto can perform raw signatures and verifications for all supported + algorithms. + true if this instance can perform raw signatures and verifications for all supported algorithms, + false otherwise. + + + Return true if this TlsCrypto can support DH key agreement. + true if this instance can support DH key agreement, false otherwise. + + + Return true if this TlsCrypto can support ECDH key agreement. + true if this instance can support ECDH key agreement, false otherwise. + + + Return true if this TlsCrypto can support the passed in block/stream encryption algorithm. + + the algorithm of interest. + true if encryptionAlgorithm is supported, false otherwise. + + + Return true if this TlsCrypto can support the passed in hash algorithm. + the algorithm of interest. + true if cryptoHashAlgorithm is supported, false otherwise. + + + Return true if this TlsCrypto can support the passed in signature algorithm (not necessarily in + combination with EVERY hash algorithm). + the algorithm of interest. + true if cryptoSignatureAlgorithm is supported, false otherwise. + + + Return true if this TlsCrypto can support the passed in MAC algorithm. + the algorithm of interest. + true if macAlgorithm is supported, false otherwise. + + + Return true if this TlsCrypto supports the passed in named group + value. + true if this instance supports the passed in named group value. + + + + Return true if this TlsCrypto can support RSA encryption/decryption. + true if this instance can support RSA encryption/decryption, false otherwise. + + + Return true if this TlsCrypto can support the passed in signature algorithm (not necessarily in + combination with EVERY hash algorithm). + true if signatureAlgorithm is supported, false otherwise. + + + Return true if this TlsCrypto can support the passed in signature algorithm. + the algorithm of interest. + true if sigAndHashAlgorithm is supported, false otherwise. + + + Return true if this TlsCrypto can support the passed in signature scheme. + the scheme of interest. + true if signatureScheme is supported, false otherwise. + + + Return true if this TlsCrypto can support SRP authentication. + true if this instance can support SRP authentication, false otherwise. + + + Create a TlsSecret object based on provided data. + the data to base the TlsSecret on. + a TlsSecret based on the provided data. + + + Create a TlsSecret object containing a randomly-generated RSA PreMasterSecret + the client version to place in the first 2 bytes + a TlsSecret containing the PreMasterSecret. + + + Return the primary (safest) SecureRandom for this crypto. + a SecureRandom suitable for key generation. + + + Create a TlsCertificate from an ASN.1 binary encoding of an X.509 certificate. + DER/BER encoding of the certificate of interest. + a TlsCertificate. + if there is an issue on decoding or constructing the certificate. + + + Create a cipher for the specified encryption and MAC algorithms. + + See enumeration classes , for appropriate + argument values. + + context specific parameters. + the encryption algorithm to be employed by the cipher. + the MAC algorithm to be employed by the cipher. + a implementing the encryption and MAC algorithms. + + + + Create a domain object supporting the domain parameters described in dhConfig. + the config describing the DH parameters to use. + a TlsDHDomain supporting the parameters in dhConfig. + + + Create a domain object supporting the domain parameters described in ecConfig. + the config describing the EC parameters to use. + a TlsECDomain supporting the parameters in ecConfig. + + + Adopt the passed in secret, creating a new copy of it. + the secret to make a copy of. + a TlsSecret based on the original secret. + + + Create a suitable hash for the hash algorithm identifier passed in. + + See enumeration class for appropriate argument values. + + the hash algorithm the hash needs to implement. + a . + + + Create a suitable HMAC for the MAC algorithm identifier passed in. + + See enumeration class for appropriate argument values. + + the MAC algorithm the HMAC needs to match. + a . + + + Create a suitable HMAC using the hash algorithm identifier passed in. + + See enumeration class for appropriate argument values. + + the hash algorithm the HMAC should use. + a . + + + Create a nonce generator. + + Each call should construct a new generator, and the generator should be returned from this call only after + automatically seeding from this 's entropy source, and from the provided additional + seed material. The output of each returned generator must be completely independent of the others. + + context-specific seed material + a . + + + Create an SRP-6 client. + client config. + an initialised SRP6 client object. + + + Create an SRP-6 server. + server config. + the SRP6 verifier value. + an initialised SRP6 server object. + + + Create an SRP-6 verifier generator. + generator config. + an initialized SRP6 verifier generator. + + + Setup an initial "secret" for a chain of HKDF calls (RFC 5869), containing a string of HashLen + zeroes. + the hash algorithm to instantiate HMAC with. See + for values. + + + Basic exception class for crypto services to pass back a cause. + + + Carrier class for context-related parameters needed for creating secrets and ciphers. + + + Base constructor. + the context for this parameters object. + + + + + + Basic config for Diffie-Hellman. + + + Domain interface to service factory for creating Diffie-Hellman operators. + + + Return an agreement operator suitable for ephemeral Diffie-Hellman. + a key agreement operator. + + + Carrier class for Elliptic Curve parameter configuration. + + + Return the group used. + the named group used. + + + Domain interface to service factory for creating Elliptic-Curve (EC) based operators. + + + Return an agreement operator suitable for ephemeral EC Diffie-Hellman. + a key agreement operator. + + + Base interface for an encryptor. + + + Encrypt data from the passed in input array. + byte array containing the input data. + offset into input where the data starts. + the length of the data to encrypt. + the encrypted data. + + + + Interface for message digest, or hash, services. + + + Update the hash with the passed in input. + input array containing the data. + offset into the input array the input starts at. + the length of the input data. + + + Return calculated hash for any input passed in. + the hash value. + + + Return a clone of this hash object representing its current state. + a clone of the current hash. + + + Reset the hash underlying this service. + + + Interface for MAC services based on HMAC. + + + Return the internal block size for the message digest underlying this HMAC service. + the internal block size for the digest (in bytes). + + + Interface for MAC services. + + + Set the key to be used by the MAC implementation supporting this service. + array holding the MAC key. + offset into the array the key starts at. + length of the key in the array. + + + Update the MAC with the passed in input. + input array containing the data. + offset into the input array the input starts at. + the length of the input data. + + + Return calculated MAC for any input passed in. + the MAC value. + + + Write the calculated MAC to an output buffer. + output array to write the MAC to. + offset into the output array to write the MAC to. + + + Return the length of the MAC generated by this service. + the MAC length. + + + Reset the MAC underlying this service. + + + Generate a nonce byte[] string. + the length, in bytes, of the nonce to generate. + the nonce value. + + + The cipher for TLS_NULL_WITH_NULL_NULL. + + + Interface supporting the generation of key material and other SSL/TLS secret values from PRFs. + + + + Calculate an HMAC with this secret's data as the key. + the hash algorithm to instantiate HMAC with. See + for values. + array containing the input data. + offset into the input array the input starts at. + the length of the input data. + + + Return a new secret based on applying a PRF to this one. + PRF algorithm to use. + the label details. + the seed details. + the size (in bytes) of the secret to generate. + the new secret. + + + Destroy the internal state of the secret. + + After this call, any attempt to use the will result in an + being thrown. + + + + Return an encrypted copy of the data this secret is based on. + the encryptor to use for protecting the internal data. + an encrypted copy of this secret's internal data. + + + + Return the internal data from this secret. + + The does not keep a copy of the data. After this call, any attempt to use the + will result in an being thrown. + + the secret's internal data. + + + RFC 5869 HKDF-Expand function, with this secret's data as the pseudo-random key ('prk'). + the hash algorithm to instantiate HMAC with. See + for values. + optional context and application specific information (can be zero-length). + length of output keying material in octets. + output keying material (of 'length' octets). + + + RFC 5869 HKDF-Extract function, with this secret's data as the 'salt'. + + The does not keep a copy of the data. After this call, any attempt to use + the will result in an being thrown. + + the hash algorithm to instantiate HMAC with. See + for values. + input keying material. + a pseudo-random key (of HashLen octets). + + + Base interface for a TLS signer that works on raw message digests. + + + Generate an encoded signature based on the passed in hash. + the signature algorithm to use. + the hash calculated for the signature. + an encoded signature. + in case of an exception processing the hash. + + + + + + Basic interface for an SRP-6 client implementation. + + + Generates the secret S given the server's credentials + The server's credentials + Client's verification message for the server + If server's credentials are invalid + + + Generates client's credentials given the client's salt, identity and password + The salt used in the client's verifier. + The user's identity (eg. username) + The user's password + Client's public value to send to server + + + Basic interface for an SRP-6 server implementation. + + + Generates the server's credentials that are to be sent to the client. + The server's public value to the client + + + Processes the client's credentials. If valid the shared secret is generated and returned. + + The client's credentials. + A shared secret . + If client's credentials are invalid. + + + Base interface for a generator for SRP-6 verifiers. + + + Creates a new SRP-6 verifier value. + The salt to use, generally should be large and random + The user's identifying information (eg. username) + The user's password + A new verifier for use in future SRP authentication + + + Basic config for SRP. + + + Return the (N, g) values used in SRP-6. + (N, g) as a BigInteger array (N=[0], g=[1]). + + + Set the (N, g) values used for SRP-6. + (N, g) as a BigInteger array (N=[0], g=[1]). + + + + + + + + + + + + + + + Base interface for a TLS verifier that works with signatures and either raw message digests, or entire + messages. + + + + + + Return true if the passed in signature and hash represent a real signature. + the signature object containing the signature to be verified. + the hash calculated for the signature. + true if signature verifies, false otherwise. + in case of an exception verifying signature. + + + + + + + + + + + + + + + Base interface for an object sending and receiving DTLS data. + + + Container class for generating signatures that carries the signature type, parameters, public key + certificate and public key's associated signer object. + + + Accept named groups and various standard DH groups with 'P' at least + bits. + + + Accept named groups and various standard DH groups with 'P' at least the specified number of bits. + + the minimum bitlength of 'P'. + + + Accept named groups and a custom set of group parameters, subject to a minimum bitlength for 'P'. + + a list of acceptable s. + the minimum bitlength of 'P'. + + + + + + + + + + + + + + + Accept only the group parameters specified in RFC 5054 Appendix A. + + + Specify a custom set of acceptable group parameters. + an of acceptable . + + + Buffers input until the hash algorithm is determined. + + + + + + + + + a (or null before TLS 1.2). + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the of the current connection. + the to parse from. + a object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check that there are no "extra" messages left in the current inbound flight + + + + + + + + + + + + + + + + + + + + + RFC 4347 4.1.2.5 Anti-replay +

    + Support fast rejection of duplicate records by maintaining a sliding receive window +

    +
    + + Check whether a received record with the given sequence number should be rejected as a duplicate. + + the 48-bit DTLSPlainText.sequence_number field of a received record. + true if the record should be discarded without further processing. + + + Report that a received record with the given sequence number passed authentication checks. + + the 48-bit DTLSPlainText.sequence_number field of an authenticated record. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RFC 4492 5.4 + + + Indicates the elliptic curve domain parameters are conveyed verbosely, and the + underlying finite field is a prime field. + + + Indicates the elliptic curve domain parameters are conveyed verbosely, and the + underlying finite field is a characteristic-2 field. + + + Indicates that a named curve is used. This option SHOULD be used when applicable. + + + RFC 4492 5.1.2 + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the + particular values (e.g. serialization). + + + + RFC 5705 + + + + + + + + + + + + + + + RFC 5246 7.4.1.4.1 + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + RFC 6520 3. + + + RFC 6066 + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the + particular values (e.g. serialization). + + + + + + + + + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + RFC 8446 4.6.3 + + + RFC 2246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the + particular values (e.g. serialization). + + + + RFC 7919 + + + + Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the + particular values (e.g. serialization). + + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + RFC 3546 3.6 + + + an of , specifying the list of + trusted OCSP responders. An empty list has the special meaning that the responders are implicitly known to + the server - e.g., by prior arrangement. + OCSP request extensions. A null value means that there are no extensions. + + + + an of . + + + OCSP request extensions. + + + Encode this to a . + the to encode to. + + + + Parse an from a . + the to parse from. + an object. + + + + + + + + + + + + + + + + RFC 5246 + + Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the + particular values (e.g. serialization). + + + + RFC 7301 Represents a protocol name for use with ALPN. + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + + + + + + + An implementation of the TLS 1.0/1.1/1.2 record layer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Encode this to a . + the of the current connection. + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + RFC 6066 3. Server Name Indication + + Current implementation uses this guidance: "For backward compatibility, all future data structures associated + with new NameTypes MUST begin with a 16-bit length field. TLS MAY treat provided server names as opaque data + and pass the names and types to the application.". RFC 6066 specifies ASCII encoding for host_name (possibly + using A-labels for IDNs), but note that the previous version (RFC 4366) specified UTF-8 encoding (see RFC 6066 + Appendix A). For maximum compatibility, it is recommended that client code tolerate receiving UTF-8 from the + peer, but only generate ASCII itself. + + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + an of . + + + an of . + + + Encode this to a . + the to encode to . + + + + Parse a from a . + the to parse from. + a object. + + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + + + + + + + RFC 5246 7.4.1.4.1 (in RFC 2246, there were no specific values assigned) + + + RFC 5246 7.4.1.4.1 + + + + + + + + + + + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + For TLS 1.3+ usage, some signature schemes are constrained to use a particular + ({@link NamedGroup}. Not relevant for TLS 1.2 and below. + + + An implementation of that simulates the existence of "unknown" + identities to obscure the fact that there is no verifier for them. + + + Create a that implements the algorithm from RFC 5054 + 2.5.1.3. + + the defining the group that SRP is operating in. + the secret "seed key" referred to in RFC 5054 2.5.1.3. + an instance of . + + + + + + + + + + + + + + + + + + + + + + + + + RFC 4680 + + + Base interface to provide TLS authentication credentials. + + + Called by the protocol handler to report the server certificate. + + Note: this method is responsible for certificate verification and validation. + + the server certificate received. + + + + Return client credentials in response to server's certificate request. + + The returned value may be null, or else it MUST implement exactly one of + , , or + , depending on the key exchange that was negotiated and the details of + the . + + details of the certificate request. + a object or null for no client authentication. + + + + Return the session this client wants to resume, if any. + + Note that the peer's certificate chain for the session (if any) may need to be periodically revalidated. + + A representing the resumable session to be used for this connection, or + null to use a new session. + + + + Return the external PSKs to offer in the ClientHello. + This will only be called when TLS 1.3 or higher is amongst the offered protocol versions. + an of instances, or null if none should be + offered. + + + (Int32 -> byte[]) + + + + If this client is offering TLS 1.3 or higher, this method may be called to determine for which + groups a key share should be included in the initial ClientHello. + + Groups that were not included in the supported_groups extension (by will + be ignored. The protocol will then add a suitable key_share extension to the ClientHello extensions. + + an of named group values, possibly empty or null. + + + + + + + Notifies the client of the session that will be offered in ClientHello for resumption, if any. + + + This will be either the session returned from {@link #getSessionToResume()} or null if that session was + unusable. NOTE: the actual negotiated session_id is notified by . + + The representing the resumable session to be offered for + this connection, or null if there is none. + + + + Notifies the client of the session_id sent in the ServerHello. + + + + + + + + The protocol implementation validates that any server extensions received correspond to client + extensions sent. + + If further processing of the server extensions is needed, it can be done in this callback. NOTE: This is + not called for session resumption handshakes. + + (Int32 -> byte[]) + + + + (SupplementalDataEntry) + + + + + + + + + + + + + + + + + + + (SupplementalDataEntry) + + + + RFC 5077 3.3. NewSessionTicket Handshake Message + + This method will be called (only) when a NewSessionTicket handshake message is received. The ticket is + opaque to the client and clients MUST NOT examine the ticket under the assumption that it complies with e.g. + RFC 5077 4. "Recommended Ticket Construction". + + The ticket. + + + + Marker interface to distinguish a TLS client context. + + + Constructor for non-blocking mode. + + When data is received, use to provide the received ciphertext, + then use to read the corresponding cleartext.

    + Similarly, when data needs to be sent, use + to provide the cleartext, then use to get the + corresponding ciphertext. +
    +
    + + Constructor for blocking mode. + The of data to/from the server. + + + Constructor for blocking mode. + The of data from the server. + The of data to the server. + + + Initiates a TLS handshake in the role of client. + + In blocking mode, this will not return until the handshake is complete. In non-blocking mode, use + to receive a callback when the handshake is complete. + + The to use for the handshake. + If in blocking mode and handshake was not successful. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base interface for a TLS context implementation. + + + Return true if this context is for a server, false otherwise. + true for a server based context, false for a client based one. + + + Used to get the resumable session, if any, used by this connection. + + Only available after the handshake has successfully completed. + + A representing the resumable session used by this connection, or null if + no resumable session available. + + + + Used to get the session information for this connection. + + Only available after the handshake has successfully completed. Use + to find out if the session is resumable. + + A representing the session used by this connection. + + + + Export the value of the specified channel binding. + + Only available after the handshake has successfully completed. + + A constant specifying the channel binding to + export. + A copy of the channel binding data as a byte[], or null if the binding could not be + determined. + + + Export (early data) keying material according to RFC 5705: "Keying Material Exporters for TLS", as + updated for TLS 1.3 (RFC 8446). + + NOTE: for use in settings where an exporter is needed for 0-RTT data. + + indicates which application will use the exported keys. + allows the application using the exporter to mix its own data with the TLS PRF + for the exporter output. + the number of bytes to generate. + a pseudorandom bit string of 'length' bytes generated from the (exporter_)master_secret. + + + Export keying material according to RFC 5705: "Keying Material Exporters for TLS", as updated for + TLS 1.3 (RFC 8446) when negotiated. + indicates which application will use the exported keys. + allows the application using the exporter to mix its own data with the TLS PRF + for the exporter output. + the number of bytes to generate. + a pseudorandom bit string of 'length' bytes generated from the (exporter_)master_secret. + + + Support interface for generating a secret based on the credentials sent by a TLS peer. + + + Calculate an agreed secret based on our credentials and the public key credentials of our peer. + + public key certificate of our TLS peer. + the agreed secret. + in case of an exception on generation of the secret. + + + Base interface for a class that decrypts TLS secrets. + + + Decrypt the passed in cipher text using the parameters available. + the parameters to use for the decryption. + the cipher text containing the secret. + a TLS secret. + on a parsing or decryption error. + + + Support interface for generating a signature based on our private credentials. + + + Generate a signature against the passed in hash. + a message digest calculated across the message the signature is to apply to. + an encoded signature. + if the hash cannot be processed, or there is an issue with the private + credentials. + + + Return the algorithm IDs for the signature algorithm and the associated hash it uses. + the full algorithm details for the signature. + + + + + + Base interface for interfaces/classes carrying TLS credentials. + + + Return the certificate structure representing our identity. + our certificate structure. + + + (D)TLS DH_anon key exchange. + + + Interface for verifying explicit Diffie-Hellman group parameters. + + + Check whether the given DH group is acceptable for use. + the to check. + true if (and only if) the specified group is acceptable. + + + (D)TLS DH key exchange. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (D)TLS ECDH_anon key exchange (see RFC 4492). + + + (D)TLS ECDHE key exchange (see RFC 4492). + + + (D)TLS ECDH key exchange (see RFC 4492). + + + (Int32 -> byte[]) + an of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base interface for an object that can calculate a handshake hash. + + + + + + A generic interface for key exchange implementations in (D)TLS. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface for a key exchange factory offering a variety of specific algorithms. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This exception will be thrown (only) when the connection is closed by the peer without sending a + close_notify warning alert. + + If this happens, the TLS protocol cannot rule out truncation of the connection data (potentially + malicious). It may be possible to check for truncation via some property of a higher level protocol + built upon TLS, e.g.the Content-Length header for HTTPS. + + + + Object Identifiers associated with TLS extensions. + + + RFC 7633 + + + Base interface for a (D)TLS endpoint. + + + + + + Notifies the peer that a new handshake is about to begin. + + + + Specify the timeout, in milliseconds, to use for the complete handshake process. + + NOTE: Currently only respected by DTLS protocols. Negative values are not allowed. A timeout of zero means + an infinite timeout (i.e.the handshake will never time out). + + the handshake timeout, in milliseconds. + + + + This option is provided as a last resort for interoperability with TLS peers that fail to correctly send a + close_notify alert at end of stream. Implementations SHOULD return true; caution is advised if returning + false without a full understanding of the implications. + + + + This implementation supports RFC 7627 and will always negotiate the extended_master_secret + extension where possible. When connecting to a peer that does not offer/accept this extension, it is + recommended to abort the handshake.This option is provided for interoperability with legacy peers, although + some TLS features will be disabled in that case (see RFC 7627 5.4). + + true if the handshake should be aborted when the peer does not negotiate the + extended_master_secret extension, or false to support legacy interoperability. + + + See RFC 5246 6.2.3.2. Controls whether block cipher encryption may randomly add extra padding + beyond the minimum. + + Note that in configurations where this is known to be potential security risk this setting will be ignored + (and extended padding disabled). Extra padding is always supported when decrypting received records. + + true if random extra padding should be added during block cipher encryption, or + false to always use the minimum amount of required padding. + + + draft-mathewson-no-gmtunixtime-00 2. "If existing users of a TLS implementation may rely on + gmt_unix_time containing the current time, we recommend that implementors MAY provide the ability to set + gmt_unix_time as an option only, off by default.". + + NOTE: For a server that has negotiated TLS 1.3 (or later), or a client that has offered TLS 1.3 (or later), + this is not called and gmt_unix_time is not used. + + true if the current time should be used in the gmt_unix_time field of Random, or + false if gmt_unix_time should contain a cryptographically random value. + + + RFC 5746 3.4/3.6. In case this is false, peers may want to terminate the handshake instead of + continuing; see Section 4.1/4.3 for discussion. + + NOTE: TLS 1.3 forbids renegotiation, so this is never called when TLS 1.3 (or later) was negotiated. + + + + + + + + This method will be called when an alert is raised by the protocol. + + + A human-readable message explaining what caused this alert. May be null. + The that caused this alert to be raised. May be null. + + + This method will be called when an alert is received from the remote peer. + + + + + Notifies the peer that the handshake has been successfully completed. + + + + Return a instance that will control the generation of heartbeats + locally (if permitted by the remote peer), or null to not generate heartbeats. Heartbeats are described in + RFC 6520. + an instance of . + + + + Return the heartbeat mode applicable to the remote peer. Heartbeats are described in RFC 6520. + + + See enumeration class for appropriate return values. + + the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method is called, when a change cipher spec message is received. + If the message has an invalid content or the handshake is not in the correct + state. + + + Read data from the network. + + The method will return immediately, if there is still some data left in the buffer, or block until some + application data has been read from the network. + + The buffer where the data will be copied to. + The position where the data will be placed in the buffer. + The maximum number of bytes to read. + The number of bytes read. + If something goes wrong during reading data. + + + + + + + + + + + + + + + Write some application data. + + Fragmentation is handled internally. Usable in both blocking/non-blocking modes.

    + In blocking mode, the output will be automatically sent via the underlying transport. In non-blocking mode, + call to get the output bytes to send to the peer.

    + This method must not be called until after the initial handshake is complete. Attempting to call it earlier + will result in an . +
    + The buffer containing application data to send. + The offset at which the application data begins + The number of bytes of application data. + If called before the initial handshake has completed. + + If connection is already closed, or for encryption or transport errors. + +
    + + + + + The secure bidirectional stream for this connection + Only allowed in blocking mode. + + + Should be called in non-blocking mode when the input data reaches EOF. + + + + + + + + + + Equivalent to OfferInput(input, 0, input.Length). + The input buffer to offer. + + + + + Offer input from an arbitrary source. + Only allowed in non-blocking mode.

    + This method will decrypt and process all records that are fully available. If only part of a record is + available, the buffer will be retained until the remainder of the record is offered.

    + If any records containing application data were processed, the decrypted data can be obtained using + . If any records containing protocol data were processed, a + response may have been generated. You should always check to see if there is any available output after + calling this method by calling . +
    + The input buffer to offer. + The offset within the input buffer that input begins. + The number of bytes of input being offered. + If an error occurs while decrypting or processing a record. +
    + + Gets the amount of received application data. + A call to is guaranteed to be able to return at least + this much data.

    + Only allowed in non-blocking mode. +
    + The number of bytes of available application data. +
    + + Retrieves received application data. + + Use to check how much application data is currently available. This + method functions similarly to , except that it never blocks. If + no data is available, nothing will be copied and zero will be returned.

    + Only allowed in non-blocking mode. +
    + The buffer to hold the application data. + The start offset in the buffer at which the data is written. + The maximum number of bytes to read. + The total number of bytes copied to the buffer. May be less than the length specified if the + length was greater than the amount of available data. +
    + + Gets the amount of encrypted data available to be sent. + + A call to is guaranteed to be able to return at least this much + data. Only allowed in non-blocking mode. + + The number of bytes of available encrypted data. + + + Retrieves encrypted data to be sent. + + Use to check how much encrypted data is currently available. This + method functions similarly to , except that it never blocks. If + no data is available, nothing will be copied and zero will be returned. Only allowed in non-blocking mode. + + The buffer to hold the encrypted data. + The start offset in the buffer at which the data is written. + The maximum number of bytes to read. + The total number of bytes copied to the buffer. May be less than the length specified if the + length was greater than the amount of available data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Make sure the 'buf' is now empty. Fail otherwise. + The to check. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Processor interface for a PSK identity. + + + Base interface for an object that can process a PSK identity. + + + (D)TLS PSK key exchange (RFC 4279). + + + (D)TLS RSA key exchange. + + + Interface describing a TLS server endpoint. + + + Return the specified session, if available. + + Note that the peer's certificate chain for the session (if any) may need to be periodically revalidated. + + the ID of the session to resume. + A with the specified session ID, or null. + + + + Return the external PSK to select from the ClientHello. + + WARNING: EXPERIMENTAL FEATURE, UNSTABLE API + Note that this will only be called when TLS 1.3 or higher is amongst the offered protocol versions, and one + or more PSKs are actually offered. + + an of instances. + The corresponding to the selected identity, or null to not select + any. + + + + + + + + + + + + (Int32 -> byte[]) + + + + + + + + + + + + + (Int32 -> byte[]) + + + + (Int32 -> byte[]) + + + + (SupplementalDataEntry) + + + + Return server credentials to use. + + The returned value may be null, or else it MUST implement exactly one of + , , or + , depending on the key exchange that was negotiated. + + a object or null for anonymous key exchanges. + + + + + This method will be called (only) if the server included an extension of type "status_request" with empty + "extension_data" in the extended server hello. See RFC 3546 3.6. Certificate Status Request. If a + non-null is returned, it is sent to the client as a handshake message of + type "certificate_status". + + A to be sent to the client (or null for none). + + + + + + + + + + + + + + + + + + + (SupplementalDataEntry) + + + + Called by the protocol handler to report the client certificate, only if + returned non-null. + + Note: this method is responsible for certificate verification and validation. + + the effective client certificate (may be an empty chain). + + + + RFC 5077 3.3. NewSessionTicket Handshake Message. + + This method will be called (only) if a NewSessionTicket extension was sent by the server. See RFC 5077 + 4. Recommended Ticket Construction for recommended format and protection. + + The ticket. + + + + Server certificate carrier interface. + + + Marker interface to distinguish a TLS server context. + + + Constructor for non-blocking mode. + + When data is received, use to provide the received ciphertext, + then use to read the corresponding cleartext.

    + Similarly, when data needs to be sent, use + to provide the cleartext, then use to get the + corresponding ciphertext. +
    +
    + + Constructor for blocking mode. + The of data to/from the server. + + + Constructor for blocking mode. + The of data from the server. + The of data to the server. + + + Receives a TLS handshake in the role of server. + + In blocking mode, this will not return until the handshake is complete. In non-blocking mode, use + to receive a callback when the handshake is complete. + + The to use for the handshake. + If in blocking mode and handshake was not successful. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base interface for a carrier object for a TLS session. + + + Interface for verifying SRP config needs to conform to. + + + Check whether the given SRP configuration is acceptable for use. + the to check. + true if (and only if) the specified configuration is acceptable. + + + Processor interface for an SRP identity. + + + Base interface for an object that can return login parameters from an SRP identity. + + + Lookup the corresponding to the specified identity. + + NOTE: To avoid "identity probing", unknown identities SHOULD be handled as recommended in RFC 5054 2.5.1.3. + is provided for this purpose. + + the SRP identity sent by the connecting client. + the for the specified identity, or else 'simulated' parameters + if the identity is not recognized. A null value is also allowed, but not recommended. + + + (D)TLS SRP key exchange (RFC 5054). + + + + + + + + + + + + + + + + + + + + + RFC 5764 DTLS Extension to Establish Keys for SRTP. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Whether a server can select the specified cipher suite given the available signature algorithms + for ServerKeyExchange. + + + + + + + + + + + + + + + + + + + + + Check the signature algorithm for certificates in the peer's CertPath as specified in RFC 5246 + 7.4.2, 7.4.4, 7.4.6 and similar rules for earlier TLS versions. + + The supplied CertPath should include the trust anchor (its signature algorithm isn't checked, but in the + general case checking a certificate requires the issuer certificate). + + if any certificate in the CertPath (excepting the trust anchor) has a + signature algorithm that is not one of the locally supported signature algorithms. + + + + + + + + + + + + + + + Generate a pre_master_secret and send it encrypted to the server. + + + + + + + + + + + + + + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the to parse from. + a object. + + + + RFC 6066 5. + + + Encode this to a . + the to encode to. + + + + Parse a from a . + the of the current connection. + the to parse from. + a object. + + + + RFC 4681 + + + RFC 5764 4.1.1 + + + see for valid constants. + valid lengths from 0 to 255. + + + see for valid constants. + + + valid lengths from 0 to 255. + + + Base class for an RFC 3161 Time Stamp Request. + + + Create a TimeStampRequest from the past in byte array. + + @param req byte array containing the request. + @throws IOException if the request is malformed. + + + Create a TimeStampRequest from the past in input stream. + + @param in input stream containing the request. + @throws IOException if the request is malformed. + + + Validate the timestamp request, checking the digest to see if it is of an + accepted type and whether it is of the correct length for the algorithm specified. + + @param algorithms a set of string OIDS giving accepted algorithms. + @param policies if non-null a set of policies we are willing to sign under. + @param extensions if non-null a set of extensions we are willing to accept. + @throws TspException if the request is invalid, or processing fails. + + + return the ASN.1 encoded representation of this object. + + + Generator for RFC 3161 Time Stamp Request objects. + + + add a given extension field for the standard extensions tag (tag 3) + @throws IOException + + + add a given extension field for the standard extensions tag + The value parameter becomes the contents of the octet string associated + with the extension. + + + add a given extension field for the standard extensions tag (tag 3) + @throws IOException + + + add a given extension field for the standard extensions tag + The value parameter becomes the contents of the octet string associated + with the extension. + + + Base class for an RFC 3161 Time Stamp Response object. + + + Create a TimeStampResponse from a byte array containing an ASN.1 encoding. + + @param resp the byte array containing the encoded response. + @throws TspException if the response is malformed. + @throws IOException if the byte array doesn't represent an ASN.1 encoding. + + + Create a TimeStampResponse from an input stream containing an ASN.1 encoding. + + @param input the input stream containing the encoded response. + @throws TspException if the response is malformed. + @throws IOException if the stream doesn't represent an ASN.1 encoding. + + + Check this response against to see if it a well formed response for + the passed in request. Validation will include checking the time stamp + token if the response status is GRANTED or GRANTED_WITH_MODS. + + @param request the request to be checked against + @throws TspException if the request can not match this response. + + + return the ASN.1 encoded representation of this object. + + + Generator for RFC 3161 Time Stamp Responses. + + + Return an appropriate TimeStampResponse. +

    + If genTime is null a timeNotAvailable error response will be returned. + + @param request the request this response is for. + @param serialNumber serial number for the response token. + @param genTime generation time for the response token. + @param provider provider to use for signature calculation. + @return + @throws NoSuchAlgorithmException + @throws NoSuchProviderException + @throws TSPException +

    +
    + + Generate a TimeStampResponse with chosen status and FailInfoField. + + @param status the PKIStatus to set. + @param failInfoField the FailInfoField to set. + @param statusString an optional string describing the failure. + @return a TimeStampResponse with a failInfoField and optional statusString + @throws TSPException in case the response could not be created + + + Validate the time stamp token. +

    + To be valid the token must be signed by the passed in certificate and + the certificate must be the one referred to by the SigningCertificate + attribute included in the hashed attributes of the token. The + certificate must also have the ExtendedKeyUsageExtension with only + KeyPurposeID.IdKPTimeStamping and have been valid at the time the + timestamp was created. +

    +

    + A successful call to validate means all the above are true. +

    +
    + + Return the underlying CmsSignedData object. + + @return the underlying CMS structure. + + + Return a ASN.1 encoded byte stream representing the encoded object. + + @throws IOException if encoding fails. + + + return the ASN.1 encoded representation of this object using the specified encoding. + + @param encoding the ASN.1 encoding format to use ("BER" or "DER"). + + + basic creation - only the default attributes will be included here. + + + create with a signer with extra signed/unsigned attributes. + + + @return the nonce value, null if there isn't one. + + + Recognised hash algorithms for the time stamp protocol. + + + Fetches the signature time-stamp attributes from a SignerInformation object. + Checks that the MessageImprint for each time-stamp matches the signature field. + (see RFC 3161 Appendix A). + + @param signerInfo a SignerInformation to search for time-stamps + @return a collection of TimeStampToken objects + @throws TSPValidationException + + + Validate the passed in certificate as being of the correct type to be used + for time stamping. To be valid it must have an ExtendedKeyUsage extension + which has a key purpose identifier of id-kp-timeStamping. + + @param cert the certificate of interest. + @throws TspValidationException if the certicate fails on one of the check points. + + + + Return the digest algorithm using one of the standard JCA string + representations rather than the algorithm identifier (if possible). + + + + Exception thrown if a TSP request or response fails to validate. +

    + If a failure code is associated with the exception it can be retrieved using + the getFailureCode() method.

    +
    + + Return the failure code associated with this exception - if one is set. + + @return the failure code if set, -1 otherwise. + + + General array utilities. + + + + Are two arrays equal. + + Left side. + Right side. + True if equal. + + + + A constant time equals comparison - does not terminate early if + test will fail. + + first array + second array + true if arrays equal, false otherwise. + + + Make a copy of a range of bytes from the passed in data array. The range can + extend beyond the end of the input array, in which case the return array will + be padded with zeroes. + + @param data the array from which the data is to be copied. + @param from the start index at which the copying should take place. + @param to the final index of the range (exclusive). + + @return a new byte array containing the range given. + + + BigInteger utilities. + + + Return the passed in value as an unsigned byte array. + + @param value the value to be converted. + @return a byte array without a leading zero byte if present in the signed encoding. + + + Return the passed in value as an unsigned byte array of the specified length, padded with + leading zeros as necessary. + @param length the fixed length of the result. + @param n the value to be converted. + @return a byte array padded to a fixed length with leading zeros. + + + Write the passed in value as unsigned bytes to the specified buffer range, padded with + leading zeros as necessary. + + @param value + the value to be converted. + @param buf + the buffer to which the value is written. + @param off + the start offset in array buf at which the data is written. + @param len + the fixed length of data written (possibly padded with leading zeros). + + + + Creates a Random BigInteger from the secure random of a given bit length. + + + + + + + Return a random BigInteger not less than 'min' and not greater than 'max' + + @param min the least value that may be generated + @param max the greatest value that may be generated + @param random the source of randomness + @return a random BigInteger value in the range [min,max] + + + + Return the number of milliseconds since the Unix epoch (1 Jan., 1970 UTC) for a given DateTime value. + + A UTC DateTime value not before epoch. + Number of whole milliseconds after epoch. + 'dateTime' is before epoch. + + + + Create a DateTime value from the number of milliseconds since the Unix epoch (1 Jan., 1970 UTC). + + Number of milliseconds since the epoch. + A UTC DateTime value + + + + Return the current number of milliseconds since the Unix epoch (1 Jan., 1970 UTC). + + + + encode the input data producing a base 64 encoded byte array. + + @return a byte array containing the base 64 encoded data. + + + encode the input data producing a base 64 encoded byte array. + + @return a byte array containing the base 64 encoded data. + + + Encode the byte data to base 64 writing it to the given output stream. + + @return the number of bytes produced. + + + Encode the byte data to base 64 writing it to the given output stream. + + @return the number of bytes produced. + + + decode the base 64 encoded input data. It is assumed the input data is valid. + + @return a byte array representing the decoded data. + + + decode the base 64 encoded string data - whitespace will be ignored. + + @return a byte array representing the decoded data. + + + decode the base 64 encoded string data writing it to the given output stream, + whitespace characters will be ignored. + + @return the number of bytes produced. + + + encode the input data producing a base 64 output stream. + + @return the number of bytes produced. + + + decode the base 64 encoded byte data writing it to the given output stream, + whitespace characters will be ignored. + + @return the number of bytes produced. + + + decode the base 64 encoded string data writing it to the given output stream, + whitespace characters will be ignored. + + @return the number of bytes produced. + + + + A buffering class to allow translation from one format to another to + be done in discrete chunks. + + + + + Create a buffered Decoder. + + The translater to use. + The size of the buffer. + + + + Process one byte of data. + + Data in. + Byte array for the output. + The offset in the output byte array to start writing from. + The amount of output bytes. + + + + Process data from a byte array. + + The input data. + Start position within input data array. + Amount of data to process from input data array. + Array to store output. + Position in output array to start writing from. + The amount of output bytes. + + + + A class that allows encoding of data using a specific encoder to be processed in chunks. + + + + + Create. + + The translator to use. + Size of the chunks. + + + + Process one byte of data. + + The byte. + An array to store output in. + Offset within output array to start writing from. + + + + + Process data from a byte array. + + Input data Byte array containing data to be processed. + Start position within input data array. + Amount of input data to be processed. + Output data array. + Offset within output data array to start writing to. + The amount of data written. + + + + Class to decode and encode Hex. + + + + encode the input data producing a Hex encoded byte array. + + @return a byte array containing the Hex encoded data. + + + encode the input data producing a Hex encoded byte array. + + @return a byte array containing the Hex encoded data. + + + Hex encode the byte data writing it to the given output stream. + + @return the number of bytes produced. + + + Hex encode the byte data writing it to the given output stream. + + @return the number of bytes produced. + + + decode the Hex encoded input data. It is assumed the input data is valid. + + @return a byte array representing the decoded data. + + + decode the Hex encoded string data - whitespace will be ignored. + + @return a byte array representing the decoded data. + + + decode the Hex encoded string data writing it to the given output stream, + whitespace characters will be ignored. + + @return the number of bytes produced. + + + Decode the hexadecimal-encoded string strictly i.e. any non-hexadecimal characters will be + considered an error. + + @return a byte array representing the decoded data. + + + Decode the hexadecimal-encoded string strictly i.e. any non-hexadecimal characters will be + considered an error. + + @return a byte array representing the decoded data. + + + encode the input data producing a Hex output stream. + + @return the number of bytes produced. + + + decode the Hex encoded byte data writing it to the given output stream, + whitespace characters will be ignored. + + @return the number of bytes produced. + + + decode the Hex encoded string data writing it to the given output stream, + whitespace characters will be ignored. + + @return the number of bytes produced. + + + + A hex translator. + + + + + Return encoded block size. + + 2 + + + + Encode some data. + + Input data array. + Start position within input data array. + The amount of data to process. + The output data array. + The offset within the output data array to start writing from. + Amount of data encoded. + + + + Returns the decoded block size. + + 1 + + + + Decode data from a byte array. + + The input data array. + Start position within input data array. + The amounty of data to process. + The output data array. + The position within the output data array to start writing from. + The amount of data written. + + + Encode and decode byte arrays (typically from binary to 7-bit ASCII + encodings). + + + + Translator interface. + + + + Convert binary data to and from UrlBase64 encoding. This is identical to + Base64 encoding, except that the padding character is "." and the other + non-alphanumeric characters are "-" and "_" instead of "+" and "/". +

    + The purpose of UrlBase64 encoding is to provide a compact encoding of binary + data that is safe for use as an URL parameter. Base64 encoding does not + produce encoded values that are safe for use in URLs, since "/" can be + interpreted as a path delimiter; "+" is the encoded form of a space; and + "=" is used to separate a name from the corresponding value in an URL + parameter. +

    +
    + + Encode the input data producing a URL safe base 64 encoded byte array. + + @return a byte array containing the URL safe base 64 encoded data. + + + Encode the byte data writing it to the given output stream. + + @return the number of bytes produced. + + + Decode the URL safe base 64 encoded input data - white space will be ignored. + + @return a byte array representing the decoded data. + + + decode the URL safe base 64 encoded byte data writing it to the given output stream, + whitespace characters will be ignored. + + @return the number of bytes produced. + + + decode the URL safe base 64 encoded string data - whitespace will be ignored. + + @return a byte array representing the decoded data. + + + Decode the URL safe base 64 encoded string data writing it to the given output stream, + whitespace characters will be ignored. + + @return the number of bytes produced. + + + Convert binary data to and from UrlBase64 encoding. This is identical to + Base64 encoding, except that the padding character is "." and the other + non-alphanumeric characters are "-" and "_" instead of "+" and "/". +

    + The purpose of UrlBase64 encoding is to provide a compact encoding of binary + data that is safe for use as an URL parameter. Base64 encoding does not + produce encoded values that are safe for use in URLs, since "/" can be + interpreted as a path delimiter; "+" is the encoded form of a space; and + "=" is used to separate a name from the corresponding value in an URL + parameter. +

    +
    + + + Produce a copy of this object with its configuration and in its current state. + + + The returned object may be used simply to store the state, or may be used as a similar object + starting from the copied state. + + + + + Restore a copied object state into this object. + + + Implementations of this method should try to avoid or minimise memory allocation to perform the reset. + + an object originally {@link #copy() copied} from an object of the same type as this instance. + if the provided object is not of the correct type. + if the other parameter is in some other way invalid. + + + + A + + + + + + A + + + A + + + + + + A + + + + + + Seek ':" up to the limit. + + + + + + + Consume the dashes + + + + + + Skip white space leave char in stream. + + + + + Read forward consuming the expected string. + + expected string + false if not consumed + + + + Consume until dash. + + true if stream end not met + + + A generic PEM writer, based on RFC 1421 + + + Base constructor. + + @param out output stream to use. + + + Return the number of bytes or characters required to contain the + passed in object if it is PEM encoded. + + @param obj pem object to be output + @return an estimate of the number of bytes + + + Write the full contents of inStr to the destination stream outStr. + Source stream. + Destination stream. + In case of IO failure. + + + Write the full contents of inStr to the destination stream outStr. + Source stream. + Destination stream. + The size of temporary buffer to use. + In case of IO failure. + + + + Pipe all bytes from inStr to outStr, throwing StreamFlowException if greater + than limit bytes in inStr. + + + A + + + A + + + A + + The number of bytes actually transferred, if not greater than limit + + + + + + + + + + Exception to be thrown on a failure to reset an object implementing Memoable. +

    + The exception extends InvalidCastException to enable users to have a single handling case, + only introducing specific handling of this one if required. +

    +
    + + Basic Constructor. + + @param msg message to be associated with this exception. + + + Validate the given IPv4 or IPv6 address. + + @param address the IP address as a string. + + @return true if a valid address, false otherwise + + + Validate the given IPv4 or IPv6 address and netmask. + + @param address the IP address as a string. + + @return true if a valid address with netmask, false otherwise + + + Validate the given IPv4 address. + + @param address the IP address as a string. + + @return true if a valid IPv4 address, false otherwise + + + Validate the given IPv6 address. + + @param address the IP address as a string. + + @return true if a valid IPv4 address, false otherwise + + + General string utilities. + + + + Summary description for DeflaterOutputStream. + + + + + Summary description for DeflaterOutputStream. + + + + + The Holder object. +
    +            Holder ::= SEQUENCE {
    +            	baseCertificateID   [0] IssuerSerial OPTIONAL,
    +            		-- the issuer and serial number of
    +            		-- the holder's Public Key Certificate
    +            	entityName          [1] GeneralNames OPTIONAL,
    +            		-- the name of the claimant or role
    +            	objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
    +            		-- used to directly authenticate the holder,
    +            		-- for example, an executable
    +            }
    +            
    +
    +
    + + Constructs a holder for v2 attribute certificates with a hash value for + some type of object. +

    + digestedObjectType can be one of the following: +

      +
    • 0 - publicKey - A hash of the public key of the holder must be + passed.
    • +
    • 1 - publicKeyCert - A hash of the public key certificate of the + holder must be passed.
    • +
    • 2 - otherObjectDigest - A hash of some other object type must be + passed. otherObjectTypeID must not be empty.
    • +
    +

    +

    This cannot be used if a v1 attribute certificate is used.

    + + @param digestedObjectType The digest object type. + @param digestAlgorithm The algorithm identifier for the hash. + @param otherObjectTypeID The object type ID if + digestedObjectType is + otherObjectDigest. + @param objectDigest The hash value. +
    + + Returns the digest object type if an object digest info is used. +

    +

      +
    • 0 - publicKey - A hash of the public key of the holder must be + passed.
    • +
    • 1 - publicKeyCert - A hash of the public key certificate of the + holder must be passed.
    • +
    • 2 - otherObjectDigest - A hash of some other object type must be + passed. otherObjectTypeID must not be empty.
    • +
    +

    + + @return The digest object type or -1 if no object digest info is set. +
    + + Returns the other object type ID if an object digest info is used. + + @return The other object type ID or null if no object + digest info is set. + + + Returns the hash if an object digest info is used. + + @return The hash or null if no object digest info is set. + + + Returns the digest algorithm ID if an object digest info is used. + + @return The digest algorithm ID or null if no object + digest info is set. + + + Return any principal objects inside the attribute certificate holder entity names field. + + @return an array of IPrincipal objects (usually X509Name), null if no entity names field is set. + + + Return the principals associated with the issuer attached to this holder + + @return an array of principals, null if no BaseCertificateID is set. + + + Return the serial number associated with the issuer attached to this holder. + + @return the certificate serial number, null if no BaseCertificateID is set. + + + Carrying class for an attribute certificate issuer. + + + Set the issuer directly with the ASN.1 structure. + + @param issuer The issuer + + + Return any principal objects inside the attribute certificate issuer object. + An array of IPrincipal objects (usually X509Principal). + + + A high level authority key identifier. + + + Constructor which will take the byte[] returned from getExtensionValue() + + @param encodedValue a DER octet encoded string with the extension structure in it. + @throws IOException on parsing errors. + + + Create an AuthorityKeyIdentifier using the passed in certificate's public + key, issuer and serial number. + + @param certificate the certificate providing the information. + @throws CertificateParsingException if there is a problem processing the certificate + + + Create an AuthorityKeyIdentifier using just the hash of the + public key. + + @param pubKey the key to generate the hash from. + @throws InvalidKeyException if there is a problem using the key. + + + A high level subject key identifier. + + + Constructor which will take the byte[] returned from getExtensionValue() + + @param encodedValue a DER octet encoded string with the extension structure in it. + @throws IOException on parsing errors. + + + Interface for an X.509 Attribute Certificate. + + + The version number for the certificate. + + + The serial number for the certificate. + + + The UTC DateTime before which the certificate is not valid. + + + The UTC DateTime after which the certificate is not valid. + + + The holder of the certificate. + + + The issuer details for the certificate. + + + Return the attributes contained in the attribute block in the certificate. + An array of attributes. + + + Return the attributes with the same type as the passed in oid. + The object identifier we wish to match. + An array of matched attributes, null if there is no match. + + + Return an ASN.1 encoded byte array representing the attribute certificate. + An ASN.1 encoded byte array. + If the certificate cannot be encoded. + + + + Get all critical extension values, by oid + + IDictionary with string (OID) keys and Asn1OctetString values + + + + Get all non-critical extension values, by oid + + IDictionary with string (OID) keys and Asn1OctetString values + + + + A utility class that will extract X509Principal objects from X.509 certificates. +

    + Use this in preference to trying to recreate a principal from a string, not all + DNs are what they should be, so it's best to leave them encoded where they + can be.

    +
    +
    + + Return the issuer of the given cert as an X509Principal. + + + Return the subject of the given cert as an X509Principal. + + + Return the issuer of the given CRL as an X509Principal. + + + This class is an Selector like implementation to select + attribute certificates from a given set of criteria. + + @see org.bouncycastle.x509.X509AttributeCertificate + @see org.bouncycastle.x509.X509Store + + + + Decides if the given attribute certificate should be selected. + + The attribute certificate to be checked. + true if the object matches this selector. + + + The attribute certificate which must be matched. + If null is given, any will do. + + + The criteria for validity + If null is given any will do. + + + The holder. + If null is given any will do. + + + The issuer. + If null is given any will do. + + + The serial number. + If null is given any will do. + + + Adds a target name criterion for the attribute certificate to the target + information extension criteria. The X509AttributeCertificate + must contain at least one of the specified target names. +

    + Each attribute certificate may contain a target information extension + limiting the servers where this attribute certificate can be used. If + this extension is not present, the attribute certificate is not targeted + and may be accepted by any server. +

    + + @param name The name as a GeneralName (not null) +
    + + Adds a target name criterion for the attribute certificate to the target + information extension criteria. The X509AttributeCertificate + must contain at least one of the specified target names. +

    + Each attribute certificate may contain a target information extension + limiting the servers where this attribute certificate can be used. If + this extension is not present, the attribute certificate is not targeted + and may be accepted by any server. +

    + + @param name a byte array containing the name in ASN.1 DER encoded form of a GeneralName + @throws IOException if a parsing error occurs. +
    + + Adds a collection with target names criteria. If null is + given any will do. +

    + The collection consists of either GeneralName objects or byte[] arrays representing + DER encoded GeneralName structures. +

    + + @param names A collection of target names. + @throws IOException if a parsing error occurs. + @see #AddTargetName(byte[]) + @see #AddTargetName(GeneralName) +
    + + Gets the target names. The collection consists of Lists + made up of an Integer in the first entry and a DER encoded + byte array or a String in the second entry. +

    The returned collection is immutable.

    + + @return The collection of target names + @see #setTargetNames(Collection) +
    + + Adds a target group criterion for the attribute certificate to the target + information extension criteria. The X509AttributeCertificate + must contain at least one of the specified target groups. +

    + Each attribute certificate may contain a target information extension + limiting the servers where this attribute certificate can be used. If + this extension is not present, the attribute certificate is not targeted + and may be accepted by any server. +

    + + @param group The group as GeneralName form (not null) +
    + + Adds a target group criterion for the attribute certificate to the target + information extension criteria. The X509AttributeCertificate + must contain at least one of the specified target groups. +

    + Each attribute certificate may contain a target information extension + limiting the servers where this attribute certificate can be used. If + this extension is not present, the attribute certificate is not targeted + and may be accepted by any server. +

    + + @param name a byte array containing the group in ASN.1 DER encoded form of a GeneralName + @throws IOException if a parsing error occurs. +
    + + Adds a collection with target groups criteria. If null is + given any will do. +

    + The collection consists of GeneralName objects or byte[] + representing DER encoded GeneralNames. +

    + + @param names A collection of target groups. + @throws IOException if a parsing error occurs. + @see #AddTargetGroup(byte[]) + @see #AddTargetGroup(GeneralName) +
    + + Gets the target groups. The collection consists of Lists + made up of an Integer in the first entry and a DER encoded + byte array or a String in the second entry. +

    The returned collection is immutable.

    + + @return The collection of target groups. + @see #setTargetGroups(Collection) +
    + + + This class is an IX509Selector implementation to select + certificate pairs, which are e.g. used for cross certificates. The set of + criteria is given from two X509CertStoreSelector objects, + each of which, if present, must match the respective component of a pair. + + + + The certificate pair which is used for testing on equality. + + + The certificate selector for the forward part. + + + The certificate selector for the reverse part. + + + + Decides if the given certificate pair should be selected. If + obj is not a X509CertificatePair, this method + returns false. + + The X509CertificatePair to be tested. + true if the object matches this selector. + + + + An ISet of DerObjectIdentifier objects. + + + + A simple collection backed store. + + + Basic constructor. + + @param collection - initial contents for the store, this is copied. + + + Return the matches in the collection for the passed in selector. + + @param selector the selector to match against. + @return a possibly empty collection of matching objects. + + + This class contains a collection for collection based X509Stores. + + + + Constructor. +

    + The collection is copied. +

    +
    + The collection containing X.509 object types. + If collection is null. +
    + + Returns a copy of the ICollection. + + + Returns a formatted string describing the parameters. + + + + An ICollection of X509Name objects + + + + The attribute certificate being checked. This is not a criterion. + Rather, it is optional information that may help a {@link X509Store} find + CRLs that would be relevant when checking revocation for the specified + attribute certificate. If null is specified, then no such + optional information is provided. + + @param attrCert the IX509AttributeCertificate being checked (or + null) + @see #getAttrCertificateChecking() + + + If true only complete CRLs are returned. Defaults to + false. + + @return true if only complete CRLs are returned. + + + Returns if this selector must match CRLs with the delta CRL indicator + extension set. Defaults to false. + + @return Returns true if only CRLs with the delta CRL + indicator extension are selected. + + + The issuing distribution point. +

    + The issuing distribution point extension is a CRL extension which + identifies the scope and the distribution point of a CRL. The scope + contains among others information about revocation reasons contained in + the CRL. Delta CRLs and complete CRLs must have matching issuing + distribution points.

    +

    + The byte array is cloned to protect against subsequent modifications.

    +

    + You must also enable or disable this criteria with + {@link #setIssuingDistributionPointEnabled(bool)}.

    + + @param issuingDistributionPoint The issuing distribution point to set. + This is the DER encoded OCTET STRING extension value. + @see #getIssuingDistributionPoint() +
    + + Whether the issuing distribution point criteria should be applied. + Defaults to false. +

    + You may also set the issuing distribution point criteria if not a missing + issuing distribution point should be assumed.

    + + @return Returns if the issuing distribution point check is enabled. +
    + + The maximum base CRL number. Defaults to null. + + @return Returns the maximum base CRL number. + @see #setMaxBaseCRLNumber(BigInteger) + + + + A factory to produce Public Key Info Objects. + + + + + Create a Subject Public Key Info object for a given public key. + + One of ElGammalPublicKeyParameters, DSAPublicKeyParameter, DHPublicKeyParameters, RsaKeyParameters or ECPublicKeyParameters + A subject public key info object. + Throw exception if object provided is not one of the above. + + + + Create loading data from byte array. + + + + + + Create loading data from byte array. + + + + + Generates a certificate object and initializes it with the data + read from the input stream inStream. + + + Returns a (possibly empty) collection view of the certificates + read from the given input stream inStream. + + + Class for carrying the values in an X.509 Attribute. + + + @param at an object representing an attribute. + + + Create an X.509 Attribute with the type given by the passed in oid and + the value represented by an ASN.1 Set containing value. + + @param oid type of the attribute + @param value value object to go into the atribute's value set. + + + Create an X.59 Attribute with the type given by the passed in oid and the + value represented by an ASN.1 Set containing the objects in value. + + @param oid type of the attribute + @param value vector of values to go in the attribute's value set. + + + + An Object representing an X509 Certificate. + Has static methods for loading Certificates encoded in many forms that return X509Certificate Objects. + + + + + Return true if the current time is within the start and end times nominated on the certificate. + + true id certificate is valid for the current time. + + + + Return true if the nominated time is within the start and end times nominated on the certificate. + + The time to test validity against. + True if certificate is valid for nominated time. + + + + Checks if the current date is within certificate's validity period. + + + + + Checks if the given date is within certificate's validity period. + + if the certificate is expired by given date + if the certificate is not yet valid on given date + + + + Return the certificate's version. + + An integer whose value Equals the version of the cerficate. + + + + Return a BigInteger containing the serial number. + + The Serial number. + + + + Get the Issuer Distinguished Name. (Who signed the certificate.) + + And X509Object containing name and value pairs. + + + + Get the subject of this certificate. + + An X509Name object containing name and value pairs. + + + + The time that this certificate is valid from. + + A DateTime object representing that time in the local time zone. + + + + The time that this certificate is valid up to. + + A DateTime object representing that time in the local time zone. + + + + Return the Der encoded TbsCertificate data. + This is the certificate component less the signature. + To Get the whole certificate call the GetEncoded() member. + + A byte array containing the Der encoded Certificate component. + + + + The signature. + + A byte array containg the signature of the certificate. + + + + A meaningful version of the Signature Algorithm. (EG SHA1WITHRSA) + + A sting representing the signature algorithm. + + + + Get the Signature Algorithms Object ID. + + A string containg a '.' separated object id. + + + + Get the signature algorithms parameters. (EG DSA Parameters) + + A byte array containing the Der encoded version of the parameters or null if there are none. + + + + Get the issuers UID. + + A DerBitString. + + + + Get the subjects UID. + + A DerBitString. + + + + Get a key usage guidlines. + + + + + Get the public key of the subject of the certificate. + + The public key parameters. + + + + Return the DER encoding of this certificate. + + A byte array containing the DER encoding of this certificate. + If there is an error encoding the certificate. + + + + Verify the certificate's signature using the nominated public key. + + An appropriate public key parameter object, RsaPublicKeyParameters, DsaPublicKeyParameters or ECDsaPublicKeyParameters + True if the signature is valid. + If key submitted is not of the above nominated types. + + + + Verify the certificate's signature using a verifier created using the passed in verifier provider. + + An appropriate provider for verifying the certificate's signature. + True if the signature is valid. + If verifier provider is not appropriate or the certificate algorithm is invalid. + + + + This class contains a cross certificate pair. Cross certificates pairs may + contain two cross signed certificates from two CAs. A certificate from the + other CA to this CA is contained in the forward certificate, the certificate + from this CA to the other CA is contained in the reverse certificate. + + + + Constructor + Certificate from the other CA to this CA. + Certificate from this CA to the other CA. + + + Constructor from a ASN.1 CertificatePair structure. + The CertificatePair ASN.1 object. + + + Returns the certificate from the other CA to this CA. + + + Returns the certificate from this CA to the other CA. + + + class for dealing with X509 certificates. +

    + At the moment this will deal with "-----BEGIN CERTIFICATE-----" to "-----END CERTIFICATE-----" + base 64 encoded certs, as well as the BER binaries of certificates and some classes of PKCS#7 + objects.

    +
    + + + Create loading data from byte array. + + + + + + Create loading data from byte array. + + + + + Generates a certificate object and initializes it with the data + read from the input stream inStream. + + + Returns a (possibly empty) collection view of the certificates + read from the given input stream inStream. + + + + Create loading data from byte array. + + + + + + Create loading data from byte array. + + + + + The following extensions are listed in RFC 2459 as relevant to CRLs + + Authority Key Identifier + Issuer Alternative Name + CRL Number + Delta CRL Indicator (critical) + Issuing Distribution Point (critical) + + + + Verify the CRL's signature using a verifier created using the passed in verifier provider. + + An appropriate provider for verifying the CRL's signature. + True if the signature is valid. + If verifier provider is not appropriate or the CRL algorithm is invalid. + + + + Return the DER encoding of this CRL. + + A byte array containing the DER encoding of this CRL. + If there is an error encoding the CRL. + + + Returns a string representation of this CRL. + + @return a string representation of this CRL. + + + Checks whether the given certificate is on this CRL. + + @param cert the certificate to check for. + @return true if the given certificate is on this CRL, + false otherwise. + + + The following extensions are listed in RFC 2459 as relevant to CRL Entries + + ReasonCode Hode Instruction Code Invalidity Date Certificate Issuer + (critical) + + + Constructor for CRLEntries of indirect CRLs. If isIndirect + is false {@link #getCertificateIssuer()} will always + return null, previousCertificateIssuer is + ignored. If this isIndirect is specified and this CrlEntry + has no certificate issuer CRL entry extension + previousCertificateIssuer is returned by + {@link #getCertificateIssuer()}. + + @param c + TbsCertificateList.CrlEntry object. + @param isIndirect + true if the corresponding CRL is a indirect + CRL. + @param previousCertificateIssuer + Certificate issuer of the previous CrlEntry. + + + + Create loading data from byte array. + + + + + + Create loading data from byte array. + + + + + Generates a certificate revocation list (CRL) object and initializes + it with the data read from the input stream inStream. + + + Returns a (possibly empty) collection view of the CRLs read from + the given input stream inStream. + + The inStream may contain a sequence of DER-encoded CRLs, or + a PKCS#7 CRL set. This is a PKCS#7 SignedData object, with the + only significant field being crls. In particular the signature + and the contents are ignored. + + + + Get non critical extensions. + + A set of non critical extension oids. + + + + Get any critical extensions. + + A sorted list of critical entension. + + + + Get the value of a given extension. + + The object ID of the extension. + An Asn1OctetString object if that extension is found or null if not. + + + A holding class for constructing an X509 Key Usage extension. + +
    +                id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
    +            
    +                KeyUsage ::= BIT STRING {
    +                     digitalSignature        (0),
    +                     nonRepudiation          (1),
    +                     keyEncipherment         (2),
    +                     dataEncipherment        (3),
    +                     keyAgreement            (4),
    +                     keyCertSign             (5),
    +                     cRLSign                 (6),
    +                     encipherOnly            (7),
    +                     decipherOnly            (8) }
    +             
    +
    + + Basic constructor. + + @param usage - the bitwise OR of the Key Usage flags giving the + allowed uses for the key. + e.g. (X509KeyUsage.keyEncipherment | X509KeyUsage.dataEncipherment) + + + Return the digest algorithm using one of the standard JCA string + representations rather than the algorithm identifier (if possible). + + + + Class to Generate X509V1 Certificates. + + + + + Default Constructor. + + + + + Reset the generator. + + + + + Set the certificate's serial number. + + Make serial numbers long, if you have no serial number policy make sure the number is at least 16 bytes of secure random data. + You will be surprised how ugly a serial number collision can get. + The serial number. + + + + Set the issuer distinguished name. + The issuer is the entity whose private key is used to sign the certificate. + + The issuers DN. + + + + Set the date that this certificate is to be valid from. + + + + + + Set the date after which this certificate will no longer be valid. + + + + + + Set the subject distinguished name. + The subject describes the entity associated with the public key. + + + + + + Set the public key that this certificate identifies. + + + + + + Set the signature algorithm that will be used to sign this certificate. + This can be either a name or an OID, names are treated as case insensitive. + + string representation of the algorithm name + + + + Generate a new X509Certificate. + + The private key of the issuer used to sign this certificate. + An X509Certificate. + + + + Generate a new X509Certificate specifying a SecureRandom instance that you would like to use. + + The private key of the issuer used to sign this certificate. + The Secure Random you want to use. + An X509Certificate. + + + + Generate a new X509Certificate using the passed in SignatureCalculator. + + A signature calculator factory with the necessary algorithm details. + An X509Certificate. + + + + Allows enumeration of the signature names supported by the generator. + + + + An implementation of a version 2 X.509 Attribute Certificate. + + + + Verify the certificate's signature using a verifier created using the passed in verifier provider. + + An appropriate provider for verifying the certificate's signature. + True if the signature is valid. + If verifier provider is not appropriate or the certificate algorithm is invalid. + + + Class to produce an X.509 Version 2 AttributeCertificate. + + + Reset the generator + + + Set the Holder of this Attribute Certificate. + + + Set the issuer. + + + Set the serial number for the certificate. + + + + Set the signature algorithm. This can be either a name or an OID, names + are treated as case insensitive. + + The algorithm name. + + + Add an attribute. + + + Add a given extension field for the standard extensions tag. + + + + Add a given extension field for the standard extensions tag. + The value parameter becomes the contents of the octet string associated + with the extension. + + + + + Generate an X509 certificate, based on the current issuer and subject. + + + + + Generate an X509 certificate, based on the current issuer and subject, + using the supplied source of randomness, if required. + + + + + Generate a new X.509 Attribute Certificate using the passed in SignatureCalculator. + + A signature calculator factory with the necessary algorithm details. + An IX509AttributeCertificate. + + + + Allows enumeration of the signature names supported by the generator. + + + + class to produce an X.509 Version 2 CRL. + + + reset the generator + + + Set the issuer distinguished name - the issuer is the entity whose private key is used to sign the + certificate. + + + Reason being as indicated by CrlReason, i.e. CrlReason.KeyCompromise + or 0 if CrlReason is not to be used + + + + Add a CRL entry with an Invalidity Date extension as well as a CrlReason extension. + Reason being as indicated by CrlReason, i.e. CrlReason.KeyCompromise + or 0 if CrlReason is not to be used + + + + Add a CRL entry with extensions. + + + + Add the CRLEntry objects contained in a previous CRL. + + @param other the X509Crl to source the other entries from. + + + + Set the signature algorithm that will be used to sign this CRL. + + + + + add a given extension field for the standard extensions tag (tag 0) + + + add a given extension field for the standard extensions tag (tag 0) + + + add a given extension field for the standard extensions tag (tag 0) + + + add a given extension field for the standard extensions tag (tag 0) + + + + Generate an X.509 CRL, based on the current issuer and subject. + + The private key of the issuer that is signing this certificate. + An X509Crl. + + + + Generate an X.509 CRL, based on the current issuer and subject using the specified secure random. + + The private key of the issuer that is signing this certificate. + Your Secure Random instance. + An X509Crl. + + + + Generate a new X509Crl using the passed in SignatureCalculator. + + A signature calculator factory with the necessary algorithm details. + An X509Crl. + + + + Allows enumeration of the signature names supported by the generator. + + + + + A class to Generate Version 3 X509Certificates. + + + + + Reset the Generator. + + + + + Set the certificate's serial number. + + Make serial numbers long, if you have no serial number policy make sure the number is at least 16 bytes of secure random data. + You will be surprised how ugly a serial number collision can Get. + The serial number. + + + + Set the distinguished name of the issuer. + The issuer is the entity which is signing the certificate. + + The issuer's DN. + + + + Set the date that this certificate is to be valid from. + + + + + + Set the date after which this certificate will no longer be valid. + + + + + + Set the DN of the entity that this certificate is about. + + + + + + Set the public key that this certificate identifies. + + + + + + Set the signature algorithm that will be used to sign this certificate. + + + + + + Set the subject unique ID - note: it is very rare that it is correct to do this. + + + + + + Set the issuer unique ID - note: it is very rare that it is correct to do this. + + + + + + Add a given extension field for the standard extensions tag (tag 3). + + string containing a dotted decimal Object Identifier. + Is it critical. + The value. + + + + Add an extension to this certificate. + + Its Object Identifier. + Is it critical. + The value. + + + + Add an extension using a string with a dotted decimal OID. + + string containing a dotted decimal Object Identifier. + Is it critical. + byte[] containing the value of this extension. + + + + Add an extension to this certificate. + + Its Object Identifier. + Is it critical. + byte[] containing the value of this extension. + + + + Add a given extension field for the standard extensions tag (tag 3), + copying the extension value from another certificate. + + + + add a given extension field for the standard extensions tag (tag 3) + copying the extension value from another certificate. + @throws CertificateParsingException if the extension cannot be extracted. + + + + Generate an X509Certificate. + + The private key of the issuer that is signing this certificate. + An X509Certificate. + + + + Generate an X509Certificate using your own SecureRandom. + + The private key of the issuer that is signing this certificate. + You Secure Random instance. + An X509Certificate. + + + + Generate a new X509Certificate using the passed in SignatureCalculator. + + A signature calculator factory with the necessary algorithm details. + An X509Certificate. + + + + Allows enumeration of the signature names supported by the generator. + + + + Base class for both the compress and decompress classes. + Holds common arrays, and static data. + + @author
    Keiron Liddle + + + An input stream that decompresses from the BZip2 format (with the file + header chars) to be read as any other stream. + + @author Keiron Liddle + + NB: note this class has been modified to read the leading BZ from the + start of the BZIP2 stream to make it compatible with other PGP programs. + + + An output stream that compresses into the BZip2 format (with the file + header chars) into another stream. + + @author Keiron Liddle + + TODO: Update to BZip2 1.0.1 + NB: note this class has been modified to add a leading BZ to the + start of the BZIP2 stream to make it compatible with other PGP programs. + + + + modified by Oliver Merkel, 010128 + + + + A simple class the hold and calculate the CRC for sanity checking + of the data. + + @author Keiron Liddle + + + + Return a salted hash based on PBKDF2 for the UTF-8 encoding of the argument text. + + Provided key text + Base64 encoded string representing the salt + + +
    +
    diff --git a/LeatherProject/GeBoShi/bin/Debug/ConfigFiles/Login.ini b/LeatherProject/GeBoShi/bin/Debug/ConfigFiles/Login.ini new file mode 100644 index 0000000..497f1bf --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/ConfigFiles/Login.ini @@ -0,0 +1,6 @@ +#Login.ini +[User] +UserCode=admin +UserPw= +IsRememberUserCode=True +IsRememberUserPw=True diff --git a/LeatherProject/GeBoShi/bin/Debug/ConfigFiles/SysParamsConfig.ini b/LeatherProject/GeBoShi/bin/Debug/ConfigFiles/SysParamsConfig.ini new file mode 100644 index 0000000..2a6bcdd --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/ConfigFiles/SysParamsConfig.ini @@ -0,0 +1,54 @@ +#SysParamsConfig.ini +[SaveAllImg] +SaveAllImg=False +[DefectSrcImag] +SavePath=D:\Image\DefectSrcImag +AutoSave=True +AutoDelete=True +AutoDeleteDays=3 +[DefectSmallImag] +SavePath=D:\Image\DefectSmallImag +AutoSave=True +AutoDelete=True +AutoDeleteDays=3 +[DefectSplicImag] +SavePath=D:\Image\DefectSplicImag +AutoSave=True +AutoDelete=True +AutoDeleteDays=3 +[Log] +SavePath=E:\CPL\Ŀ\2023\ﲩʿ\Դ\V1.0\LeatherProject\GeBoShi\bin\Debug\LogFiles +AutoDelete=False +AutoDeleteDays=0 +[SysFunction] +OpenBuzzer=True +OpenDoor=True +[Dev] +LightCom= +LightComBaud=9600 +IODevName= +IOCfgPath=E:\CPL\Ŀ\2023\ﲩʿ\Դ\V1.0\LeatherProject\GeBoShi\bin\Debug\ConfigFiles\IOCard_default.xml +[Sys] +AIModelPath=E:\CPL\Ŀ\2023\ﲩʿ\Դ\V1.0\LeatherProject\GeBoShi\bin\Debug\ConfigFiles\onnxFiles +ProductPath=E:\CPL\Ŀ\2023\ﲩʿ\Դ\V1.0\LeatherProject\GeBoShi\bin\Debug\ConfigFiles\Project +[ShowMainWin] +ShowResetBtn=True +ShowBuzz=False +ShowDoorAlm=False +[CloudAndMES] +OpenCloud=False +CloudThisName=Test +CloudServerIP=127.0.0.1 +CloudServerPort=1883 +CloudUser= +CloudPassword= +OpenPdtServer=False +PdtServerIP=127.0.0.1 +PdtServerPort=10573 +IsPdtServer=True +[LabelPrint] +EnableLabelPrint=False +LabelPrinterName= +[ExcelPrint] +EnableExcelPrint=False +ExcelPrinterName= diff --git a/LeatherProject/GeBoShi/bin/Debug/GeBoShi.exe.config b/LeatherProject/GeBoShi/bin/Debug/GeBoShi.exe.config new file mode 100644 index 0000000..71c499a --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/GeBoShi.exe.config @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/bin/Debug/Google.Protobuf.xml b/LeatherProject/GeBoShi/bin/Debug/Google.Protobuf.xml new file mode 100644 index 0000000..4d6183a --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/Google.Protobuf.xml @@ -0,0 +1,10465 @@ + + + + Google.Protobuf + + + + + Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Internal use only. Ensure that the provided memory is not mutated and belongs to this instance. + + + + + Internal use only. Ensure that the provided memory is not mutated and belongs to this instance. + This method encapsulates converting array to memory. Reduces need for SecuritySafeCritical + in .NET Framework. + + + + + Constructs a new ByteString from the given memory. The memory is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Provides read-only access to the data of this . + No data is copied so this is the most efficient way of accessing. + + + + + Provides read-only access to the data of this . + No data is copied so this is the most efficient way of accessing. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Constructs a from a read only span. The contents + are copied, so further modifications to the span will not + be reflected in the returned . + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Returns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + SecuritySafeCritical attribute can not be placed on types with async methods. + This class has ByteString's async methods so it can be marked with SecuritySafeCritical. + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The parser state is kept separately so that other parse implementations can reuse the same + parsing primitives. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() guarantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a top-level message or a nested message after the limits for this message have been pushed. + (parser will proceed until the end of the current limit) + NOTE: this method needs to be public because it's invoked by the generated code - e.g. msg.MergeFrom(CodedInputStream input) method + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + Only the message data is written, without a length-delimiter. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help finding bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + 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 a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Adds entries to the map from the given parse context. + + + It is assumed that the input is initially positioned after the tag specified by the codec. + This method will continue reading entries from the input until the end is reached, or + a different tag is encountered. + + Input to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Writes the contents of this map to the given write context, using the specified codec + to encode each entry. + + The write context to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The key codec. + + + + + The value codec. + + + + + The tag used in the enclosing message to indicate map entries. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Adds the entries from the given parse context, decoding them with the specified codec. + + The input to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to an output by one of the WriteTo methods, + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Writes the contents of this collection to the given write context, + encoding each value using the specified codec. + + The write context to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Writes the extension values in this set to the write context + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Reads a value of the codec type from the given . + + The parse context to read from. + The value read. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + Calculates the size required to write the given value, with a tag, even + if the value is the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + Interface for a Protocol Buffers message, supporting + parsing from and writing to . + + + + + Internal implementation of merging data from given parse context into this message. + Users should never invoke this method directly. + + + + + Internal implementation of writing this message to a given write context. + Users should never invoke this method directly. + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Determines whether or not a field value should be serialized according to the field, + its value in the message, and the settings of this formatter. + + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields which would otherwise not be included in the formatted data + should be formatted even when the value is not present, or has the default value. + This option only affects fields which don't support "presence" (e.g. + singular non-optional proto3 primitive fields). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Whether to use the original proto field names as defined in the .proto file. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + true to preserve proto field names; false to convert them to lowerCamelCase. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified field name formatting option and the current settings. + + true to preserve proto field names; false to convert them to lowerCamelCase. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given span into an existing message. + + The message to merge the data into. + Span containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Writes the given message data to the given buffer writer in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the given message data to the given span in protobuf encoding. + The size of the destination span needs to fit the serialized size + of the message exactly, otherwise an exception is thrown. + + The message to write to the stream. + The span to write to. Size must match size of the message exactly. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given sequence. + + The data to parse. + The parsed message. + + + + Parses a message from the given span. + + The data to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

    + This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

    +

    + Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

    +
    + The type of message to be parsed. +
    + + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given sequence. + + The data to parse. + The parsed message. + + + + Parses a message from the given span. + + The data to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + An opaque struct that represents the current parsing state and is passed along + as the parsing proceeds. + All the public methods are intended to be invoked only by the generated code, + users should never invoke them directly. + + + + + Initialize a , building all from defaults and + the given . + + + + + Initialize a using existing , e.g. from . + + + + + Creates a ParseContext instance from CodedInputStream. + WARNING: internally this copies the CodedInputStream's state, so after done with the ParseContext, + the CodedInputStream's state needs to be updated. + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the input. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Reads a field tag, returning the tag of 0 for "end of input". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputReader; it may be the end of the logical input + for an embedded message, for example. + + The next field tag, or 0 for end of input. (0 is never a valid tag.) + + + + Reads a double field from the input. + + + + + Reads a float field from the input. + + + + + Reads a uint64 field from the input. + + + + + Reads an int64 field from the input. + + + + + Reads an int32 field from the input. + + + + + Reads a fixed64 field from the input. + + + + + Reads a fixed32 field from the input. + + + + + Reads a bool field from the input. + + + + + Reads a string field from the input. + + + + + Reads an embedded message field value from the input. + + + + + Reads an embedded group field from the input. + + + + + Reads a bytes field value from the input. + + + + + Reads a uint32 field value from the input. + + + + + Reads an enum field value from the input. + + + + + Reads an sfixed32 field value from the input. + + + + + Reads an sfixed64 field value from the input. + + + + + Reads an sint32 field value from the input. + + + + + Reads an sint64 field value from the input. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + Size of the current buffer + + + + + If we are currently inside a length-delimited block, this is the number of + bytes in the buffer that are still available once we leave the delimited block. + + + + + The absolute position of the end of the current length-delimited block (including totalBytesRetired) + + + + + The total number of consumed before the start of the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Primitives for parsing protobuf wire format. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Parses the next tag. + If the end of logical stream was reached, an invalid tag of 0 is returned. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Parses a raw varint. + + + + + Parses a raw Varint. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Parses a 32-bit little-endian integer. + + + + + Parses a 64-bit little-endian integer. + + + + + Parses a double value. + + + + + Parses a float value. + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Reads a string field value from the input. + + + + + Reads a bytes field value from the input. + + + + + Reads a UTF-8 string from the next "length" bytes. + + + the end of the stream or the current limit was reached + + + + + Reads a string assuming that it is spread across multiple spans in a . + + + + + Validates that the specified size doesn't exceed the current limit. If it does then remaining bytes + are skipped and an error is thrown. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 32 bits to be varint encoded, thus always taking + 5 bytes on the wire.) + + + + + Decode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Checks whether there is known data available of the specified size remaining to parse. + When parsing from a Stream this can return false because we have no knowledge of the amount + of data remaining in the stream until it is read. + + + + + Checks whether there is known data available of the specified size remaining to parse + in the underlying data source. + When parsing from a Stream this will return false because we have no knowledge of the amount + of data remaining in the stream until it is read. + + + + + Read raw bytes of the specified length into a span. The amount of data available and the current limit should + be checked before calling this method. + + + + + Reading and skipping messages / groups + + + + + Skip a group. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Fast parsing primitives for wrapper types + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + Controls the name of the wrapper Java class generated for the .proto file. + That class will always contain the .proto file's getDescriptor() method as + well as any top-level extensions defined in the .proto file. + If java_multiple_files is disabled, then all the other classes from the + .proto file will be nested inside the single wrapper outer class. + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If enabled, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the wrapper class + named by java_outer_classname. However, the wrapper class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + As of 2021, lazy does no correctness checks on the byte stream during + parsing. This may lead to crashes if and when an invalid byte stream is + finally parsed upon access. + + TODO(b/211906113): Enable validation on lazy fields. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "unverified_lazy" field. + + + + unverified_lazy does no correctness checks on the byte stream. This should + only be used where lazy with verification is prohibitive for performance + reasons. + + + + Gets whether the "unverified_lazy" field is set + + + Clears the value of the "unverified_lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + "foo.(bar.baz).moo". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition occurs. + For example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to moo. + // + // Another line attached to moo. + optional double moo = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to moo or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + Returns a clone of the underlying describing this enum. + Note that a copy is taken every time this method is called, so clients using it frequently + (and not modifying it) may want to cache the returned value. + + A protobuf representation of this enum descriptor. + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns a clone of the underlying describing this enum value. + Note that a copy is taken every time this method is called, so clients using it frequently + (and not modifying it) may want to cache the returned value. + + A protobuf representation of this enum value descriptor. + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in ascending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + The name of the property in the ContainingType.ClrType class. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + Returns a clone of the underlying describing this field. + Note that a copy is taken every time this method is called, so clients using it frequently + (and not modifying it) may want to cache the returned value. + + A protobuf representation of this field descriptor. + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + Returns a clone of the underlying describing this file. + Note that a copy is taken every time this method is called, so clients using it frequently + (and not modifying it) may want to cache the returned value. + + A protobuf representation of this file descriptor. + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The extension registry to use when parsing, or null if no extensions are required. + The file descriptors corresponding to . + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + Returns a clone of the underlying describing this message. + Note that a copy is taken every time this method is called, so clients using it frequently + (and not modifying it) may want to cache the returned value. + + A protobuf representation of this message descriptor. + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + Returns a clone of the underlying describing this method. + Note that a copy is taken every time this method is called, so clients using it frequently + (and not modifying it) may want to cache the returned value. + + A protobuf representation of this method descriptor. + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Returns a clone of the underlying describing this oneof. + Note that a copy is taken every time this method is called, so clients using it frequently + (and not modifying it) may want to cache the returned value. + + A protobuf representation of this oneof descriptor. + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + Returns a clone of the underlying describing this service. + Note that a copy is taken every time this method is called, so clients using it frequently + (and not modifying it) may want to cache the returned value. + + A protobuf representation of this service descriptor. + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Abstraction for reading from a stream / read only sequence. + Parsing from the buffer is a loop of reading from current buffer / refreshing the buffer once done. + + + + + Initialize an instance with a coded input stream. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Initialize an instance with a read only sequence. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The write context to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is null or empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The parse context from which to read the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The parse context from which to read the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + + Provides a number of unsafe byte operations to be used by advanced applications with high performance + requirements. These methods are referred to as "unsafe" due to the fact that they potentially expose + the backing buffer of a to the application. + + + + The methods in this class should only be called if it is guaranteed that the buffer backing the + will never change! Mutation of a can lead to unexpected + and undesirable consequences in your application, and will likely be difficult to debug. Proceed with caution! + + + This can have a number of significant side affects that have spooky-action-at-a-distance-like behavior. In + particular, if the bytes value changes out from under a Protocol Buffer: + + + + serialization may throw + + + serialization may succeed but the wrong bytes may be written out + + + objects that are normally immutable (such as ByteString) are no longer immutable + + + hashCode may be incorrect + + + + + + + Constructs a new from the given bytes. The bytes are not copied, + and must not be modified while the is in use. + This API is experimental and subject to change. + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inheriting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of these + variants. Absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from Java `Instant.now()`. + + Instant now = Instant.now(); + + Timestamp timestamp = + Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + .setNanos(now.getNano()).build(); + + Example 6: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + + Abstraction for writing to a steam / IBufferWriter + + + + + Initialize an instance with a coded output stream. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Initialize an instance with a buffer writer. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Initialize an instance with a buffer represented by a single span (i.e. buffer cannot be refreshed) + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Verifies that SpaceLeft returns zero. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + An opaque struct that represents the current serialization state and is passed along + as the serialization proceeds. + All the public methods are intended to be invoked only by the generated code, + users should never invoke them directly. + + + + + Creates a WriteContext instance from CodedOutputStream. + WARNING: internally this copies the CodedOutputStream's state, so after done with the WriteContext, + the CodedOutputStream's state needs to be updated. + + + + + Writes a double field value, without a tag. + + The value to write + + + + Writes a float field value, without a tag. + + The value to write + + + + Writes a uint64 field value, without a tag. + + The value to write + + + + Writes an int64 field value, without a tag. + + The value to write + + + + Writes an int32 field value, without a tag. + + The value to write + + + + Writes a fixed64 field value, without a tag. + + The value to write + + + + Writes a fixed32 field value, without a tag. + + The value to write + + + + Writes a bool field value, without a tag. + + The value to write + + + + Writes a string field value, without a tag. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag. + + The value to write + + + + Writes an enum value, without a tag. + + The value to write + + + + Writes an sfixed32 value, without a tag. + + The value to write. + + + + Writes an sfixed64 value, without a tag. + + The value to write + + + + Writes an sint32 value, without a tag. + + The value to write + + + + Writes an sint64 value, without a tag. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag. + + The encoded tag + + + + Writes the given two-byte tag. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Primitives for encoding protobuf wire format. + + + + + Writes a double field value, without a tag, to the stream. + + + + + Writes a float field value, without a tag, to the stream. + + + + + Writes a uint64 field value, without a tag, to the stream. + + + + + Writes an int64 field value, without a tag, to the stream. + + + + + Writes an int32 field value, without a tag, to the stream. + + + + + Writes a fixed64 field value, without a tag, to the stream. + + + + + Writes a fixed32 field value, without a tag, to the stream. + + + + + Writes a bool field value, without a tag, to the stream. + + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + + + + Given a QWORD which represents a buffer of 4 ASCII chars in machine-endian order, + narrows each WORD to a BYTE, then writes the 4-byte result to the output buffer + also in machine-endian order. + + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + + + + Writes a uint32 value, without a tag, to the stream. + + + + + Writes an enum value, without a tag, to the stream. + + + + + Writes an sfixed32 value, without a tag, to the stream. + + + + + Writes an sfixed64 value, without a tag, to the stream. + + + + + Writes an sint32 value, without a tag, to the stream. + + + + + Writes an sint64 value, without a tag, to the stream. + + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encodes and writes a tag. + + + + + Writes an already-encoded tag. + + + + + Writes the given single-byte tag directly to the stream. + + + + + Writes the given two-byte tag directly to the stream. + + + + + Writes the given three-byte tag directly to the stream. + + + + + Writes the given four-byte tag directly to the stream. + + + + + Writes the given five-byte tag directly to the stream. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Writing messages / groups. + + + + + Writes a message, without a tag. + The data is length-prefixed. + + + + + Writes a group, without a tag. + + + + + Writes a message, without a tag. + Message will be written without a length prefix. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Indicates that the specified method requires dynamic access to code that is not referenced + statically, for example through . + + + This allows tools to understand which methods are unsafe to call when removing unreferenced + code from an application. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of unreferenced code. + + + + + Gets a message that contains information about the usage of unreferenced code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires unreferenced code, and what options a consumer has to deal with it. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + +
    +
    diff --git a/LeatherProject/GeBoShi/bin/Debug/ImageBox.dll.config b/LeatherProject/GeBoShi/bin/Debug/ImageBox.dll.config new file mode 100644 index 0000000..ff9b11a --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/ImageBox.dll.config @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/ImageBox.xml b/LeatherProject/GeBoShi/bin/Debug/ImageBox.xml new file mode 100644 index 0000000..41fbf22 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/ImageBox.xml @@ -0,0 +1,929 @@ + + + + ImageBox + + + + + 必需的设计器变量。 + + + + + 清理所有正在使用的资源。 + + 如果应释放托管资源,为 true;否则为 false。 + + + + 设计器支持所需的方法 - 不要 + 使用代码编辑器修改此方法的内容。 + + + + + 自制控件 + + + + + 图像坐标与picturebox的工作区域之间在自适应或等比例缩放时计算出的初始变换矩阵 + + + + + 光标在PictureBox工作区域的坐标 + + + + + 表示画ROI时使用的尺寸(画点时十字大小的一半)或距离(点到直线、点到中心)的一半或小矩形的尺寸(标注角点) + + + + + 填充模式下的透明度[0-255] + + + + + 画刷宽度 + + + + + 绘制的图层集合 + + + + + 图像与实际物理坐标系之间的变换关系 + + + + + 图像窗口交互绘制完成的事件 + + + + + 获取或设置画图风格 + + + + + 获取或设置区域或轮廓显示的颜色名称 + + + + + 获取或设置多颜色显示区域或轮廓 + + + + + 获取或设置轮廓线的显示宽度 + + + + + 获取或设置图像控件背景颜色 + + + + + 是否显示图像中心 + + + + + 当前窗口中的图像 + + + + + 获取最近一次所画图形 + + + + + 光标模式 + + + + + 选择模式 + + + + + 移动模式,可以拖拽图像 + + + + + 低配选点模式 + + + + + 高配选点模式 + + + + + 图像显示方式枚举 + + + + + 图像被拉伸或收缩以适应图像窗口大小 + + + + + 图像大小按其原有的大小比例被增加或减小 + + + + + 图像按照原有显示区域显示,局部显示 + + + + + 画图形状枚举 + + + + + 点 + + + + + 直线 + + + + + 矩形1,与坐标轴平行的矩形 + + + + + 圆 + + + + + 任意形状的多边形 + + + + + 任意形状的区域 + + + + + 画刷区域 + + + + + 空状态 + + + + + 画图风格 + + + + + 轮廓显示 + + + + + 填充显示 + + + + + 绘制图形的状态枚举 + + + + + 开始绘制 + + + + + 正在绘制 + + + + + 绘制完成 + + + + + 图像坐标系下图形结构体参数基类 + + + + + 图形绘制类型 + + + + + 读取图形的平行于坐标轴的最小外接矩形 + + + + + 绘制的图形是否有效 + + + + + + 区域+颜色类型 + + + + + 点类型 + + + + + 点行坐标 + + + + + 点列坐标 + + + + + 图形类型,其值为【Point】 + + + + + 点的平行于坐标轴的最小外界矩形(无效结果) + + + + + 图形是否有效 + + + + + + 线类型 + + + + + 线段的起点坐标 + + + + + 线段的终点坐标 + + + + + 图形类型,其值为【Line】 + + + + + 线的平行于坐标轴的最小外界矩形(无效结果) + + + + + 图形是否有效 + + + + + + 平行于坐标轴的矩形类型 + + + + + 矩形左上角顶点坐标 + + + + + 矩形右下角顶点坐标 + + + + + 矩形宽 + + + + + 矩形高 + + + + + 图形类型,其值为【Rectangle1】 + + + + + 矩形的平行于坐标轴的最小外界矩形 + + + + + 图形是否有效 + + + + + + 圆类型 + + + + + 圆心点坐标 + + + + + 圆半径 + + + + + 图形类型,其值为【Circle】 + + + + + 圆的平行于坐标轴的最小外界矩形 + + + + + 图形是否有效 + + + + + + 多边形类型 + + + + + 多边形角点坐标集合 + + + + + 图形类型,其值为【Xld】 + + + + + 多边形的平行于坐标轴的最小外界矩形 + + + + + 图形是否有效 + + + + + + 区域类型 + + + + + 区域轮廓点的集合 + + + + + 图形类型,其值为【Region】 + + + + + 任意区域的平行于坐标轴的最小外界矩形 + + + + + 图形是否有效 + + + + + + 画刷区域类型 + + + + + 区域轮廓点的集合 + + + + + 图形类型,其值为【Region】 + + + + + 画刷区域的平行于坐标轴的最小外界矩形 + + + + + 图形是否有效 + + + + + + 图像到初始化图像控件的变换矩阵 + + + + + 获取图像在控件上Client区域 + + + + + + + 显示中心,有图像时显示的是图像的中心,否则显示图像窗口的中心 + + + + + 根据drawPoints绘制ROI,添加到GraphicsPath中 + + ROI图形路径 + 交互图形路径 + 轮廓点集合 + 图形类型 + 是否是交互绘制 + + + + 根据drawParam绘制ROI,添加到GraphicsPath中 + + ROI图形路径 + 交互图形路径 + ROI + + + + 根据绘图路径绘制ROI + + + ROI图形路径 + 交互图形路径 + + + + 根据绘图路径绘制ROI + + + ROI图形路径 + 交互图形路径 + 颜色 + + + + 计算某个点是否在某些点内部 + + + + + + + 在画xld时,判断是否将新增点插入某两个点中间 + 前提是新增点不在原有角点附近 + + + 更新后该点在点集合中的索引位置 + + + + + 获取鼠标指针在图像中的坐标 + + + + + + 获取图形点位在控件工作区域内坐标 + + + + + + + 将控件坐标转换成图像坐标 + + + + + 将图形坐标转换成控件坐标 + + + + + + + + 获取图像灰度信息 + + + + + + + + + 获取圆上离散点坐标 + + 圆 + 起始角度,单位:° + 角度范围,单位:° + 离散点获取的步长,单位:° + + + + + 获取圆上离散点坐标 + + 圆 + 起始角度,单位:° + 角度范围,单位:° + 离散点获取的步长,单位:° + + + + + 获取圆上离散点坐标 + + 圆 + 起始角度,单位:° + 角度范围,单位:° + 离散点获取的步长,单位:° + Point类型 + + + + 计算线段角度(起点到终点方向),单位:° + + 线段起点 + 线段终点 + 默认角度范围是[-180,180],归一化之后为[-90,90] + 返回线段角度,单位:° + + + + 根据骨架线计算包围轮廓线 + + + + + + + 计算两点中点(迭代计算任意两点间被N等分点) + + + + + + + + 获取区域包含的点坐标 + + + + + + + 获取轮廓占据的像素点(包含像素去重) + + + + + + + 获取区域Runs,默认输入的点已经去重处理 + + + + + + + 释放控件占用的所有资源 + + + + + 设置右键菜单栏中选项是否可见 + + + + + 设置左侧交互按钮是否可见 + + + + + + 设置底部图像信息栏是否可见 + + + + + + 设置图像窗口是否激活, + 显示图像和区域之前不需要激活图像控件 + 显示图像和区域之后需要激活图像控件 + + + + + + 清除图像窗口,图像数据并未清除 + + + + + 加载图像 + + 图像路径,需要是英文路径 + 图像Mat + + + + + 保存图像 + + 图像路径,需要时英文路径 + 图像Mat + + + + + 截图当前窗口 + + + + + + + + 将区域信息绘制在图像上保存 + + + + + + + + + + 显示图像与区域 + + 图像 + 一个或多个区域 + 图像显示方式,见枚举ImageModeEnum + + + + 显示图像与区域 + + 图像 + 一个或多个不同颜色区域 + 图像显示方式,见枚举ImageModeEnum + + + + 显示图像与区域 + + 图像 + 一个区域 + 图像显示方式,见枚举ImageModeEnum + + + + 显示图像与区域 + + 图像 + 图像显示方式,见枚举ImageModeEnum + + + + 显示多个区域 + + 多个区域 + + + + 显示多个区域分色 + + 多个区域 + + + + 显示一个区域 + + 一个区域 + + + + 获取当前图像显示的局部位置 + + 图像局部范围 + + + + 设置图像显示的局部位置 + + 图像局部范围 + + + + 计算ROI集合的平行于坐标轴的最小外接矩形 + + + 平行于坐标轴的最小外接矩形 + + + + 获取区域包含的点坐标 + + + + + + + 特色功能低配置版,只能放大缩小,移动,取点 + + + + + 必需的设计器变量。 + + + + + 清理所有正在使用的资源。 + + 如果应释放托管资源,为 true;否则为 false。 + + + + 设计器支持所需的方法 - 不要 + 使用代码编辑器修改此方法的内容。 + + + + + 图层 + + + + + 图像与实际物理坐标系之间的变换关系 + + + + + 获取图形当前位姿与尺寸信息 + + + + + 图层ID + + + + + 图层需要显示的对象 + + + + + 图层对象是否激活 + + + + + 代表图形变换后需要绘制的区域的点,单位像素,长度为4 + + + + + 突出显示当前图形的顶点坐标,单位像素,长度为4 + + + + + + + cv mat + 图层名称 + 图形原始位姿和尺寸信息 + 图像与实际物理坐标系之间的变换关系 + + + + + + bitmap image + 图层名称 + 图形原始位姿和尺寸信息 + 图像与实际物理坐标系之间的变换关系 + + + + 将ezcad四通道图形转成透明图形 + + + + + + 图形变换 + + 图形位姿和尺寸信息 + 是否旋转图形,true只旋转图形,false缩放和平移图形 + + + + 图形的位姿和尺寸类 + + + + + 图形位置X,单位mm + + + + + 图形位置Y,单位mm + + + + + 图形角度,单位角度 + + + + + 图形尺寸,单位mm + + + + + 一个强类型的资源类,用于查找本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 重写当前线程的 CurrentUICulture 属性,对 + 使用此强类型资源类的所有资源查找执行重写。 + + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/K4os.Compression.LZ4.Streams.xml b/LeatherProject/GeBoShi/bin/Debug/K4os.Compression.LZ4.Streams.xml new file mode 100644 index 0000000..6ef5280 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/K4os.Compression.LZ4.Streams.xml @@ -0,0 +1,1630 @@ + + + + K4os.Compression.LZ4.Streams + + + + + Generic interface for frame/stream decoder for LZ4. + + + + + Opens frame for reading. Please note, this method is not needed as it will be + called automatically, but it can be used to quickly check if frame is valid. + + true if frame was just opened, + false if it was opened before. + + + Async version of . + Cancellation token. + true if frame was just opened, + false if it was opened before. + + + Gets the length of the frame content if it was provided when content was encoded. + Frame length, or null + + + Async version of . + Cancellation token. + Frame length, or null + + + Reads one byte from LZ4 stream. + A byte, or -1 if end of stream. + + + Reads one byte from LZ4 stream. + Cancellation token. + A byte, or -1 if end of stream. + + + Reads many bytes from LZ4 stream. Return number of bytes actually read. + Byte buffer to read into. + if true then returns as soon as some bytes are read, + if false then waits for all bytes being read or end of stream. + Number of bytes actually read. + 0 means that end of stream has been reached. + + + Reads many bytes from LZ4 stream. Return number of bytes actually read. + Cancellation token. + Byte buffer to read into. + if true then returns as soon as some bytes are read, + if false then waits for all bytes being read or end of stream. + Number of bytes actually read. + 0 means that end of stream has been reached. + + + Returns how many bytes in has been read from stream so far. + Number of bytes read in total. + + + Closes the stream, releases allocated memory. + + + + Generic interface for LZ4 frame/stream writer. + + + + + Opens a stream by reading frame header. Please note, this methods can be called explicitly + but does not need to be called, it will be called automatically if needed. + + true if frame has been opened, + or false if it was opened before. + + + + Opens a stream by reading frame header. Please note, this methods can be called explicitly + but does not need to be called, it will be called automatically if needed. + + Cancellation token. + true if frame has been opened, + or false if it was opened before. + + + Writes one byte to stream. + Byte to be written. + + + Writes one byte to stream. + Cancellation token. + Byte to be written. + + + Writes multiple bytes to stream. + Byte buffer. + + + Writes multiple bytes to stream. + Cancellation token. + Byte buffer. + + + Gets number of bytes written. + Total number of bytes (before compression). + + + + Closes frame. Frame needs to be closed for stream to by valid, although + this methods does not need to be called explicitly if stream is properly dispose. + + + + + Closes frame. Frame needs to be closed for stream to by valid, although + this methods does not need to be called explicitly if stream is properly dispose. + + Cancellation token. + + + + Stream reader interface. It is an adapter for all stream-like structures. + + Stream state. + + + + Reads at-most bytes from given . + + Stream state. + Buffer to read bytes into. + Offset in buffer. + Maximum number of bytes to read. + Number of bytes actually read. + + + + Reads at-most bytes from given . + + Stream state. + Buffer to read bytes into. + Offset in buffer. + Maximum number of bytes to read. + Cancellation token. + containing new stream state, + and number of bytes actually read.. + + + + Generic stream writer interface. + When implementing custom compression target or decompression source you need to implement + this adapter. Please note, that this adapter can be implemented as class or + readonly struct. If implemented as struct it cannot have mutable state + as it will be lost. Immutable state is allowed but strongly discouraged. + Use instead. + + Mutable part of stream state. + + + Indicates that writer can and should flush after frame. + Please note, flushing may have negative performance effect but may also lead to + better interactivity between writer and reader, as reader will get new block + available as soon as possible. + + + Writes byte buffer to underlying stream. + Stream state. + Byte buffer. + Offset within buffer. + Number of bytes. + + + Writes byte buffer to underlying stream. + Stream state. + Byte buffer. + Offset within buffer. + Number of bytes. + Cancellation token. + New stream state (mutable part). + + + Flushes buffers to underlying storage. Called only when + Stream state. + + + Flushes buffers to underlying storage. Called only when + Stream state. + Cancellation token. + New stream state (mutable part). + + + + Result of async read operation. Returns new state of the stream and number of bytes read. + + New stream state. + Number of bytes read. + Stream state. + + + + Result of async read operation. Returns new state of the stream and number of bytes read. + + New stream state. + Number of bytes read. + Stream state. + + + New stream state. + + + Number of bytes read. + + + + Helper methods to create + + + + + Creates read result, composed of new stream state and bytes read. + + Stream state. + Bytes read. + Stream state. + Read result. + + + + Stream adapter for any class implementing . + It takes actual class, not interface, so it can use struct implementations + of for performance reasons. + Please note, whole K4os.Compression.LZ4.Streams.Adapters namespace should be considered + pubternal - exposed as public but still very likely to change. + + Type implementing + + + + + + + + + + + + + + + + + + + Stream adapter for and . + This class implements for + but should be used only in some niche situations, as it is not easy to find out + how many bytes has been written, use + instead. + Please note, whole K4os.Compression.LZ4.Streams.Adapters namespace should be considered + pubternal - exposed as public but still very likely to change. + + + + + + + + + + + Copies bytes from span to buffer. Performs all length checks. + + Head offset of . + Target buffer. + Offset in target buffer. + Number of bytes to copy. + Number of bytes actually copied. + + + + + + + + + + Stream adapter for and . + This class implements for + but should be used only in some niche situations, as it is not easy to find out + how many bytes has been written, use + instead. + Please note, whole K4os.Compression.LZ4.Streams.Adapters namespace should be considered + pubternal - exposed as public but still very likely to change. + + + + + Initializes a new instance of the class. + + Memory buffer. + + + + + + + + + + + + + + + + + + + Naive and simplistic implementation of adapter for . + It might be improved in many ways I believe, but it gives some starting point. + Please note, whole K4os.Compression.LZ4.Streams.Adapters namespace should be considered + pubternal - exposed as public but still very likely to change. + + + + + + + + + + + LZ4 stream reader/writer adapter for . + + + + + Creates new instance of . + + Memory span. + + + + + + + + + + + + + + + + + + + + + + + + + Empty record equivalent to Unit/Void. + Works as placeholder type used when working with generic interfaces which do require type, + but implementation needs none. + Please note, whole K4os.Compression.LZ4.Streams.Adapters namespace should be considered + pubternal - exposed as public but still very likely to change. + + + + + Stream adapter for . + Please note, whole K4os.Compression.LZ4.Streams.Adapters namespace should be considered + pubternal - exposed as public but still very likely to change. + + + + + Creates new instance of . + + Pipe reader. + + + + + + + + + + LZ4 stream adapter for . + Please note, whole K4os.Compression.LZ4.Streams.Adapters namespace should be considered + pubternal - exposed as public but still very likely to change. + + + + + Creates new instance of . + + Pipe writer. + + + + + + + + + + + + + + + + + + + LZ4 stream reader/writer adapter for . + Please note, whole K4os.Compression.LZ4.Streams.Adapters namespace should be considered + pubternal - exposed as public but still very likely to change. + + + + + Creates new stream adapter for + + + + + + + + + + + + + + + + + + + + + + + + + + + Unsafe version of . It is unsafe as it stores raw memory pointer + so memory it points to must be pinned. It allows reading and writing straight to + unmanaged memory but must be used carefully. + NOTE: If you don't understand what has been said above - don't use it. Misuse of this + struct may lead to unpredictable errors and memory corruption. + + + + Pointer to the first byte of the span. + + + Length of the span in bytes. + + + + Creates new instance of from given pointer and length. + + Pointer to the first byte of the span. + Length of the span in bytes. + + + + Creates new instance of from raw pointer. + + Pointer block of bytes. + Length of the block. + New . + + + + Converted to . + + + + + Utility methods for LZ4 streams. + + + + + Creates using . + + LZ4 descriptor. + Compression level. + Additional memory for encoder. + Encoder. + + + + Creates using and . + + LZ4 descriptor. + Encoder settings. + Encoder. + + + + Create using . + + Descriptor. + Extra memory (may improves speed, but creates memory pressure). + . + + + + Create using and . + + Descriptor. + Settings. + . + + + + Creates from . + + Settings. + LZ4 Descriptor. + + + Async version of . + Decoder. + true if frame was just opened, + false if it was opened before. + + + Async version of . + Decoder. + Frame length, or null + + + Reads one byte from LZ4 stream. + Decoder. + A byte, or -1 if end of stream. + + + Reads many bytes from LZ4 stream. Return number of bytes actually read. + Decoder. + Byte buffer to read into. + if true then returns as soon as some bytes are read, + if false then waits for all bytes being read or end of stream. + Number of bytes actually read. + 0 means that end of stream has been reached. + + + + Opens a stream by reading frame header. Please note, this methods can be called explicitly + but does not need to be called, it will be called automatically if needed. + + Encoder. + true if frame has been opened, or false if it was opened before. + + + Writes one byte to stream. + Encoder. + Byte to be written. + + + Writes multiple bytes to stream. + Encoder. + Byte buffer. + + + + Closes frame. Frame needs to be closed for stream to by valid, although + this methods does not need to be called explicitly if stream is properly dispose. + + Encoder. + + + + Copies all bytes from into . + + Frame reader. + Buffer writer. + Chunk size. + Type of buffer writer. + + + + Copies all bytes from into . + + LZ4 frame reader. + Buffer writer. + Chunk size. + Type of buffer writer. + + + + Copies all bytes from into . + + Frame writer. + Sequence of bytes. + + + + Copies all bytes from into . + + Frame writer. + Sequence of bytes. + + + + Wraps as . + + LZ4 frame reader. + Indicates that frame reader should be left open even if stream is + disposed. + Indicates that data should be provided to reader as quick as + possible, instead of waiting for whole block to be read. + stream wrapper. + + + + Wraps as . + + LZ4 frame writer. + Indicates that frame writer should be left open even if stream is + disposed. + stream wrapper. + + + + LZ4 Decompression stream handling. + + + + Creates new instance . + Inner stream. + Inner stream initial state. + Decoder factory. + + + + Exposes internal stream state. Existence of this property is a hack, + and it really shouldn't be here but it is needed for relatively low + level operations (like writing directly to unmanaged memory). + Please, do not use it directly, if don't know what you are doing. + + + + + + + Allocate temporary buffer to store decompressed data. + Minimum size of the buffer. + Allocated buffer. + + + Releases allocated buffer. + Previously allocated buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disposes the decoder. Consecutive attempts to read will fail. + + true is stream is being disposed by user, + true is by garbage collector. + + + + Releases unmanaged resources. + + + + + Releases unmanaged resources. + + Task indicating operation is finished. + + + + + + + implementation for . + + + + + Creates new instance of . + + Bytes span. + LZ4 decoder factory. + + + + implementation for . + + + + + Creates new instance of . + + Memory buffer. + LZ4 decoder factory. + + + + implementation for . + + + + + Creates new instance of . + + Byte sequence. + LZ4 decoder factory. + + + + implementation for . + + + + + Creates new instance of . + + Stream to read from. + Leave stream open after reader is disposed. + LZ4 decoder factory. + + + + Disposes the reader. + + true if user is disposing it; false if it has been triggered by garbage collector + + + + implementation for . + + + + + Creates new instance of . + + Pipe to be read. + Leave pipe open after reader is disposed. + LZ4 decoder factory. + + + + + + + + + + wrapper for . + + + + + Creates new instance of . + + LZ4 frame reader. + Leave underlying stream open after disposing this stream. + Use interactive mode; return bytes as soon as they available. + + + + + + + + + + + + + + + + Length of stream. Please note, this will only work if original LZ4 stream has + ContentLength field set in descriptor. Otherwise returned value will be -1. + It will also require synchronous stream access, so it wont work if AllowSynchronousIO + is false. + + + + + Position within the stream. Position can be read, but cannot be set as LZ4 stream does + not have Seek capability. + + + + + + + + LZ4 stream encoder. + + + + Creates new instance of . + Inner stream. + Inner stream initial state. + LZ4 Encoder factory. + LZ4 settings. + + + + Exposes internal stream state. Existence of this field is a hack, + and it really shouldn't be here but it is needed for relatively low + level operations (like writing directly to unmanaged memory). + Please, do not use it directly, if don't know what you are doing. + + + + Allocate temporary buffer to store decompressed data. + Minimum size of the buffer. + Allocated buffer. + + + Releases allocated buffer. + Previously allocated buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disposes the stream and releases all resources. + + true if called by user; false when called by garbag collector. + + + + + + + Releases all unmanaged resources. + + + + + Releases all unmanaged resources. + + Task indicating completion of the operation. + + + + implementation for + + Type of buffer writer. + + + + Creates new instance of . + + Buffer writer to write to. + Encoder factory. + Frame descriptor. + + + Current state of buffer writer. + + + + implementation for + + + + + Creates new instance of . + + Buffer writer to write to. + Encoder factory. + Frame descriptor. + + + + implementation for + + + + + Creates new instance of . + + Memory block where data will be written. + Encoder factory. + Frame descriptor. + + + Number of bytes written to the memory. + + + + implementation for . + is a wrapper around that + can be stored in a field. Please note: it makes it unsafe and address needs to be pinned, + one way or another. + + + + + Creates new instance of . + + Span to write to. + Encoder factory. + Frame descriptor. + + + Number of bytes written to the memory. + + + + implementation for . + + + + + Creates new instance of . + + Stream to write to. + Leave stream open after disposing this writer. + Encoder factory. + Frame descriptor. + + + + + + + + + + implementation for . + + + + + Creates new instance of . + + Pipe writer to write to. + Leave pipe open after disposing this writer. + Encoder factory. + Frame descriptor. + + + + + + + + + + Adapter to make look like . + + + + Creates new instance of . + Underlying frame encoder. + Indicates should be left + open after disposing. + + + + + + + + + + + + + + + Length of the stream and number of bytes written so far. + + + Read-only position in the stream. Trying to set it will throw + . + + + + LZ4 Frame descriptor. + + + + Content length. Not always known. + + + Indicates if content checksum is provided. + + + Indicates if blocks are chained (dependent) or not (independent). + + + Indicates if block checksums are provided. + + + Dictionary id. May be null. + + + Block size. + + + + Completely empty class to do nothing. + It is used internally instead of CancellationToken to make sure + blocking operations are easily distinguishable from async ones + (you cannot call blocking operation by accident as they *require* EmptyToken). + + + + + Base class for all compatible adapters. + + Type of resource stream adapter if for. + + + + Creates new instance of . + + Wrapped resource. + Do not dispose inner resource after stream is disposed. + + + Wrapped resource. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LZ4 stream essentials when wrapping another stream. + You most likely should not use it but it needs to be public as it is inherited from. + + + + + + + + + + + + + + + + + + + + + + + + + + Decoder settings. + + + + Extra memory for decompression. + + + + LZ4 frame decoder stream. + + + + + Creates LZ4 decoder stream. + + Inner stream, the stream compressed data is coming from.. + Decoder factory. + Leave inner stream open after this stream is disposed. + Interactive mode, provide bytes as soon as they are available; don't wait for full block. + + + + + + + + + + + + + + + + Length of stream. Please note, this will only work if original LZ4 stream has + ContentLength field set in descriptor. Otherwise returned value will be -1. + It will also require synchronous stream access, so it wont work if AllowSynchronousIO + is false. + + + + + Position within the stream. Position can be read, but cannot be set as LZ4 stream does + not have Seek capability. + + + + + + + + LZ4 frame descriptor. + + + + Content length (if available). + + + Indicates if content checksum if present. + + + Indicates if blocks are chained. + + + Indicates if block checksums are present. + + + Dictionary id (or null). + + + Block size. + + + Creates new instance of . + Content length. + Content checksum flag. + Chaining flag. + Block checksum flag. + Dictionary id. + Block size. + + + Creates new instance of . + Descriptor to copy. + + + + LZ4 encoder settings. + + + + + Content length. It is not enforced, it can be set to any value, but it will be + written to the stream so it can be used while decoding. If you don't know the length + just leave default value. + + + + + Indicates if blocks should be chained (dependent) or not (independent). Dependent blocks + (with chaining) provide better compression ratio but are a little but slower and take + more memory. + + + + + Block size. You can use any block size, but default values for LZ4 are 64k, 256k, 1m, + and 4m. 64k is good enough for dependent blocks, but for independent blocks bigger is + better. + + + + Indicates is content checksum should be included. + + + Indicates if block checksum should be included. + + + Dictionary id. Not implemented yet. + + + Compression level. + + + Extra memory (for the process, more is usually better). + + + + LZ4 frame encoder stream. + + + + Creates new instance of . + Inner stream. + LZ4 Descriptor. + Function which will take descriptor and return + appropriate encoder. + Indicates if stream should be left + open after disposing. + + + + + + + + + + + + + + + + + + Length of the stream and number of bytes written so far. + + + Read-only position in the stream. Trying to set it will throw + . + + + + LZ4 factory methods to encode/decode anything which can be represented as a stream-like object. + Please note, to avoid all the complexity of dealing with streams, it uses + and as stream abstractions. + + + + Creates decompression stream on top of inner stream. + Span to read from. + Buffer to write to. + Extra memory used for decompression. + + + Creates decompression stream on top of inner stream. + Stream to be decoded. + Extra memory used for decompression. + Decompression stream. + + + Creates decompression stream on top of inner stream. + Stream to be decoded. + Extra memory used for decompression. + Decompression stream. + + + Creates decompression stream on top of inner stream. + Stream to be decoded. + Extra memory used for decompression. + Indicates if stream should stay open after disposing decoder. + Decompression stream. + + + Creates decompression stream on top of inner stream. + Stream to be decoded. + Extra memory used for decompression. + Indicates if stream should stay open after disposing decoder. + Decompression stream. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source bytes. + Target buffer. + Compression settings. + Number of bytes actually written. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source bytes. + Target buffer. + Compression settings. + Number of bytes actually written. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source bytes. + Target buffer. + Compression level. + Extra memory. + Number of bytes actually written. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source bytes. + Target buffer. + Compression level. + Extra memory. + Number of bytes actually written. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source bytes. + Target buffer. + Compression settings. + Number of bytes actually written. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source bytes. + Target buffer. + Compression settings. + Number of bytes actually written. + + + + Writes bytes into target buffer. Returns number of bytes actually written. + + Source of bytes, a function which write to LZ4 encoder. + Target buffer. + Compression settings. + Number of bytes actually written. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source bytes. + Target buffer. + Compression level. + Extra memory for encoder. + Number of bytes actually written. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source bytes. + Target buffer. + Compression level. + Extra memory for encoder. + Number of bytes actually written. + + + + Compresses source bytes into target buffer. Returns number of bytes actually written. + + Source of bytes, a function which write to LZ4 encoder. + Target buffer. + Compression level. + Extra memory for encoder. + Number of bytes actually written. + + + + Create LZ4 encoder that writes compressed data into target buffer. + Please note, target buffer needs to be pinned for the whole time encoder is used. + This is definitely very unsafe method, and if you don't understand what it does, + don't use it. + + Pointer to target buffer. + Length of target buffer. + Encoder settings. + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target buffer. + Please note, target buffer needs to be pinned for the whole time encoder is used. + This is definitely very unsafe method, and if you don't understand what it does, + don't use it. + + Pointer to target buffer. + Length of target buffer. + Compression level. + Extra memory for encoder. + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target buffer. + + Target buffer. + Encoder settings. + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target buffer. + + Target buffer. + Compression level. + Extra memory for encoder. + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target buffer. + + Target buffer. + Encoder settings. + Byte of buffer writer implementing . + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target buffer. + + Target buffer. + Compression level. + Extra memory for encoder. + Byte of buffer writer implementing . + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target buffer. + + Target buffer. + Encoder settings. + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target buffer. + + Target buffer. + Compression level. + Extra memory for encoder. + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target stream. + + Target stream. + Encoder settings. + Leave target stream open after encoder is disposed. + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target stream. + + Target stream. + Compression level. + Extra memory for encoder. + Leave target stream open after encoder is disposed. + + + + + Create LZ4 encoder that writes compressed data into target pipe. + + Target pipe. + Encoder settings. + Leave target pipe open after encoder is disposed. + LZ4 frame writer. + + + + Create LZ4 encoder that writes compressed data into target pipe. + + Target pipe. + Compression level. + Extra memory for encoder. + Leave target pipe open after encoder is disposed. + LZ4 frame writer. + + + + Utility class with factory methods to create LZ4 compression and decompression streams. + + + + Created compression stream on top of inner stream. + Inner stream. + Compression settings. + Leave inner stream open after disposing. + Compression stream. + + + Created compression stream on top of inner stream. + Inner stream. + Compression level. + Extra memory used for compression. + Leave inner stream open after disposing. + Compression stream. + + + Creates decompression stream on top of inner stream. + Inner stream. + Decompression settings. + Leave inner stream open after disposing. + If true reading from stream will be "interactive" allowing + to read bytes as soon as possible, even if more data is expected. + Decompression stream. + + + Creates decompression stream on top of inner stream. + Inner stream. + Extra memory used for decompression. + Leave inner stream open after disposing. + If true reading from stream will be "interactive" allowing + to read bytes as soon as possible, even if more data is expected. + Decompression stream. + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/K4os.Compression.LZ4.xml b/LeatherProject/GeBoShi/bin/Debug/K4os.Compression.LZ4.xml new file mode 100644 index 0000000..7322b0a --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/K4os.Compression.LZ4.xml @@ -0,0 +1,1211 @@ + + + + K4os.Compression.LZ4 + + + + + Action performed by encoder using FlushAndEncode method. + + + + Nothing has happened, most likely loading 0 bytes. + + + Some bytes has been loaded into encoder. + + + Compression was not possible so bytes has been copied. + + + Compression succeeded. + + + + Interface of LZ4 decoder used by LZ4 streams. + + + + Block size. + + + Bytes already decoded and available to be read. + Always smaller than + + + + Decodes previously compressed block and caches decompressed block in decoder. + Returns number of bytes decoded. These bytes can be read with . + + Points to compressed block. + Length of compressed block. + Size of the block. Value 0 indicates default block size. + Number of decoded bytes. + + + + Inject already decompressed block and caches it in decoder. + Used with uncompressed-yet-chained blocks and pre-made dictionaries. + These bytes can be read with . + + Points to uncompressed block. + Length of uncompressed block. + Number of decoded bytes. + + + + Reads previously decoded bytes. Please note, should be + negative number, pointing to bytes before current head. + + Buffer to write to. + Offset in source buffer relatively to current head. + Please note, it should be negative value. + Number of bytes to read. + + + + Peeks at previously decoded bytes. Please note, should be + negative number, pointing to bytes before current head. + + Offset in source buffer relatively to current head. + Please note, it should be negative value. + + + + Interface of LZ4 encoder used by LZ4 streams. + + + + Block size. + + + Number of bytes read for compression. + Always smaller than + + + Adds bytes to internal buffer. Increases + Source buffer. + Source buffer length. + Number of bytes topped up. If this function returns 0 it means that buffer + is full ( equals ) and + should be called to flush it. + + + + Encodes bytes in internal buffer (see: , ). + If is true then if encoded buffer is bigger than + source buffer source bytes are copied instead. In such case returned length is negative. + + Target buffer. + Target buffer length. + Indicates if copying is allowed. + Length of encoded buffer. Negative if bytes are just copied. + + + + LZ4 decoder used with independent blocks mode. Please note, that it will fail + if input data has been compressed with chained blocks + ( and ) + + + + Creates new instance of block decoder. + Block size. Must be equal or greater to one used for compression. + + + + + + + + + + + + + + + + + + + + + + + + + Independent block encoder. Produces larger files but uses less memory and + gives better performance. + + + + Creates new instance of + Compression level. + Block size. + + + + + + + + + LZ4 decoder handling dependent blocks. + + + Creates new instance of . + Block size. + Number of extra blocks. + + + + + + + + + + + + + + + + + + + + + + + + + Static class with factory methods to create LZ4 decoders. + + + + Creates appropriate decoder for given parameters. + Dependent blocks. + Block size. + Number of extra blocks. + LZ4 decoder. + + + + Static class with factory method to create LZ4 encoders. + + + + Creates appropriate decoder for given parameters. + Dependent blocks. + Compression level. + Block size. + Number of extra blocks. + LZ4 encoder. + + + + Base class for LZ4 encoders. Provides basic functionality shared by + , , + and encoders. Do not used directly. + + + + Creates new instance of encoder. + Needs to be true if using dependent blocks. + Block size. + Number of extra blocks. + + + + + + + + + + + + + + + Encodes single block using appropriate algorithm. + Source buffer. + Source buffer length. + Target buffer. + Target buffer length. + Number of bytes actually written to target buffer. + + + Copies current dictionary. + Target buffer. + Dictionary length. + Dictionary length. + + + + + + + Functionality of encoders added on top of fixed interface. + + + + Tops encoder up with some data. + Encoder. + Buffer pointer, will be shifted after operation by the number of + bytes actually loaded. + Length of buffer. + true if buffer was topped up, false if no bytes were loaded. + + + Tops encoder up with some data. + Encoder. + Buffer. + Buffer offset. + Length of buffer. + Number of bytes actually loaded. + + + Tops encoder up with some data. + Encoder. + Buffer. + Buffer offset, will be increased after operation by the number + of bytes actually loaded. + Length of buffer. + true if buffer was topped up, false if no bytes were loaded. + + + Encodes all bytes currently stored in encoder into target buffer. + Encoder. + Target buffer. + Offset in target buffer. + Length of target buffer. + if true copying bytes is allowed. + Number of bytes encoder. If bytes were copied than this value is negative. + + + Encodes all bytes currently stored in encoder into target buffer. + Encoder. + Target buffer. + Offset in target buffer. Will be updated after operation. + Length of target buffer. + if true copying bytes is allowed. + Result of this action. Bytes can be Copied (), + Encoded () or nothing could have + happened (). + + + Encodes all bytes currently stored in encoder into target buffer. + Encoder. + Target buffer. Will be updated after operation. + Length of buffer. + if true copying bytes is allowed. + Result of this action. Bytes can be Copied (), + Encoded () or nothing could have + happened (). + + + Tops encoder and encodes content. + Encoder. + Source buffer (used to top up from). + Source buffer length. + Target buffer (used to encode into) + Target buffer length. + Forces encoding even if encoder is not full. + Allows to copy bytes if compression was not possible. + Number of bytes loaded (topped up) + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Tops encoder and encodes content. + Encoder. + Source buffer (used to top up from). + Offset within source buffer. + Source buffer length. + Target buffer (used to encode into) + Offset within target buffer. + Target buffer length. + Forces encoding even if encoder is not full. + Allows to copy bytes if compression was not possible. + Number of bytes loaded (topped up) + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Tops encoder and encodes content. + Encoder. + Source buffer (used to top up from). + Target buffer (used to encode into) + Forces encoding even if encoder is not full. + Allows to copy bytes if compression was not possible. + Number of bytes loaded (topped up) + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Encoded remaining bytes in encoder. + Encoder. + Target buffer. + Target buffer length. + Allows to copy bytes if compression was not possible. + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Encoded remaining bytes in encoder. + Encoder. + Target buffer. + Offset within target buffer. + Target buffer length. + Allows to copy bytes if compression was not possible. + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Encoded remaining bytes in encoder. + Encoder. + Target buffer. + Allows to copy bytes if compression was not possible. + Number if bytes encoded or copied. + Value is 0 if no encoding was done. + Action performed. + + + Drains decoder by reading all bytes which are ready. + Decoder. + Target buffer. + Offset within target buffer. + Offset in decoder relatively to decoder's head. + Please note, it should be negative value. + Number of bytes. + + + Drains decoder by reading all bytes which are ready. + Decoder. + Target buffer. + Offset in decoder relatively to decoder's head. + Please note, it should be negative value. + Number of bytes. + + + Decodes data and immediately drains it into target buffer. + Decoder. + Source buffer (with compressed data, to be decoded). + Source buffer length. + Target buffer (to drained into). + Target buffer length. + Number of bytes actually decoded. + true decoder was drained, false otherwise. + + + Decodes data and immediately drains it into target buffer. + Decoder. + Source buffer (with compressed data, to be decoded). + Offset within source buffer. + Source buffer length. + Target buffer (to drained into). + Offset within target buffer. + Target buffer length. + Number of bytes actually decoded. + true decoder was drained, false otherwise. + + + Decodes data and immediately drains it into target buffer. + Decoder. + Source buffer (with compressed data, to be decoded). + Target buffer (to drained into). + Number of bytes actually decoded. + true decoder was drained, false otherwise. + + + + Inject already decompressed block and caches it in decoder. + Used with uncompressed-yet-chained blocks and pre-made dictionaries. + See . + + Decoder. + Uncompressed block. + Offset in uncompressed block. + Length of uncompressed block. + Number of decoded bytes. + + + + Decodes previously compressed block and caches decompressed block in decoder. + Returns number of bytes decoded. + See . + + Decoder. + Compressed block. + Offset in compressed block. + Length of compressed block. + Size of the block. Value 0 indicates default block size. + Number of decoded bytes. + + + + LZ4 encoder using dependent blocks with fast compression. + + + + Creates new instance of + Block size. + Number of extra blocks. + + + + + + + + + + + + + LZ4 encoder using dependent blocks with high compression. + + + + Creates new instance of + Compression level. + Block size. + Number of extra blocks. + + + + + + + + + + + + Algorithm selection. + + + Intel and ARMv7 version of 32 bit algorithm. + + + Intel version of 64 bit algorithm. + + + Checks what algorithm should be used (32 vs 64 bit). + + + + Existence of this class is an admission of failure. + I failed to export internals to test assemblies. + Using InternalsVisibleTo work, of course, but with signing (which was requested + in https://github.com/MiloszKrajewski/K4os.Compression.LZ4/issues/9) it is + absolute PITA. So no, I'm not using InternalsVisibleTo I will just expose this + little class with some "redirects" to real internals. + + + + Pubternal wrapper for LZ4_stream_t. + + + Creates new instance of wrapper for LZ4_stream_t. + + + + + + + Compresses chunk of data using LZ4_compress_fast_continue. + + Wrapper for LZ4_stream_t + Source block address. + Target block address. + Source block length. + Target block length. + Acceleration. + Number of bytes actually written to target. + + + + Naive wrapper around ArrayPool. Makes calls if something should be pooled. + + + + Minimum size of the buffer that can be pooled. + + + Allocate temporary buffer to store decompressed data. + Minimum size of the buffer. + Clear all data. + Allocated buffer. + + + + Determines if buffer was pooled or not. + The logic is quite simple: if buffer is smaller than 512 bytes are pooled. + + Buffer. + true if buffer was pooled; false otherwise + + + Releases allocated buffer. + Previously allocated buffer. + + + Utility class with memory related functions. + + + 1 KiB + + + 2 KiB + + + 4 KiB + + + 8 KiB + + + 16 KiB + + + 32 KiB + + + 64 KiB + + + 128 KiB + + + 256 KiB + + + 512 KiB + + + 1 MiB + + + 4 MiB + + + Empty byte array. + + + Checks if process is ran in 32-bit mode. + + + Rounds integer value up to nearest multiple of step. + A value. + A step. + Value rounded up. + + + + Copies memory block for to . + + The target block address. + The source block address. + Length in bytes. + + + + Fills memory block with predefined . + + The target block address. + Value to be used. + Length in bytes. + + + + Copies memory block for to . + + The target block address. + The source block address. + Length in bytes. + + + + Copies memory block for to . + It handle "move" semantic properly handling overlapping blocks properly. + + The target block address. + The source block address. + Length in bytes. + + + Allocated block of memory. It is NOT initialized with zeroes. + Size in bytes. + Pointer to allocated block. + + + Fill block of memory with zeroes. + Address. + Length. + Original pointer. + + + Fills memory block with repeating pattern of a single byte. + Address. + A pattern. + Length. + Original pointer. + + + Allocates block of memory and fills it with zeroes. + Size in bytes. + Pointer to allocated block. + + + Free memory allocated previously with . + Pointer to allocated block. + + + Clones managed array to unmanaged one. + Allows quicker yet less safe unchecked access. + Input array. + Cloned array. + + + Reads exactly 1 byte from given address. + Address. + Byte at given address. + + + Writes exactly 1 byte to given address. + Address. + Value. + + + Reads exactly 2 bytes from given address. + Address. + 2 bytes at given address. + + + Writes exactly 2 bytes to given address. + Address. + Value. + + + Reads exactly 4 bytes from given address. + Address. + 4 bytes at given address. + + + Writes exactly 4 bytes to given address. + Address. + Value. + + + Reads exactly 8 bytes from given address. + Address. + 8 bytes at given address. + + + Writes exactly 8 bytes to given address. + Address. + Value. + + + Copies exactly 1 byte from source to target. + Target address. + Source address. + + + Copies exactly 2 bytes from source to target. + Target address. + Source address. + + + Copies exactly 4 bytes from source to target. + Target address. + Source address. + + + Copies exactly 8 bytes from source to target. + Target address. + Source address. + + + + Represents pinned memory. + It either points to unmanaged memory or block of memory from shared array pool. + When disposed, it handles it appropriately. + + + + + Maximum size of the buffer that can be pooled from shared array pool. + + + + Pointer to block of bytes. + + + Pointer to block of bytes as span. + + + Pointer to block of bytes. + + + + Allocates pinned block of memory, depending on the size it tries to use shared array pool. + + Size in bytes. + Indicates if block should be zeroed. + Allocated . + + + + + Allocates pinned block of memory, depending on the size it tries to use shared array pool. + + Pinned memory pointer. + Size in bytes. + Indicates if block should be zeroed. + Allocated . + + + + + Allocates pinned block of memory for one item from shared array pool. + + PinnedMemory pointer. + Indicates if block should be zeroed. + Type of item. + + + Fill allocated block of memory with zeros. + + + + Releases the memory. + + + + + Skeleton for class with unmanaged resources. + Implements but also handles proper release in + case was not called. + + + + Determines if object was already disposed. + + + Throws exception is object has been disposed already. Convenience method. + Thrown if object is already disposed. + + + Method releasing unmanaged resources. + + + Method releasing managed resources. + + + + Disposed resources. + + true if dispose was explicitly called, + false if called from GC. + + + + + + Destructor. + + + Unsafe memory operations. + + + Reads 4 bytes from given address. + Address. + 4 bytes at given address. + + + Writes 4 or 8 bytes to given address. + Address. + Value. + + + Copies exactly 16 bytes from source to target. + Target address. + Source address. + + + Copies exactly 18 bytes from source to target. + Target address. + Source address. + + + + Copies memory block for to + up to (around) . + It does not handle overlapping blocks and may copy up to 8 bytes more than expected. + + The target block address. + The source block address. + The limit (in target block). + + + + Copies memory block for to + up to (around) . + It does not handle overlapping blocks and may copy up to 32 bytes more than expected. + This version copies two times 16 bytes (instead of one time 32 bytes) + because it must be compatible with offsets >= 16. + + The target block address. + The source block address. + The limit (in target block). + + + Unsafe memory operations. + + + Reads exactly 2 bytes from given address. + Address. + 2 bytes at given address. + + + Writes exactly 2 bytes to given address. + Address. + Value. + + + Reads exactly 4 bytes from given address. + Address. + 4 bytes at given address. + + + Writes exactly 4 bytes to given address. + Address. + Value. + + + Copies exactly 1 byte from source to target. + Target address. + Source address. + + + Copies exactly 2 bytes from source to target. + Target address. + Source address. + + + Copies exactly 4 bytes from source to target. + Target address. + Source address. + + + Reads exactly 8 bytes from given address. + Address. + 8 bytes at given address. + + + Writes exactly 8 bytes to given address. + Address. + Value. + + + Copies exactly 8 bytes from source to target. + Target address. + Source address. + + + Reads 8 bytes from given address. + Address. + 8 bytes at given address. + + + Writes 8 bytes to given address. + Address. + Value. + + + Copies exactly 16 bytes from source to target. + Target address. + Source address. + + + Copies exactly 18 bytes from source to target. + Target address. + Source address. + + + + Copies memory block for to + up to (around) . + It does not handle overlapping blocks and may copy up to 8 bytes more than expected. + + The target block address. + The source block address. + The limit (in target block). + + + + Copies memory block for to + up to (around) . + It does not handle overlapping blocks and may copy up to 32 bytes more than expected. + This version copies two times 16 bytes (instead of one time 32 bytes) + because it must be compatible with offsets >= 16. + + The target block address. + The source block address. + The limit (in target block). + + + + Static class exposing LZ4 block compression methods. + + + + Version of LZ4 implementation. + + + + Enforces 32-bit compression/decompression algorithm even on 64-bit systems. + Please note, this property should not be used on regular basis, it just allows + to workaround some problems on platforms which do not support 64-bit the same was + as Intel (for example: unaligned read/writes). + + + + Maximum size after compression. + Length of input buffer. + Maximum length after compression. + + + Compresses data from one buffer into another. + Input buffer. + Length of input buffer. + Output buffer. + Output buffer length. + Compression level. + Number of bytes written, or negative value if output buffer is too small. + + + Compresses data from one buffer into another. + Input buffer. + Output buffer. + Compression level. + Number of bytes written, or negative value if output buffer is too small. + + + Compresses data from one buffer into another. + Input buffer. + Input buffer offset. + Input buffer length. + Output buffer. + Output buffer offset. + Output buffer length. + Compression level. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Input buffer length. + Output buffer. + Output buffer length. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Input buffer length. + Output buffer. + Output buffer length. + Dictionary buffer. + Dictionary buffer length. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Output buffer. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Output buffer. + Dictionary buffer. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Input buffer offset. + Input buffer length. + Output buffer. + Output buffer offset. + Output buffer length. + Number of bytes written, or negative value if output buffer is too small. + + + Decompresses data from given buffer. + Input buffer. + Input buffer offset. + Input buffer length. + Output buffer. + Output buffer offset. + Output buffer length. + Dictionary buffer. + Dictionary buffer offset. + Dictionary buffer length. + Number of bytes written, or negative value if output buffer is too small. + + + Compression level. + + + Fast compression. + + + High compression, level 3. + + + High compression, level 4. + + + High compression, level 5. + + + High compression, level 6. + + + High compression, level 7. + + + High compression, level 8. + + + High compression, level 9. + + + Optimal compression, level 10. + + + Optimal compression, level 11. + + + Maximum compression, level 12. + + + + Pickling support with LZ4 compression. + + + Pickling support with LZ4 compression. + + + + Compresses input buffer into self-contained package. + Input buffer. + Compression level. + Output buffer. + + + Compresses input buffer into self-contained package. + Input buffer. + Input buffer offset. + Input buffer length. + Compression level. + Output buffer. + + + Compresses input buffer into self-contained package. + Input buffer. + Length of input data. + Compression level. + Output buffer. + + + Compresses input buffer into self-contained package. + Input buffer. + Compression level. + Output buffer. + + + Compresses input buffer into self-contained package. + Input buffer. + Where the compressed data is written. + Compression level. + Output buffer. + + + Compresses input buffer into self-contained package. + Input buffer. + Where the compressed data is written. + Compression level. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Input buffer offset. + Input buffer length. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Input buffer length. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Output buffer. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Where the decompressed data is written. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Where the decompressed data is written. + + + + Returns the uncompressed size of a chunk of compressed data. + + The data to inspect. + The size in bytes of the data once unpickled. + + + + Returns the uncompressed size of a chunk of compressed data. + + Decoded header. + The size in bytes of the data once unpickled. + + + Decompresses previously pickled buffer (see: . + Input buffer. + Where the decompressed data is written. + + You obtain the size of the output buffer by calling . + + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/K4os.Hash.xxHash.xml b/LeatherProject/GeBoShi/bin/Debug/K4os.Hash.xxHash.xml new file mode 100644 index 0000000..c156a24 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/K4os.Hash.xxHash.xml @@ -0,0 +1,245 @@ + + + + K4os.Hash.xxHash + + + + + Adapter implementing + + + + + Creates new . + + Hash size (in bytes) + Reset function. + Update function. + Digest function. + + + + + + + + + + + + + + + + + + + Base class for both and . Do not use directly. + + + + Protected constructor to prevent instantiation. + + + + xxHash 32-bit. + + + + Internal state of the algorithm. + + + Hash of empty buffer. + + + Hash of provided buffer. + Buffer. + Length of buffer. + Digest. + + + Hash of provided buffer. + Buffer. + Length of buffer. + Seed. + Digest. + + + Hash of provided buffer. + Buffer. + Digest. + + + Hash of provided buffer. + Buffer. + Starting offset. + Length of buffer. + Digest. + + + Creates xxHash instance. + + + Creates xxHash instance. + + + Resets hash calculation. + + + Resets hash calculation. + + + Updates the hash using given buffer. + Buffer. + Length of buffer. + + + Updates the hash using given buffer. + Buffer. + Length of buffer. + + + Updates the has using given buffer. + Buffer. + + + Updates the has using given buffer. + Buffer. + Starting offset. + Length of buffer. + + + Hash so far. + Hash so far. + + + Hash so far, as byte array. + Hash so far. + + + Converts this class to + + + + Resets hash calculation. + Hash state. + Hash seed. + + + Updates the has using given buffer. + Hash state. + Buffer. + Length of buffer. + + + Updates the has using given buffer. + Hash state. + Buffer. + + + Hash so far. + Hash so far. + + + + xxHash 64-bit. + + + + Internal state of the algorithm. + + + Hash of empty buffer. + + + Hash of provided buffer. + Buffer. + Length of buffer. + Digest. + + + Hash of provided buffer. + Buffer. + Length of buffer. + Seed. + Digest. + + + Hash of provided buffer. + Buffer. + Digest. + + + Hash of provided buffer. + Buffer. + Starting offset. + Length of buffer. + Digest. + + + Creates xxHash instance. + + + Creates xxHash instance. + + + Resets hash calculation. + + + Resets hash calculation. + + + Updates the hash using given buffer. + Buffer. + Length of buffer. + + + Updates the hash using given buffer. + Buffer. + Length of buffer. + + + Updates the has using given buffer. + Buffer. + + + Updates the has using given buffer. + Buffer. + Starting offset. + Length of buffer. + + + Hash so far. + Hash so far. + + + Hash so far, as byte array. + Hash so far. + + + Converts this class to + + + + Resets hash calculation. + Hash state. + Hash seed. + + + Updates the has using given buffer. + Hash state. + Buffer. + Length of buffer. + + + Updates the has using given buffer. + Hash state. + Buffer. + + + Hash so far. + Hash so far. + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/MQTTnet.xml b/LeatherProject/GeBoShi/bin/Debug/MQTTnet.xml new file mode 100644 index 0000000..cc044ec --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/MQTTnet.xml @@ -0,0 +1,1732 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Can be a host string name or an object derived from WebRequest. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/MaiMuControl.dll.config b/LeatherProject/GeBoShi/bin/Debug/MaiMuControl.dll.config new file mode 100644 index 0000000..eef1b4e --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/MaiMuControl.dll.config @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LeatherProject/LeatherApp/bin/Debug/MySql.Data.xml b/LeatherProject/GeBoShi/bin/Debug/MySql.Data.xml similarity index 86% rename from LeatherProject/LeatherApp/bin/Debug/MySql.Data.xml rename to LeatherProject/GeBoShi/bin/Debug/MySql.Data.xml index 430cc99..fb6d0a6 100644 --- a/LeatherProject/LeatherApp/bin/Debug/MySql.Data.xml +++ b/LeatherProject/GeBoShi/bin/Debug/MySql.Data.xml @@ -34,38 +34,16 @@ Buffer holding the server challenge. Thrown if an error occurs while parsing the challenge. - + - Method to obtains an assertion from a FIDO device. + Signs the challenge obtained from the FIDO device and returns it to the server. - + - The GSSAPI mechanism. + Method to obtain an assertion from a FIDO device. - - - Obtain credentials to be used to create a security context - - username - password - host - - - - Processes the challenge data. - - A byte array containing the challenge data from the server - A byte array containing the response to be sent to the server - - - - Security context already established. - - A byte array containing the challenge data from the server - A non-null byte array containing the response to be sent to the server - Enables connections to a user account set with the authentication_kerberos authentication plugin. @@ -78,7 +56,12 @@ - Handles the iteration of the multifactor authentication + Handles the iteration of the multifactor authentication. + + + + + Gets the AuthPlugin name of the AuthSwitchRequest. @@ -86,13 +69,15 @@ Gets or sets the authentication data returned by the server. - + This is a factory method that is used only internally. It creates an auth plugin based on the method type - - - + Authentication method. + The driver. + The authentication data. + Boolean that indicates if the function will be executed asynchronously. + MultiFactorAuthentication iteration. @@ -123,7 +108,7 @@ This method is intended to be overriden. - + Throws a that encapsulates the original exception. @@ -135,11 +120,12 @@ This method is intended to be overriden. - + Defines the behavior when more data is required from the server. The data returned by the server. + Boolean that indicates if the function will be executed asynchronously. The data to return to the server. This method is intended to be overriden. @@ -246,16 +232,33 @@ Verify that OCI .NET SDK is referenced. - + - Get the values for the key_file and fingerprint entries. + Loads the profiles from the OCI config file. - + + + Get the values for the key_file, fingerprint and security_token_file entries. + + + Sign nonce sent by server using SHA256 algorithm and the private key provided by the user. + + + Reads the security token file and verify it does not exceed the maximum value of 10KB. + + The path to the security token. + + + + Wraps up the fingerprint, signature and the token into a JSON format and encode it to a byte array. + + The response packet that will be sent to the server. + Base class to handle SCRAM authentication methods @@ -400,6 +403,12 @@ Allows importing large amounts of data into a database with bulk loading. + + + Initializes a new instance of the class using the specified instance of . + + The that will be used to perform the bulk operation. + Gets or sets the connection. @@ -511,17 +520,32 @@ The number of rows inserted. + + + Executes the load operation. + + A object containing the data to be loaded. + The number of rows inserted. + Asynchronous version of the load operation. The number of rows inserted. - + + + Asynchronous version of the load operation that accepts a data stream. + + A containing the data to be loaded. + The number of rows inserted. + + Executes the load operation asynchronously while the cancellation isn't requested. The cancellation token. + A containing the data to be loaded. The number of rows inserted. @@ -592,424 +616,6 @@ Represents a character set object. - - - Represents a SQL statement to execute against a MySQL database. This class cannot be inherited. - - - - You can reset the property and reuse the - object. However, you must close the object before you can execute a new or previous command. - - - If an exception of type is generated by the method executing , - the instance remains open. It is the responsibility of the programmer to close the connection. - - - You can read more about it here. - - - Using the '@' symbol for paramters is now the preferred approach although the old pattern of using - '?' is still supported. Please be aware that using '@' can cause conflicts when user variables - are also used. For more information, see the documentation on the AllowUserVariables connection string option. - - - - - - Initializes a new instance of the MySqlCommand class. - - - The base constructor initializes all fields to their default values. - - - - - Initializes a new instance of the class with the text of the query. - - The text of the query. - - - - Initializes a new instance of the class with the text of the query and a . - - The text of the query. - A that represents the connection to an instance of MySQL Server. - - - - Initializes a new instance of the class with the text of the query, - a , and the . - - The text of the query. - A that represents the connection to an instance of MySQL Server. - The in which the executes. - - - - Provides the ID of the last inserted row. - ID of the last inserted row. -1 if none exists. - - An important point to remember is that this property can be used in batch SQL scenarios but it's important to remember that it will - only reflect the insert ID from the last insert statement in the batch. This property can also be used when the batch includes select statements - and ExecuteReader is used. This property can be consulted during result set processing. - - - - - Gets or sets the SQL statement to execute at the data source. - - The SQL statement or stored procedure to execute. The default is an empty string. - - You can read more about it here. - - - - - Gets or sets the wait time before terminating the attempt to execute a command - and generating an error. - - The time (in seconds) to wait for the command to execute. The default is 30 seconds. - - CommandTimeout is dependent on the ability of MySQL to cancel an executing query. - - - - - Gets or sets a value indicating how the property is to be interpreted. - - - One of the values. - The default is . - - - You can read more about it here. - - - - - Gets a boolean value that indicates whether the method has been called. - - True if it is Prepared; otherwise, false. - - - - Gets or sets the object used by this instance of the . - - - The connection to a data source. The default value is a null reference. - - - - - Gets the object. - - - The parameters of the SQL statement or stored procedure. The default is an empty collection. - - - Connector/NET does not support unnamed parameters. Every parameter added to the collection must - have an associated name. - You can read more about it here. - Parameters can be used along with . There are no restrictions in this regard. - - - - - Gets the object. - - - The query attributes defined for the statement. The default is an empty collection. - - - Connector/NET does not support unnamed query attributes. Every query attribute added to the collection must - have an associated name. - You can read more about it here. - Query Attributes can be used along with . There are no restrictions in this regard. - - - - - Gets or sets the instance of within which executes. - - - The . The default value is a null reference (Nothing in Visual Basic). - - - You cannot set the property if it is already set to a - specific value, and the command is in the process of executing. If you set the - transaction to use a object that is not connected - to the same as the object, - an exception will be thrown the next time you attempt to execute a statement. - - - - - Gets or sets a value that indicates whether caching is enabled. - - True if it is enabled; otherwise, false. - - - - Gets or sets the seconds for how long a TableDirect result should be cached. - - Number of seconds. - - - - Gets or sets how command results are applied to the - when used by the method of the . - - - One of the values. - - - - The default value is - Both unless the command is automatically generated (as in the case of the - ), in which case the default is None. - - - - - - Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control. - - True if it should be visible; otherwise, false. - - - - Gets or sets the used by this . - - The connection. - - - - Gets the collection of objects. - - The collection. - - - - Gets or sets the within which this object executes. - - The transaction. - - - - Attempts to cancel the execution of a currently active command - - - Cancelling a currently active query only works with MySQL versions 5.0.0 and higher. - - - - - Creates a new instance of a object. - - - This method is a strongly-typed version of . - - A object. - - - - - Check the connection to make sure - - it is open - - it is not currently being used by a reader - - and we have the right version of MySQL for the requested command type - - - - - Executes a SQL statement against the connection and returns the number of rows affected. - - Number of rows affected - - You can use to perform any type of database operation, - however any resultsets returned will not be available. Any output parameters - used in calling a stored procedure will be populated with data and can be - retrieved after execution is complete. - For UPDATE, INSERT, and DELETE statements, the return value is the number - of rows affected by the command. For all other types of statements, the return - value is -1. - - - - - Reset reader to null, to avoid "There is already an open data reader" - on the next ExecuteReader(). Used in error handling scenarios. - - - - - Reset SQL_SELECT_LIMIT that could have been modified by CommandBehavior. - - - - - Sends the value to - and builds a object. - - A object. - - - When the property is set to StoredProcedure, - the property should be set to the name of the stored - procedure. The command executes this stored procedure when you call - ExecuteReader. - - - While is in use, the associated - instance of is busy serving it - and no other operations can be performed on , other than closing it. - This is the case until the method of MySqlDataReader is called. - - - - - - Sends the to the Connection, - and builds a using one of the values. - - One of the values. - - - When the property is set to StoredProcedure, - the property should be set to the name of the stored - procedure. The command executes this stored procedure when you call - ExecuteReader. - - - If the MySqlDataReader object is created with CommandBehavior set to - CloseConnection, closing the MySqlDataReader instance closes the connection - automatically. - - - When calling ExecuteReader with the SingleRow behavior, you should be aware that using a limit - clause in your SQL will cause all rows (up to the limit given) to be retrieved by the client. The - method will still return false after the first row but pulling all rows of data - into the client will have a performance impact. If the limit clause is not necessary, it should - be avoided. - - - - A object. - - - - - Executes the query, and returns the first column of the first row in the - result set returned by the query. Extra columns or rows are ignored. - - - The first column of the first row in the result set, or a null reference if the - result set is empty - - - - Use the ExecuteScalar method to retrieve a single value (for example, - an aggregate value) from a database. This requires less code than using the - method, and then performing the operations necessary - to generate the single value using the data returned by a - - - - - - Creates a prepared version of the command on an instance of MySQL Server. - - - - - Creates a clone of this object. CommandText, Connection, and Transaction properties - are included as well as the entire parameter and the arribute list. - - The cloned object. - - - - Initiates the asynchronous execution of the SQL statement or stored procedure - that is described by this , and retrieves one or more - result sets from the server. - - An that can be used to poll, wait for results, - or both; this value is also needed when invoking EndExecuteReader, - which returns a instance that can be used to retrieve - the returned rows. - - - - Initiates the asynchronous execution of the SQL statement or stored procedure - that is described by this using one of the - CommandBehavior values. - - One of the values, indicating - options for statement execution and data retrieval. - An that can be used to poll, wait for results, - or both; this value is also needed when invoking EndExecuteReader, - which returns a instance that can be used to retrieve - the returned rows. - - - - Finishes asynchronous execution of a SQL statement, returning the requested - . - - The returned by the call to - . - A MySqlDataReader object that can be used to retrieve the requested rows. - - - - Initiates the asynchronous execution of the SQL statement or stored procedure - that is described by this . - - - An delegate that is invoked when the command's - execution has completed. Pass a null reference to indicate that no callback is required. - A user-defined state object that is passed to the - callback procedure. Retrieve this object from within the callback procedure - using the property. - An that can be used to poll or wait for results, - or both; this value is also needed when invoking , - which returns the number of affected rows. - - - - Initiates the asynchronous execution of the SQL statement or stored procedure - that is described by this . - - An that can be used to poll or wait for results, - or both; this value is also needed when invoking , - which returns the number of affected rows. - - - - Finishes asynchronous execution of a SQL statement. - - The returned by the call - to . - - - - - Verifies if a query is valid even if it has not spaces or is a stored procedure call - - Query to validate - If it is necessary to add call statement - - - - Releases the resources used by the - - - - - Releases the resources used by the - - Summary description for API. @@ -1020,424 +626,6 @@ Summary description for CompressedStream. - - - Represents a connection to a MySQL Server database. This class cannot be inherited. - - - - A object represents a session to a MySQL Server - data source. When you create an instance of , all - properties are set to their initial values. - - - If the goes out of scope, it is not closed. Therefore, - you must explicitly close the connection by calling - or . - - - - - - Occurs when FIDO authentication request to perform gesture action on a device. - - - - - Occurs when MySQL returns warnings as a result of executing a command or query. - - - - - Initializes a new instance of the class. - - - You can read more about it here. - - - - - Initializes a new instance of the class when given a string containing the connection string. - - - You can read more about it here. - - The connection properties used to open the MySQL database. - - - - - Determines whether the connection is a clone of other connection. - - - - - Returns the id of the server thread this connection is executing on - - - - - Gets the name of the MySQL server to which to connect. - - - - - Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error. - - - A value of 0 indicates no limit, and should be avoided in a - because an attempt to connect - will wait indefinitely. - - The value set is less than 0. - - - Gets the name of the current database or the database to be used after a connection is opened. - The name of the current database or the name of the database to be used after a connection is opened. - The default value is an empty string. - - - The property does not update dynamically. - If you change the current database using a SQL statement, then this property - may reflect the wrong value. If you change the current database using the - method, this property is updated to reflect the new database. - - - - - - Indicates if this connection should use compression when communicating with the server. - - - - Gets the current state of the connection. - - A bitwise combination of the values. The default is . - - - The allowed state changes are: - - - From to , - using the method of the connection object. - - - From Open to Closed, using either the Close method or the Dispose method of the connection object. - - - - - - Gets a string containing the version of the MySQL server to which the client is connected. - The version of the instance of MySQL. - The connection is closed. - - - - Gets or sets the string used to connect to a MySQL Server database. - - - You can read more about it here. - - - - - Gets the instance of the - - - - - Gets a boolean value that indicates whether the password associated to the connection is expired. - - - - - Starts a database transaction. - - Specifies the isolation level for the transaction. - An object representing the new transaction. - - - - Creates and returns a System.Data.Common.DbCommand object associated with the current connection. - - A object. - - - - - - - - - Changes the current database for an open MySqlConnection. - The name of the database to use. - - - The value supplied in the databaseName parameter must be a valid database - name. The databaseName parameter cannot contain a null value, an empty - string, or a string with only blank characters. - - - When you are using connection pooling against MySQL, and you close - the connection, it is returned to the connection pool. The next time the - connection is retrieved from the pool, the reset connection request - executes before the user performs any operations. - - - The database name is not valid. - The connection is not open. - Cannot change the database. - - - - Pings the server. - - true if the ping was successful; otherwise, false. - - - Opens a database connection with the property settings specified by the . - Cannot open a connection without specifying a data source or server. - A connection-level error occurred while opening the connection. - - - The draws an open connection from the connection pool if one is available. - Otherwise, it establishes a new connection to an instance of MySQL. - - - - - - Creates and returns a object associated with the . - - A object. - - - Closes the connection to the database. This is the preferred method of closing any open connection. - - - The method rolls back any pending transactions. It then releases - the connection to the connection pool, or closes the connection if connection - pooling is disabled. - - - An application can call more than one time. No exception is - generated. - - - - - - Cancels the query after the specified time interval. - - The length of time (in seconds) to wait for the cancelation of the command execution. - - - - Sets query timeout. If timeout has been set prior and not - yet cleared ClearCommandTimeout(), it has no effect. - - timeout in seconds - true if - - - - Clears query timeout, allowing next SetCommandTimeout() to succeed. - - - - - Gets a schema collection based on the provided restriction values. - - The name of the collection. - The values to restrict. - A schema collection object. - - - Empties the connection pool associated with the specified connection. - - The associated with the pool to be cleared. - - - - clears the connection pool that is associated with the connection. - If additional connections associated with connection are in use at the time of the call, - they are marked appropriately and are discarded (instead of being returned to the pool) - when is called on them. - - - - - - Clears all connection pools. - - ClearAllPools essentially performs a on all current connection pools. - - - - Releases the resources used by the - - - - - Initiates the asynchronous execution of a transaction. - - An object representing the new transaction. - - - - Asynchronous version of BeginTransaction. - - The cancellation token. - An object representing the new transaction. - - - - Asynchronous version of BeginTransaction. - - The isolation level under which the transaction should run. - An object representing the new transaction. - - - - Asynchronous version of BeginTransaction. - - The isolation level under which the transaction should run. - The cancellation token. - An object representing the new transaction. - - - - Asynchronous version of the ChangeDataBase method. - - The name of the database to use. - - - - - Asynchronous version of the ChangeDataBase method. - - The name of the database to use. - The cancellation token. - - - - - Asynchronous version of the Close method. - - - - - Asynchronous version of the method. - - The cancellation token. - - - - Asynchronous version of the method. - - The connection associated with the pool to be cleared. - - - - Asynchronous version of the method. - - The connection associated with the pool to be cleared. - The cancellation token. - - - - Asynchronous version of the method. - - - - - Asynchronous version of the method. - - The cancellation token. - - - - Asynchronous version of the method. - - The name of the collection. - The values to restrict. - A collection of schema objects. - - - - Asynchronous version of the method. - - The name of the collection. - The values to restrict. - The cancellation token. - A collection of schema objects. - - - - Returns schema information for the data source of this . - - A that contains schema information. - - - - Returns schema information for the data source of this - using the specified string for the schema name. - - Specifies the name of the schema to return. - A that contains schema information. - - - - Returns schema information for the data source of this - using the specified string for the schema name and the specified string array - for the restriction values. - - Specifies the name of the schema to return. - Specifies a set of restriction values for the requested schema. - A that contains schema information. - - - - Enlists in the specified transaction. - - - A reference to an existing in which to enlist. - - - - - Creates a new MySqlConnection object with the exact same ConnectionString value - - A cloned MySqlConnection object - - - - Represents the method to handle the event of a - - - - - - Represents the method to handle the event of a - . - - - - - Provides data for the InfoMessage event. This class cannot be inherited. - - - - - Gets or sets an array of objects set with the errors found. - - - - - IDisposable wrapper around SetCommandTimeout and ClearCommandTimeout functionality. - - Summary description for Crypt. @@ -1481,606 +669,6 @@ Password to be hashed Two element array containing the hashed values - - - Provides a means of reading a forward-only stream of rows from a MySQL database. This class cannot be inherited. - - - - To create a , you must call the - method of the object, rather than directly using a constructor. - - - While the is in use, the associated - is busy serving the , and no other operations can be performed - on the MySqlConnection other than closing it. This is the case until the - method of the is called. - - - and - are the only properties that you can call after the is - closed. Though the property may be accessed at any time - while the exists, always call Close before returning - the value of to ensure an accurate return value. - - - For optimal performance, avoids creating - unnecessary objects or making unnecessary copies of data. As a result, multiple calls - to methods such as return a reference to the - same object. Use caution if you are modifying the underlying value of the objects - returned by methods such as . - - - - - - Gets the number of columns in the current row. - - The number of columns in the current row. - - - - Gets a value indicating whether the MySqlDataReader contains one or more rows. - - true if the contains one or more rows; otherwise false. - - - - Gets a value indicating whether the data reader is closed. - - true if the is closed; otherwise false. - - - - Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. - - The number of rows changed, inserted, or deleted. - -1 for SELECT statements; 0 if no rows were affected or the statement failed. - - - - Overloaded. Gets the value of a column in its native format. - In C#, this property is the indexer for the class. - - The value of the specified column. - - - - Gets the value of a column in its native format. - [C#] In C#, this property is the indexer for the class. - - The value of the specified column. - - - - Gets a value indicating the depth of nesting for the current row. This method is not - supported currently and always returns 0. - - The depth of nesting for the current row. - - - - Closes the MySqlDataReader object. - - - - - Gets the value of the specified column as a Boolean. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a Boolean. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the value of the specified column as a byte. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a byte. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the value of the specified column as a sbyte. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a sbyte. - - The zero-based column ordinal. - The value of the specified column. - - - - Reads a stream of bytes from the specified column offset into the buffer an array starting at the given buffer offset. - - The zero-based column ordinal. - The index within the field from which to begin the read operation. - The buffer into which to read the stream of bytes. - The index for buffer to begin the read operation. - The maximum length to copy into the buffer. - The actual number of bytes read. - - - - Gets the value of the specified column as a single character. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a single character. - - The zero-based column ordinal. - The value of the specified column. - - - - Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset. - - The zero-based column ordinal. - The index within the row from which to begin the read operation. - The buffer into which to copy the data. - The index with the buffer to which the data will be copied. - The maximum number of characters to read. - The actual number of characters read. - - - - Gets the name of the source data type. - - The zero-based column ordinal. - A string representing the name of the data type. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call IsDBNull to check for null values before calling this method. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - - MySql allows date columns to contain the value '0000-00-00' and datetime - columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain - or represent these values. To read a datetime value from a column that might - contain zero values, use . - - - The behavior of reading a zero datetime column using this method is defined by the - ZeroDateTimeBehavior connection string option. For more information on this option, - please refer to . - - - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - - MySql allows date columns to contain the value '0000-00-00' and datetime - columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain - or represent these values. To read a datetime value from a column that might - contain zero values, use . - - - The behavior of reading a zero datetime column using this method is defined by the - ZeroDateTimeBehavior connection string option. For more information on this option, - please refer to . - - - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the value of the specified column as a . - - The name of the colum. - The value of the specified column as a . - - - - Gets the value of the specified column as a . - - The index of the colum. - The value of the specified column as a . - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - The zero-based column ordinal - The value of the specified column. - - - Gets the value of the specified column as a double-precision floating point number. - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - Gets the value of the specified column as a double-precision floating point number. - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the Type that is the data type of the object. - - The column name. - The data type of the specified column. - - - - Gets the Type that is the data type of the object. - - The zero-based column ordinal. - The data type of the specified column. - - - - Gets the value of the specified column as a single-precision floating point number. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a single-precision floating point number. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the body definition of a routine. - - The column name. - The definition of the routine. - - - - Gets the value of the specified column as a globally-unique identifier(GUID). - - The name of the column. - The value of the specified column. - - - - Gets the value of the specified column as a globally-unique identifier(GUID). - - The zero-based column ordinal. - The value of the specified column. - - - Gets the value of the specified column as a 16-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - Gets the value of the specified column as a 16-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - Gets the value of the specified column as a 32-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - Gets the value of the specified column as a 32-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - Gets the value of the specified column as a 64-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - Gets the value of the specified column as a 64-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the name of the specified column. - - The zero-based column ordinal. - The name of the specified column. - - - - Gets the column ordinal, given the name of the column. - - The name of the column. - The zero-based column ordinal. - - - - Gets a stream to retrieve data from the specified column. - - The zero-based column ordinal. - A stream - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a object. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets the value of the specified column in its native format. - - The zero-based column ordinal. - The value of the specified column. - - - - Gets all attribute columns in the collection for the current row. - - An array of into which to copy the attribute columns. - The number of instances of in the array. - - - Gets the value of the specified column as a 16-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - Gets the value of the specified column as a 16-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - Gets the value of the specified column as a 32-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - Gets the value of the specified column as a 32-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - Gets the value of the specified column as a 64-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The column name. - The value of the specified column. - - - Gets the value of the specified column as a 64-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a value. - Call to check for null values before calling this method. - - The zero-based column ordinal. - The value of the specified column. - - - - Returns a object for the requested column ordinal. - - The zero-based column ordinal. - A object. - - - - Gets a value indicating whether the column contains non-existent or missing values. - - The zero-based column ordinal. - true if the specified column is equivalent to ; otherwise false. - - - - Advances the data reader to the next result, when reading the results of batch SQL statements. - - true if there are more result sets; otherwise false. - - - - Advances the to the next record. - - true if there are more rows; otherwise false. - - - - Gets the value of the specified column as a . - - The index of the colum. - The value of the specified column as a . - - - - Gets the value of the specified column as a . - - The name of the colum. - The value of the specified column as a . - - - - Returns an that iterates through the . - - An that can be used to iterate through the rows in the data reader. - - - - Gets the value of the specified column as a type. - - Type. - The index of the column. - The value of the column. - - - - Releases all resources used by the current instance of the class. - - - - - Returns a DataTable that describes the column metadata of the MySqlDataReader. - - - Summary description for BaseDriver. @@ -2092,14 +680,16 @@ put into idle queue - + Loads the properties from the connected server into a hashtable - + The connection to be used. + Boolean that indicates if the function will be executed asynchronously. + The cancellation token. - + Loads all the current character set names and ids for this server into the charSets hashtable @@ -2145,26 +735,6 @@ Summary description for Field. - - - We are adding a custom installer class to our assembly so our installer - can make proper changes to the machine.config file. - - - - - We override Install so we can add our assembly to the proper - machine.config files. - - - - - - We override Uninstall so we can remove out assembly from the - machine.config files. - - - Automatically generates single-table commands used to reconcile changes made to a with the associated MySQL database. @@ -2751,14 +1321,14 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill records with. The number of rows successfully added to or refreshed in the . - Asynchronous version of the method. + Asynchronous version of the method. The to fill records with. The cancellation token. @@ -2766,14 +1336,14 @@ - Asynchronous version of the method. + Asynchronous version of the method. The name of the to use for table mapping. The number of rows successfully added to or refreshed in the . - Asynchronous version of the method. + Asynchronous version of the method. The name of the to use for table mapping. The cancellation token. @@ -2781,7 +1351,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The name of the source table to use for table mapping. @@ -2789,7 +1359,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The name of the source table to use for table mapping. @@ -2798,7 +1368,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. An instance of . @@ -2806,7 +1376,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. An instance of . @@ -2815,7 +1385,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The SQL SELECT statement used to retrieve rows from the data source. @@ -2824,7 +1394,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The SQL SELECT statement used to retrieve rows from the data source. @@ -2834,7 +1404,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The start record. The max number of affected records. @@ -2843,7 +1413,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The start record. The max number of affected records. @@ -2853,7 +1423,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The start record. @@ -2863,7 +1433,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The start record. @@ -2874,7 +1444,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The name of the source table to use for table mapping. @@ -2885,7 +1455,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The name of the source table to use for table mapping. @@ -2897,7 +1467,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The s to fill with records. The start record. @@ -2908,7 +1478,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The s to fill with records. The start record. @@ -2920,7 +1490,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The start record. @@ -2932,7 +1502,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. The to fill with records. The start record. @@ -2945,7 +1515,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataSet to use. Schema type to use. @@ -2953,7 +1523,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataSet to use. Schema type to use. @@ -2962,7 +1532,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataSet to use. Schema type to use. @@ -2971,7 +1541,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataSet to use. Schema type to use. @@ -2981,7 +1551,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataSet to use. Schema type to use. @@ -2991,7 +1561,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataSet to use. Schema type to use. @@ -3002,7 +1572,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataSet to use. Schema type to use. @@ -3013,7 +1583,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataSet to use. Schema type to use. @@ -3025,7 +1595,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataTable to use. Schema type to use. @@ -3033,7 +1603,7 @@ - Async version of FillSchema + Asynchronous version of the method. DataTable to use. Schema type to use. @@ -3042,7 +1612,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataTable to use. Schema type to use. @@ -3051,7 +1621,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataTable to use. Schema type to use. @@ -3061,7 +1631,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataTable to use. Schema type to use. @@ -3071,7 +1641,7 @@ - Asynchronous version of the method. + Asynchronous version of the method. DataTable to use. Schema type to use. @@ -3446,10 +2016,38 @@ to use. The SQL command to be executed. - An rray of objects to use with the command. + An array of objects to use with the command. The number of affected records. A new is created using the given. + + + Async version of ExecuteNonQuery + + object to use. + The SQL command to be executed. + An array of objects to use with the command. + Rows affected. + + + + Asynchronous version of the ExecuteNonQuery method. + + to use. + The SQL command to be executed. + An array of objects to use with the command. + The number of rows affected. + + + + Asynchronous version of the ExecuteNonQuery method. + + to use. + The SQL command to be executed. + The cancellation token. + An array of objects to use with the command. + The number of rows affected. + Executes a single command against a MySQL database, possibly inside an existing transaction. @@ -3495,6 +2093,51 @@ Array of objects to use with the command object ready to read the results of the command + + + Async version of ExecuteReader + + object to use for the command + object to use for the command + Command text to use + Array of objects to use with the command + True if the connection should be preserved, false if not + object ready to read the results of the command + + + + Async version of ExecuteReader + + Settings to use for this command + Command text to use + object ready to read the results of the command + + + + Async version of ExecuteReader + + object to use for the command + Command text to use + object ready to read the results of the command + + + + Async version of ExecuteReader + + Settings to use for this command. + Command text to use. + An array of objects to use with the command. + object ready to read the results of the command. + + + + Async version of ExecuteReader + + Connection to use for the command. + Command text to use. + An array of objects to use with the command. + object ready to read the results of the command. + Execute a single command against a MySQL database. @@ -3529,93 +2172,6 @@ Parameters to use for the command The first column of the first row in the result set, or a null reference if the result set is empty. - - - Escapes the string. - - The string to escape. - The string with all quotes escaped. - - - - Replaces quotes with double quotes. - - The string to modidify. - A string containing double quotes instead of single quotes. - - - - Async version of ExecuteNonQuery - - object to use - SQL command to be executed - Array of objects to use with the command. - Rows affected - - - - Asynchronous version of the ExecuteNonQuery method. - - to use. - The SQL command to be executed. - An array of objects to use with the command. - The number of rows affected. - - - - Asynchronous version of the ExecuteNonQuery method. - - to use. - The SQL command to be executed. - The cancellation token. - An array of objects to use with the command. - The number of rows affected. - - - - Async version of ExecuteReader - - object to use for the command - object to use for the command - Command text to use - Array of objects to use with the command - True if the connection should be preserved, false if not - object ready to read the results of the command - - - - Async version of ExecuteReader - - Settings to use for this command - Command text to use - object ready to read the results of the command - - - - Async version of ExecuteReader - - object to use for the command - Command text to use - object ready to read the results of the command - - - - Async version of ExecuteReader - - Settings to use for this command - Command text to use - Array of objects to use with the command - object ready to read the results of the command - - - - Async version of ExecuteReader - - Connection to use for the command - Command text to use - Array of objects to use with the command - object ready to read the results of the command - Async version of ExecuteScalar @@ -3650,338 +2206,19 @@ Parameters to use for the command The first column of the first row in the result set, or a null reference if the result set is empty. - + - Represents a parameter to a , This class cannot be inherited. + Escapes the string. - - Parameter names are not case sensitive. - You can read more about it here. - + The string to escape. + The string with all quotes escaped. - + - Gets or sets the to use when loading . - - - - - Clones this object. - - An object that is a clone of this object. - - - - Initializes a new instance of the class with the parameter name, the , the size, and the source column name. - - The name of the parameter to map. - One of the values. - The length of the parameter. - The name of the source column. - - - - Initializes a new instance of the class with the parameter name and a value of the new MySqlParameter. - - The name of the parameter to map. - An that is the value of the . - - - - Initializes a new instance of the class with the parameter name and the data type. - - The name of the parameter to map. - One of the values. - - - - Initializes a new instance of the class with the parameter name, the , and the size. - - The name of the parameter to map. - One of the values. - The length of the parameter. - - - - Initializes a new instance of the class with the parameter name, the type of the parameter, the size of the parameter, a , the precision of the parameter, the scale of the parameter, the source column, a to use, and the value of the parameter. - - The name of the parameter to map. - One of the values. - The length of the parameter. - One of the values. - true if the value of the field can be null, otherwise false. - The total number of digits to the left and right of the decimal point to which is resolved. - The total number of decimal places to which is resolved. - The name of the source column. - One of the values. - An that is the value of the . - - - - - Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. - As of MySql version 4.1 and earlier, input-only is the only valid choice. - - - - - Gets or sets a value indicating whether the parameter accepts null values. - - - - - Gets or sets the of the parameter. - - - - - Gets or sets the maximum number of digits used to represent the property. - - - - - Gets or sets the number of decimal places to which is resolved. - - - - - Gets or sets the maximum size, in bytes, of the data within the column. - - - - - Gets or sets the value of the parameter. - - - - - Returns the possible values for this parameter if this parameter is of type - SET or ENUM. Returns null otherwise. - - - - - Gets or sets the name of the source column that is mapped to the and used for loading or returning the . - - - - - Sets or gets a value which indicates whether the source column is nullable. - This allows to correctly generate Update statements - for nullable columns. - - - - - Gets or sets the of the parameter. - - - - - Overridden. Gets a string containing the . - - - - - - Resets the DbType property to its original settings. - - - - - Represents a collection of parameters relevant to a - as well as their respective mappings to columns in a . This class cannot be inherited. - - - The number of the parameters in the collection must be equal to the number of - parameter placeholders within the command text, or an exception will be generated. - - - - - Gets a value that indicates whether the - has a fixed size. - - - - - Gets a value that indicates whether the - is read-only. - - - - - Gets a value that indicates whether the - is synchronized. - - - - - Gets the number of MySqlParameter objects in the collection. - - - - - Gets the at the specified index. - - Gets the with a specified attribute. - [C#] In C#, this property is the indexer for the class. - - - - - Gets the with the specified name. - - - - - Adds a to the with the parameter name, the data type, the column length, and the source column name. - - The name of the parameter. - One of the values. - The length of the column. - The name of the source column. - The newly added object. - - - - Adds the specified object to the . - - The to add to the collection. - The newly added object. - - - - Adds a parameter and its value. - - The name of the parameter. - The value of the parameter. - A object representing the provided values. - - - - Adds a to the given the parameter name and the data type. - - The name of the parameter. - One of the values. - The newly added object. - - - - Adds a to the with the parameter name, the data type, and the column length. - - The name of the parameter. - One of the values. - The length of the column. - The newly added object. - - - - Removes all items from the collection. - - - - - Gets the location of the in the collection with a specific parameter name. - - The name of the object to retrieve. - The zero-based location of the in the collection. - - - - Gets the location of a in the collection. - - The object to locate. - The zero-based location of the in the collection. - Gets the location of a in the collection. - - - - This method will update all the items in the index hashes when - we insert a parameter somewhere in the middle - - - - - - - Adds an array of values to the end of the . - - - - - - Retrieve the parameter with the given name. - - - - - - - Adds the specified object to the . - - The to add to the collection. - The index of the new object. - - - - Gets a value indicating whether a with the specified parameter name exists in the collection. - - The name of the object to find. - true if the collection contains the parameter; otherwise, false. - - - - Gets a value indicating whether a MySqlParameter exists in the collection. - - The value of the object to find. - true if the collection contains the object; otherwise, false. - Gets a value indicating whether a exists in the collection. - - - - Copies MySqlParameter objects from the MySqlParameterCollection to the specified array. - - - - - - - Returns an enumerator that iterates through the . - - - - - - Inserts a MySqlParameter into the collection at the specified index. - - - - - - - Removes the specified MySqlParameter from the collection. - - - - - - Removes the specified from the collection using the parameter name. - - The name of the object to retrieve. - - - - Removes the specified from the collection using a specific index. - - The zero-based index of the parameter. - Removes the specified from the collection. - - - - Gets an object that can be used to synchronize access to the - . + Replaces quotes with double quotes. + The string to modidify. + A string containing double quotes instead of single quotes. @@ -4100,32 +2337,23 @@ CommandInterceptor, etc - + Return schema information about procedures and functions Restrictions supported are: schema, name, type - + Boolean that indicates if the function will be executed asynchronously. + The cancellation token. - + Return schema information about parameters for procedures and functions Restrictions supported are: schema, name, type, parameter name - - - Initializes a new row for the procedure parameters table. - - - - - Parses out the elements of a procedure parameter data type. - - Represents a query attribute to a . @@ -4168,7 +2396,7 @@ Gets the value for the attribute type. - + Serialize the value of the query attribute. @@ -4227,11 +2455,6 @@ Readonly field containing a collection of protocol shared connection options. - - - Gets or sets a flag indicating if the object has access to procedures. - - Gets or sets a dictionary representing key-value pairs for each connection option. @@ -4344,13 +2567,14 @@ Gets or sets the character set that should be used for sending queries to the server. - + Analyzes the connection string for potential duplicated or invalid connection options. Connection string. Flag that indicates if the connection is using X Protocol. Flag that indicates if the default port is used. + Flag that indicates if the connection string has been analyzed. @@ -4404,10 +2628,910 @@ Provide a simple caching layer + + + Represents a SQL statement to execute against a MySQL database. This class cannot be inherited. + + + + You can reset the property and reuse the + object. However, you must close the object before you can execute a new or previous command. + + + If an exception of type is generated by the method executing , + the instance remains open. It is the responsibility of the programmer to close the connection. + + + You can read more about it here. + + + Using the '@' symbol for paramters is now the preferred approach although the old pattern of using + '?' is still supported. Please be aware that using '@' can cause conflicts when user variables + are also used. For more information, see the documentation on the AllowUserVariables connection string option. + + + + + + Initializes a new instance of the MySqlCommand class. + + + The base constructor initializes all fields to their default values. + + + + + Initializes a new instance of the class with the text of the query. + + The text of the query. + + + + Initializes a new instance of the class with the text of the query and a . + + The text of the query. + A that represents the connection to an instance of MySQL Server. + + + + Initializes a new instance of the class with the text of the query, + a , and the . + + The text of the query. + A that represents the connection to an instance of MySQL Server. + The in which the executes. + + + + Provides the ID of the last inserted row. + ID of the last inserted row. -1 if none exists. + + An important point to remember is that this property can be used in batch SQL scenarios but it's important to remember that it will + only reflect the insert ID from the last insert statement in the batch. This property can also be used when the batch includes select statements + and ExecuteReader is used. This property can be consulted during result set processing. + + + + + Gets or sets the SQL statement to execute at the data source. + + The SQL statement or stored procedure to execute. The default is an empty string. + + You can read more about it here. + + + + + Gets or sets the wait time before terminating the attempt to execute a command + and generating an error. + + The time (in seconds) to wait for the command to execute. The default is 30 seconds. + + CommandTimeout is dependent on the ability of MySQL to cancel an executing query. + + + + + Gets or sets a value indicating how the property is to be interpreted. + + + One of the values. + The default is . + + + You can read more about it here. + + + + + Gets a boolean value that indicates whether the method has been called. + + True if it is Prepared; otherwise, false. + + + + Gets or sets the object used by this instance of the . + + + The connection to a data source. The default value is a null reference. + + + + + Gets the object. + + + The parameters of the SQL statement or stored procedure. The default is an empty collection. + + + Connector/NET does not support unnamed parameters. Every parameter added to the collection must + have an associated name. + You can read more about it here. + Parameters can be used along with . There are no restrictions in this regard. + + + + + Gets the object. + + + The query attributes defined for the statement. The default is an empty collection. + + + Connector/NET does not support unnamed query attributes. Every query attribute added to the collection must + have an associated name. + You can read more about it here. + Query Attributes can be used along with . There are no restrictions in this regard. + + + + + Gets or sets the instance of within which executes. + + + The . The default value is a null reference (Nothing in Visual Basic). + + + You cannot set the property if it is already set to a + specific value, and the command is in the process of executing. If you set the + transaction to use a object that is not connected + to the same as the object, + an exception will be thrown the next time you attempt to execute a statement. + + + + + Gets or sets a value that indicates whether caching is enabled. + + True if it is enabled; otherwise, false. + + + + Gets or sets the seconds for how long a TableDirect result should be cached. + + Number of seconds. + + + + Gets or sets how command results are applied to the + when used by the method of the . + + + One of the values. + + + + The default value is + Both unless the command is automatically generated (as in the case of the + ), in which case the default is None. + + + + + + Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control. + + True if it should be visible; otherwise, false. + + + + Gets or sets the used by this . + + The connection. + + + + Gets the collection of objects. + + The collection. + + + + Gets or sets the within which this object executes. + + The transaction. + + + + Attempts to cancel the execution of a currently active command + + + + + Creates a new instance of a object. + + + This method is a strongly-typed version of . + + A object. + + + + Check the connection to make sure + - it is open + - it is not currently being used by a reader + - and we have the right version of MySQL for the requested command type + + + + + Executes a SQL statement against the connection and returns the number of rows affected. + + Number of rows affected + + You can use to perform any type of database operation, + however any resultsets returned will not be available. Any output parameters + used in calling a stored procedure will be populated with data and can be + retrieved after execution is complete. + For UPDATE, INSERT, and DELETE statements, the return value is the number + of rows affected by the command. For all other types of statements, the return + value is -1. + + + + + Asynchronous version of . + + The cancellation token. + A task representing the asynchronous operation. + + + + Reset reader to null, to avoid "There is already an open data reader" + on the next ExecuteReader(). Used in error handling scenarios. + + + + + Reset SQL_SELECT_LIMIT that could have been modified by CommandBehavior. + + + + + Sends the value to + and builds a object. + + A object. + + + When the property is set to StoredProcedure, + the property should be set to the name of the stored + procedure. The command executes this stored procedure when you call + ExecuteReader. + + + While is in use, the associated + instance of is busy serving it + and no other operations can be performed on , other than closing it. + This is the case until the method of is called. + + + + + + Sends the to the Connection, + and builds a using one of the values. + + One of the values. + + + When the property is set to StoredProcedure, + the property should be set to the name of the stored + procedure. The command executes this stored procedure when you call + ExecuteReader. + + + If the object is created with CommandBehavior set to + CloseConnection, closing the instance closes the connection + automatically. + + + When calling ExecuteReader with the SingleRow behavior, you should be aware that using a limit + clause in your SQL will cause all rows (up to the limit given) to be retrieved by the client. The + method will still return false after the first row but pulling all rows of data + into the client will have a performance impact. If the limit clause is not necessary, it should + be avoided. + + + + A object. + + + + + Asynchronous version of . + + One of the values. + A task representing the asynchronous operation. + + + + Asynchronous version of with a cancellation token. + + One of the values. + The cancellation token. + A task representing the asynchronous operation. + + + + Executes the query, and returns the first column of the first row in the + result set returned by the query. Extra columns or rows are ignored. + + + The first column of the first row in the result set, or a null reference if the + result set is empty + + + + Use the ExecuteScalar method to retrieve a single value (for example, + an aggregate value) from a database. This requires less code than using the + method, and then performing the operations necessary + to generate the single value using the data returned by a + + + + + + Asynchronous version of . + + The cancellation token. + A task representing the asynchronous operation. + + + + Creates a prepared version of the command on an instance of MySQL Server. + + + + + Asynchronously creates a prepared version of the command on an instance of MySQL Server. + + + + + Creates a clone of this object. CommandText, Connection, and Transaction properties + are included as well as the entire parameter and the arribute list. + + The cloned object. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this , and retrieves one or more + result sets from the server. + + An that can be used to poll, wait for results, + or both; this value is also needed when invoking EndExecuteReader, + which returns a instance that can be used to retrieve + the returned rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this using one of the + CommandBehavior values. + + One of the values, indicating + options for statement execution and data retrieval. + An that can be used to poll, wait for results, + or both; this value is also needed when invoking EndExecuteReader, + which returns a instance that can be used to retrieve + the returned rows. + + + + Finishes asynchronous execution of a SQL statement, returning the requested + . + + The returned by the call to + . + A MySqlDataReader object that can be used to retrieve the requested rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this . + + + An delegate that is invoked when the command's + execution has completed. Pass a null reference to indicate that no callback is required. + A user-defined state object that is passed to the + callback procedure. Retrieve this object from within the callback procedure + using the property. + An that can be used to poll or wait for results, + or both; this value is also needed when invoking , + which returns the number of affected rows. + + + + Initiates the asynchronous execution of the SQL statement or stored procedure + that is described by this . + + An that can be used to poll or wait for results, + or both; this value is also needed when invoking , + which returns the number of affected rows. + + + + Finishes asynchronous execution of a SQL statement. + + The returned by the call + to . + + + + + Releases the resources used by the + + + + + Releases the resources used by the + + + + + Represents a connection to a MySQL database. This class cannot be inherited. + + + + A object represents a session to a MySQL + data source. When you create an instance of , all + properties are set to their initial values. + + + If the goes out of scope, it is not closed. Therefore, + you must explicitly close the connection by calling + or . + + + + + + Occurs when FIDO authentication requests to perform gesture action on a device. + + + + + Occurs when MySQL returns warnings as a result of executing a command or query. + + + + + Initializes a new instance of the class. + + + You can read more about it here. + + + + + Initializes a new instance of the class when given a string containing the connection string. + + + You can read more about it here. + + The connection properties used to open the MySQL database. + + + + + Determines whether the connection is a clone of other connection. + + + + + Returns the ID of the server thread this connection is executing on. + + + + + Gets the name of the MySQL server to which to connect. + + + + + Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error. + + + A value of 0 indicates no limit, and should be avoided in a call to + because an attempt to connect + will wait indefinitely. + + The value set is less than 0. + + + Gets the name of the current database or the database to be used after a connection is opened. + The name of the current database or the name of the database to be used after a connection is opened. + The default value is an empty string. + + + The property does not update dynamically. + If you change the current database using a SQL statement, then this property + may reflect the wrong value. If you change the current database using the + method, this property is updated to reflect the new database. + + + + + + Indicates if this connection should use compression when communicating with the server. + + + + Gets the current state of the connection. + + A bitwise combination of the values. The default is . + + + The allowed state changes are: + + + From to , + using the method of the connection object. + + + From Open to Closed, using either the Close method or the Dispose method of the connection object. + + + + + + Gets a string containing the version of the MySQL server to which the client is connected. + The version of the instance of MySQL. + The connection is closed. + + + + Gets or sets the string used to connect to a MySQL database. + + + You can read more about it here. + + + + + Gets the instance of the + + + + + Gets a boolean value that indicates whether the password associated to the connection is expired. + + + + + Gets a boolean value that indicates whether the connection string has been analyzed or not. + + + + + Creates and returns a System.Data.Common.DbCommand object associated with the current connection. + + A object. + + + + Releases the resources used by the + + + + + Starts a database transaction. + + Specifies the for the transaction. + A representing the new transaction. + Parallel transactions are not supported. + + + + Begins a database transaction. + + A representing the new transaction. + Parallel transactions are not supported. + + + + Starts a database transaction. + + Specifies the for the transaction. + The scope of the transaction. + A representing the new transaction. + Parallel transactions are not supported. + + + + Asynchronous version of . + + A representing the new transaction. + Parallel transactions are not supported. + + + + Asynchronous version of . + + A token to cancel the asynchronous operation. + A representing the new transaction. + Parallel transactions are not supported. + + + + Asynchronous version of . + + Specifies the for the transaction. + The cancellation token. + A representing the new transaction. + Parallel transactions are not supported. + + + Changes the current database for an open . + The name of the database to use. + + + The value supplied in the databaseName parameter must be a valid database + name. The databaseName parameter cannot contain a null value, an empty + string, or a string with only blank characters. + + + When you are using connection pooling against MySQL, and you close + the connection, it is returned to the connection pool. The next time the + connection is retrieved from the pool, the reset connection request + executes before the user performs any operations. + + + The database name is not valid. + The connection is not open. + Cannot change the database. + + + + Asynchronous version of the method. + + The name of the database to use. + The cancellation token. + A task representing the asynchronous operation. + + + + Pings the server. + + true if the ping was successful; otherwise, false. + + + + Pings the server. + + true if the ping was successful; otherwise, false. + + + Opens a database connection with the property settings specified by the . + Cannot open a connection without specifying a data source or server. + A connection-level error occurred while opening the connection. + + + The draws an open connection from the connection pool if one is available. + Otherwise, it establishes a new connection to an instance of MySQL. + + + + + + Creates and returns a object associated with the . + + A object. + + + Closes the connection to the database. This is the preferred method of closing any open connection. + + + The method rolls back any pending transactions. It then releases + the connection to the connection pool, or closes the connection if connection + pooling is disabled. + + + An application can call more than one time. No exception is + generated. + + + + + + Asynchronous version of the method. + + + + + Asynchronous version of the method. + + + + + Cancels the query after the specified time interval. + + The length of time (in seconds) to wait for the cancellation of the command execution. + + + + Asynchronous version of the method. + + The length of time (in seconds) to wait for the cancellation of the command execution. + The cancellation token. + + + + Returns schema information for the data source of this . + + A that contains schema information. + + + + Returns schema information for the data source of this + using the specified string for the schema name. + + Specifies the name of the schema to return. + A that contains schema information. + + + + Returns schema information for the data source of this + using the specified string for the schema name and the specified string array + for the restriction values. + + Specifies the name of the schema to return. + Specifies a set of restriction values for the requested schema. + A that contains schema information. + + + + Asynchronous version of . + + A token to cancel the asynchronous operation. + A task representing the asynchronous operation. + + + + Asynchronous version of . + + Specifies the name of the schema to return. + A token to cancel the asynchronous operation. + A task representing the asynchronous operation. + + + + Asynchronous version of . + + Specifies the name of the schema to return. + Specifies a set of restriction values for the requested schema. + A token to cancel the asynchronous operation. + A task representing the asynchronous operation. + + + + Gets a schema collection based on the provided restriction values. + + The name of the collection. + The values to restrict. + A schema collection object. + + + + Asynchronous version of the method. + + The name of the collection. + The values to restrict. + The cancellation token. + A collection of schema objects. + + + + Asynchronous version of the method. + + The name of the collection. + The values to restrict. + The cancellation token. + Boolean that indicates if the function will be executed asynchronously. + A collection of schema objects. + + + + Enlists in the specified transaction. + + A reference to an existing in which to enlist. + + + + Creates a new object with the exact same ConnectionString value. + + A cloned object. + + + + Returns an unopened copy of this connection with a new connection string. If the Password + in is not set, the password from this connection will be used. + This allows creating a new connection with the same security information while changing other options, + such as database or pooling. + + The new connection string to be used. + A new with different connection string options but + the same password as this connection (unless overridden by ). + + + + Sets query timeout. If timeout has been set prior and not + yet cleared with ClearCommandTimeout(), it has no effect. + + Timeout in seconds. + if a timeout is set. + + + + Clears query timeout, allowing next SetCommandTimeout() to succeed. + + + + Empties the connection pool associated with the specified connection. + + The associated with the pool to be cleared. + + + + clears the connection pool that is associated with the connection. + If additional connections associated with connection are in use at the time of the call, + they are marked appropriately and are discarded (instead of being returned to the pool) + when is called on them. + + + + + + Asynchronous version of the method. + + The connection associated with the pool to be cleared. + The cancellation token. + + + + Clears all connection pools. + + ClearAllPools essentially performs a on all current connection pools. + + + + Asynchronous version of the method. + + The cancellation token. + + + + Represents the method to handle the event of a + + + + + + Represents the method to handle the event of a + . + + + + + Provides data for the InfoMessage event. This class cannot be inherited. + + + + + Gets or sets an array of objects together with the errors found. + + + + + IDisposable wrapper around SetCommandTimeout and ClearCommandTimeout functionality. + + Aids in the creation of connection strings by exposing the connection options as properties. - Contains connection options specific to the Classic protocol. + Contains connection options specific to the Classic MySQL protocol. @@ -4415,11 +3539,12 @@ Main constructor. - + Constructor accepting a connection string. The connection string. + Flag that indicates if the connection string has been analyzed. @@ -4511,11 +3636,28 @@ - Gets or sets the OCI config file location. + Gets or sets the OCI configuration file location. - The default values vary depending on the OS. On Windows systems the value is '%HOMEDRIVE%%HOMEPATH%\.oci\config' - and for Linux/MacOS systems it is '~/.oci/config'. + The default values vary depending on the operating system. On Windows systems the value is '%HOMEDRIVE%%HOMEPATH%\.oci\config'. + For Linux and macOS systems it is '~/.oci/config'. + + + + + Gets or sets the profile to use from the OCI configuration file. + + + The default value is "DEFAULT". + + + + + Gets or sets the mode value to be used in Kerberos authentication. + + + If (default value) is used, then it will try to log in using + and then fallback to mode value in case of error. @@ -4721,6 +3863,606 @@ otherwise, . contains a null value. + + + Provides a means of reading a forward-only stream of rows from a MySQL database. This class cannot be inherited. + + + + To create a , you must call the + method of the object, rather than directly using a constructor. + + + While the is in use, the associated + is busy serving the , and no other operations can be performed + on the other than closing it. This is the case until the + method of the is called. + + + and + are the only properties that you can call after the is + closed. Though the property may be accessed at any time + while the exists, always call before returning + the value of to ensure an accurate return value. + + + For optimal performance, avoids creating + unnecessary objects or making unnecessary copies of data. As a result, multiple calls + to methods such as return a reference to the + same object. Use caution if you are modifying the underlying value of the objects + returned by methods such as . + + + + + + Gets the number of columns in the current row. + + The number of columns in the current row. + + + + Gets a value indicating whether the contains one or more rows. + + true if the contains one or more rows; otherwise false. + + + + Gets a value indicating whether the data reader is closed. + + true if the is closed; otherwise false. + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + + The number of rows changed, inserted, or deleted. + -1 for SELECT statements; 0 if no rows were affected or the statement failed. + + + + Overloaded. Gets the value of a column in its native format. + In C#, this property is the indexer for the class. + + The value of the specified column. + + + + Gets the value of a column in its native format. + [C#] In C#, this property is the indexer for the class. + + The value of the specified column. + + + + Gets a value indicating the depth of nesting for the current row. This method is not + supported currently and always returns 0. + + The depth of nesting for the current row. + + + + Closes the object. + + + + + Gets the value of the specified column as a Boolean. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a Boolean. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a byte. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a byte. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a sbyte. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a sbyte. + + The zero-based column ordinal. + The value of the specified column. + + + + Reads a stream of bytes from the specified column offset into the buffer an array starting at the given buffer offset. + + The zero-based column ordinal. + The index within the field from which to begin the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to begin the read operation. + The maximum length to copy into the buffer. + The actual number of bytes read. + + + + Gets the value of the specified column as a single character. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a single character. + + The zero-based column ordinal. + The value of the specified column. + + + + Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset. + + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + The actual number of characters read. + + + + Gets the name of the source data type. + + The zero-based column ordinal. + A string representing the name of the data type. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call IsDBNull to check for null values before calling this method. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call IsDBNull to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + + MySql allows date columns to contain the value '0000-00-00' and datetime + columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain + or represent these values. To read a datetime value from a column that might + contain zero values, use . + + + The behavior of reading a zero datetime column using this method is defined by the + ZeroDateTimeBehavior connection string option. For more information on this option, + please refer to . + + + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + + MySql allows date columns to contain the value '0000-00-00' and datetime + columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain + or represent these values. To read a datetime value from a column that might + contain zero values, use . + + + The behavior of reading a zero datetime column using this method is defined by the + ZeroDateTimeBehavior connection string option. For more information on this option, + please refer to . + + + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a . + + The name of the colum. + The value of the specified column as a . + + + + Gets the value of the specified column as a . + + The index of the colum. + The value of the specified column as a . + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + The zero-based column ordinal + The value of the specified column. + + + Gets the value of the specified column as a double-precision floating point number. + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + Gets the value of the specified column as a double-precision floating point number. + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the Type that is the data type of the object. + + The column name. + The data type of the specified column. + + + + Gets the Type that is the data type of the object. + + The zero-based column ordinal. + The data type of the specified column. + + + + Gets the value of the specified column as a single-precision floating point number. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a single-precision floating point number. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the body definition of a routine. + + The column name. + The definition of the routine. + + + + Gets the value of the specified column as a globally-unique identifier(GUID). + + The name of the column. + The value of the specified column. + + + + Gets the value of the specified column as a globally-unique identifier(GUID). + + The zero-based column ordinal. + The value of the specified column. + + + Gets the value of the specified column as a 16-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + Gets the value of the specified column as a 16-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + Gets the value of the specified column as a 32-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + Gets the value of the specified column as a 32-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + Gets the value of the specified column as a 64-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + Gets the value of the specified column as a 64-bit signed integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the name of the specified column. + + The zero-based column ordinal. + The name of the specified column. + + + + Gets the column ordinal, given the name of the column. + + The name of the column. + The zero-based column ordinal. + + + + Gets a stream to retrieve data from the specified column. + + The zero-based column ordinal. + A stream + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a object. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + + Gets the value of the specified column as a object. + + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets the value of the specified column in its native format. + + The zero-based column ordinal. + The value of the specified column. + + + + Gets all attribute columns in the collection for the current row. + + An array of into which to copy the attribute columns. + The number of instances of in the array. + + + Gets the value of the specified column as a 16-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + Gets the value of the specified column as a 16-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + Gets the value of the specified column as a 32-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + Gets the value of the specified column as a 32-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + Gets the value of the specified column as a 64-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The column name. + The value of the specified column. + + + Gets the value of the specified column as a 64-bit unsigned integer. + + No conversions are performed; therefore, the data retrieved must already be a value. + Call to check for null values before calling this method. + + The zero-based column ordinal. + The value of the specified column. + + + + Returns a object for the requested column ordinal. + + The zero-based column ordinal. + A object. + + + + Gets a value indicating whether the column contains non-existent or missing values. + + The zero-based column ordinal. + true if the specified column is equivalent to ; otherwise false. + + + + Gets the value of the specified column as a . + + The index of the colum. + The value of the specified column as a . + + + + Gets the value of the specified column as a . + + The name of the colum. + The value of the specified column as a . + + + + Returns an that iterates through the . + + An that can be used to iterate through the rows in the data reader. + + + + Gets the value of the specified column as a type. + + Type. + The index of the column. + The value of the column. + + + + Describes the column metadata of the . + + A object. + + + + Advances the data reader to the next result when reading the results of batch SQL statements. + + if there are more result sets; otherwise . + + + + Advances the to the next record. + + true if there are more rows; otherwise false. + + + + Releases all resources used by the current instance of the class. + + Summary description for ClientParam. @@ -5177,7 +4919,7 @@ - Controls which column type should be read as type System.Guid. + Controls which column type should be read as type System.Guid. @@ -5217,6 +4959,26 @@ that is, the byte order used by System.Guid.ToByteArray and System.Guid.#ctor(System.Byte[]). + + + Defines the different APIs that can be used for Kerberos authentication. + + + + + Use and then fall back to in case of error. + + + + + Use MS Security Support Provider Interface (SSPI). + + + + + Use Generic Security Services API (GSSAPI) through MIT Kerberos library. + + Collection of error codes that can be returned by the server @@ -7831,12 +7593,343 @@ ER_CLIENT_INTERACTION_TIMEOUT - + WriteInteger + Boolean that indicates if the function will be executed asynchronously. + + + + Represents a parameter to a , This class cannot be inherited. + + + Parameter names are not case sensitive. + You can read more about it here. + + + + + Initializes a new instance of the class with the parameter name, the , the size, and the source column name. + + The name of the parameter to map. + One of the values. + The length of the parameter. + The name of the source column. + + + + Initializes a new instance of the class with the parameter name and a value of the new MySqlParameter. + + The name of the parameter to map. + An that is the value of the . + + + + Initializes a new instance of the class with the parameter name and the data type. + + The name of the parameter to map. + One of the values. + + + + Initializes a new instance of the class with the parameter name, the , and the size. + + The name of the parameter to map. + One of the values. + The length of the parameter. + + + + Initializes a new instance of the class with the parameter name, the type of the parameter, the size of the parameter, a , the precision of the parameter, the scale of the parameter, the source column, a to use, and the value of the parameter. + + The name of the parameter to map. + One of the values. + The length of the parameter. + One of the values. + true if the value of the field can be null, otherwise false. + The total number of digits to the left and right of the decimal point to which is resolved. + The total number of decimal places to which is resolved. + The name of the source column. + One of the values. + An that is the value of the . + + + + + Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. + As of MySql version 4.1 and earlier, input-only is the only valid choice. + + + + + Gets or sets a value indicating whether the parameter accepts null values. + + + + + Gets or sets the of the parameter. + + + + + Gets or sets the maximum number of digits used to represent the property. + + + + + Gets or sets the number of decimal places to which is resolved. + + + + + Gets or sets the maximum size, in bytes, of the data within the column. + + + + + Gets or sets the value of the parameter. + + + + + Returns the possible values for this parameter if this parameter is of type + SET or ENUM. Returns null otherwise. + + + + + Gets or sets the name of the source column that is mapped to the and used for loading or returning the . + + + + + Sets or gets a value which indicates whether the source column is nullable. + This allows to correctly generate Update statements + for nullable columns. + + + + + Gets or sets the of the parameter. + + + + + Gets or sets the value to use when loading . + + + + + Clones this object. + + An object that is a clone of this object. + + + + Overridden. Gets a string containing the . + + + + + + Resets the DbType property to its original settings. + + + + + Represents a collection of parameters relevant to a + as well as their respective mappings to columns in a . This class cannot be inherited. + + + The number of the parameters in the collection must be equal to the number of + parameter placeholders within the command text, or an exception will be generated. + + + + + Gets the number of MySqlParameter objects in the collection. + + + + + Gets a value that indicates whether the object has a fixed size. + + + + + Gets a value that indicates whether the object is read-only. + + + + + Gets a value that indicates whether the object is synchronized. + + + + + Gets the at the specified index. + + Gets the with a specified attribute. + [C#] In C#, this property is the indexer for the class. + + + + + Gets the with the specified name. + + + + + Adds a to the with the parameter name, the data type, the column length, and the source column name. + + The name of the parameter. + One of the values. + The length of the column. + The name of the source column. + The newly added object. + + + + Adds the specified object to the . + + The to add to the collection. + The newly added object. + + + + Adds a parameter and its value. + + The name of the parameter. + The value of the parameter. + A object representing the provided values. + + + + Adds a to the given the parameter name and the data type. + + The name of the parameter. + One of the values. + The newly added object. + + + + Adds a to the with the parameter name, the data type, and the column length. + + The name of the parameter. + One of the values. + The length of the column. + The newly added object. + + + + Removes all items from the collection. + + + + + Gets the location of the in the collection with a specific parameter name. + + The name of the object to retrieve. + The zero-based location of the in the collection. + + + + Gets the location of a in the collection. + + The object to locate. + The zero-based location of the in the collection. + Gets the location of a in the collection. + + + + This method will update all the items in the index hashes when + we insert a parameter somewhere in the middle + + + + + + + Adds an array of values to the end of the . + + + + + + Retrieve the parameter with the given name. + + + + + + + Adds the specified object to the . + + The to add to the collection. + The index of the new object. + + + + Gets a value indicating whether a with the specified parameter name exists in the collection. + + The name of the object to find. + true if the collection contains the parameter; otherwise, false. + + + + Gets a value indicating whether a MySqlParameter exists in the collection. + + The value of the object to find. + true if the collection contains the object; otherwise, false. + Gets a value indicating whether a exists in the collection. + + + + Copies MySqlParameter objects from the MySqlParameterCollection to the specified array. + + + + + + + Returns an enumerator that iterates through the . + + + + + + Inserts a MySqlParameter into the collection at the specified index. + + + + + + + Removes the specified MySqlParameter from the collection. + + + + + + Removes the specified from the collection using the parameter name. + + The name of the object to retrieve. + + + + Removes the specified from the collection using a specific index. + + The zero-based index of the parameter. + Removes the specified from the collection. + + + + Gets an object that can be used to synchronize access to the + . + @@ -7854,12 +7947,12 @@ Indicates whether this pool is being cleared. - + It is assumed that this method is only called from inside an active lock. - + It is assumed that this method is only called from inside an active lock. @@ -7873,7 +7966,7 @@ - + Clears this pool of all idle connections and marks this pool and being cleared so all other connections are closed when they are returned. @@ -8071,13 +8164,13 @@ Summary description for MySqlStream. - + ReadPacket is called by NativeDriver to start reading the next packet on the stream. - + Reads the specified number of bytes from the stream and stores them at given offset in the buffer. @@ -8087,8 +8180,9 @@ Array to store bytes read from the stream The offset in buffer at which to begin storing the data read from the current stream. Number of bytes to read + Boolean that indicates if the function will be executed asynchronously. - + LoadPacket loads up and decodes the header of the incoming packet. @@ -8323,6 +8417,13 @@ The method is equivalent to the MySQL SQL statement COMMIT. + + + Asynchronously commits the database transaction. + + + A task representing the asynchronous operation. + Rolls back a transaction from a pending state. @@ -8334,16 +8435,24 @@ called). + + + Asynchronously rolls back a transaction from a pending state. + + The cancellation token. + A task representing the asynchronous operation. + Summary description for Driver. - + Sets the current database for the this connection + Boolean that indicates if the function will be executed asynchronously. @@ -8351,27 +8460,29 @@ server capabilities and our user requested options. - + Query is the method that is called to send all queries to the server - + Verify that the file to upload is in a valid directory according to the safe path entered by a user under "AllowLoadLocalInfileInPath" connection option. File to validate against the safe path. + Boolean that indicates if the function will be executed asynchronously. - + Sends the specified file to the server. This supports the LOAD DATA LOCAL INFILE + Boolean that indicates if the function will be executed asynchronously. - + FetchDataRow is the method that the data reader calls to see if there is another row to fetch. In the non-prepared mode, it will simply read the next data packet. @@ -8387,15 +8498,16 @@ - Struct that represents the response OK Packet + Class that represents the response OK Packet https://dev.mysql.com/doc/internals/en/packet-OK_Packet.html - + Creates an instance of the OKPacket object with all of its metadata The packet to parse + Boolean that indicates if the function will be executed asynchronously. @@ -8550,13 +8662,15 @@ Group name to validate true if the replication group name is found; otherwise, false - + Assigns a new server driver to the connection object Group name True if the server connection to assign must be a source MySqlConnection object where the new driver will be assigned + Boolean that indicates if the function will be executed asynchronously. + the cancellation token. @@ -8698,12 +8812,12 @@ The column value to retrieve The value as the given column - + Closes the current resultset, dumping any data still on the wire - + Loads the column metadata for the current resultset @@ -8748,7 +8862,7 @@ The type of the column. - + GetForeignKeysOnTable retrieves the foreign keys on the given table. Since MySQL supports foreign keys on versions prior to 5.0, we can't use @@ -8760,15 +8874,18 @@ The table to get the foeign key info for. Only get foreign keys that match this name. Should column information be included in the table. + Boolean that indicates if the function will be executed asynchronously. + The cancellation token. - + Builds the initial part of the COM_QUERY packet Collection of attributes A + Boolean that indicates if the function will be executed asynchronously. - + Serializes the given parameter to the given memory stream @@ -8957,7 +9074,6 @@ Gets the assertion statement. Since we're getting only one assertion, the index will always be zero. - The index of the assertion statement to retrieve The assertion statement object The index is not in the range [0, count) @@ -9581,6 +9697,33 @@ GSS_KRB5_MECH_OID_DESC Set + + + The GSSAPI mechanism. + + + + + Obtain credentials to be used to create a security context + + username + password + host + + + + Processes the challenge data. + + A byte array containing the challenge data from the server + A byte array containing the response to be sent to the server + + + + Security context already established. + + A byte array containing the challenge data from the server + A non-null byte array containing the response to be sent to the server + Defines a security context @@ -9998,6 +10141,8 @@ Identifies the context on which the message arrived. Protected message. Buffer to receive unwrapped message. + State of the configuration. + State of the QoP. The gss_unwrap() function may return the following status codes: GSS_S_COMPLETE: Successful completion. @@ -10035,6 +10180,11 @@ MIT Kerberos 5 GSS Bindings Linux + + + MIT Kerberos 5 GSS Bindings Windows 64bit + + Automatic dynamic disposable @@ -10052,12 +10202,12 @@ - Automatic dynamic disposable storing , will be disposed + Automatic dynamic disposable storing , will be disposed - Automatic dynamic disposable storing , will be disposed + Automatic dynamic disposable storing , will be disposed @@ -10172,7 +10322,7 @@ Byte array to be sent to the server. Byte array received by the server. - if should continue processing; otherwise, . + The target. @@ -10794,13 +10944,15 @@ Dependent on connection string settings. Either file or store based certificates are used. - + Initiates the SSL connection. The base stream. The encoding used in the SSL connection. The connection string used to establish the connection. + Boolean that indicates if the function will be executed asynchronously. + The cancellation token. A instance ready to initiate an SSL connection. @@ -10964,7 +11116,7 @@ A flag indicating if the default port is used in the connection. An instance if the connection was succesfully established, a exception is thrown otherwise. - + Creates a if more than one host is found. @@ -11549,6 +11701,11 @@ Looks up a localized string similar to OCI configuration file could not be read.. + + + Looks up a localized string similar to OCI configuration profile not found.. + + Looks up a localized string similar to OCI configuration file does not contain a 'fingerprint' or 'key_file' entry.. @@ -11569,6 +11726,16 @@ Looks up a localized string similar to The OCI SDK cannot be found or is not installed.. + + + Looks up a localized string similar to Security token file could not be found at location given by OCI configuration entry 'security_token_file'.. + + + + + Looks up a localized string similar to The size of the OCI security token file exceeds the maximum value of 10KB allowed.. + + Looks up a localized string similar to The offset cannot be negative. @@ -12110,11 +12277,6 @@ Looks up a localized string similar to Compression using {0} is not supported.. - - - Looks up a localized string similar to Failed to load libzstd.dll. Removing zstd_stream from the client supported compression algorithms.. - - Looks up a localized string similar to Compression using {0} is not supported in .NET Framework.. @@ -12140,6 +12302,11 @@ Looks up a localized string similar to There are still decompressed messages pending to be processed.. + + + Looks up a localized string similar to Custom type mapping is only supported from .NET Core 3.1 and later.. + + Looks up a localized string similar to '{0}' cannot be set to false with DNS SRV lookup enabled.. @@ -12673,7 +12840,7 @@ Creates a new instance of XPacketProcessor. The stream to be used as communication channel. - The XCompressionController to be used for compression actions. + The XCompressionController to be used for compression actions. @@ -12805,11 +12972,6 @@ Stores the communication packet generated the last time ReadNextBufferedMessage method was called. - - - Indicates if the libzstd.dll has been loaded. - - Stream used to store multiple X Protocol messages. @@ -12925,23 +13087,21 @@ A with the next X Protocol frame. - - - Loads the libzstd.dll assembly. - - Constructor that sets the stream used to read or write data. The stream used to read or write data. + The socket to use. Constructor that sets the stream used to read or write data and the compression controller. The stream used to read or write data. - The compression controller. + The compression controller for reading. + The compression controller for writing. + The socket to use. @@ -13624,41 +13784,32 @@ - Creates an containing the provided objects that can be used to add + Creates an containing the provided objects that can be used to add one or more items to a collection. The objects to add. - An object containing the objects to add. + An object containing the objects to add. is null. This method can take anonymous objects, domain objects, or just plain JSON strings. The statement can be further modified before execution. - Creates a with the given condition that can be used to remove + Creates a with the given condition that can be used to remove one or more documents from a collection.The statement can then be further modified before execution. The condition to match documents. - A object set with the given condition. + A object set with the given condition. is null or white space. The statement can then be further modified before execution. - - - Removes the document with the given identifier. - - The unique identifier of the document to replace. - A object containing the results of the execution. - is null or white space. - This is a direct execution method. - - Creates a with the given condition that can be used to modify one or more + Creates a with the given condition that can be used to modify one or more documents from a collection. The condition to match documents. - A object set with the given condition. + A object set with the given condition. is null or white space. The statement can then be further modified before execution. @@ -13689,84 +13840,15 @@ The is different from the one in . This is a direct execution method. - - - Returns the number of documents in this collection on the server. - - The number of documents found. - - Creates a with the given condition which can be used to find documents in a + Creates a with the given condition, which can be used to find documents in a collection. An optional condition to match documents. - A object set with the given condition. + A object set with the given condition. The statement can then be further modified before execution. - - - Creates an index based on the properties provided in the JSON document. - - The index name. - JSON document describing the index to be created. - - is a JSON document with the following fields: - - - fields: array of IndexField objects, each describing a single document member to be - included in the index (see below). - - type: string, (optional) the type of index. One of INDEX or SPATIAL. Default is INDEX and may - be omitted. - -   - A single IndexField description consists of the following fields: - - - field: string, the full document path to the document member or field to be indexed. - - type: string, one of the supported SQL column types to map the field into (see the following list). - For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for - indexing may be added. - - required: bool, (optional) true if the field is required to exist in the document. defaults to - false, except for GEOJSON where it defaults to true. - - options: int, (optional) special option flags for use when decoding GEOJSON data. - - srid: int, (optional) srid value for use when decoding GEOJSON data. - -   - Supported SQL column types: - - - INT [UNSIGNED] - - TINYINT [UNSIGNED] - - SMALLINT [UNSIGNED] - - MEDIUMINT [UNSIGNED] - - INTEGER [UNSIGNED] - - BIGINT [UNSIGNED] - - REAL [UNSIGNED] - - FLOAT [UNSIGNED] - - DOUBLE [UNSIGNED] - - DECIMAL [UNSIGNED] - - NUMERIC [UNSIGNED] - - DATE - - TIME - - TIMESTAMP - - DATETIME - - TEXT[(length)] - - CHAR[(lenght)] - - GEOJSON (extra options: options, srid) - - - - - - Drops a collection index. - - The index name. - is null or white space. - - - - Verifies if the current collection exists in the server schema. - - true if the collection exists; otherwise, false. - Returns the document with the given identifier. @@ -13806,46 +13888,47 @@ No action is performed by this method. It is intended to be overriden by child classes if required. - + Base abstract class for API statement. + - + Initializes a new instance of the BaseStatement class based on the specified session. The session where the statement will be executed. - + - Gets the that owns the statement. + Gets the that owns the statement. - + Executes the base statements. This method is intended to be defined by child classes. A result object containing the details of the execution. - + Executes a statement asynchronously. A result object containing the details of the execution. - + Validates if the session is open and valid. - + Sets the status as Changed for prepared statement validation. - + Converts a statement to prepared statement for a second execution without any change but Bind, Limit, or Offset. @@ -14015,29 +14098,30 @@ Initializes a new instance of the ErrorInfo class. - + Abstract class for filterable statements. The filterable statement. The database object. The type of result. + The type of the implemented object. - + Initializes a new instance of the FiltarableStatement class based on the target and condition. The database object. The optional filter condition. - + Enables the setting of Where condition for this operation. The Where condition. The implementing statement type. - + Sets the number of items to be returned by the operation. @@ -14045,14 +14129,14 @@ The implementing statement type. is equal or lower than 0. - + Sets the number of items to be skipped before including them into the result. The number of items to be skipped. The implementing statement type. - + Binds the parameter values in filter expression. @@ -14060,28 +14144,28 @@ The value of the parameter. A generic object representing the implementing statement type. - + Binds the parameter values in filter expression. The parameters as a DbDoc object. A generic object representing the implementing statement type. - + Binds the parameter values in filter expression. The parameters as a JSON string. The implementing statement type. - + Binds the parameter values in filter expression. The parameters as an anonymous object: new { param1 = value1, param2 = value2, ... }. The implementing statement type. - + Executes the statement. @@ -14089,7 +14173,7 @@ The generic object to use. A generic result object containing the results of the execution. - + Clones the filterable data but Session and Target remain the same. @@ -14111,20 +14195,21 @@ Gets the list of generated identifiers in the order of the Add() calls. - + Abstract class to select a database object target. The database object. The execution result. + The type of the implemented object. - + Initializes a new instance of the TargetedBaseStatement class based on the provided target. The database object. - + Gets the database target. @@ -14156,172 +14241,178 @@ The code for the warning. The error message for the warning. - + Represents a chaining collection insert statement. + - + Adds documents to the collection. The documents to add. - This object. + This object. The array is null. - + Executes the Add statement. A object containing the results of the execution. - + Implementation class for CRUD statements with collections using an index. + - + Executes this statement. A object containing the results of the execution. - + Represents a collection statement. - + Type of + Type of object - + - Converts base s into objects. + Converts base s into objects. - Array of objects to be converted to objects. - An enumerable collection of objects. + Array of objects to be converted to objects. + An enumerable collection of objects. - + Represents the result of an operation that includes a collection of documents. + - + Represents a chaining collection find statement. + - + List of column projections that shall be returned. List of columns. - This object set with the specified columns or fields. + This object set with the specified columns or fields. - + Executes the Find statement. - A object containing the results of execution and data. + A object containing the results of execution and data. - + Locks matching rows against updates. Optional row lock option to use. - This same object set with the lock shared option. + This same object set with the lock shared option. The server version is lower than 8.0.3. - + Locks matching rows so no other transaction can read or write to it. Optional row lock option to use. - This same object set with the lock exclusive option. + This same object set with the lock exclusive option. The server version is lower than 8.0.3. - + Sets the collection aggregation. The field list for aggregation. - This same object set with the specified group-by criteria. + This same object set with the specified group-by criteria. - + Filters criteria for aggregated groups. The filter criteria for aggregated groups. - This same object set with the specified filter criteria. + This same object set with the specified filter criteria. - + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". The order criteria. - A generic object representing the implementing statement type. + This same object set with the specified order criteria. - + Enables the setting of Where condition for this operation. The Where condition. - The implementing statement type. + This same object set with the specified condition criteria. - + Represents a chaining collection modify statement. + - + Sets key and value. The document path key. The new value. - This object. + This object. - + Changes value for a key. The document path key. The new value. - This object. + This object. - + Removes keys or values from a document. An array of document paths representing the keys to be removed. - This object. + This object. - + - Creates a object set with the changes to be applied to all matching documents. + Creates a object set with the changes to be applied to all matching documents. The JSON-formatted object describing the set of changes. - A object set with the changes described in . - can be a object, an anonymous object, or a JSON string. + A object set with the changes described in . + can be a object, an anonymous object, a JSON string or a custom type object. is null. is null or white space. - + Inserts an item into the specified array. The document path key including the index on which the item will be inserted. The value to insert into the array. - A object containing the updated array. + A object containing the updated array. - + Appends an item to the specified array. The document path key. The value to append to the array. - A object containing the updated array. + A object containing the updated array. - + Allows the user to set the sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". @@ -14329,25 +14420,26 @@ The order criteria. A generic object representing the implementing statement type. - + Enables the setting of Where condition for this operation. The Where condition. The implementing statement type. - + Executes the modify statement. A object containing the results of the execution. - + Represents a chaining collection remove statement. + - + Sets user-defined sorting criteria for the operation. The strings use normal SQL syntax like "order ASC" or "pages DESC, age ASC". @@ -14355,14 +14447,14 @@ The order criteria. A generic object representing the implementing statement type. - + Enables the setting of Where condition for this operation. The Where condition. The implementing statement type. - + Executes the remove statement. @@ -14451,6 +14543,7 @@ Represents a collection of documents with a generic type. + @@ -14461,13 +14554,129 @@ The object associated to this collection. The name of the collection. - + - Creates an containing the provided generic object. The add + Creates an containing the provided generic object. The add statement can be further modified before execution. - The generic object to add. - An object containing the object to add. + The generic object to add. + An object containing the object to add. + + + + Creates a with the given condition that can be used to remove + one or more documents from a collection.The statement can then be further modified before execution. + + The condition to match documents. + A object set with the given condition. + is null or white space. + The statement can then be further modified before execution. + + + + Removes the document with the given identifier. + + The unique identifier of the document to replace. + A object containing the results of the execution. + is null or white space. + This is a direct execution method. + + + + Creates a with the given condition that can be used to modify one or more + documents from a collection. + + The condition to match documents. + A object set with the given condition. + is null or white space. + The statement can then be further modified before execution. + + + + Returns the number of documents in this collection on the server. + + The number of documents found. + + + + Creates a with the given condition which can be used to find documents in a + collection. + + An optional condition to match documents. + A object set with the given condition. + The statement can then be further modified before execution. + + + + Creates an index based on the properties provided in the JSON document. + + The index name. + JSON document describing the index to be created. + + is a JSON document with the following fields: + + - fields: array of IndexField objects, each describing a single document member to be + included in the index (see below). + - type: string, (optional) the type of index. One of INDEX or SPATIAL. Default is INDEX and may + be omitted. + +   + A single IndexField description consists of the following fields: + + - field: string, the full document path to the document member or field to be indexed. + - type: string, one of the supported SQL column types to map the field into (see the following list). + For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for + indexing may be added. + - required: bool, (optional) true if the field is required to exist in the document. defaults to + false, except for GEOJSON where it defaults to true. + - options: int, (optional) special option flags for use when decoding GEOJSON data. + - srid: int, (optional) srid value for use when decoding GEOJSON data. + +   + Supported SQL column types: + + - INT [UNSIGNED] + - TINYINT [UNSIGNED] + - SMALLINT[UNSIGNED] + - MEDIUMINT [UNSIGNED] + - INTEGER [UNSIGNED] + - BIGINT [UNSIGNED] + - REAL [UNSIGNED] + - FLOAT [UNSIGNED] + - DOUBLE [UNSIGNED] + - DECIMAL [UNSIGNED] + - NUMERIC [UNSIGNED] + - DATE + - TIME + - TIMESTAMP + - DATETIME + - TEXT[(length)] + - CHAR[(lenght)] + - GEOJSON (extra options: options, srid) + + + + + + Drops a collection index. + + The index name. + is null or white space. + + + + Verifies if the current collection exists in the server schema. + + true if the collection exists; otherwise, false. + + + + Returns the document with the given identifier. + + The unique identifier of the document to replace. + A object if a document matching given identifier exists; otherwise, null. + is null or white space. + This is a direct execution method. @@ -15051,13 +15260,13 @@ Ensures the collection exists in the schema. A object matching the given name. - + Gets a typed collection object. This is useful for using domain objects. - The type of collection returned. The name of collection to get. - A generic object set with the given name. + Ensures the collection exists in the schema. + A generic object set with the given name. @@ -15075,7 +15284,7 @@ - Creates a collection. + Creates a . The name of the collection to create. If false, throws an exception if the collection exists. @@ -15083,7 +15292,7 @@ - Creates a collection including a schema validation. + Creates a including a schema validation. The name of the collection to create. This object hold the parameters required to create the collection. @@ -15146,15 +15355,18 @@ File descriptor for mysqlx.proto + + Holder for extension identifiers generated from the top level of mysqlx.proto + - IDs of messages that can be sent from client to the server + * + IDs of messages that can be sent from client to the server. - .. note:: - this message is never sent on the wire. It is only used to let ``protoc`` - - * generate constants - * check for uniqueness + @note + This message is never sent on the wire. It is only used to let ``protoc``: + - generate constants + - check for uniqueness @@ -15162,13 +15374,13 @@ - IDs of messages that can be sent from server to client + * + IDs of messages that can be sent from server to client. - .. note:: - this message is never sent on the wire. It is only used to let ``protoc`` - - * generate constants - * check for uniqueness + @note + This message is never sent on the wire. It is only used to let ``protoc``: + - generate constants + - check for uniqueness @@ -15176,46 +15388,74 @@ - NOTICE has to stay at 11 forever - - - - - generic Ok message + NOTICE has to stay at 11 forever Field number for the "msg" field. - - - generic Error message - - A ``severity`` of ``ERROR`` indicates the current message sequence is - aborted for the given error and the session is ready for more. - - In case of a ``FATAL`` error message the client should not expect - the server to continue handling any further messages and should - close the connection. - - :param severity: severity of the error message - :param code: error-code - :param sql_state: SQL state - :param msg: human readable error message - + + Gets whether the "msg" field is set + + + Clears the value of the "msg" field Field number for the "severity" field. + + + * severity of the error message + + + + Gets whether the "severity" field is set + + + Clears the value of the "severity" field + Field number for the "code" field. + + + * error code + + + + Gets whether the "code" field is set + + + Clears the value of the "code" field + Field number for the "sql_state" field. + + + * SQL state + + + + Gets whether the "sql_state" field is set + + + Clears the value of the "sql_state" field + Field number for the "msg" field. + + + * human-readable error message + + + + Gets whether the "msg" field is set + + + Clears the value of the "msg" field + Container for nested types declared in the Error message type. @@ -15227,41 +15467,54 @@ - a Capability + * + Capability - a tuple of a ``name`` and a :protobuf:msg:`Mysqlx.Datatypes::Any` + A tuple of a ``name`` and a @ref Mysqlx::Datatypes::Any Field number for the "name" field. + + Gets whether the "name" field is set + + + Clears the value of the "name" field + Field number for the "value" field. - - Capabilities - + + * + Capabilities + + list of Capability + Field number for the "capabilities" field. - get supported connection capabilities and their current state + * + Get supported connection capabilities and their current state. - :returns: :protobuf:msg:`Mysqlx.Connection::Capabilities` or :protobuf:msg:`Mysqlx::Error` + @returns @ref Mysqlx::Connection::Capabilities or @ref Mysqlx::Error - sets connection capabilities atomically + * + Set connection capabilities atomically. + Only provided values are changed; other values are left + unchanged. If any of the changes fails, all changes are + discarded. - only provided values are changed, other values are left unchanged. - If any of the changes fails, all changes are discarded. + @pre active sessions == 0 - :precond: active sessions == 0 - :returns: :protobuf:msg:`Mysqlx::Ok` or :protobuf:msg:`Mysqlx::Error` + @returns @ref Mysqlx::Ok or @ref Mysqlx::Error @@ -15269,25 +15522,50 @@ - announce to the server that the client wants to close the connection + * + Announce to the server that the client wants to close the connection. - it discards any session state of the server + It discards any session state of the server. - :Returns: :protobuf:msg:`Mysqlx::Ok` + @returns @ref Mysqlx::Ok Field number for the "uncompressed_size" field. + + Gets whether the "uncompressed_size" field is set + + + Clears the value of the "uncompressed_size" field + Field number for the "server_messages" field. + + Gets whether the "server_messages" field is set + + + Clears the value of the "server_messages" field + Field number for the "client_messages" field. + + Gets whether the "client_messages" field is set + + + Clears the value of the "client_messages" field + Field number for the "payload" field. + + Gets whether the "payload" field is set + + + Clears the value of the "payload" field + Holder for reflection information generated from mysqlx_crud.proto @@ -15295,93 +15573,97 @@ File descriptor for mysqlx_crud.proto - + + * DataModel to use for filters, names, ... - + - + + * ViewAlgorithm defines how MySQL Server processes the view - + - - MySQL chooses which algorithm to use - + + * MySQL chooses which algorithm to use + - - the text of a statement that refers to the view and the view definition are merged - + + * the text of a statement that refers to the view and the view + definition are merged + - - the view are retrieved into a temporary table - + + * the view are retrieved into a temporary table + - + + * ViewSqlSecurity defines the security context in which the view is going to be - executed, this means that VIEW can be executed with current user permissions or - with permissions of the uses who defined the VIEW - + executed; this means that VIEW can be executed with current user permissions or + with permissions of the user who defined the VIEW + + + + + * use current user permissions + + + + + * use permissions of the user who defined the VIEW + - + + * ViewCheckOption limits the write operations done on a `VIEW` (`INSERT`, `UPDATE`, `DELETE`) to rows in which the `WHERE` clause is `TRUE` - + - - the view WHERE clause is checked, but no underlying views are checked - + + * the view WHERE clause is checked, but no underlying views are checked + - - the view WHERE clause is checked, then checking recurses to underlying views - - - - - column definition - + + * the view WHERE clause is checked, then checking recurses + to underlying views + Field number for the "name" field. - - - optional - + + Gets whether the "name" field is set + + + Clears the value of the "name" field Field number for the "alias" field. - - - optional - + + Gets whether the "alias" field is set + + + Clears the value of the "alias" field Field number for the "document_path" field. - - - a projection - - :param source: the expression identifying an element from the source data - which can include a column identifier or any expression - :param alias: optional alias. Required for DOCUMENTs (clients may use - the source string as default) - - Field number for the "source" field. - required + * the expression identifying an element from the source data, + which can include a column identifier or any expression @@ -15389,65 +15671,69 @@ - optional + * optional alias. Required for DOCUMENTs (clients may use + the source string as default) - - - collection - + + Gets whether the "alias" field is set + + + Clears the value of the "alias" field Field number for the "name" field. - - - required - + + Gets whether the "name" field is set + + + Clears the value of the "name" field Field number for the "schema" field. - - - optional - + + Gets whether the "schema" field is set - - - limit - - :param row_count: maximum rows to filter - :param offset: maximum rows to skip before applying the row_count - + + Clears the value of the "schema" field Field number for the "row_count" field. - required + * maximum rows to filter + + Gets whether the "row_count" field is set + + + Clears the value of the "row_count" field + Field number for the "offset" field. - optional + * maximum rows to skip before applying the row_count + + Gets whether the "offset" field is set + + + Clears the value of the "offset" field + - limit expression - - LimitExpr in comparison to Limit, is able to specify that row_count and - offset are placeholders. - This message support expressions of following types Expr/literal/UINT, - Expr/PLACEHOLDER. - - :param row_count: maximum rows to filter - :param offset: maximum rows to skip before applying the row_count + * + LimitExpr, in comparison to Limit, is able to specify that row_count and + offset are placeholders. + This message support expressions of following types Expr/literal/UINT, + Expr/PLACEHOLDER. @@ -15455,7 +15741,7 @@ - required + * maximum rows to filter @@ -15463,51 +15749,41 @@ - optional + * maximum rows to skip before applying the row_count - - sort order - + + * + Sort order + Field number for the "expr" field. - - - required - - Field number for the "direction" field. - - - optional//[ default=ASC ] - + + Gets whether the "direction" field is set + + + Clears the value of the "direction" field Container for nested types declared in the Order message type. - - - update operations - - :param source: specification of the value to be updated - if data_model is TABLE, a column name may be specified and also a document path, if the column has type JSON - if data_model is DOCUMENT, only document paths are allowed - in both cases, schema and table must be not set - :param operation: the type of operation to be performed - :param value: an expression to be computed as the new value for the operation - - Field number for the "source" field. - required + * specification of the value to be updated + - if data_model is TABLE, a column name may be specified and also + a document path, if the column has type JSON + - if data_model is DOCUMENT, only document paths are allowed + + @note in both cases, schema and table must be not set @@ -15515,82 +15791,77 @@ - required + * the type of operation to be performed + + Gets whether the "operation" field is set + + + Clears the value of the "operation" field + Field number for the "value" field. - optional + * an expression to be computed as the new value for the operation Container for nested types declared in the UpdateOperation message type. - - only allowed for TABLE - + + * only allowed for TABLE + - - no value (removes the identified path from a object or array) - + + * no value (removes the identified path from a object or array) + - - sets the new value on the identified path - + + * sets the new value on the identified path + - - replaces a value if the path exists - + + * replaces a value if the path exists + - - source and value must be documents - + + * source and value must be documents + - - insert the value in the array at the index identified in the source path - + + * insert the value in the array at the index identified in the source path + - - append the value on the array at the identified path - + + * append the value on the array at the identified path + - - merge JSON object value with the provided patch expression - + + * merge JSON object value with the provided patch expression + - Find Documents/Rows in a Collection/Table + * + Find Documents/Rows in a Collection/Table - .. uml:: + @startuml + client -> server: Find + ... one or more Resultset ... + @enduml - client -> server: Find - ... one or more Resultset ... - - :param collection: collection to insert into - :param data_model: datamodel that the operations refer to - :param projection: list of column projections that shall be returned - :param args: values for parameters used in filter expression - :param criteria: filter criteria - :param limit: numbers of rows that shall be skipped and returned (user can set one of: limit, limit_expr) - :param order: sort-order in which the rows/document shall be returned in - :param grouping: column expression list for aggregation (GROUP BY) - :param grouping_criteria: filter criteria for aggregated groups - :param locking: perform row locking on matches - :param locking_options: additional options how to handle locked rows - :param limit_expr: numbers of rows that shall be skipped and returned (user can set one of: limit, limit_expr) - :Returns: :protobuf:msg:`Mysqlx.Resultset::` + @returns @ref Mysqlx::Resultset @@ -15598,7 +15869,7 @@ - required + * collection in which to find @@ -15606,51 +15877,37 @@ - optional + * data model that the operations refer to + + Gets whether the "data_model" field is set + + + Clears the value of the "data_model" field + Field number for the "projection" field. + + + * list of column projections that shall be returned + + + + Field number for the "args" field. + + + + * values for parameters used in filter expression + + Field number for the "criteria" field. - optional - - - - Field number for the "args" field. - - - Field number for the "order" field. - - - Field number for the "grouping" field. - - - Field number for the "grouping_criteria" field. - - - - optional - - - - Field number for the "locking" field. - - - - optional - - - - Field number for the "locking_options" field. - - - - optional + * filter criteria @@ -15658,51 +15915,102 @@ - optional + * numbers of rows that shall be skipped and returned + (user can set one of: limit, limit_expr) + + Field number for the "order" field. + + + + * sort-order in which the rows/document shall be returned in + + + + Field number for the "grouping" field. + + + + * column expression list for aggregation (GROUP BY) + + + + Field number for the "grouping_criteria" field. + + + + * filter criteria for aggregated groups + + + + Field number for the "locking" field. + + + + * perform row locking on matches + + + + Gets whether the "locking" field is set + + + Clears the value of the "locking" field + + + Field number for the "locking_options" field. + + + + * additional options how to handle locked rows + + + + Gets whether the "locking_options" field is set + + + Clears the value of the "locking_options" field + Field number for the "limit_expr" field. - optional + * numbers of rows that shall be skipped and returned + (user can set one of: limit, limit_expr) Container for nested types declared in the Find message type. - - Lock matching rows against updates - + + * Lock matching rows against updates + - - Lock matching rows so no other transaction can read or write to it - + + * Lock matching rows so no other transaction can read or write to it + - - Do not wait to acquire row lock, fail with an error if a requested row is locked - + + * Do not wait to acquire row lock, fail with an error + if a requested row is locked + - - Do not wait to acquire a row lock, remove locked rows from the result set - + + * Do not wait to acquire a row lock, + remove locked rows from the result set + - Insert documents/rows into a collection/table + * + Insert documents/rows into a collection/table - :param collection: collection to insert into - :param data_model: datamodel that the operations refer to - :param projection: name of the columns to insert data into (empty if data_model is DOCUMENT) - :param row: set of rows to insert into the collection/table (a single expression with a JSON document literal or an OBJECT expression) - :param args: values for parameters used in row expressions - :param upsert: true if this should be treated as an Upsert (that is, update on duplicate key) - :Returns: :protobuf:msg:`Mysqlx.Resultset::` + @returns @ref Mysqlx::Resultset @@ -15710,7 +16018,7 @@ - required + * collection to insert into @@ -15718,45 +16026,73 @@ - optional + * data model that the operations refer to + + Gets whether the "data_model" field is set + + + Clears the value of the "data_model" field + Field number for the "projection" field. + + + * name of the columns to insert data into + (empty if data_model is DOCUMENT) + + Field number for the "row" field. + + + * set of rows to insert into the collection/table (a single expression + with a JSON document literal or an OBJECT expression) + + Field number for the "args" field. + + + * values for parameters used in row expressions + + Field number for the "upsert" field. - optional//[default = false] + * true if this should be treated as an Upsert + (that is, update on duplicate key) + + Gets whether the "upsert" field is set + + + Clears the value of the "upsert" field + Container for nested types declared in the Insert message type. + + + * set of fields to insert as a one row + + Field number for the "field" field. - Update documents/rows in a collection/table + * + Update documents/rows in a collection/table - :param collection: collection to change - :param data_model: datamodel that the operations refer to - :param criteria: filter expression to match rows that the operations will apply on - :param args: values for parameters used in filter expression - :param limit: limits the number of rows to match (user can set one of: limit, limit_expr) - :param order: specifies order of matched rows - :param operation: list of operations to be applied. Valid operations will depend on the data_model. - :param limit_expr: limits the number of rows to match (user can set one of: limit, limit_expr) - :Returns: :protobuf:msg:`Mysqlx.Resultset::` + @returns @ref Mysqlx::Resultset @@ -15764,7 +16100,7 @@ - required + * collection to change @@ -15772,32 +16108,55 @@ - optional + * datamodel that the operations refer to + + Gets whether the "data_model" field is set + + + Clears the value of the "data_model" field + Field number for the "criteria" field. - optional + * filter expression to match rows that the operations will apply on - - Field number for the "args" field. - - - Field number for the "order" field. - - - Field number for the "operation" field. - Field number for the "limit" field. - optional + * limits the number of rows to match + (user can set one of: limit, limit_expr) + + + + Field number for the "order" field. + + + + * specifies order of matched rows + + + + Field number for the "operation" field. + + + + * list of operations to be applied. + Valid operations will depend on the data_model + + + + Field number for the "args" field. + + + + * values for parameters used in filter expression @@ -15805,21 +16164,16 @@ - optional + * limits the number of rows to match + (user can set one of: limit, limit_expr) - Delete documents/rows from a Collection/Table + * + Delete documents/rows from a Collection/Table - :param collection: collection to change - :param data_model: datamodel that the operations refer to - :param criteria: filter expression to match rows that the operations will apply on - :param args: values for parameters used in filter expression - :param limit: limits the number of rows to match (user can set one of: limit, limit_expr) - :param order: specifies order of matched rows - :param limit_expr: limits the number of rows to match (user can set one of: limit, limit_expr) - :Returns: :protobuf:msg:`Mysqlx.Resultset::` + @returns @ref Mysqlx::Resultset @@ -15827,7 +16181,7 @@ - required + * collection to change @@ -15835,29 +16189,46 @@ - optional + * data model that the operations refer to + + Gets whether the "data_model" field is set + + + Clears the value of the "data_model" field + Field number for the "criteria" field. - optional + * filter expression to match rows that the operations will apply on - - Field number for the "args" field. - - - Field number for the "order" field. - Field number for the "limit" field. - optional + * limits the number of rows to match + (user can set one of: limit, limit_expr) + + + + Field number for the "order" field. + + + + * specifies order of matched rows + + + + Field number for the "args" field. + + + + * values for parameters used in filter expression @@ -15865,7 +16236,14 @@ - optional + * limits the number of rows to match + (user can set one of: limit, limit_expr) + + + + + * + CreateView create view based on indicated @ref Mysqlx::Crud::Find message @@ -15873,7 +16251,7 @@ - required + * name of the VIEW object, which should be created @@ -15881,42 +16259,73 @@ - optional + * user name of the definer, if the value isn't set then the definer + is current user + + Gets whether the "definer" field is set + + + Clears the value of the "definer" field + Field number for the "algorithm" field. - optional//[default = UNDEFINED] + * defines how MySQL Server processes the view + + Gets whether the "algorithm" field is set + + + Clears the value of the "algorithm" field + Field number for the "security" field. - optional//[default = DEFINER] + * defines the security context in which the view is going be executed + + Gets whether the "security" field is set + + + Clears the value of the "security" field + Field number for the "check" field. - optional + * limits the write operations done on a VIEW + + Gets whether the "check" field is set + + + Clears the value of the "check" field + Field number for the "column" field. + + + * defines the list of aliases for column names specified in `stmt` + + Field number for the "stmt" field. - required + * Mysqlx.Crud.Find message from which the SELECT statement + is going to be build @@ -15924,7 +16333,21 @@ - optional//[default = false] + * if true then suppress error when created view already exists; + just replace it + + + + Gets whether the "replace_existing" field is set + + + Clears the value of the "replace_existing" field + + + + * + ModifyView modify existing view based on indicated + @ref Mysqlx::Crud::Find message @@ -15932,7 +16355,7 @@ - required + * name of the VIEW object, which should be modified @@ -15940,42 +16363,79 @@ - optional + * user name of the definer, + if the value isn't set then the definer is current user + + Gets whether the "definer" field is set + + + Clears the value of the "definer" field + Field number for the "algorithm" field. - optional + * defined how MySQL Server processes the view + + Gets whether the "algorithm" field is set + + + Clears the value of the "algorithm" field + Field number for the "security" field. - optional + * defines the security context in which the view is going be executed + + Gets whether the "security" field is set + + + Clears the value of the "security" field + Field number for the "check" field. - optional + * limits the write operations done on a VIEW + + Gets whether the "check" field is set + + + Clears the value of the "check" field + Field number for the "column" field. + + + * defines the list of aliases for column names specified in `stmt` + + Field number for the "stmt" field. - optional + * Mysqlx.Crud.Find message from which the SELECT statement + is going to be build + + + + + * + DropView removing existing view @@ -15983,7 +16443,7 @@ - required + * name of the VIEW object, which should be deleted @@ -15991,9 +16451,15 @@ - optional//[ default = false ] + * if true then suppress error when deleted view does not exists + + Gets whether the "if_exists" field is set + + + Clears the value of the "if_exists" field + Holder for reflection information generated from mysqlx_cursor.proto @@ -16002,22 +16468,20 @@ - Open a cursor + * + Open a cursor - .. uml:: + @startuml + client -> server: Open + alt Success + ... none or partial Resultsets or full Resultsets ... + client <- server: StmtExecuteOk + else Failure + client <- server: Error + end alt + @enduml - client -> server: Open - alt Success - ... none or partial Resultsets or full Resultsets ... - client <- server: StmtExecuteOk - else Failure - client <- server: Error - end - - :param cursor_id: client side assigned cursor id, the ID is going to represent new cursor and assigned to it statement - :param stmt: statement which resultset is going to be iterated through the cursor - :param fetch_rows: number of rows which should be retrieved from sequential cursor - :Returns: :protobuf:msg:`Mysqlx.Ok::` + @returns @ref Mysqlx::Ok @@ -16025,15 +16489,22 @@ - required + * client-side assigned cursor ID; the ID is going to represent + the new cursor and assigned to it the statement + + Gets whether the "cursor_id" field is set + + + Clears the value of the "cursor_id" field + Field number for the "stmt" field. - required + * statement for which the resultset is going to be iterated through by the cursor @@ -16041,47 +16512,47 @@ - optional + * number of rows that should be retrieved from sequential cursor + + Gets whether the "fetch_rows" field is set + + + Clears the value of the "fetch_rows" field + Container for nested types declared in the Open message type. Field number for the "type" field. - - - required - + + Gets whether the "type" field is set + + + Clears the value of the "type" field Field number for the "prepare_execute" field. - - - optional - - Container for nested types declared in the OneOfMessage message type. - Fetch next portion of data from a cursor + * + Fetch next portion of data from a cursor - .. uml:: - - client -> server: Fetch - alt Success - ... none or partial Resultsets or full Resultsets ... - client <- server: StmtExecuteOk - else - client <- server: Error - end - - :param cursor_id: client side assigned cursor id, must be already open - :param fetch_rows: number of rows which should be retrieved from sequential cursor + @startuml + client -> server: Fetch + alt Success + ... none or partial Resultsets or full Resultsets ... + client <- server: StmtExecuteOk + else + client <- server: Error + end + @enduml @@ -16089,32 +16560,44 @@ - required + * client-side assigned cursor ID; must be already open + + Gets whether the "cursor_id" field is set + + + Clears the value of the "cursor_id" field + Field number for the "fetch_rows" field. - optional + * number of rows that should be retrieved from sequential cursor + + Gets whether the "fetch_rows" field is set + + + Clears the value of the "fetch_rows" field + - Close cursor + * + Close cursor - .. uml:: + @startuml + client -> server: Close + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + @enduml - client -> server: Close - alt Success - client <- server: Ok - else Failure - client <- server: Error - end - - :param cursor_id: client side assigned cursor id, must be allocated/open - :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + @returns @ref Mysqlx::Ok or @ref Mysqlx::Error @@ -16122,9 +16605,15 @@ - required + * client-side assigned cursor ID; must be allocated/open + + Gets whether the "cursor_id" field is set + + + Clears the value of the "cursor_id" field + Holder for reflection information generated from mysqlx_datatypes.proto @@ -16139,17 +16628,30 @@ Field number for the "type" field. - - - required - + + Gets whether the "type" field is set + + + Clears the value of the "type" field Field number for the "v_signed_int" field. + + Gets whether the "v_signed_int" field is set + + + Clears the value of the "v_signed_int" field + Field number for the "v_unsigned_int" field. + + Gets whether the "v_unsigned_int" field is set + + + Clears the value of the "v_unsigned_int" field + Field number for the "v_octets" field. @@ -16161,61 +16663,88 @@ Field number for the "v_double" field. + + Gets whether the "v_double" field is set + + + Clears the value of the "v_double" field + Field number for the "v_float" field. + + Gets whether the "v_float" field is set + + + Clears the value of the "v_float" field + Field number for the "v_bool" field. + + Gets whether the "v_bool" field is set + + + Clears the value of the "v_bool" field + Field number for the "v_string" field. - - Enum of possible cases for the "DefaultOneOf" oneof. - Container for nested types declared in the Scalar message type. - - a string with a charset/collation - + + * a string with a charset/collation + Field number for the "value" field. - - - required - + + Gets whether the "value" field is set + + + Clears the value of the "value" field Field number for the "collation" field. - - Enum of possible cases for the "String_present" oneof. + + Gets whether the "collation" field is set + + + Clears the value of the "collation" field - - an opaque octet sequence, with an optional content_type - See ``Mysqlx.Resultset.ColumnMetadata`` for list of known values. - + + * an opaque octet sequence, with an optional content_type + See @ref Mysqlx::Resultset::ContentType_BYTES for list of known values. + Field number for the "value" field. - - - required - + + Gets whether the "value" field is set + + + Clears the value of the "value" field Field number for the "content_type" field. + + Gets whether the "content_type" field is set + + + Clears the value of the "content_type" field + - - a object - + + * + An object + Field number for the "fld" field. @@ -16226,39 +16755,38 @@ Field number for the "key" field. - - - required - + + Gets whether the "key" field is set + + + Clears the value of the "key" field Field number for the "value" field. - - - required - - - - a Array - + + * + An Array + Field number for the "value" field. - - a helper to allow all field types - + + * + A helper to allow all field types + Field number for the "type" field. - - - required - + + Gets whether the "type" field is set + + + Clears the value of the "type" field Field number for the "scalar" field. @@ -16280,21 +16808,24 @@ - open an Expect block and set/unset the conditions that have to be fulfilled + * + Open an Expect block and set/unset the conditions that have to + be fulfilled. - if any of the conditions fail, all enclosed messages will fail with - a Mysqlx.Error message. + If any of the conditions fail, all enclosed messages will fail + with a ``Mysqlx::Error`` message. - :returns: :protobuf:msg:`Mysqlx::Ok` on success, :protobuf:msg:`Mysqlx::Error` on error + @returns @ref Mysqlx::Ok on success, @ref Mysqlx::Error on error Field number for the "op" field. - - - [ default = EXPECT_CTX_COPY_PREV ];//optional - + + Gets whether the "op" field is set + + + Clears the value of the "op" field Field number for the "cond" field. @@ -16303,78 +16834,79 @@ Container for nested types declared in the Open message type. - - copy the operations from the parent Expect-block - + + * copy the operations from the parent Expect-block + - - start with a empty set of operations - + + * start with a empty set of operations + Field number for the "condition_key" field. - - - required - + + Gets whether the "condition_key" field is set + + + Clears the value of the "condition_key" field Field number for the "condition_value" field. - - - optional - + + Gets whether the "condition_value" field is set + + + Clears the value of the "condition_value" field Field number for the "op" field. - - - [ default = EXPECT_OP_SET ];//optional - + + Gets whether the "op" field is set + + + Clears the value of the "op" field Container for nested types declared in the Condition message type. - - Change error propagation behaviour - + + * Change error propagation behaviour + - - Check if X Protocol field exists - + + * Check if X Protocol field exists + - - Check if X Protocol support document _id generation - + + * Check if X Protocol supports document _id generation + - set the condition - - set, if not set - overwrite, if set + * set the condition; set, if not set; overwrite, if set - - unset the condition - + + * unset the condition + - close a Expect block + * + Close a Expect block. - closing a Expect block restores the state of the previous Expect block - for the following messages + Closing a Expect block restores the state of the previous Expect + block for the following messages. - :returns: :protobuf:msg:`Mysqlx::Ok` on success, :protobuf:msg:`Mysqlx::Error` on error + @returns @ref Mysqlx::Ok on success, @ref Mysqlx::Error on error @@ -16385,31 +16917,36 @@ - Expressions + * + The "root" of the expression tree. - the "root" of the expression tree + If expression type is PLACEHOLDER, then it refers to the value + of a parameter specified when executing a statement (see args + field of StmtExecute command). Field position (which must be + present for such an expression) gives 0-based position of the + parameter in the parameter list. - .. productionlist:: - expr: `operator` | - : `identifier` | - : `function_call` | - : variable | - : `literal` | - : placeholder - - If expression type is PLACEHOLDER then it refers to the value of a parameter - specified when executing a statement (see `args` field of `StmtExecute` command). - Field `position` (which must be present for such an expression) gives 0-based - position of the parameter in the parameter list. + @par production list + @code{unparsed} + expr: operator | + : identifier | + : function_call | + : variable | + : literal | + : object | + : array | + : placeholder + @endcode Field number for the "type" field. - - - required - + + Gets whether the "type" field is set + + + Clears the value of the "type" field Field number for the "identifier" field. @@ -16417,6 +16954,12 @@ Field number for the "variable" field. + + Gets whether the "variable" field is set + + + Clears the value of the "variable" field + Field number for the "literal" field. @@ -16429,6 +16972,12 @@ Field number for the "position" field. + + Gets whether the "position" field is set + + + Clears the value of the "position" field + Field number for the "object" field. @@ -16440,114 +16989,168 @@ - identifier: name, schame.name + * + Identifier: name, schame.name - .. productionlist:: - identifier: string "." string | - : string + @par production list + @code{unparsed} + identifier: string "." string | + : string + @endcode Field number for the "name" field. - - - required - + + Gets whether the "name" field is set + + + Clears the value of the "name" field Field number for the "schema_name" field. + + Gets whether the "schema_name" field is set + + + Clears the value of the "schema_name" field + - DocumentPathItem + * + Document path item - .. productionlist:: - document_path: path_item | path_item document_path - path_item : member | array_index | "**" - member : "." string | "." "*" - array_index : "[" number "]" | "[" "*" "]" + @par production list + @code{unparsed} + document_path: path_item | path_item document_path + path_item : member | array_index | "**" + member : "." string | "." "*" + array_index : "[" number "]" | "[" "*" "]" + @endcode Field number for the "type" field. - - - required - + + Gets whether the "type" field is set + + + Clears the value of the "type" field Field number for the "value" field. + + Gets whether the "value" field is set + + + Clears the value of the "value" field + Field number for the "index" field. + + + * used in case of ARRY_INDEX + + + + Gets whether the "index" field is set + + + Clears the value of the "index" field + Container for nested types declared in the DocumentPathItem message type. - - .member - - - - - .* - - - - - [index] - - - - - [*] - - - - - ** - - - - col_identifier (table): col@doc_path, tbl.col@doc_path col, tbl.col, schema.tbl.col - col_identifier (document): doc_path - - .. productionlist:: - col_identifier: string "." string "." string | - : string "." string | - : string | - : string "." string "." string "@" document_path | - : string "." string "@" document_path | - : string "@" document_path | - : document_path - document_path: member | arrayLocation | doubleAsterisk - member = "." string | "." "*" - arrayLocation = "[" index "]" | "[" "*" "]" - doubleAsterisk = "**" + * .member + + + * \.* + + + + + * [index] + + + + + * [*] + + + + + * ** + + + Field number for the "document_path" field. + + + * document path + + Field number for the "name" field. + + + * name of column + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + Field number for the "table_name" field. + + + * name of table + + + + Gets whether the "table_name" field is set + + + Clears the value of the "table_name" field + Field number for the "schema_name" field. + + + * name of schema + + + + Gets whether the "schema_name" field is set + + + Clears the value of the "schema_name" field + - function call: ``func(a, b, "1", 3)`` + * + Function call: ``func(a, b, "1", 3)`` - .. productionlist:: - function_call: `identifier` "(" [ `expr` ["," `expr` ]* ] ")" + @par production list + @code{unparsed} + function_call: `identifier` "(" [ `expr` ["," `expr` ]* ] ")" + @endcode @@ -16555,105 +17158,15 @@ - required + * identifier of function; at least name of it Field number for the "param" field. - + - operator: ``<<(a, b)`` - - .. note:: - - Non-authoritative list of operators implemented (case sensitive): - - Nullary - * ``*`` - * ``default`` - - Unary - * ``!`` - * ``sign_plus`` - * ``sign_minus`` - * ``~`` - - Binary - * ``&&`` - * ``||`` - * ``xor`` - * ``==`` - * ``!=`` - * ``>`` - * ``>=`` - * ``<`` - * ``<=`` - * ``&`` - * ``|`` - * ``^`` - * ``<<`` - * ``>>`` - * ``+`` - * ``-`` - * ``*`` - * ``/`` - * ``div`` - * ``%`` - * ``is`` - * ``is_not`` - * ``regexp`` - * ``not_regexp`` - * ``like`` - * ``not_like`` - * ``cast`` - * ``cont_in`` - * ``not_cont_in`` - - Using special representation, with more than 2 params - * ``in`` (param[0] IN (param[1], param[2], ...)) - * ``not_in`` (param[0] NOT IN (param[1], param[2], ...)) - - Ternary - * ``between`` - * ``between_not`` - * ``date_add`` - * ``date_sub`` - - Units for date_add/date_sub - * ``MICROSECOND`` - * ``SECOND`` - * ``MINUTE`` - * ``HOUR`` - * ``DAY`` - * ``WEEK`` - * ``MONTH`` - * ``QUARTER`` - * ``YEAR`` - * ``SECOND_MICROSECOND`` - * ``MINUTE_MICROSECOND`` - * ``MINUTE_SECOND`` - * ``HOUR_MICROSECOND`` - * ``HOUR_SECOND`` - * ``HOUR_MINUTE`` - * ``DAY_MICROSECOND`` - * ``DAY_SECOND`` - * ``DAY_MINUTE`` - * ``DAY_HOUR`` - - Types for cast - * ``BINARY[(N)]`` - * ``CHAR[(N)]`` - * ``DATE`` - * ``DATETIME`` - * ``DECIMAL[(M[,D])]`` - * ``JSON`` - * ``SIGNED [INTEGER]`` - * ``TIME`` - * ``UNSIGNED [INTEGER]`` - - .. productionlist:: - operator: `name` "(" [ `expr` ["," `expr` ]* ] ")" + * list of parameters @@ -16661,20 +17174,37 @@ - required + * name of operator + + Gets whether the "name" field is set + + + Clears the value of the "name" field + Field number for the "param" field. + + + * list of parameters + + - - an object (with expression values) - + + * + An object (with expression values) + Field number for the "fld" field. + + + * list of fields + + Container for nested types declared in the Object message type. @@ -16683,25 +17213,37 @@ - required + * identifier of field + + Gets whether the "key" field is set + + + Clears the value of the "key" field + Field number for the "value" field. - required + * value of field - - a Array of expressions - + + * + An array of expressions + Field number for the "value" field. + + + * list of values + + Holder for reflection information generated from mysqlx_notice.proto @@ -16710,19 +17252,16 @@ - Common Frame for all Notices + * + Common frame for all notices - ===================================================== ===== - .type value - ===================================================== ===== - :protobuf:msg:`Mysqlx.Notice::Warning` 1 - :protobuf:msg:`Mysqlx.Notice::SessionVariableChanged` 2 - :protobuf:msg:`Mysqlx.Notice::SessionStateChanged` 3 - ===================================================== ===== - - :param type: the type of the payload - :param payload: the payload of the notification - :param scope: global or local notification + | ``.type`` | Value | + |---------------------------------------------------|------ | + | @ref Mysqlx::Notice::Warning | 1 | + | @ref Mysqlx::Notice::SessionVariableChanged | 2 | + | @ref Mysqlx::Notice::SessionStateChanged | 3 | + | @ref Mysqlx::Notice::GroupReplicationStateChanged | 4 | + | @ref Mysqlx::Notice::ServerHello | 5 | @@ -16730,56 +17269,77 @@ - required + * the type of the payload + + Gets whether the "type" field is set + + + Clears the value of the "type" field + Field number for the "scope" field. - [ default = GLOBAL ];//optional + * global or local notification + + Gets whether the "scope" field is set + + + Clears the value of the "scope" field + Field number for the "payload" field. - optional + * the payload of the notification + + Gets whether the "payload" field is set + + + Clears the value of the "payload" field + Container for nested types declared in the Frame message type. + + + * scope of notice + + + + + * type of notice payload + + - Server-side warnings and notes + * + Server-side warnings and notes - ``.scope`` == ``local`` - ``.level``, ``.code`` and ``.msg`` map the content of + @par ``.scope`` == ``local`` + ``.level``, ``.code`` and ``.msg`` map the content of: + @code{sql} + SHOW WARNINGS + @endcode - .. code-block:: sql + @par ``.scope`` == ``global`` + (undefined) Will be used for global, unstructured messages like: + - server is shutting down + - a node disconnected from group + - schema or table dropped - SHOW WARNINGS - - ``.scope`` == ``global`` - (undefined) will be used for global, unstructured messages like: - - * server is shutting down - * a node disconnected from group - * schema or table dropped - - ========================================== ======================= - :protobuf:msg:`Mysqlx.Notice::Frame` field value - ========================================== ======================= - ``.type`` 1 - ``.scope`` ``local`` or ``global`` - ========================================== ======================= - - :param level: warning level: Note or Warning - :param code: warning code - :param msg: warning message + | @ref Mysqlx::Notice::Frame Field | Value | + |-----------------------------------|-------------------------| + | ``.type`` | 1 | + | ``.scope`` | ``local`` or ``global`` | @@ -16787,48 +17347,61 @@ - [ default = WARNING ];//optional + * Note or Warning + + Gets whether the "level" field is set + + + Clears the value of the "level" field + Field number for the "code" field. - required + * warning code + + Gets whether the "code" field is set + + + Clears the value of the "code" field + Field number for the "msg" field. - required + * warning message + + Gets whether the "msg" field is set + + + Clears the value of the "msg" field + Container for nested types declared in the Warning message type. - Notify clients about changes to the current session variables + * + Notify clients about changes to the current session variables. - Every change to a variable that is accessible through: + Every change to a variable that is accessible through: - .. code-block:: sql + @code{sql} + SHOW SESSION VARIABLES + @endcode - SHOW SESSION VARIABLES - - ========================================== ========= - :protobuf:msg:`Mysqlx.Notice::Frame` field value - ========================================== ========= - ``.type`` 2 - ``.scope`` ``local`` - ========================================== ========= - - :param namespace: namespace that param belongs to - :param param: name of the variable - :param value: the changed value of param + | @ref Mysqlx::Notice::Frame Field | Value | + |-----------------------------------|----------| + | ``.type`` | 2 | + | ``.scope`` | ``local``| @@ -16836,30 +17409,21 @@ - required + * name of the variable + + Gets whether the "param" field is set + + + Clears the value of the "param" field + Field number for the "value" field. - optional - - - - - Notify clients about changes to the internal session state - - ========================================== ========= - :protobuf:msg:`Mysqlx.Notice::Frame` field value - ========================================== ========= - ``.type`` 3 - ``.scope`` ``local`` - ========================================== ========= - - :param param: parameter key - :param value: updated value + * the changed value of param @@ -16867,12 +17431,23 @@ - required + * parameter key + + Gets whether the "param" field is set + + + Clears the value of the "param" field + Field number for the "value" field. + + + * updated value + + Container for nested types declared in the SessionStateChanged message type. @@ -16881,6 +17456,59 @@ .. more to be added + + + * + Notify clients about group replication state changes + + | @ref Mysqlx::Notice::Frame Field | Value | + |-----------------------------------|------------| + |``.type`` | 4 | + |``.scope`` | ``global`` | + + + + Field number for the "type" field. + + + + * type of group replication event + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "view_id" field. + + + + * view identifier + + + + Gets whether the "view_id" field is set + + + Clears the value of the "view_id" field + + + Container for nested types declared in the GroupReplicationStateChanged message type. + + + + * + Notify clients about connection to X Protocol server + + | @ref Mysqlx::Notice::Frame Field | Value | + |-----------------------------------|------------| + |``.type`` | 5 | + |``.scope`` | ``global`` | + + Holder for reflection information generated from mysqlx_prepare.proto @@ -16889,20 +17517,19 @@ - Prepare a new statement + * + Prepare a new statement - .. uml:: + @startuml + client -> server: Prepare + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + @enduml - client -> server: Prepare - alt Success - client <- server: Ok - else Failure - client <- server: Error - end - - :param stmt_id: client side assigned statement id, which is going to identify the result of preparation - :param stmt: defines one of following messages to be prepared - Crud.Find, Crud.Insert, Crud.Delete, Crud.Upsert, Sql.StmtExecute - :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + @returns @ref Mysqlx::Ok or @ref Mysqlx::Error @@ -16910,15 +17537,23 @@ - required + * client-side assigned statement ID, which is going to identify + the result of preparation + + Gets whether the "stmt_id" field is set + + + Clears the value of the "stmt_id" field + Field number for the "stmt" field. - required + * defines one of following messages to be prepared: + Crud::Find, Crud::Insert, Crud::Delete, Crud::Upsert, Sql::StmtExecute @@ -16927,54 +17562,27 @@ Field number for the "type" field. - - - required - + + Gets whether the "type" field is set + + + Clears the value of the "type" field Field number for the "find" field. - - - optional - - Field number for the "insert" field. - - - optional - - Field number for the "update" field. - - - optional - - Field number for the "delete" field. - - - optional - - Field number for the "stmt_execute" field. - - - optional - - - - Enum of possible cases for the "Type_present" oneof. - Container for nested types declared in the OneOfMessage message type. @@ -16986,22 +17594,20 @@ - Execute already prepared statement + * + Execute already-prepared statement - .. uml:: + @startuml - client -> server: Execute - alt Success - ... Resultsets... - client <- server: StmtExecuteOk - else Failure - client <- server: Error - end - - :param stmt_id: client side assigned statement id, must be already prepared - :param args_list: Arguments to bind to the prepared statement - :param compact_metadata: send only type information for :protobuf:msg:`Mysqlx.Resultset::ColumnMetadata`, skipping names and others - :Returns: :protobuf:msg:`Mysqlx.Ok::` + client -> server: Execute + alt Success + ... Resultsets... + client <- server: StmtExecuteOk + else Failure + client <- server: Error + end + @enduml + @returns @ref Mysqlx::Ok @@ -17009,37 +17615,53 @@ - required + * client-side assigned statement ID, must be already prepared + + Gets whether the "stmt_id" field is set + + + Clears the value of the "stmt_id" field + Field number for the "args" field. + + + * Arguments to bind to the prepared statement + + Field number for the "compact_metadata" field. - - [ default = false ]; optional - + + * send only type information for + @ref Mysqlx::Resultset::ColumnMetaData, skipping names and others + + + + Gets whether the "compact_metadata" field is set + + + Clears the value of the "compact_metadata" field - Deallocate already prepared statement + * + Deallocate already-prepared statement - Deallocating the statement. + @startuml + client -> server: Deallocate + alt Success + client <- server: Ok + else Failure + client <- server: Error + end + @enduml - .. uml:: - - client -> server: Deallocate - alt Success - client <- server: Ok - else Failure - client <- server: Error - end - - :param stmt_id: client side assigned statement id, must be already prepared - :Returns: :protobuf:msg:`Mysqlx.Ok|Mysqlx.Error` + @returns @ref Mysqlx::Ok or @ref Mysqlx::Error @@ -17047,9 +17669,15 @@ - required + * client-side assigned statement ID, must be already prepared + + Gets whether the "stmt_id" field is set + + + Clears the value of the "stmt_id" field + Holder for reflection information generated from mysqlx_resultset.proto @@ -17058,417 +17686,597 @@ - a hint about the higher-level encoding of a BYTES field + * + A hint about the higher-level encoding of a BYTES field - ====== ====== =========== - type value description - ====== ====== =========== - BYTES 0x0001 GEOMETRY (WKB encoding) - BYTES 0x0002 JSON (text encoding) - BYTES 0x0003 XML (text encoding) - ====== ====== =========== + |type | value | description | + |------| -------|-------------------------| + |BYTES | 0x0001 | GEOMETRY (WKB encoding) | + |BYTES | 0x0002 | JSON (text encoding) | + |BYTES | 0x0003 | XML (text encoding) | - .. note:: - this list isn't comprehensive. As guideline: the field's value is expected - to pass a validator check on client and server if this field is set. - If the server adds more internal datatypes that rely on BLOB storage - like image manipulation, seeking into complex types in BLOBs, ... more - types will be added. + @note + this list isn't comprehensive. As a guideline: the field's value is expected + to pass a validator check on client and server if this field is set. + If the server adds more internal datatypes that rely on BLOB storage + like image manipulation, seeking into complex types in BLOBs, ... more + types will be added. - a hint about the higher-level encoding of a DATETIME field + * + A hint about the higher-level encoding of a DATETIME field - ====== ====== =========== - type value description - ======== ====== =========== - DATE 0x0001 DATETIME contains only date part - DATETIME 0x0002 DATETIME contains both date and time parts - ====== ====== =========== + |type |value |description | + |---------|-------|-------------------------------------------| + |DATE |0x0001 |DATETIME contains only date part | + |DATETIME |0x0002 |DATETIME contains both date and time parts | - - resultsets are finished, OUT paramset is next - + + * + Resultsets are finished, OUT paramset is next: + - - resultset and out-params are finished, but more resultsets available - + + * + Resultset and out-params are finished, but more resultsets available + - - all resultsets are finished - + + * + All resultsets are finished + - - cursor is opened still the execution of PrepFetch or PrepExecute ended - + + * + Cursor is opened; still, the execution of PrepFetch or PrepExecute ended + - meta data of a Column - - .. note:: the encoding used for the different ``bytes`` fields in the meta data is externally - controlled. - .. seealso:: https://dev.mysql.com/doc/refman/8.0/en/charset-connection.html - - .. note:: - The server may not set the ``original_{table|name}`` fields if they are equal to the plain - ``{table|name}`` field. - - A client has to reconstruct it like:: - - if .original_name is empty and .name is not empty: - .original_name = .name - - if .original_table is empty and .table is not empty: - .original_table = .table - - .. note:: - ``compact metadata format`` can be requested by the client. In that case only ``.type`` is set and - all other fields are empty. - - :param type: - .. table:: Expected Datatype of Mysqlx.Resultset.Row per SQL Type for non NULL values - - ================= ============ ======= ========== ====== ======== - SQL Type .type .length .frac_dig .flags .charset - ================= ============ ======= ========== ====== ======== - TINY SINT x - TINY UNSIGNED UINT x x - SHORT SINT x - SHORT UNSIGNED UINT x x - INT24 SINT x - INT24 UNSIGNED UINT x x - INT SINT x - INT UNSIGNED UINT x x - LONGLONG SINT x - LONGLONG UNSIGNED UINT x x - DOUBLE DOUBLE x x x - FLOAT FLOAT x x x - DECIMAL DECIMAL x x x - VARCHAR,CHAR,... BYTES x x x - GEOMETRY BYTES - TIME TIME x - DATE DATETIME x - DATETIME DATETIME x - YEAR UINT x x - TIMESTAMP DATETIME x - SET SET x - ENUM ENUM x - NULL BYTES - BIT BIT x - ================= ============ ======= ========== ====== ======== + * + Meta data of a column + + @note + The encoding used for the different ``bytes`` fields in the + meta data is externally controlled. See also: + https://dev.mysql.com/doc/refman/5.0/en/charset-connection.html + + @par + @note + The server may not set the ``original_{table|name}`` fields + if they are equal to the plain ``{table|name}`` field. + + @par + @note + A client has to reconstruct it like: + @code{py} + if .original_name is empty and .name is not empty: + .original_name = .name + + if .original_table is empty and .table is not empty: + .original_table = .table + @endcode + + @par + @note + ``Compact metadata format`` can be requested by the client. + In that case, only ``.type`` is set and all other fields are empty. + + Expected data type of Mysqlx.Resultset.Row per SQL Type for + non-NULL values: + + | SQL Type | .type | .length | .frac\_dig | .flags | .charset | + |-------------------|-----------|---------|------------|--------|----------| + | TINY | SINT | x | | | | + | TINY UNSIGNED | UINT | x | | x | | + | SHORT | SINT | x | | | | + | SHORT UNSIGNED | UINT | x | | x | | + | INT24 | SINT | x | | | | + | INT24 UNSIGNED | UINT | x | | x | | + | INT | SINT | x | | | | + | INT UNSIGNED | UINT | x | | x | | + | LONGLONG | SINT | x | | | | + | LONGLONG UNSIGNED | UINT | x | | x | | + | DOUBLE | DOUBLE | x | x | x | | + | FLOAT | FLOAT | x | x | x | | + | DECIMAL | DECIMAL | x | x | x | | + | VARCHAR,CHAR,... | BYTES | x | | x | x | + | GEOMETRY | BYTES | | | | | + | TIME | TIME | x | | | | + | DATE | DATETIME | x | | | | + | DATETIME | DATETIME | x | | | | + | YEAR | UINT | x | | x | | + | TIMESTAMP | DATETIME | x | | | | + | SET | SET | | | | x | + | ENUM | ENUM | | | | x | + | NULL | BYTES | | | | | + | BIT | BIT | x | | | | + + @note + The SQL "NULL" value is sent as an empty field value in + @ref Mysqlx::Resultset::Row. + + @par Tip + The protobuf encoding of primitive data types is described in + https://developers.google.com/protocol-buffers/docs/encoding + + + SINT + + - ``.length`` @n + Maximum number of displayable decimal digits (including + minus sign) of the type. + @note + The valid range is 0-255, but usually you'll see 1-20. + + | SQL Type | Maximum Digits per Type | + |------------------|-------------------------| + | TINY SIGNED | 4 | + | SHORT SIGNED | 6 | + | INT24 SIGNED | 8 | + | INT SIGNED | 11 | + | LONGLONG SIGNED | 20 | + + @par Tip + Definition of ``M`` are in + https://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html. + + - ``value``@n + Variable length encoded signed 64 integer. + + + UINT + + - ``.flags & 1`` (zerofill) @n + The client has to left pad with 0's up to .length. + + - ``.length`` @n + Maximum number of displayable decimal digits of the + type. + @note + The valid range is 0-255, but usually you'll see + 1-20. + + | SQL Type | max digits per type | + |----------------------|---------------------| + | TINY UNSIGNED | 3 | + | SHORT UNSIGNED | 5 | + | INT24 UNSIGNED | 8 | + | INT UNSIGNED | 10 | + | LONGLONG UNSIGNED | 20 | + + @par Tip + Definition of ``M`` are in + https://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html. + + - ``value`` @n + Variable length encoded unsigned 64 integer. + + + BIT + + - ``.length`` @n + Maximum number of displayable binary digits. + @note + The valid range for M of the ``BIT`` type is 1 - 64. + + @par Tip + https://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html + + - ``value`` @n + Variable length encoded unsigned 64 integer. + + + DOUBLE + + - ``.length`` @n + Maximum number of displayable decimal digits (including + the decimal point and ``.fractional_digits``). + + - ``.fractional_digits`` @n + Maximum number of displayable decimal digits following + the decimal point. + + - ``value``@n + Encoded as protobuf's 'double'. + + + FLOAT + + - ``.length``@n + Maximum number of displayable decimal digits (including + the decimal point and ``.fractional_digits``). - .. note:: the SQL "NULL" value is sent as an empty field value in :protobuf:msg:`Mysqlx.Resultset::Row` - .. seealso:: protobuf encoding of primitive datatypes are decribed in https://developers.google.com/protocol-buffers/docs/encoding + - ``.fractional_digits``@n + Maximum number of displayable decimal digits following + the decimal point. - SINT + - ``value``@n + Encoded as protobuf's 'float'. - ``.length`` - maximum number of displayable decimal digits (including minus sign) of the type - - .. note:: - valid range is 0-255, but usually you'll see 1-20 - - =============== == - SQL Type max digits per type - =============== == - TINY SIGNED 4 - SHORT SIGNED 6 - INT24 SIGNED 8 - INT SIGNED 11 - LONGLONG SIGNED 20 - =============== == - - .. seealso:: definition of ``M`` in https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html - - ``value`` - variable length encoded signed 64 integer - - UINT - - ``.flags & 1`` (zerofill) - the client has to left pad with 0's up to .length - - ``.length`` - maximum number of displayable decimal digits of the type - - .. note:: - valid range is 0-255, but usually you'll see 1-20 - - ================= == - SQL Type max digits per type - ================= == - TINY UNSIGNED 3 - SHORT UNSIGNED 5 - INT24 UNSIGNED 8 - INT UNSIGNED 10 - LONGLONG UNSIGNED 20 - ================= == - - .. seealso:: definition of ``M`` in https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html - - ``value`` - variable length encoded unsigned 64 integer - - BIT - - ``.length`` - maximum number of displayable binary digits - - .. note:: valid range for M of the ``BIT`` type is 1 - 64 - .. seealso:: https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html - - ``value`` - variable length encoded unsigned 64 integer - - DOUBLE - - ``.length`` - maximum number of displayable decimal digits (including the decimal point and ``.fractional_digits``) - - ``.fractional_digits`` - maximum number of displayable decimal digits following the decimal point - - ``value`` - encoded as Protobuf's 'double' - - FLOAT - - ``.length`` - maximum number of displayable decimal digits (including the decimal point and ``.fractional_digits``) - - ``.fractional_digits`` - maximum number of displayable decimal digits following the decimal point + + BYTES, ENUM + @note + BYTES is used for all opaque byte strings that may have a charset: + - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB + - TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT + - VARCHAR, VARBINARY + - CHAR, BINARY + - ENUM - ``value`` - encoded as Protobuf's 'float' + - ``.length``@n + Maximum length of characters of the underlying type. - BYTES, ENUM - BYTES is used for all opaque byte strings that may have a charset + - ``.flags & 1`` (rightpad) @n + If the length of the field is less than ``.length``, the + receiver is supposed to add padding characters to the + right end of the string. If the ``.charset`` is + "binary", the padding character is ``0x00``, otherwise + it is a space character as defined by that character + set. + | SQL Type | .length | .charset | .flags | + |---------------|----------|-----------|----------| + | TINYBLOB | 256 | binary | | + | BLOB | 65535 | binary | | + | VARCHAR(32) | 32 | utf8 | | + | VARBINARY(32) | 32 | utf8\_bin | | + | BINARY(32) | 32 | binary | rightpad | + | CHAR(32) | 32 | utf8 | rightpad | - * TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB - * TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT - * VARCHAR, VARBINARY - * CHAR, BINARY - * ENUM + - ``value`` + Sequence of bytes with added one extra ``0x00`` byte at + the end. To obtain the original string, the extra + ``0x00`` should be removed. The length of the string can + be acquired with protobuf's field ``length()`` method: - ``.length`` - the maximum length of characters of the underlying type + ``length of sequence-of-bytes = length-of-field - 1`` + @note + The extra byte allows to distinguish between a NULL + and empty byte sequence. - ``.flags & 1`` (rightpad) - if the length of the field is less than ``.length``, the receiver is - supposed to add padding characters to the right end of the string. - If the ``.charset`` is "binary", the padding character is ``0x00``, - otherwise it is a space character as defined by that character set. + + TIME - ============= ======= ======== ======= - SQL Type .length .charset .flags - ============= ======= ======== ======= - TINYBLOB 256 binary - BLOB 65535 binary - VARCHAR(32) 32 utf8 - VARBINARY(32) 32 utf8_bin - BINARY(32) 32 binary rightpad - CHAR(32) 32 utf8 rightpad - ============= ======= ======== ======= + A time value. - ``value`` - sequence of bytes with added one extra '\0' byte at the end. To obtain the - original string, the extra '\0' should be removed. - .. note:: the length of the string can be acquired with protobuf's field length() method - length of sequence-of-bytes = length-of-field - 1 - .. note:: the extra byte allows to distinguish between a NULL and empty byte sequence + - ``value``@n + The following bytes sequence: - TIME - A time value. + ``negate [ hour [ minutes [ seconds [ useconds ]]]]`` - ``value`` - the following bytes sequence: + - negate - one byte, should be one of: 0x00 for "+", + 0x01 for "-" - ``| negate [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` + - hour - optional variable length encoded unsigned64 + value for the hour - * negate - one byte, should be one of: 0x00 for "+", 0x01 for "-" - * hour - optional variable length encoded unsigned64 value for the hour - * minutes - optional variable length encoded unsigned64 value for the minutes - * seconds - optional variable length encoded unsigned64 value for the seconds - * useconds - optional variable length encoded unsigned64 value for the microseconds + - minutes - optional variable length encoded unsigned64 + value for the minutes - .. seealso:: protobuf encoding in https://developers.google.com/protocol-buffers/docs/encoding - .. note:: hour, minutes, seconds, useconds are optional if all the values to the right are 0 + - seconds - optional variable length encoded unsigned64 + value for the seconds - Example: 0x00 -> +00:00:00.000000 + - useconds - optional variable length encoded + unsigned64 value for the microseconds - DATETIME - A date or date and time value. + @par Tip + The protobuf encoding in + https://developers.google.com/protocol-buffers/docs/encoding. - ``value`` - a sequence of variants, arranged as follows: + @note + Hour, minutes, seconds, and useconds are optional if + all the values to the right are 0. - ``| year | month | day | [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` + Example: ``0x00 -> +00:00:00.000000`` - * year - variable length encoded unsigned64 value for the year - * month - variable length encoded unsigned64 value for the month - * day - variable length encoded unsigned64 value for the day - * hour - optional variable length encoded unsigned64 value for the hour - * minutes - optional variable length encoded unsigned64 value for the minutes - * seconds - optional variable length encoded unsigned64 value for the seconds - * useconds - optional variable length encoded unsigned64 value for the microseconds - - .. note:: hour, minutes, seconds, useconds are optional if all the values to the right are 0 - - ``.flags & 1`` (timestamp) - - ============= ======= - SQL Type .flags - ============= ======= - DATETIME - TIMESTAMP 1 - - DECIMAL - An arbitrary length number. The number is encoded as a single byte - indicating the position of the decimal point followed by the Packed BCD - encoded number. Packed BCD is used to simplify conversion to and - from strings and other native arbitrary precision math datatypes. - .. seealso:: packed BCD in https://en.wikipedia.org/wiki/Binary-coded_decimal - - ``.length`` - maximum number of displayable decimal digits (*excluding* the decimal point and sign, but including ``.fractional_digits``) - - .. note:: should be in the range of 1 - 65 - - ``.fractional_digits`` - is the decimal digits to display out of length - - .. note:: should be in the range of 0 - 30 - - ``value`` - the following bytes sequence: - - ``| scale | BCD | sign | [0x0] |`` - - * scale - 8bit scale value (number of decimal digit after the '.') - * BCD - BCD encoded digits (4 bits for each digit) - * sign - sign encoded on 4 bits (0xc = "+", 0xd = "-") - * 0x0 - last 4bits if length(digits) % 2 == 0 - - Example: x04 0x12 0x34 0x01 0xd0 -> -12.3401 - - SET - A list of strings representing a SET of values. - - ``value`` - A sequence of 0 or more of protobuf's bytes (length prepended octets) or one of - the special sequences with a predefined meaning listed below. - - Example (length of the bytes array shown in brackets): - * ``[0]`` - the NULL value - * ``[1] 0x00`` - a set containing a blank string '' - * ``[1] 0x01`` - this would be an invalid value, but is to be treated as the empty set - * ``[2] 0x01 0x00`` - a set with a single item, which is the '\0' character - * ``[8] 0x03 F O O 0x03 B A R`` - a set with 2 items: FOO,BAR - - :param name: name of the column - :param original_name: name of the column before an alias was applied - :param table: name of the table the column orginates from - :param original_table: name of the table the column orginates from before an alias was applied - :param schema: schema the column originates from - :param catalog: - catalog the schema originates from - - .. note:: - as there is current no support for catalogs in MySQL, don't expect this field to be set. - In the MySQL C/S protocol the field had the value ``def`` all the time. - - :param fractional_digits: displayed factional decimal digits for floating point and fixed point numbers - :param length: maximum count of displayable characters of .type - :param flags: - ``.type`` specific flags - - ======= ====== =========== - type value description - ======= ====== =========== - UINT 0x0001 zerofill - DOUBLE 0x0001 unsigned - FLOAT 0x0001 unsigned - DECIMAL 0x0001 unsigned - BYTES 0x0001 rightpad - ======= ====== =========== - - ====== ================ - value description - ====== ================ - 0x0010 NOT_NULL - 0x0020 PRIMARY_KEY - 0x0040 UNIQUE_KEY - 0x0080 MULTIPLE_KEY - 0x0100 AUTO_INCREMENT - ====== ================ - - default: 0 - :param content_type: - a hint about the higher-level encoding of a BYTES field, for more informations - please refer to Mysqlx.Resultset.ContentType_BYTES enum. + + DATETIME + + A date or date and time value. + + - ``value`` @n + A sequence of variants, arranged as follows: + + ``| year | month | day | [ | hour | [ | minutes | [ | seconds | [ | useconds | ]]]]`` + + - year - variable length encoded unsigned64 value for + the year + + - month - variable length encoded unsigned64 value for + the month + + - day - variable length encoded unsigned64 value for + the day + + - hour - optional variable length encoded unsigned64 + value for the hour + + - minutes - optional variable length encoded unsigned64 + value for the minutes + + - seconds - optional variable length encoded unsigned64 + value for the seconds + + - useconds - optional variable length encoded + unsigned64 value for the microseconds + @note + Hour, minutes, seconds, useconds are optional if all + the values to the right are 0. + + - ``.flags``@n + | Name | Position | + |---------------|----------| + | is\_timestamp | 1 | + + + DECIMAL + + An arbitrary length number. The number is encoded as a + single byte indicating the position of the decimal point + followed by the Packed BCD encoded number. Packed BCD is + used to simplify conversion to and from strings and other + native arbitrary precision math data types. See also: packed + BCD in https://en.wikipedia.org/wiki/Binary-coded_decimal + + - ``.length`` + Maximum number of displayable decimal digits + (*excluding* the decimal point and sign, but including + ``.fractional_digits``). + @note + Should be in the range of 1 - 65. + + - ``.fractional_digits`` + The decimal digits to display out of length. + @note + Should be in the range of 0 - 30. + + ``value`` + The following bytes sequence: + + ``scale | BCD+ sign [0x00]?`` + + - scale - 8bit scale value (number of decimal digit after the '.') + + - BCD - BCD encoded digits (4 bits for each digit) + + - sign - sign encoded on 4 bits (0xc = "+", 0xd = "-") + + - 0x0 - last 4bits if length(digits) % 2 == 0 + + Example: ``x04 0x12 0x34 0x01 + 0xd0 -> -12.3401`` + + + SET + + A list of strings representing a SET of values. + + - ``value``@n + A sequence of 0 or more of protobuf's bytes (length + prepended octets) or one of the special sequences with a + predefined meaning listed below. + + Example (length of the bytes array shown in brackets): + - ``[0]`` - the NULL value + + - ``[1] 0x00`` - a set containing a blank string '' + + - ``[1] 0x01`` - this would be an invalid value, + but is to be treated as the empty set + + - ``[2] 0x01 0x00`` - a set with a single item, which is the '0' + character + + - ``[8] 0x03 F O O 0x03 B A R`` - a set with 2 items: FOO,BAR Field number for the "type" field. - - datatype of the field in a row - + + * datatype of the field in a row + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field Field number for the "name" field. + + + * name of the column + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + Field number for the "original_name" field. + + + * name of the column before an alias was applied + + + + Gets whether the "original_name" field is set + + + Clears the value of the "original_name" field + Field number for the "table" field. + + + * name of the table the column originates from + + + + Gets whether the "table" field is set + + + Clears the value of the "table" field + Field number for the "original_table" field. + + + * name of the table the column originates from before an alias was applied + + + + Gets whether the "original_table" field is set + + + Clears the value of the "original_table" field + Field number for the "schema" field. + + + * schema the column originates from + + + + Gets whether the "schema" field is set + + + Clears the value of the "schema" field + Field number for the "catalog" field. + + + * catalog the schema originates from + @note + As there is currently no support for catalogs in MySQL, + don't expect this field to be set. In the MySQL C/S + protocol the field had the value ``def`` all the time + + + + Gets whether the "catalog" field is set + + + Clears the value of the "catalog" field + Field number for the "collation" field. + + Gets whether the "collation" field is set + + + Clears the value of the "collation" field + Field number for the "fractional_digits" field. + + + * displayed factional decimal digits for floating point and + fixed point numbers + + + + Gets whether the "fractional_digits" field is set + + + Clears the value of the "fractional_digits" field + Field number for the "length" field. + + + * maximum count of displayable characters of .type + + + + Gets whether the "length" field is set + + + Clears the value of the "length" field + Field number for the "flags" field. + + + * ``.type`` specific flags + | Type | Value | Description | + |---------|--------|--------------| + | UINT | 0x0001 | zerofill | + | DOUBLE | 0x0001 | unsigned | + | FLOAT | 0x0001 | unsigned | + | DECIMAL | 0x0001 | unsigned | + | BYTES | 0x0001 | rightpad | + + | Value | Description | + |--------|-----------------| + | 0x0010 | NOT\_NULL | + | 0x0020 | PRIMARY\_KEY | + | 0x0040 | UNIQUE\_KEY | + | 0x0080 | MULTIPLE\_KEY | + | 0x0100 | AUTO\_INCREMENT | + + default: 0 + + + + Gets whether the "flags" field is set + + + Clears the value of the "flags" field + Field number for the "content_type" field. + + + * a hint about the higher-level encoding of a BYTES field + | Type | Value | Description | + |--------|--------|-------------------------| + | BYTES | 0x0001 | GEOMETRY (WKB encoding) | + | BYTES | 0x0002 | JSON (text encoding) | + | BYTES | 0x0003 | XML (text encoding) | + @note + This list isn't comprehensive. As a guideline: the field's + value is expected to pass a validator check on client + and server if this field is set. If the server adds more + internal data types that rely on BLOB storage like image + manipulation, seeking into complex types in BLOBs, and + more types will be added + + + + Gets whether the "content_type" field is set + + + Clears the value of the "content_type" field + Container for nested types declared in the ColumnMetaData message type. - Row in a Resultset + * + Row in a Resultset. - a row is represented as a list of fields encoded as byte blobs. - Blob of size 0 represents the NULL value. Otherwise, if it contains at least - one byte, it encodes a non-null value of the field using encoding appropriate for the - type of the value given by ``ColumnMetadata``, as specified - in the :protobuf:msg:`Mysqlx.Resultset::ColumnMetaData` description. + A row is represented as a list of fields encoded as byte blobs. + Value of each field is encoded as sequence of bytes using + encoding appropriate for the type of the value given by + ``ColumnMetadata``, as specified in the @ref Mysqlx::Resultset::ColumnMetaData + description. @@ -17482,13 +18290,11 @@ - the initial message send from the client to the server to start the - authentication proccess + * + The initial message send from the client to the server to start + the authentication process. - :param mech_name: authentication mechanism name - :param auth_data: authentication data - :param initial_response: initial response - :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` + @returns @ref Mysqlx::Session::AuthenticateContinue @@ -17496,22 +18302,50 @@ - required + * authentication mechanism name + + Gets whether the "mech_name" field is set + + + Clears the value of the "mech_name" field + Field number for the "auth_data" field. + + + * authentication data + + + + Gets whether the "auth_data" field is set + + + Clears the value of the "auth_data" field + Field number for the "initial_response" field. + + + * initial response + + + + Gets whether the "initial_response" field is set + + + Clears the value of the "initial_response" field + - send by client or server after a :protobuf:msg:`Mysqlx.Session::AuthenticateStart` to - exchange more auth data + * + Send by client or server after an @ref Mysqlx::Session::AuthenticateStart + to exchange more authentication data. - :param auth_data: authentication data - :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` + @returns Mysqlx::Session::AuthenticateContinue @@ -17519,36 +18353,64 @@ - required + * authentication data + + Gets whether the "auth_data" field is set + + + Clears the value of the "auth_data" field + - sent by the server after successful authentication - - :param auth_data: authentication data + * + Sent by the server after successful authentication. Field number for the "auth_data" field. + + + * authentication data + + + + Gets whether the "auth_data" field is set + + + Clears the value of the "auth_data" field + - reset the current session - param keep_open: if is true the session will be reset, but stays authenticated. - otherwise, the session will be closed and needs to be authenticated again. + * + Reset the current session. - :Returns: :protobuf:msg:`Mysqlx::Ok` + @returns @ref Mysqlx::Ok Field number for the "keep_open" field. + + + * if is true the session will be reset, but stays authenticated; otherwise, + the session will be closed and needs to be authenticated again + + + + Gets whether the "keep_open" field is set + + + Clears the value of the "keep_open" field + - close the current session + * + Close the current session. - :Returns: :protobuf:msg:`Mysqlx::Ok` + @returns @ref Mysqlx::Ok @@ -17559,57 +18421,78 @@ - execute a statement in the given namespace - .. uml:: + Execute a statement in the given namespace. - client -> server: StmtExecute - ... zero or more Resultsets ... - server --> client: StmtExecuteOk + @startuml "Execute Statements" + client -> server: StmtExecute + ... zero or more Resultsets ... + server --> client: StmtExecuteOk + @enduml - Notices: - This message may generate a notice containing WARNINGs generated by its execution. - This message may generate a notice containing INFO messages generated by its execution. + @notice This message may generate a notice containing WARNINGs generated by + its execution. This message may generate a notice containing INFO messages + generated by its execution. - :param namespace: namespace of the statement to be executed - :param stmt: statement that shall be executed. - :param args: values for wildcard replacements - :param compact_metadata: send only type information for :protobuf:msg:`Mysqlx.Resultset::ColumnMetadata`, skipping names and others - :returns: - * zero or one :protobuf:msg:`Mysqlx.Resultset::` followed by :protobuf:msg:`Mysqlx.Sql::StmtExecuteOk` + @returns zero or more @ref Mysqlx::Resultset followed by @ref Mysqlx::Sql::StmtExecuteOk Field number for the "namespace" field. - - optional [ default = "sql" ] - + + * namespace of the statement to be executed + + + + Gets whether the "namespace" field is set + + + Clears the value of the "namespace" field Field number for the "stmt" field. - - required - + + * statement that shall be executed + + + + Gets whether the "stmt" field is set + + + Clears the value of the "stmt" field Field number for the "args" field. + + + * values for wildcard replacements + + Field number for the "compact_metadata" field. - - optional [ default = false ] - + + * send only type information for @ref Mysqlx::Resultset::ColumnMetaData, + skipping names and others + + + + Gets whether the "compact_metadata" field is set + + + Clears the value of the "compact_metadata" field - - statement executed successful - + + * + Statement executed successfully + diff --git a/LeatherProject/GeBoShi/bin/Debug/Newtonsoft.Json.xml b/LeatherProject/GeBoShi/bin/Debug/Newtonsoft.Json.xml new file mode 100644 index 0000000..80cb43c --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/Newtonsoft.Json.xml @@ -0,0 +1,11363 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + The default value is false. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets the naming strategy used to resolve how enum text is written. + + The naming strategy used to resolve how enum text is written. + + + + Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. + The default value is true. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Initializes a new instance of the class. + + The naming strategy used to resolve how enum text is written. + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from Unix epoch time + + + + + Gets or sets a value indicating whether the dates before Unix epoch + should converted to and from JSON. + + + true to allow converting dates before Unix epoch to and from JSON; + false to throw an exception when a date being converted to or from JSON + occurred before Unix epoch. The default value is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + true to allow converting dates before Unix epoch to and from JSON; + false to throw an exception when a date being converted to or from JSON + occurred before Unix epoch. The default value is false. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Gets or sets a value indicating whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + true if special characters are encoded; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + The default JSON name table implementation. + + + + + Initializes a new instance of the class. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Adds the specified string into name table. + + The string to add. + This method is not thread-safe. + The resolved string. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Converts an object to and from JSON. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. If there is no existing value then null will be used. + The existing value has a value. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Base class for a table of atomized string objects. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the type used when serializing the property's collection items. + + The collection's items type. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + The default value is . + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + The default value is false. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + The default value is . + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + The default value is false. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + using values copied from the passed in . + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's property name table. + + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how duplicate property names are handled when loading JSON. + + + + + Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. + + + + + Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. + + + + + Throw a when a duplicate property is encountered. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a with the specified name. + + The property name. + A with the specified name or null. + + + + Gets the with the specified name. + The exact name will be searched for first and if no matching property is found then + the will be used to match a property. + + The property name. + One of the enumeration values that specifies how the strings will be compared. + A matched with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Determines whether the JSON object has the specified property name. + + Name of the property. + true if the JSON object has the specified property name; otherwise, false. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when cloning JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a flag that indicates whether to copy annotations when cloning a . + The default value is true. + + + A flag that indicates whether to copy annotations when cloning a . + + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + The default value is . + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + The default value is . + + The JSON line info handling. + + + + Gets or sets how duplicate property names in JSON objects are handled when loading JSON. + The default value is . + + The JSON duplicate property name handling. + + + + Specifies the settings used when merging JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Gets or sets the comparison used to match property names while merging. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + The comparison used to match property names while merging. + + + + Specifies the settings used when selecting JSON. + + + + + Gets or sets a timeout that will be used when executing regular expressions. + + The timeout that will be used when executing regular expressions. + + + + Gets or sets a flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + A flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + + + Represents an abstract JSON token. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A , or null. + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + The used to select tokens. + A . + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + The used to select tokens. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A object to configure cloning settings. + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. + + + true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. + + + true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether has a value specified. + + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + A kebab case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Helper class for serializing immutable collections. + Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed + https://github.com/JamesNK/Newtonsoft.Json/issues/652 + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + + + Initializes a new instance of the class. + + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/OpenCvSharp.Extensions.xml b/LeatherProject/GeBoShi/bin/Debug/OpenCvSharp.Extensions.xml new file mode 100644 index 0000000..08cfbd5 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/OpenCvSharp.Extensions.xml @@ -0,0 +1,148 @@ + + + + OpenCvSharp.Extensions + + + + + Various binarization methods (ATTENTION : The methods of this class is not implemented in OpenCV) + + + + + Binarizes by Niblack's method (This is faster but memory-hogging) + + Input image + Output image + Window size + Adequate coefficient + + + + Binarizes by Sauvola's method (This is faster but memory-hogging) + + Input image + Output image + Window size + Adequate coefficient + Adequate coefficient + + + + Binarizes by Bernsen's method + + Input image + Output image + Window size + Adequate coefficient + Adequate coefficient + + + + Binarizes by Nick's method + + Input image + Output image + Window size + Adequate coefficient + + + + 注目画素の周辺画素の最大値と最小値を求める + + 画像の画素データ + x座標 + y座標 + 周辺画素の探索サイズ。奇数でなければならない + 出力される最小値 + 出力される最大値 + + + + static class which provides conversion between System.Drawing.Bitmap and Mat + + + + + Converts System.Drawing.Bitmap to Mat + + System.Drawing.Bitmap object to be converted + A Mat object which is converted from System.Drawing.Bitmap + + + + Converts System.Drawing.Bitmap to Mat + + System.Drawing.Bitmap object to be converted + A Mat object which is converted from System.Drawing.Bitmap + + + + Converts Mat to System.Drawing.Bitmap + + Mat + + + + + Converts Mat to System.Drawing.Bitmap + + Mat + Pixel Depth + + + + + Converts Mat to System.Drawing.Bitmap + + Mat + Mat + Author: shimat, Gummo (ROI support) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides information for the platform which the user is using + + + + + OS type + + + + + Runtime type + + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/OpenCvSharp.xml b/LeatherProject/GeBoShi/bin/Debug/OpenCvSharp.xml new file mode 100644 index 0000000..7f23d80 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/OpenCvSharp.xml @@ -0,0 +1,39243 @@ + + + + OpenCvSharp + + + + + OpenCV Functions of C++ I/F (cv::xxx) + + + + + The ratio of a circle's circumference to its diameter + + + + + + + + + + + + + + + 引数がnullの時はIntPtr.Zeroに変換する + + + + + + + converts rotation vector to rotation matrix or vice versa using Rodrigues transformation + + Input rotation vector (3x1 or 1x3) or rotation matrix (3x3). + Output rotation matrix (3x3) or rotation vector (3x1 or 1x3), respectively. + Optional output Jacobian matrix, 3x9 or 9x3, which is a matrix of partial derivatives of the output array components with respect to the input array components. + + + + converts rotation vector to rotation matrix using Rodrigues transformation + + Input rotation vector (3x1). + Output rotation matrix (3x3). + Optional output Jacobian matrix, 3x9, which is a matrix of partial derivatives of the output array components with respect to the input array components. + + + + converts rotation matrix to rotation vector using Rodrigues transformation + + Input rotation matrix (3x3). + Output rotation vector (3x1). + Optional output Jacobian matrix, 3x9, which is a matrix of partial derivatives of the output array components with respect to the input array components. + + + + computes the best-fit perspective transformation mapping srcPoints to dstPoints. + + Coordinates of the points in the original plane, a matrix of the type CV_32FC2 + Coordinates of the points in the target plane, a matrix of the type CV_32FC2 + Method used to computed a homography matrix. + Maximum allowed reprojection error to treat a point pair as an inlier (used in the RANSAC method only) + Optional output mask set by a robust method ( CV_RANSAC or CV_LMEDS ). Note that the input mask values are ignored. + The maximum number of RANSAC iterations. + Confidence level, between 0 and 1. + + + + + computes the best-fit perspective transformation mapping srcPoints to dstPoints. + + Coordinates of the points in the original plane + Coordinates of the points in the target plane + Method used to computed a homography matrix. + Maximum allowed reprojection error to treat a point pair as an inlier (used in the RANSAC method only) + Optional output mask set by a robust method ( CV_RANSAC or CV_LMEDS ). Note that the input mask values are ignored. + The maximum number of RANSAC iterations. + Confidence level, between 0 and 1. + + + + + computes the best-fit perspective transformation mapping srcPoints to dstPoints. + + Coordinates of the points in the original plane, a matrix of the type CV_32FC2 + Coordinates of the points in the target plane, a matrix of the type CV_32FC2 + Optional output mask set by a robust method ( CV_RANSAC or CV_LMEDS ). Note that the input mask values are ignored. + + + + + + + Computes RQ decomposition of 3x3 matrix + + 3x3 input matrix. + Output 3x3 upper-triangular matrix. + Output 3x3 orthogonal matrix. + Optional output 3x3 rotation matrix around x-axis. + Optional output 3x3 rotation matrix around y-axis. + Optional output 3x3 rotation matrix around z-axis. + + + + + Computes RQ decomposition of 3x3 matrix + + 3x3 input matrix. + Output 3x3 upper-triangular matrix. + Output 3x3 orthogonal matrix. + + + + + Computes RQ decomposition of 3x3 matrix + + 3x3 input matrix. + Output 3x3 upper-triangular matrix. + Output 3x3 orthogonal matrix. + Optional output 3x3 rotation matrix around x-axis. + Optional output 3x3 rotation matrix around y-axis. + Optional output 3x3 rotation matrix around z-axis. + + + + + Decomposes the projection matrix into camera matrix and the rotation martix and the translation vector + + 3x4 input projection matrix P. + Output 3x3 camera matrix K. + Output 3x3 external rotation matrix R. + Output 4x1 translation vector T. + Optional 3x3 rotation matrix around x-axis. + Optional 3x3 rotation matrix around y-axis. + Optional 3x3 rotation matrix around z-axis. + ptional three-element vector containing three Euler angles of rotation in degrees. + + + + Decomposes the projection matrix into camera matrix and the rotation martix and the translation vector + + 3x4 input projection matrix P. + Output 3x3 camera matrix K. + Output 3x3 external rotation matrix R. + Output 4x1 translation vector T. + Optional 3x3 rotation matrix around x-axis. + Optional 3x3 rotation matrix around y-axis. + Optional 3x3 rotation matrix around z-axis. + ptional three-element vector containing three Euler angles of rotation in degrees. + + + + Decomposes the projection matrix into camera matrix and the rotation martix and the translation vector + + 3x4 input projection matrix P. + Output 3x3 camera matrix K. + Output 3x3 external rotation matrix R. + Output 4x1 translation vector T. + + + + computes derivatives of the matrix product w.r.t each of the multiplied matrix coefficients + + First multiplied matrix. + Second multiplied matrix. + First output derivative matrix d(A*B)/dA of size A.rows*B.cols X A.rows*A.cols . + Second output derivative matrix d(A*B)/dB of size A.rows*B.cols X B.rows*B.cols . + + + + composes 2 [R|t] transformations together. Also computes the derivatives of the result w.r.t the arguments + + First rotation vector. + First translation vector. + Second rotation vector. + Second translation vector. + Output rotation vector of the superposition. + Output translation vector of the superposition. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + + + + composes 2 [R|t] transformations together. Also computes the derivatives of the result w.r.t the arguments + + First rotation vector. + First translation vector. + Second rotation vector. + Second translation vector. + Output rotation vector of the superposition. + Output translation vector of the superposition. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + Optional output derivatives of rvec3 or tvec3 with regard to rvec1, rvec2, tvec1 and tvec2, respectively. + + + + composes 2 [R|t] transformations together. Also computes the derivatives of the result w.r.t the arguments + + First rotation vector. + First translation vector. + Second rotation vector. + Second translation vector. + Output rotation vector of the superposition. + Output translation vector of the superposition. + + + + projects points from the model coordinate space to the image coordinates. + Also computes derivatives of the image coordinates w.r.t the intrinsic + and extrinsic camera parameters + + Array of object points, 3xN/Nx3 1-channel or + 1xN/Nx1 3-channel, where N is the number of points in the view. + Rotation vector (3x1). + Translation vector (3x1). + Camera matrix (3x3) + Input vector of distortion coefficients + (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Output array of image points, 2xN/Nx2 1-channel + or 1xN/Nx1 2-channel + Optional output 2Nx(10 + numDistCoeffs) jacobian matrix + of derivatives of image points with respect to components of the rotation vector, + translation vector, focal lengths, coordinates of the principal point and + the distortion coefficients. In the old interface different components of + the jacobian are returned via different output parameters. + Optional “fixed aspect ratio” parameter. + If the parameter is not 0, the function assumes that the aspect ratio (fx/fy) + is fixed and correspondingly adjusts the jacobian matrix. + + + + projects points from the model coordinate space to the image coordinates. + Also computes derivatives of the image coordinates w.r.t the intrinsic + and extrinsic camera parameters + + Array of object points, 3xN/Nx3 1-channel or + 1xN/Nx1 3-channel, where N is the number of points in the view. + Rotation vector (3x1). + Translation vector (3x1). + Camera matrix (3x3) + Input vector of distortion coefficients + (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Output array of image points, 2xN/Nx2 1-channel + or 1xN/Nx1 2-channel + Optional output 2Nx(10 + numDistCoeffs) jacobian matrix + of derivatives of image points with respect to components of the rotation vector, + translation vector, focal lengths, coordinates of the principal point and + the distortion coefficients. In the old interface different components of + the jacobian are returned via different output parameters. + Optional “fixed aspect ratio” parameter. + If the parameter is not 0, the function assumes that the aspect ratio (fx/fy) + is fixed and correspondingly adjusts the jacobian matrix. + + + + Finds an object pose from 3D-2D point correspondences. + + Array of object points in the object coordinate space, 3xN/Nx3 1-channel or 1xN/Nx1 3-channel, + where N is the number of points. vector<Point3f> can be also passed here. + Array of corresponding image points, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel, + where N is the number of points. vector<Point2f> can be also passed here. + Input camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Output rotation vector that, together with tvec , brings points from the model coordinate system to the + camera coordinate system. + Output translation vector. + If true, the function uses the provided rvec and tvec values as initial approximations of + the rotation and translation vectors, respectively, and further optimizes them. + Method for solving a PnP problem: + + + + Finds an object pose from 3D-2D point correspondences. + + Array of object points in the object coordinate space, 3xN/Nx3 1-channel or 1xN/Nx1 3-channel, + where N is the number of points. vector<Point3f> can be also passed here. + Array of corresponding image points, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel, + where N is the number of points. vector<Point2f> can be also passed here. + Input camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Output rotation vector that, together with tvec , brings points from the model coordinate system to the + camera coordinate system. + Output translation vector. + If true, the function uses the provided rvec and tvec values as initial approximations of + the rotation and translation vectors, respectively, and further optimizes them. + Method for solving a PnP problem + + + + computes the camera pose from a few 3D points and the corresponding projections. The outliers are possible. + + Array of object points in the object coordinate space, 3xN/Nx3 1-channel or 1xN/Nx1 3-channel, + where N is the number of points. List<Point3f> can be also passed here. + Array of corresponding image points, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel, where N is the number of points. + List<Point2f> can be also passed here. + Input 3x3 camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Output rotation vector that, together with tvec , brings points from the model coordinate system + to the camera coordinate system. + Output translation vector. + If true, the function uses the provided rvec and tvec values as initial approximations + of the rotation and translation vectors, respectively, and further optimizes them. + Number of iterations. + Inlier threshold value used by the RANSAC procedure. + The parameter value is the maximum allowed distance between the observed and computed point projections to consider it an inlier. + The probability that the algorithm produces a useful result. + Output vector that contains indices of inliers in objectPoints and imagePoints . + Method for solving a PnP problem + + + + computes the camera pose from a few 3D points and the corresponding projections. The outliers are possible. + + Array of object points in the object coordinate space, 3xN/Nx3 1-channel or 1xN/Nx1 3-channel, + where N is the number of points. List<Point3f> can be also passed here. + Array of corresponding image points, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel, where N is the number of points. + List<Point2f> can be also passed here. + Input 3x3 camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Output rotation vector that, together with tvec , brings points from the model coordinate system + to the camera coordinate system. + Output translation vector. + + + + computes the camera pose from a few 3D points and the corresponding projections. The outliers are possible. + + Array of object points in the object coordinate space, 3xN/Nx3 1-channel or 1xN/Nx1 3-channel, + where N is the number of points. List<Point3f> can be also passed here. + Array of corresponding image points, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel, where N is the number of points. + List<Point2f> can be also passed here. + Input 3x3 camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Output rotation vector that, together with tvec , brings points from the model coordinate system + to the camera coordinate system. + Output translation vector. + If true, the function uses the provided rvec and tvec values as initial approximations + of the rotation and translation vectors, respectively, and further optimizes them. + Number of iterations. + Inlier threshold value used by the RANSAC procedure. + The parameter value is the maximum allowed distance between the observed and computed point projections to consider it an inlier. + The probability that the algorithm produces a useful result. + Output vector that contains indices of inliers in objectPoints and imagePoints . + Method for solving a PnP problem + + + + initializes camera matrix from a few 3D points and the corresponding projections. + + Vector of vectors (vector<vector<Point3d>>) of the calibration pattern points in the calibration pattern coordinate space. In the old interface all the per-view vectors are concatenated. + Vector of vectors (vector<vector<Point2d>>) of the projections of the calibration pattern points. In the old interface all the per-view vectors are concatenated. + Image size in pixels used to initialize the principal point. + If it is zero or negative, both f_x and f_y are estimated independently. Otherwise, f_x = f_y * aspectRatio . + + + + + initializes camera matrix from a few 3D points and the corresponding projections. + + Vector of vectors of the calibration pattern points in the calibration pattern coordinate space. In the old interface all the per-view vectors are concatenated. + Vector of vectors of the projections of the calibration pattern points. In the old interface all the per-view vectors are concatenated. + Image size in pixels used to initialize the principal point. + If it is zero or negative, both f_x and f_y are estimated independently. Otherwise, f_x = f_y * aspectRatio . + + + + + Finds the positions of internal corners of the chessboard. + + Source chessboard view. It must be an 8-bit grayscale or color image. + Number of inner corners per a chessboard row and column + ( patternSize = Size(points_per_row,points_per_colum) = Size(columns, rows) ). + Output array of detected corners. + Various operation flags that can be zero or a combination of the ChessboardFlag values + The function returns true if all of the corners are found and they are placed in a certain order (row by row, left to right in every row). + Otherwise, if the function fails to find all the corners or reorder them, it returns false. + + + + Finds the positions of internal corners of the chessboard. + + Source chessboard view. It must be an 8-bit grayscale or color image. + Number of inner corners per a chessboard row and column + ( patternSize = Size(points_per_row,points_per_colum) = Size(columns, rows) ). + Output array of detected corners. + Various operation flags that can be zero or a combination of the ChessboardFlag values + The function returns true if all of the corners are found and they are placed in a certain order (row by row, left to right in every row). + Otherwise, if the function fails to find all the corners or reorder them, it returns false. + + + + Checks whether the image contains chessboard of the specific size or not. + + + + + + + + Finds the positions of internal corners of the chessboard using a sector based approach. + + image Source chessboard view. It must be an 8-bit grayscale or color image. + Number of inner corners per a chessboard row and column + (patternSize = Size(points_per_row, points_per_column) = Size(columns, rows) ). + Output array of detected corners. + flags Various operation flags that can be zero or a combination of the ChessboardFlags values. + + + + + Finds the positions of internal corners of the chessboard using a sector based approach. + + image Source chessboard view. It must be an 8-bit grayscale or color image. + Number of inner corners per a chessboard row and column + (patternSize = Size(points_per_row, points_per_column) = Size(columns, rows) ). + Output array of detected corners. + flags Various operation flags that can be zero or a combination of the ChessboardFlags values. + + + + + finds subpixel-accurate positions of the chessboard corners + + + + + + + + + finds subpixel-accurate positions of the chessboard corners + + + + + + + + + Renders the detected chessboard corners. + + Destination image. It must be an 8-bit color image. + Number of inner corners per a chessboard row and column (patternSize = cv::Size(points_per_row,points_per_column)). + Array of detected corners, the output of findChessboardCorners. + Parameter indicating whether the complete board was found or not. The return value of findChessboardCorners() should be passed here. + + + + Renders the detected chessboard corners. + + Destination image. It must be an 8-bit color image. + Number of inner corners per a chessboard row and column (patternSize = cv::Size(points_per_row,points_per_column)). + Array of detected corners, the output of findChessboardCorners. + Parameter indicating whether the complete board was found or not. The return value of findChessboardCorners() should be passed here. + + + + Draw axes of the world/object coordinate system from pose estimation. + + Input/output image. It must have 1 or 3 channels. The number of channels is not altered. + Input 3x3 floating-point matrix of camera intrinsic parameters. + Input vector of distortion coefficients + \f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \tau_x, \tau_y]]]])\f$ of + 4, 5, 8, 12 or 14 elements.If the vector is empty, the zero distortion coefficients are assumed. + Rotation vector (see @ref Rodrigues ) that, together with tvec , brings points from + the model coordinate system to the camera coordinate system. + Translation vector. + Length of the painted axes in the same unit than tvec (usually in meters). + Line thickness of the painted axes. + This function draws the axes of the world/object coordinate system w.r.t. to the camera frame. + OX is drawn in red, OY in green and OZ in blue. + + + + Finds centers in the grid of circles. + + grid view of input circles; it must be an 8-bit grayscale or color image. + number of circles per row and column ( patternSize = Size(points_per_row, points_per_colum) ). + output array of detected centers. + various operation flags that can be one of the FindCirclesGridFlag values + feature detector that finds blobs like dark circles on light background. + + + + + Finds centers in the grid of circles. + + grid view of input circles; it must be an 8-bit grayscale or color image. + number of circles per row and column ( patternSize = Size(points_per_row, points_per_colum) ). + output array of detected centers. + various operation flags that can be one of the FindCirclesGridFlag values + feature detector that finds blobs like dark circles on light background. + + + + + finds intrinsic and extrinsic camera parameters from several fews of a known calibration pattern. + + In the new interface it is a vector of vectors of calibration pattern points in the calibration pattern coordinate space. + The outer vector contains as many elements as the number of the pattern views. If the same calibration pattern is shown in each view and + it is fully visible, all the vectors will be the same. Although, it is possible to use partially occluded patterns, or even different patterns + in different views. Then, the vectors will be different. The points are 3D, but since they are in a pattern coordinate system, then, + if the rig is planar, it may make sense to put the model to a XY coordinate plane so that Z-coordinate of each input object point is 0. + In the old interface all the vectors of object points from different views are concatenated together. + In the new interface it is a vector of vectors of the projections of calibration pattern points. + imagePoints.Count() and objectPoints.Count() and imagePoints[i].Count() must be equal to objectPoints[i].Count() for each i. + Size of the image used only to initialize the intrinsic camera matrix. + Output 3x3 floating-point camera matrix. + If CV_CALIB_USE_INTRINSIC_GUESS and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be + initialized before calling the function. + Output vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + Output vector of rotation vectors (see Rodrigues() ) estimated for each pattern view. That is, each k-th rotation vector + together with the corresponding k-th translation vector (see the next output parameter description) brings the calibration pattern + from the model coordinate space (in which object points are specified) to the world coordinate space, that is, a real position of the + calibration pattern in the k-th pattern view (k=0.. M -1) + Output vector of translation vectors estimated for each pattern view. + Different flags that may be zero or a combination of the CalibrationFlag values + Termination criteria for the iterative optimization algorithm. + + + + + finds intrinsic and extrinsic camera parameters from several fews of a known calibration pattern. + + In the new interface it is a vector of vectors of calibration pattern points in the calibration pattern coordinate space. + The outer vector contains as many elements as the number of the pattern views. If the same calibration pattern is shown in each view and + it is fully visible, all the vectors will be the same. Although, it is possible to use partially occluded patterns, or even different patterns + in different views. Then, the vectors will be different. The points are 3D, but since they are in a pattern coordinate system, then, + if the rig is planar, it may make sense to put the model to a XY coordinate plane so that Z-coordinate of each input object point is 0. + In the old interface all the vectors of object points from different views are concatenated together. + In the new interface it is a vector of vectors of the projections of calibration pattern points. + imagePoints.Count() and objectPoints.Count() and imagePoints[i].Count() must be equal to objectPoints[i].Count() for each i. + Size of the image used only to initialize the intrinsic camera matrix. + Output 3x3 floating-point camera matrix. + If CV_CALIB_USE_INTRINSIC_GUESS and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be + initialized before calling the function. + Output vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + Output vector of rotation vectors (see Rodrigues() ) estimated for each pattern view. That is, each k-th rotation vector + together with the corresponding k-th translation vector (see the next output parameter description) brings the calibration pattern + from the model coordinate space (in which object points are specified) to the world coordinate space, that is, a real position of the + calibration pattern in the k-th pattern view (k=0.. M -1) + Output vector of translation vectors estimated for each pattern view. + Different flags that may be zero or a combination of the CalibrationFlag values + Termination criteria for the iterative optimization algorithm. + + + + + computes several useful camera characteristics from the camera matrix, camera frame resolution and the physical sensor size. + + Input camera matrix that can be estimated by calibrateCamera() or stereoCalibrate() . + Input image size in pixels. + Physical width of the sensor. + Physical height of the sensor. + Output field of view in degrees along the horizontal sensor axis. + Output field of view in degrees along the vertical sensor axis. + Focal length of the lens in mm. + Principal point in pixels. + fy / fx + + + + computes several useful camera characteristics from the camera matrix, camera frame resolution and the physical sensor size. + + Input camera matrix that can be estimated by calibrateCamera() or stereoCalibrate() . + Input image size in pixels. + Physical width of the sensor. + Physical height of the sensor. + Output field of view in degrees along the horizontal sensor axis. + Output field of view in degrees along the vertical sensor axis. + Focal length of the lens in mm. + Principal point in pixels. + fy / fx + + + + finds intrinsic and extrinsic parameters of a stereo camera + + Vector of vectors of the calibration pattern points. + Vector of vectors of the projections of the calibration pattern points, observed by the first camera. + Vector of vectors of the projections of the calibration pattern points, observed by the second camera. + Input/output first camera matrix + Input/output vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + The output vector length depends on the flags. + Input/output second camera matrix. The parameter is similar to cameraMatrix1 . + Input/output lens distortion coefficients for the second camera. The parameter is similar to distCoeffs1 . + Size of the image used only to initialize intrinsic camera matrix. + Output rotation matrix between the 1st and the 2nd camera coordinate systems. + Output translation vector between the coordinate systems of the cameras. + Output essential matrix. + Output fundamental matrix. + Termination criteria for the iterative optimization algorithm. + Different flags that may be zero or a combination of the CalibrationFlag values + + + + + finds intrinsic and extrinsic parameters of a stereo camera + + Vector of vectors of the calibration pattern points. + Vector of vectors of the projections of the calibration pattern points, observed by the first camera. + Vector of vectors of the projections of the calibration pattern points, observed by the second camera. + Input/output first camera matrix + Input/output vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + The output vector length depends on the flags. + Input/output second camera matrix. The parameter is similar to cameraMatrix1 . + Input/output lens distortion coefficients for the second camera. The parameter is similar to distCoeffs1 . + Size of the image used only to initialize intrinsic camera matrix. + Output rotation matrix between the 1st and the 2nd camera coordinate systems. + Output translation vector between the coordinate systems of the cameras. + Output essential matrix. + Output fundamental matrix. + Termination criteria for the iterative optimization algorithm. + Different flags that may be zero or a combination of the CalibrationFlag values + + + + + computes the rectification transformation for a stereo camera from its intrinsic and extrinsic parameters + + First camera matrix. + First camera distortion parameters. + Second camera matrix. + Second camera distortion parameters. + Size of the image used for stereo calibration. + Rotation matrix between the coordinate systems of the first and the second cameras. + Translation vector between coordinate systems of the cameras. + Output 3x3 rectification transform (rotation matrix) for the first camera. + Output 3x3 rectification transform (rotation matrix) for the second camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the first camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the second camera. + Output 4x4 disparity-to-depth mapping matrix (see reprojectImageTo3D() ). + Operation flags that may be zero or CV_CALIB_ZERO_DISPARITY. + If the flag is set, the function makes the principal points of each camera have the same pixel coordinates in the rectified views. + And if the flag is not set, the function may still shift the images in the horizontal or vertical direction (depending on the orientation of epipolar lines) to maximize the useful image area. + Free scaling parameter. + If it is -1 or absent, the function performs the default scaling. Otherwise, the parameter should be between 0 and 1. + alpha=0 means that the rectified images are zoomed and shifted so that only valid pixels are visible (no black areas after rectification). + alpha=1 means that the rectified image is decimated and shifted so that all the pixels from the original images from the cameras are retained + in the rectified images (no source image pixels are lost). Obviously, any intermediate value yields an intermediate result between those two extreme cases. + New image resolution after rectification. The same size should be passed to initUndistortRectifyMap(). When (0,0) is passed (default), it is set to the original imageSize . + Setting it to larger value can help you preserve details in the original image, especially when there is a big radial distortion. + + + + computes the rectification transformation for a stereo camera from its intrinsic and extrinsic parameters + + First camera matrix. + First camera distortion parameters. + Second camera matrix. + Second camera distortion parameters. + Size of the image used for stereo calibration. + Rotation matrix between the coordinate systems of the first and the second cameras. + Translation vector between coordinate systems of the cameras. + Output 3x3 rectification transform (rotation matrix) for the first camera. + Output 3x3 rectification transform (rotation matrix) for the second camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the first camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the second camera. + Output 4x4 disparity-to-depth mapping matrix (see reprojectImageTo3D() ). + Operation flags that may be zero or CV_CALIB_ZERO_DISPARITY. + If the flag is set, the function makes the principal points of each camera have the same pixel coordinates in the rectified views. + And if the flag is not set, the function may still shift the images in the horizontal or vertical direction (depending on the orientation of epipolar lines) to maximize the useful image area. + Free scaling parameter. + If it is -1 or absent, the function performs the default scaling. Otherwise, the parameter should be between 0 and 1. + alpha=0 means that the rectified images are zoomed and shifted so that only valid pixels are visible (no black areas after rectification). + alpha=1 means that the rectified image is decimated and shifted so that all the pixels from the original images from the cameras are retained + in the rectified images (no source image pixels are lost). Obviously, any intermediate value yields an intermediate result between those two extreme cases. + New image resolution after rectification. The same size should be passed to initUndistortRectifyMap(). When (0,0) is passed (default), it is set to the original imageSize . + Setting it to larger value can help you preserve details in the original image, especially when there is a big radial distortion. + Optional output rectangles inside the rectified images where all the pixels are valid. If alpha=0 , the ROIs cover the whole images. + Otherwise, they are likely to be smaller. + Optional output rectangles inside the rectified images where all the pixels are valid. If alpha=0 , the ROIs cover the whole images. + Otherwise, they are likely to be smaller. + + + + computes the rectification transformation for a stereo camera from its intrinsic and extrinsic parameters + + First camera matrix. + First camera distortion parameters. + Second camera matrix. + Second camera distortion parameters. + Size of the image used for stereo calibration. + Rotation matrix between the coordinate systems of the first and the second cameras. + Translation vector between coordinate systems of the cameras. + Output 3x3 rectification transform (rotation matrix) for the first camera. + Output 3x3 rectification transform (rotation matrix) for the second camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the first camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the second camera. + Output 4x4 disparity-to-depth mapping matrix (see reprojectImageTo3D() ). + Operation flags that may be zero or CV_CALIB_ZERO_DISPARITY. + If the flag is set, the function makes the principal points of each camera have the same pixel coordinates in the rectified views. + And if the flag is not set, the function may still shift the images in the horizontal or vertical direction (depending on the orientation of epipolar lines) to maximize the useful image area. + Free scaling parameter. + If it is -1 or absent, the function performs the default scaling. Otherwise, the parameter should be between 0 and 1. + alpha=0 means that the rectified images are zoomed and shifted so that only valid pixels are visible (no black areas after rectification). + alpha=1 means that the rectified image is decimated and shifted so that all the pixels from the original images from the cameras are retained + in the rectified images (no source image pixels are lost). Obviously, any intermediate value yields an intermediate result between those two extreme cases. + New image resolution after rectification. The same size should be passed to initUndistortRectifyMap(). When (0,0) is passed (default), it is set to the original imageSize . + Setting it to larger value can help you preserve details in the original image, especially when there is a big radial distortion. + + + + computes the rectification transformation for a stereo camera from its intrinsic and extrinsic parameters + + First camera matrix. + First camera distortion parameters. + Second camera matrix. + Second camera distortion parameters. + Size of the image used for stereo calibration. + Rotation matrix between the coordinate systems of the first and the second cameras. + Translation vector between coordinate systems of the cameras. + Output 3x3 rectification transform (rotation matrix) for the first camera. + Output 3x3 rectification transform (rotation matrix) for the second camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the first camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the second camera. + Output 4x4 disparity-to-depth mapping matrix (see reprojectImageTo3D() ). + Operation flags that may be zero or CV_CALIB_ZERO_DISPARITY. + If the flag is set, the function makes the principal points of each camera have the same pixel coordinates in the rectified views. + And if the flag is not set, the function may still shift the images in the horizontal or vertical direction (depending on the orientation of epipolar lines) to maximize the useful image area. + Free scaling parameter. + If it is -1 or absent, the function performs the default scaling. Otherwise, the parameter should be between 0 and 1. + alpha=0 means that the rectified images are zoomed and shifted so that only valid pixels are visible (no black areas after rectification). + alpha=1 means that the rectified image is decimated and shifted so that all the pixels from the original images from the cameras are retained + in the rectified images (no source image pixels are lost). Obviously, any intermediate value yields an intermediate result between those two extreme cases. + New image resolution after rectification. The same size should be passed to initUndistortRectifyMap(). When (0,0) is passed (default), it is set to the original imageSize . + Setting it to larger value can help you preserve details in the original image, especially when there is a big radial distortion. + Optional output rectangles inside the rectified images where all the pixels are valid. If alpha=0 , the ROIs cover the whole images. + Otherwise, they are likely to be smaller. + Optional output rectangles inside the rectified images where all the pixels are valid. If alpha=0 , the ROIs cover the whole images. + Otherwise, they are likely to be smaller. + + + + computes the rectification transformation for an uncalibrated stereo camera (zero distortion is assumed) + + Array of feature points in the first image. + The corresponding points in the second image. + The same formats as in findFundamentalMat() are supported. + Input fundamental matrix. It can be computed from the same set + of point pairs using findFundamentalMat() . + Size of the image. + Output rectification homography matrix for the first image. + Output rectification homography matrix for the second image. + Optional threshold used to filter out the outliers. + If the parameter is greater than zero, all the point pairs that do not comply + with the epipolar geometry (that is, the points for which |points2[i]^T * F * points1[i]| > threshold ) + are rejected prior to computing the homographies. Otherwise, all the points are considered inliers. + + + + + computes the rectification transformation for an uncalibrated stereo camera (zero distortion is assumed) + + Array of feature points in the first image. + The corresponding points in the second image. + The same formats as in findFundamentalMat() are supported. + Input fundamental matrix. It can be computed from the same set + of point pairs using findFundamentalMat() . + Size of the image. + Output rectification homography matrix for the first image. + Output rectification homography matrix for the second image. + Optional threshold used to filter out the outliers. + If the parameter is greater than zero, all the point pairs that do not comply + with the epipolar geometry (that is, the points for which |points2[i]^T * F * points1[i]| > threshold ) + are rejected prior to computing the homographies. Otherwise, all the points are considered inliers. + + + + + computes the rectification transformations for 3-head camera, where all the heads are on the same line. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the new camera matrix based on the free scaling parameter. + + Input camera matrix. + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the array is null, the zero distortion coefficients are assumed. + Original image size. + Free scaling parameter between 0 (when all the pixels in the undistorted image are valid) + and 1 (when all the source image pixels are retained in the undistorted image). + Image size after rectification. By default,it is set to imageSize . + Optional output rectangle that outlines all-good-pixels region in the undistorted image. See roi1, roi2 description in stereoRectify() . + Optional flag that indicates whether in the new camera matrix the principal point + should be at the image center or not. By default, the principal point is chosen to best fit a + subset of the source image (determined by alpha) to the corrected image. + optimal new camera matrix + + + + Returns the new camera matrix based on the free scaling parameter. + + Input camera matrix. + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the array is null, the zero distortion coefficients are assumed. + Original image size. + Free scaling parameter between 0 (when all the pixels in the undistorted image are valid) + and 1 (when all the source image pixels are retained in the undistorted image). + Image size after rectification. By default,it is set to imageSize . + Optional output rectangle that outlines all-good-pixels region in the undistorted image. See roi1, roi2 description in stereoRectify() . + Optional flag that indicates whether in the new camera matrix the principal point + should be at the image center or not. By default, the principal point is chosen to best fit a + subset of the source image (determined by alpha) to the corrected image. + optimal new camera matrix + + + + Computes Hand-Eye calibration. + + The function performs the Hand-Eye calibration using various methods. One approach consists in estimating the + rotation then the translation(separable solutions) and the following methods are implemented: + - R.Tsai, R.Lenz A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/EyeCalibration \cite Tsai89 + - F.Park, B.Martin Robot Sensor Calibration: Solving AX = XB on the Euclidean Group \cite Park94 + - R.Horaud, F.Dornaika Hand-Eye Calibration \cite Horaud95 + + Another approach consists in estimating simultaneously the rotation and the translation(simultaneous solutions), + with the following implemented method: + - N.Andreff, R.Horaud, B.Espiau On-line Hand-Eye Calibration \cite Andreff99 + - K.Daniilidis Hand-Eye Calibration Using Dual Quaternions \cite Daniilidis98 + + Rotation part extracted from the homogeneous matrix that + transforms a pointexpressed in the gripper frame to the robot base frame that contains the rotation + matrices for all the transformationsfrom gripper frame to robot base frame. + Translation part extracted from the homogeneous matrix that transforms a point + expressed in the gripper frame to the robot base frame. + This is a vector(`vector<Mat>`) that contains the translation vectors for all the transformations + from gripper frame to robot base frame. + Rotation part extracted from the homogeneous matrix that transforms a point + expressed in the target frame to the camera frame. + This is a vector(`vector<Mat>`) that contains the rotation matrices for all the transformations + from calibration target frame to camera frame. + Rotation part extracted from the homogeneous matrix that transforms a point + expressed in the target frame to the camera frame. + This is a vector(`vector<Mat>`) that contains the translation vectors for all the transformations + from calibration target frame to camera frame. + Estimated rotation part extracted from the homogeneous matrix that transforms a point + expressed in the camera frame to the gripper frame. + Estimated translation part extracted from the homogeneous matrix that transforms a point + expressed in the camera frame to the gripper frame. + One of the implemented Hand-Eye calibration method + + + + Computes Robot-World/Hand-Eye calibration. + The function performs the Robot-World/Hand-Eye calibration using various methods. One approach consists in estimating the + rotation then the translation(separable solutions): + - M.Shah, Solving the robot-world/hand-eye calibration problem using the kronecker product \cite Shah2013SolvingTR + + [in] R_world2cam Rotation part extracted from the homogeneous matrix that transforms a point + expressed in the world frame to the camera frame. This is a vector of Mat that contains the rotation, + `(3x3)` rotation matrices or `(3x1)` rotation vectors,for all the transformations from world frame to the camera frame. + [in] Translation part extracted from the homogeneous matrix that transforms a point + expressed in the world frame to the camera frame. This is a vector (`vector<Mat>`) that contains the `(3x1)` + translation vectors for all the transformations from world frame to the camera frame. + [in] Rotation part extracted from the homogeneous matrix that transforms a point expressed + in the robot base frame to the gripper frame. This is a vector (`vector<Mat>`) that contains the rotation, + `(3x3)` rotation matrices or `(3x1)` rotation vectors, for all the transformations from robot base frame to the gripper frame. + [in] Rotation part extracted from the homogeneous matrix that transforms a point + expressed in the robot base frame to the gripper frame. This is a vector (`vector<Mat>`) that contains the + `(3x1)` translation vectors for all the transformations from robot base frame to the gripper frame. + [out] R_base2world Estimated `(3x3)` rotation part extracted from the homogeneous matrix + that transforms a point expressed in the robot base frame to the world frame. + [out] t_base2world Estimated `(3x1)` translation part extracted from the homogeneous matrix + that transforms a point expressed in the robot base frame to the world frame. + [out] R_gripper2cam Estimated `(3x3)` rotation part extracted from the homogeneous matrix + that transforms a point expressed in the gripper frame to the camera frame. + [out] Estimated `(3x1)` translation part extracted from the homogeneous matrix that + transforms a pointexpressed in the gripper frame to the camera frame. + One of the implemented Robot-World/Hand-Eye calibration method + + + + omputes Robot-World/Hand-Eye calibration. + The function performs the Robot-World/Hand-Eye calibration using various methods. One approach consists in estimating the + rotation then the translation(separable solutions): + - M.Shah, Solving the robot-world/hand-eye calibration problem using the kronecker product \cite Shah2013SolvingTR + + [in] R_world2cam Rotation part extracted from the homogeneous matrix that transforms a point + expressed in the world frame to the camera frame. This is a vector of Mat that contains the rotation, + `(3x3)` rotation matrices or `(3x1)` rotation vectors,for all the transformations from world frame to the camera frame. + [in] Translation part extracted from the homogeneous matrix that transforms a point + expressed in the world frame to the camera frame. This is a vector (`vector<Mat>`) that contains the `(3x1)` + translation vectors for all the transformations from world frame to the camera frame. + [in] Rotation part extracted from the homogeneous matrix that transforms a point expressed + in the robot base frame to the gripper frame. This is a vector (`vector<Mat>`) that contains the rotation, + `(3x3)` rotation matrices or `(3x1)` rotation vectors, for all the transformations from robot base frame to the gripper frame. + [in] Rotation part extracted from the homogeneous matrix that transforms a point + expressed in the robot base frame to the gripper frame. This is a vector (`vector<Mat>`) that contains the + `(3x1)` translation vectors for all the transformations from robot base frame to the gripper frame. + [out] R_base2world Estimated `(3x3)` rotation part extracted from the homogeneous matrix + that transforms a point expressed in the robot base frame to the world frame. + [out] t_base2world Estimated `(3x1)` translation part extracted from the homogeneous matrix + that transforms a point expressed in the robot base frame to the world frame. + [out] R_gripper2cam Estimated `(3x3)` rotation part extracted from the homogeneous matrix + that transforms a point expressed in the gripper frame to the camera frame. + [out] Estimated `(3x1)` translation part extracted from the homogeneous matrix that + transforms a pointexpressed in the gripper frame to the camera frame. + One of the implemented Robot-World/Hand-Eye calibration method + + + + converts point coordinates from normal pixel coordinates to homogeneous coordinates ((x,y)->(x,y,1)) + + Input vector of N-dimensional points. + Output vector of N+1-dimensional points. + + + + converts point coordinates from normal pixel coordinates to homogeneous coordinates ((x,y)->(x,y,1)) + + Input vector of N-dimensional points. + Output vector of N+1-dimensional points. + + + + converts point coordinates from normal pixel coordinates to homogeneous coordinates ((x,y)->(x,y,1)) + + Input vector of N-dimensional points. + Output vector of N+1-dimensional points. + + + + converts point coordinates from homogeneous to normal pixel coordinates ((x,y,z)->(x/z, y/z)) + + Input vector of N-dimensional points. + Output vector of N-1-dimensional points. + + + + converts point coordinates from homogeneous to normal pixel coordinates ((x,y,z)->(x/z, y/z)) + + Input vector of N-dimensional points. + Output vector of N-1-dimensional points. + + + + converts point coordinates from homogeneous to normal pixel coordinates ((x,y,z)->(x/z, y/z)) + + Input vector of N-dimensional points. + Output vector of N-1-dimensional points. + + + + Converts points to/from homogeneous coordinates. + + Input array or vector of 2D, 3D, or 4D points. + Output vector of 2D, 3D, or 4D points. + + + + Calculates a fundamental matrix from the corresponding points in two images. + + Array of N points from the first image. + The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1 . + Method for computing a fundamental matrix. + Parameter used for RANSAC. + It is the maximum distance from a point to an epipolar line in pixels, beyond which the point is + considered an outlier and is not used for computing the final fundamental matrix. It can be set to + something like 1-3, depending on the accuracy of the point localization, image resolution, and the image noise. + Parameter used for the RANSAC or LMedS methods only. + It specifies a desirable level of confidence (probability) that the estimated matrix is correct. + Output array of N elements, every element of which is set to 0 for outliers and + to 1 for the other points. The array is computed only in the RANSAC and LMedS methods. For other methods, it is set to all 1’s. + fundamental matrix + + + + Calculates a fundamental matrix from the corresponding points in two images. + + Array of N points from the first image. + The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1 . + Method for computing a fundamental matrix. + Parameter used for RANSAC. + It is the maximum distance from a point to an epipolar line in pixels, beyond which the point is + considered an outlier and is not used for computing the final fundamental matrix. It can be set to + something like 1-3, depending on the accuracy of the point localization, image resolution, and the image noise. + Parameter used for the RANSAC or LMedS methods only. + It specifies a desirable level of confidence (probability) that the estimated matrix is correct. + Output array of N elements, every element of which is set to 0 for outliers and + to 1 for the other points. The array is computed only in the RANSAC and LMedS methods. For other methods, it is set to all 1’s. + fundamental matrix + + + + Calculates a fundamental matrix from the corresponding points in two images. + + Array of N points from the first image. + The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1 . + Method for computing a fundamental matrix. + Parameter used for RANSAC. + It is the maximum distance from a point to an epipolar line in pixels, beyond which the point is + considered an outlier and is not used for computing the final fundamental matrix. It can be set to + something like 1-3, depending on the accuracy of the point localization, image resolution, and the image noise. + Parameter used for the RANSAC or LMedS methods only. + It specifies a desirable level of confidence (probability) that the estimated matrix is correct. + Output array of N elements, every element of which is set to 0 for outliers and + to 1 for the other points. The array is computed only in the RANSAC and LMedS methods. For other methods, it is set to all 1’s. + fundamental matrix + + + + For points in an image of a stereo pair, computes the corresponding epilines in the other image. + + Input points. N \times 1 or 1 x N matrix of type CV_32FC2 or CV_64FC2. + Index of the image (1 or 2) that contains the points . + Fundamental matrix that can be estimated using findFundamentalMat() or stereoRectify() . + Output vector of the epipolar lines corresponding to the points in the other image. + Each line ax + by + c=0 is encoded by 3 numbers (a, b, c) . + + + + For points in an image of a stereo pair, computes the corresponding epilines in the other image. + + Input points. N \times 1 or 1 x N matrix of type CV_32FC2 or CV_64FC2. + Index of the image (1 or 2) that contains the points . + Fundamental matrix that can be estimated using findFundamentalMat() or stereoRectify() . + Output vector of the epipolar lines corresponding to the points in the other image. + Each line ax + by + c=0 is encoded by 3 numbers (a, b, c) . + + + + For points in an image of a stereo pair, computes the corresponding epilines in the other image. + + Input points. N \times 1 or 1 x N matrix of type CV_32FC2 or CV_64FC2. + Index of the image (1 or 2) that contains the points . + Fundamental matrix that can be estimated using findFundamentalMat() or stereoRectify() . + Output vector of the epipolar lines corresponding to the points in the other image. + Each line ax + by + c=0 is encoded by 3 numbers (a, b, c) . + + + + Reconstructs points by triangulation. + + 3x4 projection matrix of the first camera. + 3x4 projection matrix of the second camera. + 2xN array of feature points in the first image. In case of c++ version + it can be also a vector of feature points or two-channel matrix of size 1xN or Nx1. + 2xN array of corresponding points in the second image. In case of c++ version + it can be also a vector of feature points or two-channel matrix of size 1xN or Nx1. + 4xN array of reconstructed points in homogeneous coordinates. + + + + Reconstructs points by triangulation. + + 3x4 projection matrix of the first camera. + 3x4 projection matrix of the second camera. + 2xN array of feature points in the first image. In case of c++ version + it can be also a vector of feature points or two-channel matrix of size 1xN or Nx1. + 2xN array of corresponding points in the second image. In case of c++ version + it can be also a vector of feature points or two-channel matrix of size 1xN or Nx1. + 4xN array of reconstructed points in homogeneous coordinates. + + + + Refines coordinates of corresponding points. + + 3x3 fundamental matrix. + 1xN array containing the first set of points. + 1xN array containing the second set of points. + The optimized points1. + The optimized points2. + + + + Refines coordinates of corresponding points. + + 3x3 fundamental matrix. + 1xN array containing the first set of points. + 1xN array containing the second set of points. + The optimized points1. + The optimized points2. + + + + Recover relative camera rotation and translation from an estimated essential matrix and the corresponding points in two images, using cheirality check. + Returns the number of inliers which pass the check. + + The input essential matrix. + Array of N 2D points from the first image. The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1. + Camera matrix K=⎡⎣⎢fx000fy0cxcy1⎤⎦⎥ . Note that this function assumes that points1 and points2 are feature points from cameras with the same camera matrix. + Recovered relative rotation. + Recovered relative translation. + Input/output mask for inliers in points1 and points2. : + If it is not empty, then it marks inliers in points1 and points2 for then given essential matrix E. + Only these inliers will be used to recover pose. In the output mask only inliers which pass the cheirality check. + This function decomposes an essential matrix using decomposeEssentialMat and then verifies possible pose hypotheses by doing cheirality check. + The cheirality check basically means that the triangulated 3D points should have positive depth. + + + + Recover relative camera rotation and translation from an estimated essential matrix and the corresponding points in two images, using cheirality check. + Returns the number of inliers which pass the check. + + The input essential matrix. + Array of N 2D points from the first image. The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1. + Recovered relative rotation. + Recovered relative translation. + Focal length of the camera. Note that this function assumes that points1 and points2 are feature points from cameras with same focal length and principal point. + principal point of the camera. + Input/output mask for inliers in points1 and points2. : + If it is not empty, then it marks inliers in points1 and points2 for then given essential matrix E. + Only these inliers will be used to recover pose. In the output mask only inliers which pass the cheirality check. + This function decomposes an essential matrix using decomposeEssentialMat and then verifies possible pose hypotheses by doing cheirality check. + The cheirality check basically means that the triangulated 3D points should have positive depth. + + + + Recover relative camera rotation and translation from an estimated essential matrix and the corresponding points in two images, using cheirality check. + Returns the number of inliers which pass the check. + + The input essential matrix. + Array of N 2D points from the first image. The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1. + Camera matrix K=⎡⎣⎢fx000fy0cxcy1⎤⎦⎥ . Note that this function assumes that points1 and points2 are feature points from cameras with the same camera matrix. + Recovered relative rotation. + Recovered relative translation. + threshold distance which is used to filter out far away points (i.e. infinite points). + Input/output mask for inliers in points1 and points2. : + If it is not empty, then it marks inliers in points1 and points2 for then given essential matrix E. + Only these inliers will be used to recover pose. In the output mask only inliers which pass the cheirality check. + This function decomposes an essential matrix using decomposeEssentialMat and then verifies possible pose hypotheses by doing cheirality check. + The cheirality check basically means that the triangulated 3D points should have positive depth. + 3d points which were reconstructed by triangulation. + + + + Calculates an essential matrix from the corresponding points in two images. + + Array of N (N >= 5) 2D points from the first image. + The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1 . + Camera matrix K=⎡⎣⎢fx000fy0cxcy1⎤⎦⎥ . Note that this function assumes that points1 and points2 are feature points from cameras with the same camera matrix. + Method for computing an essential matrix. + RANSAC for the RANSAC algorithm. + LMEDS for the LMedS algorithm. + Parameter used for the RANSAC or LMedS methods only. + It specifies a desirable level of confidence (probability) that the estimated matrix is correct. + Parameter used for RANSAC. + It is the maximum distance from a point to an epipolar line in pixels, beyond which the point is considered an outlier and is not used for computing the final fundamental matrix. + It can be set to something like 1-3, depending on the accuracy of the point localization, image resolution, and the image noise. + Output array of N elements, every element of which is set to 0 for outliers and to 1 for the other points. The array is computed only in the RANSAC and LMedS methods. + essential matrix + + + + Calculates an essential matrix from the corresponding points in two images. + + Array of N (N >= 5) 2D points from the first image. + The point coordinates should be floating-point (single or double precision). + Array of the second image por LMedS methods only. + It specifies a desirable level of confidence (probability) that the estimated matrix is correct. + Parameter used for RANSAC. + It is the maximum distance from a point to an epipolar line in pixels, beyond which the point is considered an outlier and is not used for computing the final fundamental matrix. + It can be set to something like 1-3, depending on ints of the same size and format as points1 . + Focal length of the camera. Note that this function assumes that points1 and points2 are feature points from cameras with same focal length and principal point. + principal point of the camera. + Method for computing an essential matrix. + RANSAC for the RANSAC algorithm. + LMEDS for the LMedS algorithm. + Parameter used for the RANSAC othe accuracy of the point localization, image resolution, and the image noise. + Output array of N elements, every element of which is set to 0 for outliers and to 1 for the other points. The array is computed only in the RANSAC and LMedS methods. + essential matrix + + + + filters off speckles (small regions of incorrectly computed disparity) + + The input 16-bit signed disparity image + The disparity value used to paint-off the speckles + The maximum speckle size to consider it a speckle. Larger blobs are not affected by the algorithm + Maximum difference between neighbor disparity pixels to put them into the same blob. + Note that since StereoBM, StereoSGBM and may be other algorithms return a fixed-point disparity map, where disparity values + are multiplied by 16, this scale factor should be taken into account when specifying this parameter value. + The optional temporary buffer to avoid memory allocation within the function. + + + + computes valid disparity ROI from the valid ROIs of the rectified images (that are returned by cv::stereoRectify()) + + + + + + + + + + + validates disparity using the left-right check. The matrix "cost" should be computed by the stereo correspondence algorithm + + + + + + + + + + reprojects disparity image to 3D: (x,y,d)->(X,Y,Z) using the matrix Q returned by cv::stereoRectify + + Input single-channel 8-bit unsigned, 16-bit signed, 32-bit signed or 32-bit floating-point disparity image. + Output 3-channel floating-point image of the same size as disparity. + Each element of _3dImage(x,y) contains 3D coordinates of the point (x,y) computed from the disparity map. + 4 x 4 perspective transformation matrix that can be obtained with stereoRectify(). + Indicates, whether the function should handle missing values (i.e. points where the disparity was not computed). + If handleMissingValues=true, then pixels with the minimal disparity that corresponds to the outliers (see StereoBM::operator() ) are + transformed to 3D points with a very large Z value (currently set to 10000). + he optional output array depth. If it is -1, the output image will have CV_32F depth. + ddepth can also be set to CV_16S, CV_32S or CV_32F. + + + + Computes an optimal affine transformation between two 3D point sets. + + First input 3D point set. + Second input 3D point set. + Output 3D affine transformation matrix 3 x 4 . + Output vector indicating which points are inliers. + Maximum reprojection error in the RANSAC algorithm to consider a point as an inlier. + Confidence level, between 0 and 1, for the estimated transformation. + Anything between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation significantly. + Values lower than 0.8-0.9 can result in an incorrectly estimated transformation. + + + + + Calculates the Sampson Distance between two points. + + first homogeneous 2d point + second homogeneous 2d point + F fundamental matrix + The computed Sampson distance. + https://github.com/opencv/opencv/blob/master/modules/calib3d/src/fundam.cpp#L1109 + + + + Calculates the Sampson Distance between two points. + + first homogeneous 2d point + second homogeneous 2d point + F fundamental matrix + The computed Sampson distance. + https://github.com/opencv/opencv/blob/master/modules/calib3d/src/fundam.cpp#L1109 + + + + Computes an optimal affine transformation between two 2D point sets. + + First input 2D point set containing (X,Y). + Second input 2D point set containing (x,y). + Output vector indicating which points are inliers (1-inlier, 0-outlier). + Robust method used to compute transformation. + Maximum reprojection error in the RANSAC algorithm to consider a point as an inlier.Applies only to RANSAC. + The maximum number of robust method iterations. + Confidence level, between 0 and 1, for the estimated transformation. + Anything between 0.95 and 0.99 is usually good enough.Values too close to 1 can slow down the estimation + significantly.Values lower than 0.8-0.9 can result in an incorrectly estimated transformation. + Maximum number of iterations of refining algorithm (Levenberg-Marquardt). + Passing 0 will disable refining, so the output matrix will be output of robust method. + Output 2D affine transformation matrix \f$2 \times 3\f$ or empty matrix if transformation could not be estimated. + + + + Computes an optimal limited affine transformation with 4 degrees of freedom between two 2D point sets. + + First input 2D point set. + Second input 2D point set. + Output vector indicating which points are inliers. + Robust method used to compute transformation. + Maximum reprojection error in the RANSAC algorithm to consider a point as an inlier.Applies only to RANSAC. + The maximum number of robust method iterations. + Confidence level, between 0 and 1, for the estimated transformation. + Anything between 0.95 and 0.99 is usually good enough.Values too close to 1 can slow down the estimation + significantly.Values lower than 0.8-0.9 can result in an incorrectly estimated transformation. + + Output 2D affine transformation (4 degrees of freedom) matrix 2x3 or empty matrix if transformation could not be estimated. + + + + Decompose a homography matrix to rotation(s), translation(s) and plane normal(s). + + The input homography matrix between two images. + The input intrinsic camera calibration matrix. + Array of rotation matrices. + Array of translation matrices. + Array of plane normal matrices. + + + + + Filters homography decompositions based on additional information. + + Vector of rotation matrices. + Vector of plane normal matrices. + Vector of (rectified) visible reference points before the homography is applied + Vector of (rectified) visible reference points after the homography is applied + Vector of int indices representing the viable solution set after filtering + optional Mat/Vector of 8u type representing the mask for the inliers as given by the findHomography function + + + + corrects lens distortion for the given camera matrix and distortion coefficients + + Input (distorted) image. + Output (corrected) image that has the same size and type as src . + Input camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, + or 8 elements. If the vector is null, the zero distortion coefficients are assumed. + Camera matrix of the distorted image. + By default, it is the same as cameraMatrix but you may additionally scale + and shift the result by using a different matrix. + + + + initializes maps for cv::remap() to correct lens distortion and optionally rectify the image + + + + + + + + + + + + + initializes maps for cv::remap() for wide-angle + + + + + + + + + + + + + + + returns the default new camera matrix (by default it is the same as cameraMatrix unless centerPricipalPoint=true) + + Input camera matrix. + Camera view image size in pixels. + Location of the principal point in the new camera matrix. + The parameter indicates whether this location should be at the image center or not. + the camera matrix that is either an exact copy of the input cameraMatrix + (when centerPrinicipalPoint=false), or the modified one (when centerPrincipalPoint=true). + + + + Computes the ideal point coordinates from the observed point coordinates. + + Observed point coordinates, 1xN or Nx1 2-channel (CV_32FC2 or CV_64FC2). + Output ideal point coordinates after undistortion and reverse perspective transformation. + If matrix P is identity or omitted, dst will contain normalized point coordinates. + Camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Rectification transformation in the object space (3x3 matrix). + R1 or R2 computed by stereoRectify() can be passed here. + If the matrix is empty, the identity transformation is used. + New camera matrix (3x3) or new projection matrix (3x4). + P1 or P2 computed by stereoRectify() can be passed here. If the matrix is empty, + the identity new camera matrix is used. + + + + Computes the ideal point coordinates from the observed point coordinates. + + Observed point coordinates, 1xN or Nx1 2-channel (CV_32FC2 or CV_64FC2). + Output ideal point coordinates after undistortion and reverse perspective transformation. + If matrix P is identity or omitted, dst will contain normalized point coordinates. + Camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Rectification transformation in the object space (3x3 matrix). + R1 or R2 computed by stereoRectify() can be passed here. + If the matrix is empty, the identity transformation is used. + New camera matrix (3x3) or new projection matrix (3x4). + P1 or P2 computed by stereoRectify() can be passed here. If the matrix is empty, + the identity new camera matrix is used. + + + + + The methods in this class use a so-called fisheye camera model. + + + + + Projects points using fisheye model. + + The function computes projections of 3D points to the image plane given intrinsic and extrinsic + camera parameters.Optionally, the function computes Jacobians - matrices of partial derivatives of + image points coordinates(as functions of all the input parameters) with respect to the particular + parameters, intrinsic and/or extrinsic. + + Array of object points, 1xN/Nx1 3-channel (or vector<Point3f> ), + where N is the number of points in the view. + Output array of image points, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel, + or vector<Point2f>. + + + Camera matrix + Input vector of distortion coefficients + The skew coefficient. + Optional output 2Nx15 jacobian matrix of derivatives of image points with respect + to components of the focal lengths, coordinates of the principal point, distortion coefficients, + rotation vector, translation vector, and the skew.In the old interface different components of + the jacobian are returned via different output parameters. + + + + Distorts 2D points using fisheye model. + + Array of object points, 1xN/Nx1 2-channel (or vector<Point2f> ), + where N is the number of points in the view. + Output array of image points, 1xN/Nx1 2-channel, or vector<Point2f> . + Camera matrix + Input vector of distortion coefficients + The skew coefficient. + + + + Undistorts 2D points using fisheye model + + Array of object points, 1xN/Nx1 2-channel (or vector<Point2f> ), + where N is the number of points in the view. + Output array of image points, 1xN/Nx1 2-channel, or vector>Point2f> . + Camera matrix + Input vector of distortion coefficients (k_1, k_2, k_3, k_4). + Rectification transformation in the object space: 3x3 1-channel, or vector: 3x1/1x3 1-channel or 1x1 3-channel + New camera matrix (3x3) or new projection matrix (3x4) + + + + Computes undistortion and rectification maps for image transform by cv::remap(). + If D is empty zero distortion is used, if R or P is empty identity matrixes are used. + + Camera matrix + Input vector of distortion coefficients (k_1, k_2, k_3, k_4). + Rectification transformation in the object space: 3x3 1-channel, or vector: 3x1/1x3 1-channel or 1x1 3-channel + New camera matrix (3x3) or new projection matrix (3x4) + Undistorted image size. + Type of the first output map that can be CV_32FC1 or CV_16SC2 . See convertMaps() for details. + The first output map. + The second output map. + + + + Transforms an image to compensate for fisheye lens distortion. + + image with fisheye lens distortion. + Output image with compensated fisheye lens distortion. + Camera matrix + Input vector of distortion coefficients (k_1, k_2, k_3, k_4). + Camera matrix of the distorted image. By default, it is the identity matrix but you + may additionally scale and shift the result by using a different matrix. + + + + + Estimates new camera matrix for undistortion or rectification. + + Camera matrix + Input vector of distortion coefficients (k_1, k_2, k_3, k_4). + + Rectification transformation in the object space: 3x3 1-channel, or vector: 3x1/1x3 + 1-channel or 1x1 3-channel + New camera matrix (3x3) or new projection matrix (3x4) + Sets the new focal length in range between the min focal length and the max focal + length.Balance is in range of[0, 1]. + + Divisor for new focal length. + + + + Performs camera calibaration + + vector of vectors of calibration pattern points in the calibration pattern coordinate space. + vector of vectors of the projections of calibration pattern points. + imagePoints.size() and objectPoints.size() and imagePoints[i].size() must be equal to + objectPoints[i].size() for each i. + Size of the image used only to initialize the intrinsic camera matrix. + Output 3x3 floating-point camera matrix + Output vector of distortion coefficients (k_1, k_2, k_3, k_4). + Output vector of rotation vectors (see Rodrigues ) estimated for each pattern view. + That is, each k-th rotation vector together with the corresponding k-th translation vector(see + the next output parameter description) brings the calibration pattern from the model coordinate + space(in which object points are specified) to the world coordinate space, that is, a real + position of the calibration pattern in the k-th pattern view(k= 0.. * M * -1). + Output vector of translation vectors estimated for each pattern view. + Different flags that may be zero or a combination of flag values + Termination criteria for the iterative optimization algorithm. + + + + + Stereo rectification for fisheye camera model + + First camera matrix. + First camera distortion parameters. + Second camera matrix. + Second camera distortion parameters. + Size of the image used for stereo calibration. + Rotation matrix between the coordinate systems of the first and the second cameras. + Translation vector between coordinate systems of the cameras. + Output 3x3 rectification transform (rotation matrix) for the first camera. + Output 3x3 rectification transform (rotation matrix) for the second camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the first camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the second camera. + Output 4x4 disparity-to-depth mapping matrix (see reprojectImageTo3D ). + Operation flags that may be zero or CALIB_ZERO_DISPARITY . If the flag is set, + the function makes the principal points of each camera have the same pixel coordinates in the + rectified views.And if the flag is not set, the function may still shift the images in the + horizontal or vertical direction(depending on the orientation of epipolar lines) to maximize the + useful image area. + New image resolution after rectification. The same size should be passed to + initUndistortRectifyMap(see the stereo_calib.cpp sample in OpenCV samples directory). When(0,0) + is passed(default), it is set to the original imageSize.Setting it to larger value can help you + preserve details in the original image, especially when there is a big radial distortion. + Sets the new focal length in range between the min focal length and the max focal + length.Balance is in range of[0, 1]. + Divisor for new focal length. + + + + Performs stereo calibration + + Vector of vectors of the calibration pattern points. + Vector of vectors of the projections of the calibration pattern points, + observed by the first camera. + Vector of vectors of the projections of the calibration pattern points, + observed by the second camera. + Input/output first camera matrix + Input/output vector of distortion coefficients (k_1, k_2, k_3, k_4) of 4 elements. + Input/output second camera matrix. The parameter is similar to K1 . + Input/output lens distortion coefficients for the second camera. The parameter is + similar to D1. + Size of the image used only to initialize intrinsic camera matrix. + Output rotation matrix between the 1st and the 2nd camera coordinate systems. + Output translation vector between the coordinate systems of the cameras. + Different flags that may be zero or a combination of the FishEyeCalibrationFlags values + Termination criteria for the iterative optimization algorithm. + + + + + Computes the source location of an extrapolated pixel. + + 0-based coordinate of the extrapolated pixel along one of the axes, likely <0 or >= len + Length of the array along the corresponding axis. + Border type, one of the #BorderTypes, except for #BORDER_TRANSPARENT and BORDER_ISOLATED. + When borderType==BORDER_CONSTANT, the function always returns -1, regardless + + + + + Forms a border around the image + + The source image + The destination image; will have the same type as src and + the size Size(src.cols+left+right, src.rows+top+bottom) + Specify how much pixels in each direction from the source image rectangle one needs to extrapolate + Specify how much pixels in each direction from the source image rectangle one needs to extrapolate + Specify how much pixels in each direction from the source image rectangle one needs to extrapolate + Specify how much pixels in each direction from the source image rectangle one needs to extrapolate + The border type + The border value if borderType == Constant + + + + Computes the per-element sum of two arrays or an array and a scalar. + + The first source array + The second source array. It must have the same size and same type as src1 + The destination array; it will have the same size and same type as src1 + The optional operation mask, 8-bit single channel array; specifies elements of the destination array to be changed. [By default this is null] + + + + + Calculates per-element difference between two arrays or array and a scalar + + The first source array + The second source array. It must have the same size and same type as src1 + The destination array; it will have the same size and same type as src1 + The optional operation mask, 8-bit single channel array; specifies elements of the destination array to be changed. [By default this is null] + + + + + Calculates per-element difference between two arrays or array and a scalar + + The first source array + The second source array. It must have the same size and same type as src1 + The destination array; it will have the same size and same type as src1 + The optional operation mask, 8-bit single channel array; specifies elements of the destination array to be changed. [By default this is null] + + + + + Calculates per-element difference between two arrays or array and a scalar + + The first source array + The second source array. It must have the same size and same type as src1 + The destination array; it will have the same size and same type as src1 + The optional operation mask, 8-bit single channel array; specifies elements of the destination array to be changed. [By default this is null] + + + + + Calculates the per-element scaled product of two arrays + + The first source array + The second source array of the same size and the same type as src1 + The destination array; will have the same size and the same type as src1 + The optional scale factor. [By default this is 1] + + + + + Performs per-element division of two arrays or a scalar by an array. + + The first source array + The second source array; should have the same size and same type as src1 + The destination array; will have the same size and same type as src2 + Scale factor [By default this is 1] + + + + + Performs per-element division of two arrays or a scalar by an array. + + Scale factor + The first source array + The destination array; will have the same size and same type as src2 + + + + + adds scaled array to another one (dst = alpha*src1 + src2) + + + + + + + + + computes weighted sum of two arrays (dst = alpha*src1 + beta*src2 + gamma) + + + + + + + + + + + + Scales, computes absolute values and converts the result to 8-bit. + + The source array + The destination array + The optional scale factor. [By default this is 1] + The optional delta added to the scaled values. [By default this is 0] + + + + Converts an array to half precision floating number. + + This function converts FP32(single precision floating point) from/to FP16(half precision floating point). CV_16S format is used to represent FP16 data. + There are two use modes(src -> dst) : CV_32F -> CV_16S and CV_16S -> CV_32F.The input array has to have type of CV_32F or + CV_16S to represent the bit depth.If the input array is neither of them, the function will raise an error. + The format of half precision floating point is defined in IEEE 754-2008. + + input array. + output array. + + + + transforms array of numbers using a lookup table: dst(i)=lut(src(i)) + + Source array of 8-bit elements + Look-up table of 256 elements. + In the case of multi-channel source array, the table should either have + a single channel (in this case the same table is used for all channels) + or the same number of channels as in the source array + Destination array; + will have the same size and the same number of channels as src, + and the same depth as lut + + + + transforms array of numbers using a lookup table: dst(i)=lut(src(i)) + + Source array of 8-bit elements + Look-up table of 256 elements. + In the case of multi-channel source array, the table should either have + a single channel (in this case the same table is used for all channels) + or the same number of channels as in the source array + Destination array; + will have the same size and the same number of channels as src, + and the same depth as lut + + + + computes sum of array elements + + The source array; must have 1 to 4 channels + + + + + computes the number of nonzero array elements + + Single-channel array + number of non-zero elements in mtx + + + + returns the list of locations of non-zero pixels + + + + + + + computes mean value of selected array elements + + The source array; it should have 1 to 4 channels + (so that the result can be stored in Scalar) + The optional operation mask + + + + + computes mean value and standard deviation of all or selected array elements + + The source array; it should have 1 to 4 channels + (so that the results can be stored in Scalar's) + The output parameter: computed mean value + The output parameter: computed standard deviation + The optional operation mask + + + + computes mean value and standard deviation of all or selected array elements + + The source array; it should have 1 to 4 channels + (so that the results can be stored in Scalar's) + The output parameter: computed mean value + The output parameter: computed standard deviation + The optional operation mask + + + + Calculates absolute array norm, absolute difference norm, or relative difference norm. + + The first source array + Type of the norm + The optional operation mask + + + + + computes norm of selected part of the difference between two arrays + + The first source array + The second source array of the same size and the same type as src1 + Type of the norm + The optional operation mask + + + + + Computes the Peak Signal-to-Noise Ratio (PSNR) image quality metric. + + This function calculates the Peak Signal-to-Noise Ratio(PSNR) image quality metric in decibels(dB), + between two input arrays src1 and src2.The arrays must have the same type. + + first input array. + second input array of the same size as src1. + the maximum pixel value (255 by default) + + + + + naive nearest neighbor finder + + + + + + + + + + + + + + + scales and shifts array elements so that either the specified norm (alpha) + or the minimum (alpha) and maximum (beta) array values get the specified values + + The source array + The destination array; will have the same size as src + The norm value to normalize to or the lower range boundary + in the case of range normalization + The upper range boundary in the case of range normalization; + not used for norm normalization + The normalization type + When the parameter is negative, + the destination array will have the same type as src, + otherwise it will have the same number of channels as src and the depth =CV_MAT_DEPTH(rtype) + The optional operation mask + + + + Finds indices of max elements along provided axis + + Input single-channel array + Output array of type CV_32SC1 with the same dimensionality as src, + except for axis being reduced - it should be set to 1. + Axis to reduce along + Whether to get the index of first or last occurrence of max + + + + Finds indices of min elements along provided axis + + Input single-channel array + Output array of type CV_32SC1 with the same dimensionality as src, + except for axis being reduced - it should be set to 1. + Axis to reduce along + Whether to get the index of first or last occurrence of min + + + + finds global minimum and maximum array elements and returns their values and their locations + + The source single-channel array + Pointer to returned minimum value + Pointer to returned maximum value + + + + finds global minimum and maximum array elements and returns their values and their locations + + The source single-channel array + Pointer to returned minimum location + Pointer to returned maximum location + + + + finds global minimum and maximum array elements and returns their values and their locations + + The source single-channel array + Pointer to returned minimum value + Pointer to returned maximum value + Pointer to returned minimum location + Pointer to returned maximum location + The optional mask used to select a sub-array + + + + finds global minimum and maximum array elements and returns their values and their locations + + The source single-channel array + Pointer to returned minimum value + Pointer to returned maximum value + + + + finds global minimum and maximum array elements and returns their values and their locations + + The source single-channel array + + + + + + finds global minimum and maximum array elements and returns their values and their locations + + The source single-channel array + Pointer to returned minimum value + Pointer to returned maximum value + + + + + + + transforms 2D matrix to 1D row or column vector by taking sum, minimum, maximum or mean value over all the rows + + The source 2D matrix + The destination vector. + Its size and type is defined by dim and dtype parameters + The dimension index along which the matrix is reduced. + 0 means that the matrix is reduced to a single row and 1 means that the matrix is reduced to a single column + + When it is negative, the destination vector will have + the same type as the source matrix, otherwise, its type will be CV_MAKE_TYPE(CV_MAT_DEPTH(dtype), mtx.channels()) + + + + makes multi-channel array out of several single-channel arrays + + + + + + + Copies each plane of a multi-channel array to a dedicated array + + The source multi-channel array + The destination array or vector of arrays; + The number of arrays must match mtx.channels() . + The arrays themselves will be reallocated if needed + + + + Copies each plane of a multi-channel array to a dedicated array + + The source multi-channel array + The number of arrays must match mtx.channels() . + The arrays themselves will be reallocated if needed + + + + copies selected channels from the input arrays to the selected channels of the output arrays + + + + + + + + extracts a single channel from src (coi is 0-based index) + + + + + + + + inserts a single channel to dst (coi is 0-based index) + + + + + + + + reverses the order of the rows, columns or both in a matrix + + The source array + The destination array; will have the same size and same type as src + Specifies how to flip the array: + 0 means flipping around the x-axis, positive (e.g., 1) means flipping around y-axis, + and negative (e.g., -1) means flipping around both axes. See also the discussion below for the formulas. + + + + Rotates a 2D array in multiples of 90 degrees. + + input array. + output array of the same type as src. + The size is the same with ROTATE_180, and the rows and cols are switched for + ROTATE_90_CLOCKWISE and ROTATE_90_COUNTERCLOCKWISE. + an enum to specify how to rotate the array. + + + + replicates the input matrix the specified number of times in the horizontal and/or vertical direction + + The source array to replicate + How many times the src is repeated along the vertical axis + How many times the src is repeated along the horizontal axis + The destination array; will have the same type as src + + + + replicates the input matrix the specified number of times in the horizontal and/or vertical direction + + The source array to replicate + How many times the src is repeated along the vertical axis + How many times the src is repeated along the horizontal axis + + + + + Applies horizontal concatenation to given matrices. + + input array or vector of matrices. all of the matrices must have the same number of rows and the same depth. + output array. It has the same number of rows and depth as the src, and the sum of cols of the src. + + + + Applies horizontal concatenation to given matrices. + + first input array to be considered for horizontal concatenation. + second input array to be considered for horizontal concatenation. + output array. It has the same number of rows and depth as the src1 and src2, and the sum of cols of the src1 and src2. + + + + Applies vertical concatenation to given matrices. + + input array or vector of matrices. all of the matrices must have the same number of cols and the same depth. + output array. It has the same number of cols and depth as the src, and the sum of rows of the src. + + + + Applies vertical concatenation to given matrices. + + first input array to be considered for vertical concatenation. + second input array to be considered for vertical concatenation. + output array. It has the same number of cols and depth as the src1 and src2, and the sum of rows of the src1 and src2. + + + + computes bitwise conjunction of the two arrays (dst = src1 & src2) + + first input array or a scalar. + second input array or a scalar. + output array that has the same size and type as the input + optional operation mask, 8-bit single channel array, that specifies elements of the output array to be changed. + + + + computes bitwise disjunction of the two arrays (dst = src1 | src2) + + first input array or a scalar. + second input array or a scalar. + output array that has the same size and type as the input + optional operation mask, 8-bit single channel array, that specifies elements of the output array to be changed. + + + + computes bitwise exclusive-or of the two arrays (dst = src1 ^ src2) + + first input array or a scalar. + second input array or a scalar. + output array that has the same size and type as the input + optional operation mask, 8-bit single channel array, that specifies elements of the output array to be changed. + + + + inverts each bit of array (dst = ~src) + + input array. + output array that has the same size and type as the input + optional operation mask, 8-bit single channel array, that specifies elements of the output array to be changed. + + + + Calculates the per-element absolute difference between two arrays or between an array and a scalar. + + first input array or a scalar. + second input array or a scalar. + output array that has the same size and type as input arrays. + + + + Copies the matrix to another one. + When the operation mask is specified, if the Mat::create call shown above reallocates the matrix, the newly allocated matrix is initialized with all zeros before copying the data. + + Source matrix. + Destination matrix. If it does not have a proper size or type before the operation, it is reallocated. + Operation mask of the same size as \*this. Its non-zero elements indicate which matrix + elements need to be copied.The mask has to be of type CV_8U and can have 1 or multiple channels. + + + + Checks if array elements lie between the elements of two other arrays. + + first input array. + inclusive lower boundary array or a scalar. + inclusive upper boundary array or a scalar. + output array of the same size as src and CV_8U type. + + + + Checks if array elements lie between the elements of two other arrays. + + first input array. + inclusive lower boundary array or a scalar. + inclusive upper boundary array or a scalar. + output array of the same size as src and CV_8U type. + + + + Performs the per-element comparison of two arrays or an array and scalar value. + + first input array or a scalar; when it is an array, it must have a single channel. + second input array or a scalar; when it is an array, it must have a single channel. + output array of type ref CV_8U that has the same size and the same number of channels as the input arrays. + a flag, that specifies correspondence between the arrays (cv::CmpTypes) + + + + computes per-element minimum of two arrays (dst = min(src1, src2)) + + + + + + + + computes per-element minimum of two arrays (dst = min(src1, src2)) + + + + + + + + computes per-element minimum of array and scalar (dst = min(src1, src2)) + + + + + + + + computes per-element maximum of two arrays (dst = max(src1, src2)) + + + + + + + + computes per-element maximum of two arrays (dst = max(src1, src2)) + + + + + + + + computes per-element maximum of array and scalar (dst = max(src1, src2)) + + + + + + + + computes square root of each matrix element (dst = src**0.5) + + The source floating-point array + The destination array; will have the same size and the same type as src + + + + raises the input matrix elements to the specified power (b = a**power) + + The source array + The exponent of power + The destination array; will have the same size and the same type as src + + + + computes exponent of each matrix element (dst = e**src) + + The source array + The destination array; will have the same size and same type as src + + + + computes natural logarithm of absolute value of each matrix element: dst = log(abs(src)) + + The source array + The destination array; will have the same size and same type as src + + + + Calculates x and y coordinates of 2D vectors from their magnitude and angle. + + input floating-point array of magnitudes of 2D vectors; + it can be an empty matrix(=Mat()), in this case, the function assumes that all the magnitudes are = 1; if it is not empty, + it must have the same size and type as angle. + input floating-point array of angles of 2D vectors. + output array of x-coordinates of 2D vectors; it has the same size and type as angle. + output array of y-coordinates of 2D vectors; it has the same size and type as angle. + when true, the input angles are measured in degrees, otherwise, they are measured in radians. + + + + Calculates the magnitude and angle of 2D vectors. + + array of x-coordinates; this must be a single-precision or double-precision floating-point array. + array of y-coordinates, that must have the same size and same type as x. + output array of magnitudes of the same size and type as x. + output array of angles that has the same size and type as x; + the angles are measured in radians(from 0 to 2\*Pi) or in degrees(0 to 360 degrees). + a flag, indicating whether the angles are measured in radians(which is by default), or in degrees. + + + + Calculates the rotation angle of 2D vectors. + + input floating-point array of x-coordinates of 2D vectors. + input array of y-coordinates of 2D vectors; it must have the same size and the same type as x. + output array of vector angles; it has the same size and same type as x. + when true, the function calculates the angle in degrees, otherwise, they are measured in radians. + + + + Calculates the magnitude of 2D vectors. + + floating-point array of x-coordinates of the vectors. + floating-point array of y-coordinates of the vectors; it must have the same size as x. + output array of the same size and type as x. + + + + checks that each matrix element is within the specified range. + + The array to check + The flag indicating whether the functions quietly + return false when the array elements are out of range, + or they throw an exception. + + + + + checks that each matrix element is within the specified range. + + The array to check + The flag indicating whether the functions quietly + return false when the array elements are out of range, + or they throw an exception. + The optional output parameter, where the position of + the first outlier is stored. + The inclusive lower boundary of valid values range + The exclusive upper boundary of valid values range + + + + + converts NaN's to the given number + + + + + + + implements generalized matrix product algorithm GEMM from BLAS + + + + + + + + + + + + multiplies matrix by its transposition from the left or from the right + + The source matrix + The destination square matrix + Specifies the multiplication ordering; see the description below + The optional delta matrix, subtracted from src before the + multiplication. When the matrix is empty ( delta=Mat() ), it’s assumed to be + zero, i.e. nothing is subtracted, otherwise if it has the same size as src, + then it’s simply subtracted, otherwise it is "repeated" to cover the full src + and then subtracted. Type of the delta matrix, when it's not empty, must be the + same as the type of created destination matrix, see the rtype description + The optional scale factor for the matrix product + When it’s negative, the destination matrix will have the + same type as src . Otherwise, it will have type=CV_MAT_DEPTH(rtype), + which should be either CV_32F or CV_64F + + + + transposes the matrix + + The source array + The destination array of the same type as src + + + + performs affine transformation of each element of multi-channel input matrix + + The source array; must have as many channels (1 to 4) as mtx.cols or mtx.cols-1 + The destination array; will have the same size and depth as src and as many channels as mtx.rows + The transformation matrix + + + + performs perspective transformation of each element of multi-channel input matrix + + The source two-channel or three-channel floating-point array; + each element is 2D/3D vector to be transformed + The destination array; it will have the same size and same type as src + 3x3 or 4x4 transformation matrix + + + + performs perspective transformation of each element of multi-channel input matrix + + The source two-channel or three-channel floating-point array; + each element is 2D/3D vector to be transformed + 3x3 or 4x4 transformation matrix + The destination array; it will have the same size and same type as src + + + + performs perspective transformation of each element of multi-channel input matrix + + The source two-channel or three-channel floating-point array; + each element is 2D/3D vector to be transformed + 3x3 or 4x4 transformation matrix + The destination array; it will have the same size and same type as src + + + + performs perspective transformation of each element of multi-channel input matrix + + The source two-channel or three-channel floating-point array; + each element is 2D/3D vector to be transformed + 3x3 or 4x4 transformation matrix + The destination array; it will have the same size and same type as src + + + + performs perspective transformation of each element of multi-channel input matrix + + The source two-channel or three-channel floating-point array; + each element is 2D/3D vector to be transformed + 3x3 or 4x4 transformation matrix + The destination array; it will have the same size and same type as src + + + + extends the symmetrical matrix from the lower half or from the upper half + + Input-output floating-point square matrix + If true, the lower half is copied to the upper half, + otherwise the upper half is copied to the lower half + + + + initializes scaled identity matrix + + The matrix to initialize (not necessarily square) + The value to assign to the diagonal elements + + + + computes determinant of a square matrix + + The input matrix; must have CV_32FC1 or CV_64FC1 type and square size + determinant of the specified matrix. + + + + computes trace of a matrix + + The source matrix + + + + + computes inverse or pseudo-inverse matrix + + The source floating-point MxN matrix + The destination matrix; will have NxM size and the same type as src + The inversion method + + + + + solves linear system or a least-square problem + + + + + + + + + + Solve given (non-integer) linear programming problem using the Simplex Algorithm (Simplex Method). + + This row-vector corresponds to \f$c\f$ in the LP problem formulation (see above). + It should contain 32- or 64-bit floating point numbers.As a convenience, column-vector may be also submitted, + in the latter case it is understood to correspond to \f$c^T\f$. + `m`-by-`n+1` matrix, whose rightmost column corresponds to \f$b\f$ in formulation above + and the remaining to \f$A\f$. It should containt 32- or 64-bit floating point numbers. + The solution will be returned here as a column-vector - it corresponds to \f$c\f$ in the + formulation above.It will contain 64-bit floating point numbers. + + + + + sorts independently each matrix row or each matrix column + + The source single-channel array + The destination array of the same size and the same type as src + The operation flags, a combination of the SortFlag values + + + + sorts independently each matrix row or each matrix column + + The source single-channel array + The destination integer array of the same size as src + The operation flags, a combination of SortFlag values + + + + finds real roots of a cubic polynomial + + The equation coefficients, an array of 3 or 4 elements + The destination array of real roots which will have 1 or 3 elements + + + + + finds real and complex roots of a polynomial + + The array of polynomial coefficients + The destination (complex) array of roots + The maximum number of iterations the algorithm does + + + + + Computes eigenvalues and eigenvectors of a symmetric matrix. + + The input matrix; must have CV_32FC1 or CV_64FC1 type, + square size and be symmetric: src^T == src + The output vector of eigenvalues of the same type as src; + The eigenvalues are stored in the descending order. + The output matrix of eigenvectors; + It will have the same size and the same type as src; The eigenvectors are stored + as subsequent matrix rows, in the same order as the corresponding eigenvalues + + + + + Calculates eigenvalues and eigenvectors of a non-symmetric matrix (real eigenvalues only). + + input matrix (CV_32FC1 or CV_64FC1 type). + output vector of eigenvalues (type is the same type as src). + output matrix of eigenvectors (type is the same type as src). The eigenvectors are stored as subsequent matrix rows, in the same order as the corresponding eigenvalues. + + + + computes covariation matrix of a set of samples + + samples stored as separate matrices + output covariance matrix of the type ctype and square size. + input or output (depending on the flags) array as the average value of the input vectors. + operation flags as a combination of CovarFlags + type of the matrixl; it equals 'CV_64F' by default. + + + + computes covariation matrix of a set of samples + + samples stored as rows/columns of a single matrix. + output covariance matrix of the type ctype and square size. + input or output (depending on the flags) array as the average value of the input vectors. + operation flags as a combination of CovarFlags + type of the matrixl; it equals 'CV_64F' by default. + + + + PCA of the supplied dataset. + + input samples stored as the matrix rows or as the matrix columns. + optional mean value; if the matrix is empty (noArray()), the mean is computed from the data. + eigenvectors of the covariation matrix + maximum number of components that PCA should + retain; by default, all the components are retained. + + + + PCA of the supplied dataset. + + input samples stored as the matrix rows or as the matrix columns. + optional mean value; if the matrix is empty (noArray()), the mean is computed from the data. + eigenvectors of the covariation matrix + eigenvalues of the covariation matrix + maximum number of components that PCA should + retain; by default, all the components are retained. + + + + PCA of the supplied dataset. + + input samples stored as the matrix rows or as the matrix columns. + optional mean value; if the matrix is empty (noArray()), the mean is computed from the data. + eigenvectors of the covariation matrix + Percentage of variance that PCA should retain. + Using this parameter will let the PCA decided how many components to retain but it will always keep at least 2. + + + + PCA of the supplied dataset. + + input samples stored as the matrix rows or as the matrix columns. + optional mean value; if the matrix is empty (noArray()), the mean is computed from the data. + eigenvectors of the covariation matrix + eigenvalues of the covariation matrix + Percentage of variance that PCA should retain. + Using this parameter will let the PCA decided how many components to retain but it will always keep at least 2. + + + + Projects vector(s) to the principal component subspace. + + input samples stored as the matrix rows or as the matrix columns. + optional mean value; if the matrix is empty (noArray()), the mean is computed from the data. + eigenvectors of the covariation matrix + output vectors + + + + Reconstructs vectors from their PC projections. + + input samples stored as the matrix rows or as the matrix columns. + optional mean value; if the matrix is empty (noArray()), the mean is computed from the data. + eigenvectors of the covariation matrix + output vectors + + + + decomposes matrix and stores the results to user-provided matrices + + decomposed matrix. The depth has to be CV_32F or CV_64F. + calculated singular values + calculated left singular vectors + transposed matrix of right singular vectors + peration flags - see SVD::Flags. + + + + performs back substitution for the previously computed SVD + + calculated singular values + calculated left singular vectors + transposed matrix of right singular vectors + right-hand side of a linear system (u*w*v')*dst = rhs to be solved, where A has been previously decomposed. + output + + + + Calculates the Mahalanobis distance between two vectors. + + first 1D input vector. + second 1D input vector. + inverse covariance matrix. + + + + + Performs a forward Discrete Fourier transform of 1D or 2D floating-point array. + + The source array, real or complex + The destination array, which size and type depends on the flags + Transformation flags, a combination of the DftFlag2 values + When the parameter != 0, the function assumes that + only the first nonzeroRows rows of the input array ( DFT_INVERSE is not set) + or only the first nonzeroRows of the output array ( DFT_INVERSE is set) contain non-zeros, + thus the function can handle the rest of the rows more efficiently and + thus save some time. This technique is very useful for computing array cross-correlation + or convolution using DFT + + + + Performs an inverse Discrete Fourier transform of 1D or 2D floating-point array. + + The source array, real or complex + The destination array, which size and type depends on the flags + Transformation flags, a combination of the DftFlag2 values + When the parameter != 0, the function assumes that + only the first nonzeroRows rows of the input array ( DFT_INVERSE is not set) + or only the first nonzeroRows of the output array ( DFT_INVERSE is set) contain non-zeros, + thus the function can handle the rest of the rows more efficiently and + thus save some time. This technique is very useful for computing array cross-correlation + or convolution using DFT + + + + Performs forward or inverse 1D or 2D Discrete Cosine Transformation + + The source floating-point array + The destination array; will have the same size and same type as src + Transformation flags, a combination of DctFlag2 values + + + + Performs inverse 1D or 2D Discrete Cosine Transformation + + The source floating-point array + The destination array; will have the same size and same type as src + Transformation flags, a combination of DctFlag2 values + + + + Performs the per-element multiplication of two Fourier spectrums. + + first input array. + second input array of the same size and type as src1. + output array of the same size and type as src1. + operation flags; currently, the only supported flag is cv::DFT_ROWS, which indicates that + each row of src1 and src2 is an independent 1D Fourier spectrum. If you do not want to use this flag, then simply add a `0` as value. + optional flag that conjugates the second input array before the multiplication (true) or not (false). + + + + Returns the optimal DFT size for a given vector size. + + vector size. + + + + + Returns the thread-local Random number generator + + + + + + Sets the thread-local Random number generator + + + + + + fills array with uniformly-distributed random numbers from the range [low, high) + + The output array of random numbers. + The array must be pre-allocated and have 1 to 4 channels + The inclusive lower boundary of the generated random numbers + The exclusive upper boundary of the generated random numbers + + + + fills array with uniformly-distributed random numbers from the range [low, high) + + The output array of random numbers. + The array must be pre-allocated and have 1 to 4 channels + The inclusive lower boundary of the generated random numbers + The exclusive upper boundary of the generated random numbers + + + + fills array with normally-distributed random numbers with the specified mean and the standard deviation + + The output array of random numbers. + The array must be pre-allocated and have 1 to 4 channels + The mean value (expectation) of the generated random numbers + The standard deviation of the generated random numbers + + + + fills array with normally-distributed random numbers with the specified mean and the standard deviation + + The output array of random numbers. + The array must be pre-allocated and have 1 to 4 channels + The mean value (expectation) of the generated random numbers + The standard deviation of the generated random numbers + + + + shuffles the input array elements + + The input/output numerical 1D array + The scale factor that determines the number of random swap operations. + + + + shuffles the input array elements + + The input/output numerical 1D array + The scale factor that determines the number of random swap operations. + The optional random number generator used for shuffling. + If it is null, theRng() is used instead. + + + + Finds centers of clusters and groups input samples around the clusters. + + Data for clustering. An array of N-Dimensional points with float coordinates is needed. + Number of clusters to split the set by. + Input/output integer array that stores the cluster indices for every sample. + The algorithm termination criteria, that is, the maximum number of iterations and/or + the desired accuracy. The accuracy is specified as criteria.epsilon. As soon as each of the cluster centers + moves by less than criteria.epsilon on some iteration, the algorithm stops. + Flag to specify the number of times the algorithm is executed using different + initial labellings. The algorithm returns the labels that yield the best compactness (see the last function parameter). + Flag that can take values of cv::KmeansFlags + Output matrix of the cluster centers, one row per each cluster center. + The function returns the compactness measure that is computed as + \f[\sum _i \| \texttt{samples} _i - \texttt{centers} _{ \texttt{labels} _i} \| ^2\f] + after every attempt. The best (minimum) value is chosen and the corresponding labels and the compactness + value are returned by the function. Basically, you can use only the core of the function, + set the number of attempts to 1, initialize labels each time using a custom algorithm, + pass them with the ( flags = #KMEANS_USE_INITIAL_LABELS ) flag, and then choose the best (most-compact) clustering. + + + + computes the angle in degrees (0..360) of the vector (x,y) + + + + + + + + computes cube root of the argument + + + + + + + OpenCV will try to set the number of threads for the next parallel region. + If threads == 0, OpenCV will disable threading optimizations and run all it's functions + sequentially.Passing threads < 0 will reset threads number to system default. This function must + be called outside of parallel region. + OpenCV will try to run its functions with specified threads number, but some behaviour differs from framework: + - `TBB` - User-defined parallel constructions will run with the same threads number, if another is not specified.If later on user creates his own scheduler, OpenCV will use it. + - `OpenMP` - No special defined behaviour. + - `Concurrency` - If threads == 1, OpenCV will disable threading optimizations and run its functions sequentially. + - `GCD` - Supports only values <= 0. + - `C=` - No special defined behaviour. + + Number of threads used by OpenCV. + + + + Returns the number of threads used by OpenCV for parallel regions. + + Always returns 1 if OpenCV is built without threading support. + The exact meaning of return value depends on the threading framework used by OpenCV library: + - `TBB` - The number of threads, that OpenCV will try to use for parallel regions. If there is + any tbb::thread_scheduler_init in user code conflicting with OpenCV, then function returns default + number of threads used by TBB library. + - `OpenMP` - An upper bound on the number of threads that could be used to form a new team. + - `Concurrency` - The number of threads, that OpenCV will try to use for parallel regions. + - `GCD` - Unsupported; returns the GCD thread pool limit(512) for compatibility. + - `C=` - The number of threads, that OpenCV will try to use for parallel regions, if before + called setNumThreads with threads > 0, otherwise returns the number of logical CPUs, + available for the process. + + + + + + Returns the index of the currently executed thread within the current parallel region. + Always returns 0 if called outside of parallel region. + @deprecated Current implementation doesn't corresponding to this documentation. + The exact meaning of the return value depends on the threading framework used by OpenCV library: + - `TBB` - Unsupported with current 4.1 TBB release.Maybe will be supported in future. + - `OpenMP` - The thread number, within the current team, of the calling thread. + - `Concurrency` - An ID for the virtual processor that the current context is executing + on(0 for master thread and unique number for others, but not necessary 1,2,3,...). + - `GCD` - System calling thread's ID. Never returns 0 inside parallel region. + - `C=` - The index of the current parallel task. + + + + + + Returns full configuration time cmake output. + + Returned value is raw cmake output including version control system revision, compiler version, + compiler flags, enabled modules and third party libraries, etc.Output format depends on target architecture. + + + + + + Returns library version string. + For example "3.4.1-dev". + + + + + + Returns major library version + + + + + + Returns minor library version + + + + + + Returns revision field of the library version + + + + + + Returns the number of ticks. + The function returns the number of ticks after the certain event (for example, when the machine was + turned on). It can be used to initialize RNG or to measure a function execution time by reading the + tick count before and after the function call. + + + + + + Returns the number of ticks per second. + The function returns the number of ticks per second.That is, the following code computes the execution time in seconds: + + + + + + Returns the number of CPU ticks. + + The function returns the current number of CPU ticks on some architectures(such as x86, x64, PowerPC). + On other platforms the function is equivalent to getTickCount.It can also be used for very accurate time + measurements, as well as for RNG initialization.Note that in case of multi-CPU systems a thread, from which + getCPUTickCount is called, can be suspended and resumed at another CPU with its own counter. So, + theoretically (and practically) the subsequent calls to the function do not necessary return the monotonously + increasing values. Also, since a modern CPU varies the CPU frequency depending on the load, the number of CPU + clocks spent in some code cannot be directly converted to time units.Therefore, getTickCount is generally + a preferable solution for measuringexecution time. + + + + + + Returns true if the specified feature is supported by the host hardware. + The function returns true if the host hardware supports the specified feature.When user calls + setUseOptimized(false), the subsequent calls to checkHardwareSupport() will return false until + setUseOptimized(true) is called.This way user can dynamically switch on and off the optimized code in OpenCV. + + The feature of interest, one of cv::CpuFeatures + + + + + Returns feature name by ID. + Returns empty string if feature is not defined + + + + + + + Returns list of CPU features enabled during compilation. + Returned value is a string containing space separated list of CPU features with following markers: + - no markers - baseline features + - prefix `*` - features enabled in dispatcher + - suffix `?` - features enabled but not available in HW + + + `SSE SSE2 SSE3* SSE4.1 *SSE4.2 *FP16* AVX *AVX2* AVX512-SKX?` + + + + + + Returns the number of logical CPUs available for the process. + + + + + + Turns on/off available optimization. + The function turns on or off the optimized code in OpenCV. Some optimization can not be enabled + or disabled, but, for example, most of SSE code in OpenCV can be temporarily turned on or off this way. + + + + + + Returns the current optimization status. + The function returns the current optimization status, which is controlled by cv::setUseOptimized(). + + + + + + Aligns buffer size by the certain number of bytes + This small inline function aligns a buffer size by + the certian number of bytes by enlarging it. + + + + + + + + Sets/resets the break-on-error mode. + When the break-on-error mode is set, the default error handler issues a hardware exception, + which can make debugging more convenient. + + + the previous state + + + + + + + + + + + + Set global logging level + + logging level + previous logging level + + + + Get global logging level + + logging level + + + + Computes absolute value of each matrix element + + matrix + + + + + Computes absolute value of each matrix element + + matrix expression + + + + + Equivalence predicate (a boolean function of two arguments). + The predicate returns true when the elements are certainly in the same class, and returns false if they may or may not be in the same class. + + + + + + + + + Splits an element set into equivalency classes. + Consider using GroupBy of Linq instead. + + + Set of elements stored as a vector. + Output vector of labels. It contains as many elements as vec. Each label labels[i] is a 0-based cluster index of vec[i] . + Equivalence predicate (a boolean function of two arguments). + The predicate returns true when the elements are certainly in the same class, and returns false if they may or may not be in the same class. + + + + + Detects corners using the FAST algorithm + + grayscale image where keypoints (corners) are detected. + threshold on difference between intensity of the central pixel + and pixels of a circle around this pixel. + if true, non-maximum suppression is applied to + detected corners (keypoints). + keypoints detected on the image. + + + + Detects corners using the FAST algorithm + + grayscale image where keypoints (corners) are detected. + threshold on difference between intensity of the central pixel + and pixels of a circle around this pixel. + if true, non-maximum suppression is applied to + detected corners (keypoints). + one of the three neighborhoods as defined in the paper + keypoints detected on the image. + + + + Detects corners using the AGAST algorithm + + grayscale image where keypoints (corners) are detected. + threshold on difference between intensity of the central pixel + and pixels of a circle around this pixel. + if true, non-maximum suppression is applied to + detected corners (keypoints). + one of the four neighborhoods as defined in the paper + keypoints detected on the image. + + + + Draw keypoints. + + Source image. + Keypoints from the source image. + Output image. Its content depends on the flags value defining what is drawn in the output image. See possible flags bit values below. + Color of keypoints. + Flags setting drawing features. Possible flags bit values are defined by DrawMatchesFlags. + + + + Draws the found matches of keypoints from two images. + + First source image. + Keypoints from the first source image. + Second source image. + Keypoints from the second source image. + Matches from the first image to the second one, which means that keypoints1[i] + has a corresponding point in keypoints2[matches[i]] . + Output image. Its content depends on the flags value defining what is drawn in the + output image. See possible flags bit values below. + Color of matches (lines and connected keypoints). If matchColor==Scalar::all(-1), + the color is generated randomly. + Color of single keypoints (circles), which means that keypoints do not + have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly. + Mask determining which matches are drawn. If the mask is empty, all matches are drawn. + Flags setting drawing features. Possible flags bit values are defined by DrawMatchesFlags. + + + + Draws the found matches of keypoints from two images. + + First source image. + Keypoints from the first source image. + Second source image. + Keypoints from the second source image. + Matches from the first image to the second one, which means that keypoints1[i] + has a corresponding point in keypoints2[matches[i]] . + Output image. Its content depends on the flags value defining what is drawn in the + output image. See possible flags bit values below. + Color of matches (lines and connected keypoints). If matchColor==Scalar::all(-1), + the color is generated randomly. + Color of single keypoints (circles), which means that keypoints do not + have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly. + Mask determining which matches are drawn. If the mask is empty, all matches are drawn. + Flags setting drawing features. Possible flags bit values are defined by DrawMatchesFlags. + + + + + + + + + + + + + + + + + + + + recallPrecisionCurve + + + + + + + + + + + + + + + + + + + + Creates a window. + + Name of the window in the window caption that may be used as a window identifier. + + Flags of the window. Currently the only supported flag is CV WINDOW AUTOSIZE. If this is set, + the window size is automatically adjusted to fit the displayed image (see imshow ), and the user can not change the window size manually. + + + + + Destroys the specified window. + + + + + + Destroys all of the HighGUI windows. + + + + + + + + + + + Waits for a pressed key. + Similar to #waitKey, but returns full key code. + Key code is implementation specific and depends on used backend: QT/GTK/Win32/etc + + Delay in milliseconds. 0 is the special value that means ”forever” + Returns the code of the pressed key or -1 if no key was pressed before the specified time had elapsed. + + + + Waits for a pressed key. + + Delay in milliseconds. 0 is the special value that means ”forever” + Returns the code of the pressed key or -1 if no key was pressed before the specified time had elapsed. + + + + Displays the image in the specified window + + Name of the window. + Image to be shown. + + + + Resizes window to the specified size + + Window name + The new window width + The new window height + + + + Resizes window to the specified size + + Window name + The new window size + + + + Moves window to the specified position + + Window name + The new x-coordinate of the window + The new y-coordinate of the window + + + + Changes parameters of a window dynamically. + + Name of the window. + Window property to retrieve. + New value of the window property. + + + + Updates window title + + Name of the window + New title + + + + Provides parameters of a window. + + Name of the window. + Window property to retrieve. + + + + + Provides rectangle of image in the window. + The function getWindowImageRect returns the client screen coordinates, width and height of the image rendering area. + + Name of the window. + + + + + Sets the callback function for mouse events occuring within the specified window. + + Name of the window. + Reference to the function to be called every time mouse event occurs in the specified window. + + + + + Gets the mouse-wheel motion delta, when handling mouse-wheel events cv::EVENT_MOUSEWHEEL and cv::EVENT_MOUSEHWHEEL. + + For regular mice with a scroll-wheel, delta will be a multiple of 120. The value 120 corresponds to + a one notch rotation of the wheel or the threshold for action to be taken and one such action should + occur for each delta.Some high-precision mice with higher-resolution freely-rotating wheels may + generate smaller values. + + For cv::EVENT_MOUSEWHEEL positive and negative values mean forward and backward scrolling, + respectively.For cv::EVENT_MOUSEHWHEEL, where available, positive and negative values mean right and + left scrolling, respectively. + + The mouse callback flags parameter. + + + + + Selects ROI on the given image. + Function creates a window and allows user to select a ROI using mouse. + Controls: use `space` or `enter` to finish selection, use key `c` to cancel selection (function will return the zero cv::Rect). + + name of the window where selection process will be shown. + image to select a ROI. + if true crosshair of selection rectangle will be shown. + if true center of selection will match initial mouse position. In opposite case a corner of + selection rectangle will correspond to the initial mouse position. + selected ROI or empty rect if selection canceled. + + + + Selects ROI on the given image. + Function creates a window and allows user to select a ROI using mouse. + Controls: use `space` or `enter` to finish selection, use key `c` to cancel selection (function will return the zero cv::Rect). + + image to select a ROI. + if true crosshair of selection rectangle will be shown. + if true center of selection will match initial mouse position. In opposite case a corner of + selection rectangle will correspond to the initial mouse position. + selected ROI or empty rect if selection canceled. + + + + Selects ROIs on the given image. + Function creates a window and allows user to select a ROIs using mouse. + Controls: use `space` or `enter` to finish current selection and start a new one, + use `esc` to terminate multiple ROI selection process. + + name of the window where selection process will be shown. + image to select a ROI. + if true crosshair of selection rectangle will be shown. + if true center of selection will match initial mouse position. In opposite case a corner of + selection rectangle will correspond to the initial mouse position. + selected ROIs. + + + + Creates a trackbar and attaches it to the specified window. + The function createTrackbar creates a trackbar(a slider or range control) with the specified name + and range, assigns a variable value to be a position synchronized with the trackbar and specifies + the callback function onChange to be called on the trackbar position change.The created trackbar is + displayed in the specified window winName. + + Name of the created trackbar. + Name of the window that will be used as a parent of the created trackbar. + Optional pointer to an integer variable whose value reflects the position of the slider.Upon creation, + the slider position is defined by this variable. + Maximal position of the slider. The minimal position is always 0. + Pointer to the function to be called every time the slider changes position. + This function should be prototyped as void Foo(int, void\*); , where the first parameter is the trackbar + position and the second parameter is the user data(see the next parameter). If the callback is + the NULL pointer, no callbacks are called, but only value is updated. + User data that is passed as is to the callback. It can be used to handle trackbar events without using global variables. + + + + + Creates a trackbar and attaches it to the specified window. + The function createTrackbar creates a trackbar(a slider or range control) with the specified name + and range, assigns a variable value to be a position synchronized with the trackbar and specifies + the callback function onChange to be called on the trackbar position change.The created trackbar is + displayed in the specified window winName. + + Name of the created trackbar. + Name of the window that will be used as a parent of the created trackbar. + Maximal position of the slider. The minimal position is always 0. + Pointer to the function to be called every time the slider changes position. + This function should be prototyped as void Foo(int, void\*); , where the first parameter is the trackbar + position and the second parameter is the user data(see the next parameter). If the callback is + the NULL pointer, no callbacks are called, but only value is updated. + User data that is passed as is to the callback. It can be used to handle trackbar events without using global variables. + + + + + Returns the trackbar position. + + Name of the trackbar. + Name of the window that is the parent of the trackbar. + trackbar position + + + + Sets the trackbar position. + + Name of the trackbar. + Name of the window that is the parent of trackbar. + New position. + + + + Sets the trackbar maximum position. + The function sets the maximum position of the specified trackbar in the specified window. + + Name of the trackbar. + Name of the window that is the parent of trackbar. + New maximum position. + + + + Sets the trackbar minimum position. + The function sets the minimum position of the specified trackbar in the specified window. + + Name of the trackbar. + Name of the window that is the parent of trackbar. + New minimum position. + + + + get native window handle (HWND in case of Win32 and Widget in case of X Window) + + + + + + Loads an image from a file. + + Name of file to be loaded. + Specifies color type of the loaded image + + + + + Loads a multi-page image from a file. + + Name of file to be loaded. + A vector of Mat objects holding each page, if more than one. + Flag that can take values of @ref cv::ImreadModes, default with IMREAD_ANYCOLOR. + + + + + Saves an image to a specified file. + + Name of the file. + Image to be saved. + Format-specific save parameters encoded as pairs + + + + + Saves an image to a specified file. + + Name of the file. + Image to be saved. + Format-specific save parameters encoded as pairs + + + + + Saves an image to a specified file. + + Name of the file. + Image to be saved. + Format-specific save parameters encoded as pairs + + + + + Saves an image to a specified file. + + Name of the file. + Image to be saved. + Format-specific save parameters encoded as pairs + + + + + Reads image from the specified buffer in memory. + + The input array of vector of bytes. + The same flags as in imread + + + + + Reads image from the specified buffer in memory. + + The input array of vector of bytes. + The same flags as in imread + + + + + Reads image from the specified buffer in memory. + + The input array of vector of bytes. + The same flags as in imread + + + + + Reads image from the specified buffer in memory. + + The input slice of bytes. + The same flags as in imread + + + + + Compresses the image and stores it in the memory buffer + + The file extension that defines the output format + The image to be written + Output buffer resized to fit the compressed image. + Format-specific parameters. + + + + Compresses the image and stores it in the memory buffer + + The file extension that defines the output format + The image to be written + Output buffer resized to fit the compressed image. + Format-specific parameters. + + + + + + + + + + + + + + + + + + Returns Gaussian filter coefficients. + + Aperture size. It should be odd and positive. + Gaussian standard deviation. + If it is non-positive, it is computed from ksize as `sigma = 0.3*((ksize-1)*0.5 - 1) + 0.8`. + Type of filter coefficients. It can be CV_32F or CV_64F. + + + + + Returns filter coefficients for computing spatial image derivatives. + + Output matrix of row filter coefficients. It has the type ktype. + Output matrix of column filter coefficients. It has the type ktype. + Derivative order in respect of x. + Derivative order in respect of y. + Aperture size. It can be CV_SCHARR, 1, 3, 5, or 7. + Flag indicating whether to normalize (scale down) the filter coefficients or not. + Theoretically, the coefficients should have the denominator \f$=2^{ksize*2-dx-dy-2}\f$. + If you are going to filter floating-point images, you are likely to use the normalized kernels. + But if you compute derivatives of an 8-bit image, store the results in a 16-bit image, + and wish to preserve all the fractional bits, you may want to set normalize = false. + Type of filter coefficients. It can be CV_32f or CV_64F. + + + + Returns Gabor filter coefficients. + + + For more details about gabor filter equations and parameters, see: https://en.wikipedia.org/wiki/Gabor_filter + + Size of the filter returned. + Standard deviation of the gaussian envelope. + Orientation of the normal to the parallel stripes of a Gabor function. + Wavelength of the sinusoidal factor. + Spatial aspect ratio. + Phase offset. + Type of filter coefficients. It can be CV_32F or CV_64F. + + + + + Returns a structuring element of the specified size and shape for morphological operations. + The function constructs and returns the structuring element that can be further passed to erode, + dilate or morphologyEx.But you can also construct an arbitrary binary mask yourself and use it as the structuring element. + + Element shape that could be one of MorphShapes + Size of the structuring element. + + + + + Returns a structuring element of the specified size and shape for morphological operations. + The function constructs and returns the structuring element that can be further passed to erode, + dilate or morphologyEx.But you can also construct an arbitrary binary mask yourself and use it as the structuring element. + + Element shape that could be one of MorphShapes + Size of the structuring element. + Anchor position within the element. The default value (−1,−1) means that the anchor is at the center. + Note that only the shape of a cross-shaped element depends on the anchor position. + In other cases the anchor just regulates how much the result of the morphological operation is shifted. + + + + + Smoothes image using median filter + + The source 1-, 3- or 4-channel image. + When ksize is 3 or 5, the image depth should be CV_8U , CV_16U or CV_32F. + For larger aperture sizes it can only be CV_8U + The destination array; will have the same size and the same type as src + The aperture linear size. It must be odd and more than 1, i.e. 3, 5, 7 ... + + + + Blurs an image using a Gaussian filter. + + input image; the image can have any number of channels, which are processed independently, + but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. + output image of the same size and type as src. + Gaussian kernel size. ksize.width and ksize.height can differ but they both must be positive and odd. + Or, they can be zero’s and then they are computed from sigma* . + Gaussian kernel standard deviation in X direction. + Gaussian kernel standard deviation in Y direction; if sigmaY is zero, it is set to be equal to sigmaX, + if both sigmas are zeros, they are computed from ksize.width and ksize.height, + respectively (see getGaussianKernel() for details); to fully control the result + regardless of possible future modifications of all this semantics, it is recommended to specify all of ksize, sigmaX, and sigmaY. + pixel extrapolation method + + + + Applies bilateral filter to the image + + The source 8-bit or floating-point, 1-channel or 3-channel image + The destination image; will have the same size and the same type as src + The diameter of each pixel neighborhood, that is used during filtering. + If it is non-positive, it's computed from sigmaSpace + Filter sigma in the color space. + Larger value of the parameter means that farther colors within the pixel neighborhood + will be mixed together, resulting in larger areas of semi-equal color + Filter sigma in the coordinate space. + Larger value of the parameter means that farther pixels will influence each other + (as long as their colors are close enough; see sigmaColor). Then d>0 , it specifies + the neighborhood size regardless of sigmaSpace, otherwise d is proportional to sigmaSpace + + + + + Smoothes image using box filter + + The source image + The destination image; will have the same size and the same type as src + + The smoothing kernel size + The anchor point. The default value Point(-1,-1) means that the anchor is at the kernel center + Indicates, whether the kernel is normalized by its area or not + The border mode used to extrapolate pixels outside of the image + + + + Calculates the normalized sum of squares of the pixel values overlapping the filter. + + For every pixel f(x, y) in the source image, the function calculates the sum of squares of those neighboring + pixel values which overlap the filter placed over the pixel f(x, y). + + The unnormalized square box filter can be useful in computing local image statistics such as the the local + variance and standard deviation around the neighborhood of a pixel. + + + + + + + + + + + + Smoothes image using normalized box filter + + The source image + The destination image; will have the same size and the same type as src + The smoothing kernel size + The anchor point. The default value Point(-1,-1) means that the anchor is at the kernel center + The border mode used to extrapolate pixels outside of the image + + + + Convolves an image with the kernel + + The source image + The destination image. It will have the same size and the same number of channels as src + The desired depth of the destination image. If it is negative, it will be the same as src.depth() + Convolution kernel (or rather a correlation kernel), + a single-channel floating point matrix. If you want to apply different kernels to + different channels, split the image into separate color planes using split() and process them individually + The anchor of the kernel that indicates the relative position of + a filtered point within the kernel. The anchor should lie within the kernel. + The special default value (-1,-1) means that the anchor is at the kernel center + The optional value added to the filtered pixels before storing them in dst + The pixel extrapolation method + + + + Applies separable linear filter to an image + + The source image + The destination image; will have the same size and the same number of channels as src + The destination image depth + The coefficients for filtering each row + The coefficients for filtering each column + The anchor position within the kernel; The default value (-1, 1) means that the anchor is at the kernel center + The value added to the filtered results before storing them + The pixel extrapolation method + + + + Calculates the first, second, third or mixed image derivatives using an extended Sobel operator + + The source image + The destination image; will have the same size and the same number of channels as src + The destination image depth + Order of the derivative x + Order of the derivative y + Size of the extended Sobel kernel, must be 1, 3, 5 or 7 + The optional scale factor for the computed derivative values (by default, no scaling is applied + The optional delta value, added to the results prior to storing them in dst + The pixel extrapolation method + + + + Calculates the first order image derivative in both x and y using a Sobel operator + + input image. + output image with first-order derivative in x. + output image with first-order derivative in y. + size of Sobel kernel. It must be 3. + pixel extrapolation method + + + + Calculates the first x- or y- image derivative using Scharr operator + + The source image + The destination image; will have the same size and the same number of channels as src + The destination image depth + Order of the derivative x + Order of the derivative y + The optional scale factor for the computed derivative values (by default, no scaling is applie + The optional delta value, added to the results prior to storing them in dst + The pixel extrapolation method + + + + Calculates the Laplacian of an image + + Source image + Destination image; will have the same size and the same number of channels as src + The desired depth of the destination image + The aperture size used to compute the second-derivative filters + The optional scale factor for the computed Laplacian values (by default, no scaling is applied + The optional delta value, added to the results prior to storing them in dst + The pixel extrapolation method + + + + Finds edges in an image using Canny algorithm. + + Single-channel 8-bit input image + The output edge map. It will have the same size and the same type as image + The first threshold for the hysteresis procedure + The second threshold for the hysteresis procedure + Aperture size for the Sobel operator [By default this is ApertureSize.Size3] + Indicates, whether the more accurate L2 norm should be used to compute the image gradient magnitude (true), or a faster default L1 norm is enough (false). [By default this is false] + + + + Finds edges in an image using the Canny algorithm with custom image gradient. + + 16-bit x derivative of input image (CV_16SC1 or CV_16SC3). + 16-bit y derivative of input image (same type as dx). + output edge map; single channels 8-bit image, which has the same size as image. + first threshold for the hysteresis procedure. + second threshold for the hysteresis procedure. + Indicates, whether the more accurate L2 norm should be used to compute the image gradient magnitude (true), or a faster default L1 norm is enough (false). [By default this is false] + + + + Calculates the minimal eigenvalue of gradient matrices for corner detection. + + Input single-channel 8-bit or floating-point image. + Image to store the minimal eigenvalues. It has the type CV_32FC1 and the same size as src . + Neighborhood size (see the details on #cornerEigenValsAndVecs ). + Aperture parameter for the Sobel operator. + Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported. + + + + Harris corner detector. + + Input single-channel 8-bit or floating-point image. + Image to store the Harris detector responses. + It has the type CV_32FC1 and the same size as src. + Neighborhood size (see the details on #cornerEigenValsAndVecs ). + Aperture parameter for the Sobel operator. + Harris detector free parameter. See the formula above. + Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported. + + + + computes both eigenvalues and the eigenvectors of 2x2 derivative covariation matrix at each pixel. The output is stored as 6-channel matrix. + + + + + + + + + + computes another complex cornerness criteria at each pixel + + + + + + + + + adjusts the corner locations with sub-pixel accuracy to maximize the certain cornerness criteria + + Input image. + Initial coordinates of the input corners and refined coordinates provided for output. + Half of the side length of the search window. + Half of the size of the dead region in the middle of the search zone + over which the summation in the formula below is not done. It is used sometimes to avoid possible singularities + of the autocorrelation matrix. The value of (-1,-1) indicates that there is no such a size. + Criteria for termination of the iterative process of corner refinement. + That is, the process of corner position refinement stops either after criteria.maxCount iterations + or when the corner position moves by less than criteria.epsilon on some iteration. + + + + + finds the strong enough corners where the cornerMinEigenVal() or cornerHarris() report the local maxima + + Input 8-bit or floating-point 32-bit, single-channel image. + Maximum number of corners to return. If there are more corners than are found, + the strongest of them is returned. + Parameter characterizing the minimal accepted quality of image corners. + The parameter value is multiplied by the best corner quality measure, which is the minimal eigenvalue + or the Harris function response (see cornerHarris() ). The corners with the quality measure less than + the product are rejected. For example, if the best corner has the quality measure = 1500, and the qualityLevel=0.01, + then all the corners with the quality measure less than 15 are rejected. + Minimum possible Euclidean distance between the returned corners. + Optional region of interest. If the image is not empty + (it needs to have the type CV_8UC1 and the same size as image ), it specifies the region + in which the corners are detected. + Size of an average block for computing a derivative covariation matrix over each pixel neighborhood. + Parameter indicating whether to use a Harris detector + Free parameter of the Harris detector. + Output vector of detected corners. + + + + Finds lines in a binary image using standard Hough transform. + + The 8-bit, single-channel, binary source image. The image may be modified by the function + Distance resolution of the accumulator in pixels + Angle resolution of the accumulator in radians + The accumulator threshold parameter. Only those lines are returned that get enough votes ( > threshold ) + For the multi-scale Hough transform it is the divisor for the distance resolution rho. [By default this is 0] + For the multi-scale Hough transform it is the divisor for the distance resolution theta. [By default this is 0] + The output vector of lines. Each line is represented by a two-element vector (rho, theta) . + rho is the distance from the coordinate origin (0,0) (top-left corner of the image) and theta is the line rotation angle in radians + + + + Finds lines segments in a binary image using probabilistic Hough transform. + + + Distance resolution of the accumulator in pixels + Angle resolution of the accumulator in radians + The accumulator threshold parameter. Only those lines are returned that get enough votes ( > threshold ) + The minimum line length. Line segments shorter than that will be rejected. [By default this is 0] + The maximum allowed gap between points on the same line to link them. [By default this is 0] + The output lines. Each line is represented by a 4-element vector (x1, y1, x2, y2) + + + + Finds lines in a set of points using the standard Hough transform. + The function finds lines in a set of points using a modification of the Hough transform. + + Input vector of points. Each vector must be encoded as a Point vector \f$(x,y)\f$. Type must be CV_32FC2 or CV_32SC2. + Output vector of found lines. Each vector is encoded as a vector<Vec3d> + Max count of hough lines. + Accumulator threshold parameter. Only those lines are returned that get enough votes + Minimum Distance value of the accumulator in pixels. + Maximum Distance value of the accumulator in pixels. + Distance resolution of the accumulator in pixels. + Minimum angle value of the accumulator in radians. + Maximum angle value of the accumulator in radians. + Angle resolution of the accumulator in radians. + + + + Finds circles in a grayscale image using a Hough transform. + + The 8-bit, single-channel, grayscale input image + The available methods are HoughMethods.Gradient and HoughMethods.GradientAlt + The inverse ratio of the accumulator resolution to the image resolution. + Minimum distance between the centers of the detected circles. + The first method-specific parameter. [By default this is 100] + The second method-specific parameter. [By default this is 100] + Minimum circle radius. [By default this is 0] + Maximum circle radius. [By default this is 0] + The output vector found circles. Each vector is encoded as 3-element floating-point vector (x, y, radius) + + + + Default borderValue for Dilate/Erode + + + + + + Dilates an image by using a specific structuring element. + + The source image + The destination image. It will have the same size and the same type as src + The structuring element used for dilation. If element=new Mat() , a 3x3 rectangular structuring element is used + Position of the anchor within the element. The default value (-1, -1) means that the anchor is at the element center + The number of times dilation is applied. [By default this is 1] + The pixel extrapolation method. [By default this is BorderType.Constant] + The border value in case of a constant border. The default value has a special meaning. [By default this is CvCpp.MorphologyDefaultBorderValue()] + + + + Erodes an image by using a specific structuring element. + + The source image + The destination image. It will have the same size and the same type as src + The structuring element used for dilation. If element=new Mat(), a 3x3 rectangular structuring element is used + Position of the anchor within the element. The default value (-1, -1) means that the anchor is at the element center + The number of times erosion is applied + The pixel extrapolation method + The border value in case of a constant border. The default value has a special meaning. [By default this is CvCpp.MorphologyDefaultBorderValue()] + + + + Performs advanced morphological transformations + + Source image + Destination image. It will have the same size and the same type as src + Type of morphological operation + Structuring element + Position of the anchor within the element. The default value (-1, -1) means that the anchor is at the element center + Number of times erosion and dilation are applied. [By default this is 1] + The pixel extrapolation method. [By default this is BorderType.Constant] + The border value in case of a constant border. The default value has a special meaning. [By default this is CvCpp.MorphologyDefaultBorderValue()] + + + + Resizes an image. + + input image. + output image; it has the size dsize (when it is non-zero) or the size computed + from src.size(), fx, and fy; the type of dst is the same as of src. + output image size; if it equals zero, it is computed as: + dsize = Size(round(fx*src.cols), round(fy*src.rows)) + Either dsize or both fx and fy must be non-zero. + scale factor along the horizontal axis; when it equals 0, + it is computed as: (double)dsize.width/src.cols + scale factor along the vertical axis; when it equals 0, + it is computed as: (double)dsize.height/src.rows + interpolation method + + + + Applies an affine transformation to an image. + + input image. + output image that has the size dsize and the same type as src. + 2x3 transformation matrix. + size of the output image. + combination of interpolation methods and the optional flag + WARP_INVERSE_MAP that means that M is the inverse transformation (dst -> src) . + pixel extrapolation method; when borderMode=BORDER_TRANSPARENT, + it means that the pixels in the destination image corresponding to the "outliers" + in the source image are not modified by the function. + value used in case of a constant border; by default, it is 0. + + + + Applies a perspective transformation to an image. + + input image. + output image that has the size dsize and the same type as src. + 3x3 transformation matrix. + size of the output image. + combination of interpolation methods (INTER_LINEAR or INTER_NEAREST) + and the optional flag WARP_INVERSE_MAP, that sets M as the inverse transformation (dst -> src). + pixel extrapolation method (BORDER_CONSTANT or BORDER_REPLICATE). + value used in case of a constant border; by default, it equals 0. + + + + Applies a perspective transformation to an image. + + input image. + output image that has the size dsize and the same type as src. + 3x3 transformation matrix. + size of the output image. + combination of interpolation methods (INTER_LINEAR or INTER_NEAREST) + and the optional flag WARP_INVERSE_MAP, that sets M as the inverse transformation (dst -> src). + pixel extrapolation method (BORDER_CONSTANT or BORDER_REPLICATE). + value used in case of a constant border; by default, it equals 0. + + + + Applies a generic geometrical transformation to an image. + + Source image. + Destination image. It has the same size as map1 and the same type as src + The first map of either (x,y) points or just x values having the type CV_16SC2, CV_32FC1, or CV_32FC2. + The second map of y values having the type CV_16UC1, CV_32FC1, or none (empty map if map1 is (x,y) points), respectively. + Interpolation method. The method INTER_AREA is not supported by this function. + Pixel extrapolation method. When borderMode=BORDER_TRANSPARENT, + it means that the pixels in the destination image that corresponds to the "outliers" in + the source image are not modified by the function. + Value used in case of a constant border. By default, it is 0. + + + + Converts image transformation maps from one representation to another. + + The first input map of type CV_16SC2 , CV_32FC1 , or CV_32FC2 . + The second input map of type CV_16UC1 , CV_32FC1 , or none (empty matrix), respectively. + The first output map that has the type dstmap1type and the same size as src. + The second output map. + Type of the first output map that should be CV_16SC2 , CV_32FC1 , or CV_32FC2 . + Flag indicating whether the fixed-point maps are used for the nearest-neighbor or for a more complex interpolation. + + + + Calculates an affine matrix of 2D rotation. + + Center of the rotation in the source image. + Rotation angle in degrees. Positive values mean counter-clockwise rotation (the coordinate origin is assumed to be the top-left corner). + Isotropic scale factor. + + + + + Inverts an affine transformation. + + Original affine transformation. + Output reverse affine transformation. + + + + Calculates a perspective transform from four pairs of the corresponding points. + The function calculates the 3×3 matrix of a perspective transform. + + Coordinates of quadrangle vertices in the source image. + Coordinates of the corresponding quadrangle vertices in the destination image. + + + + + Calculates a perspective transform from four pairs of the corresponding points. + The function calculates the 3×3 matrix of a perspective transform. + + Coordinates of quadrangle vertices in the source image. + Coordinates of the corresponding quadrangle vertices in the destination image. + + + + + Calculates an affine transform from three pairs of the corresponding points. + The function calculates the 2×3 matrix of an affine transform. + + Coordinates of triangle vertices in the source image. + Coordinates of the corresponding triangle vertices in the destination image. + + + + + Calculates an affine transform from three pairs of the corresponding points. + The function calculates the 2×3 matrix of an affine transform. + + Coordinates of triangle vertices in the source image. + Coordinates of the corresponding triangle vertices in the destination image. + + + + + Retrieves a pixel rectangle from an image with sub-pixel accuracy. + + Source image. + Size of the extracted patch. + Floating point coordinates of the center of the extracted rectangle + within the source image. The center must be inside the image. + Extracted patch that has the size patchSize and the same number of channels as src . + Depth of the extracted pixels. By default, they have the same depth as src. + + + + Remaps an image to log-polar space. + + Source image + Destination image + The transformation center; where the output precision is maximal + Magnitude scale parameter. + A combination of interpolation methods, see cv::InterpolationFlags + + + + Remaps an image to polar space. + + Source image + Destination image + The transformation center + Inverse magnitude scale parameter + A combination of interpolation methods, see cv::InterpolationFlags + + + + Remaps an image to polar or semilog-polar coordinates space. + + + - The function can not operate in-place. + - To calculate magnitude and angle in degrees #cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees. + - This function uses #remap. Due to current implementation limitations the size of an input and output images should be less than 32767x32767. + + Source image. + Destination image. It will have same type as src. + The destination image size (see description for valid options). + The transformation center. + The radius of the bounding circle to transform. It determines the inverse magnitude scale parameter too. + interpolation methods. + interpolation methods. + + + + Calculates the integral of an image. + The function calculates one or more integral images for the source image. + + + + + + + + Calculates the integral of an image. + The function calculates one or more integral images for the source image. + + + + + + + + + Calculates the integral of an image. + The function calculates one or more integral images for the source image. + + input image as W×H, 8-bit or floating-point (32f or 64f). + integral image as (W+1)×(H+1) , 32-bit integer or floating-point (32f or 64f). + integral image for squared pixel values; it is (W+1)×(H+1), double-precision floating-point (64f) array. + integral for the image rotated by 45 degrees; it is (W+1)×(H+1) array with the same data type as sum. + desired depth of the integral and the tilted integral images, CV_32S, CV_32F, or CV_64F. + desired depth of the integral image of squared pixel values, CV_32F or CV_64F. + + + + Adds an image to the accumulator. + + Input image as 1- or 3-channel, 8-bit or 32-bit floating point. + Accumulator image with the same number of channels as input image, 32-bit or 64-bit floating-point. + Optional operation mask. + + + + Adds the square of a source image to the accumulator. + + Input image as 1- or 3-channel, 8-bit or 32-bit floating point. + Accumulator image with the same number of channels as input image, 32-bit or 64-bit floating-point. + Optional operation mask. + + + + Adds the per-element product of two input images to the accumulator. + + First input image, 1- or 3-channel, 8-bit or 32-bit floating point. + Second input image of the same type and the same size as src1 + Accumulator with the same number of channels as input images, 32-bit or 64-bit floating-point. + Optional operation mask. + + + + Updates a running average. + + Input image as 1- or 3-channel, 8-bit or 32-bit floating point. + Accumulator image with the same number of channels as input image, 32-bit or 64-bit floating-point. + Weight of the input image. + Optional operation mask. + + + + The function is used to detect translational shifts that occur between two images. + + The operation takes advantage of the Fourier shift theorem for detecting the translational shift in + the frequency domain.It can be used for fast image registration as well as motion estimation. + For more information please see http://en.wikipedia.org/wiki/Phase_correlation. + + Calculates the cross-power spectrum of two supplied source arrays. The arrays are padded if needed with getOptimalDFTSize. + + Source floating point array (CV_32FC1 or CV_64FC1) + Source floating point array (CV_32FC1 or CV_64FC1) + Floating point array with windowing coefficients to reduce edge effects (optional). + Signal power within the 5x5 centroid around the peak, between 0 and 1 (optional). + detected phase shift(sub-pixel) between the two arrays. + + + + Computes a Hanning window coefficients in two dimensions. + + Destination array to place Hann coefficients in + The window size specifications + Created array type + + + + Applies a fixed-level threshold to each array element. + + input array (single-channel, 8-bit or 32-bit floating point). + output array of the same size and type as src. + threshold value. + maximum value to use with the THRESH_BINARY and THRESH_BINARY_INV thresholding types. + thresholding type (see the details below). + the computed threshold value when type == OTSU + + + + Applies an adaptive threshold to an array. + + Source 8-bit single-channel image. + Destination image of the same size and the same type as src . + Non-zero value assigned to the pixels for which the condition is satisfied. See the details below. + Adaptive thresholding algorithm to use, ADAPTIVE_THRESH_MEAN_C or ADAPTIVE_THRESH_GAUSSIAN_C . + Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV . + Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on. + Constant subtracted from the mean or weighted mean (see the details below). + Normally, it is positive but may be zero or negative as well. + + + + Blurs an image and downsamples it. + + input image. + output image; it has the specified size and the same type as src. + size of the output image; by default, it is computed as Size((src.cols+1)/2 + + + + + + + + + + + + + + Upsamples an image and then blurs it. + + input image. + output image. It has the specified size and the same type as src. + size of the output image; by default, it is computed as Size(src.cols*2, (src.rows*2) + + + + + computes the joint dense histogram for a set of images. + + + + + + + + + + + + + + computes the joint dense histogram for a set of images. + + + + + + + + + + + + + + computes the joint dense histogram for a set of images. + + + + + + + + + + + compares two histograms stored in dense arrays + + The first compared histogram + The second compared histogram of the same size as h1 + The comparison method + + + + + normalizes the grayscale image brightness and contrast by normalizing its histogram + + The source 8-bit single channel image + The destination image; will have the same size and the same type as src + + + + Creates a predefined CLAHE object + + + + + + + + Computes the "minimal work" distance between two weighted point configurations. + + The function computes the earth mover distance and/or a lower boundary of the distance between the + two weighted point configurations.One of the applications described in @cite RubnerSept98, + @cite Rubner2000 is multi-dimensional histogram comparison for image retrieval.EMD is a transportation + problem that is solved using some modification of a simplex algorithm, thus the complexity is + exponential in the worst case, though, on average it is much faster.In the case of a real metric + the lower boundary can be calculated even faster (using linear-time algorithm) and it can be used + to determine roughly whether the two signatures are far enough so that they cannot relate to the same object. + + First signature, a \f$\texttt{size1}\times \texttt{dims}+1\f$ floating-point matrix. + Each row stores the point weight followed by the point coordinates.The matrix is allowed to have + a single column(weights only) if the user-defined cost matrix is used.The weights must be non-negative + and have at least one non-zero value. + Second signature of the same format as signature1 , though the number of rows + may be different.The total weights may be different.In this case an extra "dummy" point is added + to either signature1 or signature2. The weights must be non-negative and have at least one non-zero value. + Used metric. + + + + + Computes the "minimal work" distance between two weighted point configurations. + + The function computes the earth mover distance and/or a lower boundary of the distance between the + two weighted point configurations.One of the applications described in @cite RubnerSept98, + @cite Rubner2000 is multi-dimensional histogram comparison for image retrieval.EMD is a transportation + problem that is solved using some modification of a simplex algorithm, thus the complexity is + exponential in the worst case, though, on average it is much faster.In the case of a real metric + the lower boundary can be calculated even faster (using linear-time algorithm) and it can be used + to determine roughly whether the two signatures are far enough so that they cannot relate to the same object. + + First signature, a \f$\texttt{size1}\times \texttt{dims}+1\f$ floating-point matrix. + Each row stores the point weight followed by the point coordinates.The matrix is allowed to have + a single column(weights only) if the user-defined cost matrix is used.The weights must be non-negative + and have at least one non-zero value. + Second signature of the same format as signature1 , though the number of rows + may be different.The total weights may be different.In this case an extra "dummy" point is added + to either signature1 or signature2. The weights must be non-negative and have at least one non-zero value. + Used metric. + User-defined size1 x size2 cost matrix. Also, if a cost matrix + is used, lower boundary lowerBound cannot be calculated because it needs a metric function. + + + + + Computes the "minimal work" distance between two weighted point configurations. + + The function computes the earth mover distance and/or a lower boundary of the distance between the + two weighted point configurations.One of the applications described in @cite RubnerSept98, + @cite Rubner2000 is multi-dimensional histogram comparison for image retrieval.EMD is a transportation + problem that is solved using some modification of a simplex algorithm, thus the complexity is + exponential in the worst case, though, on average it is much faster.In the case of a real metric + the lower boundary can be calculated even faster (using linear-time algorithm) and it can be used + to determine roughly whether the two signatures are far enough so that they cannot relate to the same object. + + First signature, a \f$\texttt{size1}\times \texttt{dims}+1\f$ floating-point matrix. + Each row stores the point weight followed by the point coordinates.The matrix is allowed to have + a single column(weights only) if the user-defined cost matrix is used.The weights must be non-negative + and have at least one non-zero value. + Second signature of the same format as signature1 , though the number of rows + may be different.The total weights may be different.In this case an extra "dummy" point is added + to either signature1 or signature2. The weights must be non-negative and have at least one non-zero value. + Used metric. + User-defined size1 x size2 cost matrix. Also, if a cost matrix + is used, lower boundary lowerBound cannot be calculated because it needs a metric function. + Optional input/output parameter: lower boundary of a distance between the two + signatures that is a distance between mass centers.The lower boundary may not be calculated if + the user-defined cost matrix is used, the total weights of point configurations are not equal, or + if the signatures consist of weights only(the signature matrices have a single column). You ** must** + initialize \*lowerBound.If the calculated distance between mass centers is greater or equal to + \*lowerBound(it means that the signatures are far enough), the function does not calculate EMD. + In any case \*lowerBound is set to the calculated distance between mass centers on return. + Thus, if you want to calculate both distance between mass centers and EMD, \*lowerBound should be set to 0. + Resultant size1 x size2 flow matrix: flow[i,j] is a flow from i-th point of signature1 + to j-th point of signature2. + + + + + Performs a marker-based image segmentation using the watershed algorithm. + + Input 8-bit 3-channel image. + Input/output 32-bit single-channel image (map) of markers. + It should have the same size as image. + + + + Performs initial step of meanshift segmentation of an image. + + The source 8-bit, 3-channel image. + The destination image of the same format and the same size as the source. + The spatial window radius. + The color window radius. + Maximum level of the pyramid for the segmentation. + Termination criteria: when to stop meanshift iterations. + + + + Segments the image using GrabCut algorithm + + Input 8-bit 3-channel image. + Input/output 8-bit single-channel mask. + The mask is initialized by the function when mode is set to GC_INIT_WITH_RECT. + Its elements may have Cv2.GC_BGD / Cv2.GC_FGD / Cv2.GC_PR_BGD / Cv2.GC_PR_FGD + ROI containing a segmented object. The pixels outside of the ROI are + marked as "obvious background". The parameter is only used when mode==GC_INIT_WITH_RECT. + Temporary array for the background model. Do not modify it while you are processing the same image. + Temporary arrays for the foreground model. Do not modify it while you are processing the same image. + Number of iterations the algorithm should make before returning the result. + Note that the result can be refined with further calls with mode==GC_INIT_WITH_MASK or mode==GC_EVAL . + Operation mode that could be one of GrabCutFlag value. + + + + Calculates the distance to the closest zero pixel for each pixel of the source image. + + 8-bit, single-channel (binary) source image. + Output image with calculated distances. It is a 8-bit or 32-bit floating-point, + single-channel image of the same size as src. + Output 2D array of labels (the discrete Voronoi diagram). It has the type + CV_32SC1 and the same size as src. + Type of distance + Size of the distance transform mask, see #DistanceTransformMasks. + #DIST_MASK_PRECISE is not supported by this variant. In case of the #DIST_L1 or #DIST_C distance type, + the parameter is forced to 3 because a 3x3 mask gives the same result as 5x5 or any larger aperture. + Type of the label array to build + + + + computes the distance transform map + + 8-bit, single-channel (binary) source image. + Output image with calculated distances. It is a 8-bit or 32-bit floating-point, + single-channel image of the same size as src. + Type of distance + Size of the distance transform mask, see #DistanceTransformMasks. In case of the + #DIST_L1 or #DIST_C distance type, the parameter is forced to 3 because a 3x3 mask gives + the same result as 5x5 or any larger aperture. + Type of output image. It can be MatType.CV_8U or MatType.CV_32F. + Type CV_8U can be used only for the first variant of the function and distanceType == #DIST_L1. + + + + Fills a connected component with the given color. + + Input/output 1- or 3-channel, 8-bit, or floating-point image. + It is modified by the function unless the FLOODFILL_MASK_ONLY flag is set in the + second variant of the function. See the details below. + Starting point. + New value of the repainted domain pixels. + + + + + Fills a connected component with the given color. + + Input/output 1- or 3-channel, 8-bit, or floating-point image. + It is modified by the function unless the FLOODFILL_MASK_ONLY flag is set in the + second variant of the function. See the details below. + Starting point. + New value of the repainted domain pixels. + Optional output parameter set by the function to the + minimum bounding rectangle of the repainted domain. + Maximal lower brightness/color difference between the currently + observed pixel and one of its neighbors belonging to the component, or a seed pixel + being added to the component. + Maximal upper brightness/color difference between the currently + observed pixel and one of its neighbors belonging to the component, or a seed pixel + being added to the component. + Operation flags. Lower bits contain a connectivity value, + 4 (default) or 8, used within the function. Connectivity determines which + neighbors of a pixel are considered. Using FloodFillFlags.MaskOnly will + fill in the mask using the grey value 255 (white). + + + + + Fills a connected component with the given color. + + Input/output 1- or 3-channel, 8-bit, or floating-point image. + It is modified by the function unless the FLOODFILL_MASK_ONLY flag is set in the + second variant of the function. See the details below. + (For the second function only) Operation mask that should be a single-channel 8-bit image, + 2 pixels wider and 2 pixels taller. The function uses and updates the mask, so you take responsibility of + initializing the mask content. Flood-filling cannot go across non-zero pixels in the mask. For example, + an edge detector output can be used as a mask to stop filling at edges. It is possible to use the same mask + in multiple calls to the function to make sure the filled area does not overlap. + Starting point. + New value of the repainted domain pixels. + + + + + Fills a connected component with the given color. + + Input/output 1- or 3-channel, 8-bit, or floating-point image. + It is modified by the function unless the FLOODFILL_MASK_ONLY flag is set in the + second variant of the function. See the details below. + (For the second function only) Operation mask that should be a single-channel 8-bit image, + 2 pixels wider and 2 pixels taller. The function uses and updates the mask, so you take responsibility of + initializing the mask content. Flood-filling cannot go across non-zero pixels in the mask. For example, + an edge detector output can be used as a mask to stop filling at edges. It is possible to use the same mask + in multiple calls to the function to make sure the filled area does not overlap. + Starting point. + New value of the repainted domain pixels. + Optional output parameter set by the function to the + minimum bounding rectangle of the repainted domain. + Maximal lower brightness/color difference between the currently + observed pixel and one of its neighbors belonging to the component, or a seed pixel + being added to the component. + Maximal upper brightness/color difference between the currently + observed pixel and one of its neighbors belonging to the component, or a seed pixel + being added to the component. + Operation flags. Lower bits contain a connectivity value, + 4 (default) or 8, used within the function. Connectivity determines which + neighbors of a pixel are considered. Using FloodFillFlags.MaskOnly will + fill in the mask using the grey value 255 (white). + + + + + Performs linear blending of two images: + dst(i,j) = weights1(i,j)*src1(i,j) + weights2(i,j)*src2(i,j) + + It has a type of CV_8UC(n) or CV_32FC(n), where n is a positive integer. + It has the same type and size as src1. + It has a type of CV_32FC1 and the same size with src1. + It has a type of CV_32FC1 and the same size with src1. + It is created if it does not have the same size and type with src1. + + + + Converts image from one color space to another + + The source image, 8-bit unsigned, 16-bit unsigned or single-precision floating-point + The destination image; will have the same size and the same depth as src + The color space conversion code + The number of channels in the destination image; if the parameter is 0, the number of the channels will be derived automatically from src and the code + + + + Converts an image from one color space to another where the source image is stored in two planes. + This function only supports YUV420 to RGB conversion as of now. + + 8-bit image (#CV_8U) of the Y plane. + image containing interleaved U/V plane. + output image. + Specifies the type of conversion. It can take any of the following values: + - #COLOR_YUV2BGR_NV12 + - #COLOR_YUV2RGB_NV12 + - #COLOR_YUV2BGRA_NV12 + - #COLOR_YUV2RGBA_NV12 + - #COLOR_YUV2BGR_NV21 + - #COLOR_YUV2RGB_NV21 + - #COLOR_YUV2BGRA_NV21 + - #COLOR_YUV2RGBA_NV21 + + + + main function for all demosaicing processes + + input image: 8-bit unsigned or 16-bit unsigned. + output image of the same size and depth as src. + Color space conversion code (see the description below). + number of channels in the destination image; if the parameter is 0, + the number of the channels is derived automatically from src and code. + + The function can do the following transformations: + + - Demosaicing using bilinear interpolation + + #COLOR_BayerBG2BGR , #COLOR_BayerGB2BGR , #COLOR_BayerRG2BGR , #COLOR_BayerGR2BGR + #COLOR_BayerBG2GRAY , #COLOR_BayerGB2GRAY , #COLOR_BayerRG2GRAY , #COLOR_BayerGR2GRAY + + - Demosaicing using Variable Number of Gradients. + + #COLOR_BayerBG2BGR_VNG , #COLOR_BayerGB2BGR_VNG , #COLOR_BayerRG2BGR_VNG , #COLOR_BayerGR2BGR_VNG + + - Edge-Aware Demosaicing. + + #COLOR_BayerBG2BGR_EA , #COLOR_BayerGB2BGR_EA , #COLOR_BayerRG2BGR_EA , #COLOR_BayerGR2BGR_EA + + - Demosaicing with alpha channel + + # COLOR_BayerBG2BGRA , #COLOR_BayerGB2BGRA , #COLOR_BayerRG2BGRA , #COLOR_BayerGR2BGRA + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + A raster image (single-channel, 8-bit or floating-point + 2D array) or an array ( 1xN or Nx1 ) of 2D points ( Point or Point2f ) + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + A raster image (8-bit) 2D array + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + A raster image (floating-point) 2D array + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + Array of 2D points + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + Array of 2D points + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Computes the proximity map for the raster template and the image where the template is searched for + + Image where the search is running; should be 8-bit or 32-bit floating-point + Searched template; must be not greater than the source image and have the same data type + A map of comparison results; will be single-channel 32-bit floating-point. + If image is WxH and templ is wxh then result will be (W-w+1) x (H-h+1). + Specifies the comparison method + Mask of searched template. It must have the same datatype and size with templ. It is not set by default. + + + + Computes the connected components labeled image of boolean image. + + image with 4 or 8 way connectivity - returns N, the total number of labels[0, N - 1] where 0 + represents the background label.ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of pixels in + the source image.ccltype specifies the connected components labeling algorithm to use, currently + Grana (BBDT) and Wu's (SAUF) algorithms are supported, see the #ConnectedComponentsAlgorithmsTypes + for details.Note that SAUF algorithm forces a row major ordering of labels while BBDT does not. + This function uses parallel version of both Grana and Wu's algorithms if at least one allowed + parallel framework is enabled and if the rows of the image are at least twice the number returned by #getNumberOfCPUs. + + the 8-bit single-channel image to be labeled + destination labeled image + 8 or 4 for 8-way or 4-way connectivity respectively + output image label type. Currently CV_32S and CV_16U are supported. + connected components algorithm type. + + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + the image to be labeled + destination labeled image + 8 or 4 for 8-way or 4-way connectivity respectively + The number of labels + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + the image to be labeled + destination labeled image + 8 or 4 for 8-way or 4-way connectivity respectively + output image label type. Currently CV_32S and CV_16U are supported. + The number of labels + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + the image to be labeled + destination labeled rectangular array + 8 or 4 for 8-way or 4-way connectivity respectively + The number of labels + + + + computes the connected components labeled image of boolean image and also produces a statistics output for each label. + + image with 4 or 8 way connectivity - returns N, the total number of labels[0, N - 1] where 0 + represents the background label.ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of pixels in + the source image.ccltype specifies the connected components labeling algorithm to use, currently + Grana's (BBDT) and Wu's (SAUF) algorithms are supported, see the #ConnectedComponentsAlgorithmsTypes + for details.Note that SAUF algorithm forces a row major ordering of labels while BBDT does not. + This function uses parallel version of both Grana and Wu's algorithms (statistics included) if at least one allowed + parallel framework is enabled and if the rows of the image are at least twice the number returned by #getNumberOfCPUs. + + the 8-bit single-channel image to be labeled + destination labeled image + statistics output for each label, including the background label, see below for + available statistics.Statistics are accessed via stats(label, COLUMN) where COLUMN is one of #ConnectedComponentsTypes. The data type is CV_32S. + centroid output for each label, including the background label. Centroids are + accessed via centroids(label, 0) for x and centroids(label, 1) for y.The data type CV_64F. + 8 or 4 for 8-way or 4-way connectivity respectively + output image label type. Currently CV_32S and CV_16U are supported. + connected components algorithm type. + + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + the image to be labeled + destination labeled image + statistics output for each label, including the background label, + see below for available statistics. Statistics are accessed via stats(label, COLUMN) + where COLUMN is one of cv::ConnectedComponentsTypes + floating point centroid (x,y) output for each label, + including the background label + 8 or 4 for 8-way or 4-way connectivity respectively + + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + the image to be labeled + destination labeled image + statistics output for each label, including the background label, + see below for available statistics. Statistics are accessed via stats(label, COLUMN) + where COLUMN is one of cv::ConnectedComponentsTypes + floating point centroid (x,y) output for each label, + including the background label + 8 or 4 for 8-way or 4-way connectivity respectively + output image label type. Currently CV_32S and CV_16U are supported. + + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + the image to be labeled + 8 or 4 for 8-way or 4-way connectivity respectively + + + + + + Finds contours in a binary image. + + Source, an 8-bit single-channel image. Non-zero pixels are treated as 1’s. + Zero pixels remain 0’s, so the image is treated as binary. + The function modifies the image while extracting the contours. + Detected contours. Each contour is stored as a vector of points. + Optional output vector, containing information about the image topology. + It has as many elements as the number of contours. For each i-th contour contours[i], + the members of the elements hierarchy[i] are set to 0-based indices in contours of the next + and previous contours at the same hierarchical level, the first child contour and the parent contour, respectively. + If for the contour i there are no next, previous, parent, or nested contours, the corresponding elements of hierarchy[i] will be negative. + Contour retrieval mode + Contour approximation method + Optional offset by which every contour point is shifted. + This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context. + + + + Finds contours in a binary image. + + Source, an 8-bit single-channel image. Non-zero pixels are treated as 1’s. + Zero pixels remain 0’s, so the image is treated as binary. + The function modifies the image while extracting the contours. + Detected contours. Each contour is stored as a vector of points. + Optional output vector, containing information about the image topology. + It has as many elements as the number of contours. For each i-th contour contours[i], + the members of the elements hierarchy[i] are set to 0-based indices in contours of the next + and previous contours at the same hierarchical level, the first child contour and the parent contour, respectively. + If for the contour i there are no next, previous, parent, or nested contours, the corresponding elements of hierarchy[i] will be negative. + Contour retrieval mode + Contour approximation method + Optional offset by which every contour point is shifted. + This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context. + + + + Finds contours in a binary image. + + Source, an 8-bit single-channel image. Non-zero pixels are treated as 1’s. + Zero pixels remain 0’s, so the image is treated as binary. + The function modifies the image while extracting the contours. + Contour retrieval mode + Contour approximation method + Optional offset by which every contour point is shifted. + This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context. + Detected contours. Each contour is stored as a vector of points. + + + + Finds contours in a binary image. + + Source, an 8-bit single-channel image. Non-zero pixels are treated as 1’s. + Zero pixels remain 0’s, so the image is treated as binary. + The function modifies the image while extracting the contours. + Contour retrieval mode + Contour approximation method + Optional offset by which every contour point is shifted. + This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context. + Detected contours. Each contour is stored as a vector of points. + + + + Approximates contour or a curve using Douglas-Peucker algorithm + + The polygon or curve to approximate. + Must be 1 x N or N x 1 matrix of type CV_32SC2 or CV_32FC2. + The result of the approximation; + The type should match the type of the input curve + Specifies the approximation accuracy. + This is the maximum distance between the original curve and its approximation. + The result of the approximation; + The type should match the type of the input curve + + + + Approximates contour or a curve using Douglas-Peucker algorithm + + The polygon or curve to approximate. + Specifies the approximation accuracy. + This is the maximum distance between the original curve and its approximation. + The result of the approximation; + The type should match the type of the input curve + The result of the approximation; + The type should match the type of the input curve + + + + Approximates contour or a curve using Douglas-Peucker algorithm + + The polygon or curve to approximate. + Specifies the approximation accuracy. + This is the maximum distance between the original curve and its approximation. + If true, the approximated curve is closed + (i.e. its first and last vertices are connected), otherwise it’s not + The result of the approximation; + The type should match the type of the input curve + + + + Calculates a contour perimeter or a curve length. + + The input vector of 2D points, represented by CV_32SC2 or CV_32FC2 matrix. + Indicates, whether the curve is closed or not. + + + + + Calculates a contour perimeter or a curve length. + + The input vector of 2D points. + Indicates, whether the curve is closed or not. + + + + + Calculates a contour perimeter or a curve length. + + The input vector of 2D points. + Indicates, whether the curve is closed or not. + + + + + Calculates the up-right bounding rectangle of a point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + Minimal up-right bounding rectangle for the specified point set. + + + + Calculates the up-right bounding rectangle of a point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + Minimal up-right bounding rectangle for the specified point set. + + + + Calculates the up-right bounding rectangle of a point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + Minimal up-right bounding rectangle for the specified point set. + + + + Calculates the contour area + + The contour vertices, represented by CV_32SC2 or CV_32FC2 matrix + + + + + + Calculates the contour area + + The contour vertices, represented by CV_32SC2 or CV_32FC2 matrix + + + + + + Calculates the contour area + + The contour vertices, represented by CV_32SC2 or CV_32FC2 matrix + + + + + + Finds the minimum area rotated rectangle enclosing a 2D point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + + + + + Finds the minimum area rotated rectangle enclosing a 2D point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + + + + + Finds the minimum area rotated rectangle enclosing a 2D point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + + + + + Finds the four vertices of a rotated rect. Useful to draw the rotated rectangle. + + The function finds the four vertices of a rotated rectangle.This function is useful to draw the + rectangle.In C++, instead of using this function, you can directly use RotatedRect::points method. Please + visit the @ref tutorial_bounding_rotated_ellipses "tutorial on Creating Bounding rotated boxes and ellipses for contours" for more information. + + The input rotated rectangle. It may be the output of + The output array of four vertices of rectangles. + + + + + Finds the four vertices of a rotated rect. Useful to draw the rotated rectangle. + + The function finds the four vertices of a rotated rectangle.This function is useful to draw the + rectangle.In C++, instead of using this function, you can directly use RotatedRect::points method. Please + visit the @ref tutorial_bounding_rotated_ellipses "tutorial on Creating Bounding rotated boxes and ellipses for contours" for more information. + + The input rotated rectangle. It may be the output of + The output array of four vertices of rectangles. + + + + Finds the minimum area circle enclosing a 2D point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + The output center of the circle + The output radius of the circle + + + + Finds the minimum area circle enclosing a 2D point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + The output center of the circle + The output radius of the circle + + + + Finds the minimum area circle enclosing a 2D point set. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + The output center of the circle + The output radius of the circle + + + + Finds a triangle of minimum area enclosing a 2D point set and returns its area. + + Input vector of 2D points with depth CV_32S or CV_32F, stored in std::vector or Mat + Output vector of three 2D points defining the vertices of the triangle. The depth + Triangle area + + + + Finds a triangle of minimum area enclosing a 2D point set and returns its area. + + Input vector of 2D points with depth CV_32S or CV_32F, stored in std::vector or Mat + Output vector of three 2D points defining the vertices of the triangle. The depth + Triangle area + + + + Finds a triangle of minimum area enclosing a 2D point set and returns its area. + + Input vector of 2D points with depth CV_32S or CV_32F, stored in std::vector or Mat + Output vector of three 2D points defining the vertices of the triangle. The depth + Triangle area + + + + Compares two shapes. + + First contour or grayscale image. + Second contour or grayscale image. + Comparison method + Method-specific parameter (not supported now) + + + + + Compares two shapes. + + First contour or grayscale image. + Second contour or grayscale image. + Comparison method + Method-specific parameter (not supported now) + + + + + Computes convex hull for a set of 2D points. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix + The output convex hull. It is either a vector of points that form the + hull (must have the same type as the input points), or a vector of 0-based point + indices of the hull points in the original array (since the set of convex hull + points is a subset of the original point set). + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + + + + + Computes convex hull for a set of 2D points. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + The output convex hull. It is a vector of points that form + the hull (must have the same type as the input points). + + + + Computes convex hull for a set of 2D points. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + The output convex hull. It is a vector of points that form + the hull (must have the same type as the input points). + + + + Computes convex hull for a set of 2D points. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + The output convex hull. It is a vector of 0-based point indices of the + hull points in the original array (since the set of convex hull points is a subset of the original point set). + + + + Computes convex hull for a set of 2D points. + + The input 2D point set, represented by CV_32SC2 or CV_32FC2 matrix + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + The output convex hull. It is a vector of 0-based point indices of the + hull points in the original array (since the set of convex hull points is a subset of the original point set). + + + + Computes the contour convexity defects + + Input contour. + Convex hull obtained using convexHull() that + should contain indices of the contour points that make the hull. + + The output vector of convexity defects. + Each convexity defect is represented as 4-element integer vector + (a.k.a. cv::Vec4i): (start_index, end_index, farthest_pt_index, fixpt_depth), + where indices are 0-based indices in the original contour of the convexity defect beginning, + end and the farthest point, and fixpt_depth is fixed-point approximation + (with 8 fractional bits) of the distance between the farthest contour point and the hull. + That is, to get the floating-point value of the depth will be fixpt_depth/256.0. + + + + + Computes the contour convexity defects + + Input contour. + Convex hull obtained using convexHull() that + should contain indices of the contour points that make the hull. + The output vector of convexity defects. + Each convexity defect is represented as 4-element integer vector + (a.k.a. cv::Vec4i): (start_index, end_index, farthest_pt_index, fixpt_depth), + where indices are 0-based indices in the original contour of the convexity defect beginning, + end and the farthest point, and fixpt_depth is fixed-point approximation + (with 8 fractional bits) of the distance between the farthest contour point and the hull. + That is, to get the floating-point value of the depth will be fixpt_depth/256.0. + + + + Computes the contour convexity defects + + Input contour. + Convex hull obtained using convexHull() that + should contain indices of the contour points that make the hull. + The output vector of convexity defects. + Each convexity defect is represented as 4-element integer vector + (a.k.a. cv::Vec4i): (start_index, end_index, farthest_pt_index, fixpt_depth), + where indices are 0-based indices in the original contour of the convexity defect beginning, + end and the farthest point, and fixpt_depth is fixed-point approximation + (with 8 fractional bits) of the distance between the farthest contour point and the hull. + That is, to get the floating-point value of the depth will be fixpt_depth/256.0. + + + + returns true if the contour is convex. + Does not support contours with self-intersection + + Input vector of 2D points + + + + + returns true if the contour is convex. + Does not support contours with self-intersection + + Input vector of 2D points + + + + + returns true if the contour is convex. D + oes not support contours with self-intersection + + Input vector of 2D points + + + + + finds intersection of two convex polygons + + + + + + + + + + finds intersection of two convex polygons + + + + + + + + + + finds intersection of two convex polygons + + + + + + + + + + Fits ellipse to the set of 2D points. + + Input 2D point set + + + + + Fits ellipse to the set of 2D points. + + Input 2D point set + + + + + Fits ellipse to the set of 2D points. + + Input 2D point set + + + + + Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Approximate Mean Square(AMS) proposed by @cite Taubin1991 is used. + + Input 2D point set + + + + + Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Approximate Mean Square(AMS) proposed by @cite Taubin1991 is used. + + Input 2D point set + + + + + Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Approximate Mean Square(AMS) proposed by @cite Taubin1991 is used. + + Input 2D point set + + + + + Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Direct least square(Direct) method by @cite Fitzgibbon1999 is used. + + Input 2D point set + + + + + Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Direct least square(Direct) method by @cite Fitzgibbon1999 is used. + + Input 2D point set + + + + + Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Direct least square(Direct) method by @cite Fitzgibbon1999 is used. + + Input 2D point set + + + + + Fits line to the set of 2D points using M-estimator algorithm + + Input vector of 2D or 3D points + Output line parameters. + In case of 2D fitting, it should be a vector of 4 elements + (like Vec4f) - (vx, vy, x0, y0), where (vx, vy) is a normalized vector + collinear to the line and (x0, y0) is a point on the line. + In case of 3D fitting, it should be a vector of 6 elements + (like Vec6f) - (vx, vy, vz, x0, y0, z0), where (vx, vy, vz) is a + normalized vector collinear to the line and (x0, y0, z0) is a point on the line. + Distance used by the M-estimator + Numerical parameter ( C ) for some types of distances. + If it is 0, an optimal value is chosen. + Sufficient accuracy for the radius + (distance between the coordinate origin and the line). + Sufficient accuracy for the angle. + 0.01 would be a good default value for reps and aeps. + + + + Fits line to the set of 2D points using M-estimator algorithm + + Input vector of 2D or 3D points + Distance used by the M-estimator + Numerical parameter ( C ) for some types of distances. + If it is 0, an optimal value is chosen. + Sufficient accuracy for the radius + (distance between the coordinate origin and the line). + Sufficient accuracy for the angle. + 0.01 would be a good default value for reps and aeps. + Output line parameters. + + + + Fits line to the set of 2D points using M-estimator algorithm + + Input vector of 2D or 3D points + Distance used by the M-estimator + Numerical parameter ( C ) for some types of distances. + If it is 0, an optimal value is chosen. + Sufficient accuracy for the radius + (distance between the coordinate origin and the line). + Sufficient accuracy for the angle. + 0.01 would be a good default value for reps and aeps. + Output line parameters. + + + + Fits line to the set of 3D points using M-estimator algorithm + + Input vector of 2D or 3D points + Distance used by the M-estimator + Numerical parameter ( C ) for some types of distances. + If it is 0, an optimal value is chosen. + Sufficient accuracy for the radius + (distance between the coordinate origin and the line). + Sufficient accuracy for the angle. + 0.01 would be a good default value for reps and aeps. + Output line parameters. + + + + Fits line to the set of 3D points using M-estimator algorithm + + Input vector of 2D or 3D points + Distance used by the M-estimator + Numerical parameter ( C ) for some types of distances. + If it is 0, an optimal value is chosen. + Sufficient accuracy for the radius + (distance between the coordinate origin and the line). + Sufficient accuracy for the angle. + 0.01 would be a good default value for reps and aeps. + Output line parameters. + + + + Checks if the point is inside the contour. Optionally computes the signed distance from the point to the contour boundary + + + + + + + + + Checks if the point is inside the contour. Optionally computes the signed distance from the point to the contour boundary + + + + + + + + + Checks if the point is inside the contour. + Optionally computes the signed distance from the point to the contour boundary. + + Input contour. + Point tested against the contour. + If true, the function estimates the signed distance + from the point to the nearest contour edge. Otherwise, the function only checks + if the point is inside a contour or not. + Positive (inside), negative (outside), or zero (on an edge) value. + + + + Finds out if there is any intersection between two rotated rectangles. + If there is then the vertices of the interesecting region are returned as well. + Below are some examples of intersection configurations. + The hatched pattern indicates the intersecting region and the red + vertices are returned by the function. + + First rectangle + Second rectangle + + The output array of the verticies of the intersecting region. + It returns at most 8 vertices. + Stored as std::vector<cv::Point2f> or cv::Mat as Mx1 of type CV_32FC2. + + + + + Finds out if there is any intersection between two rotated rectangles. + If there is then the vertices of the interesecting region are returned as well. + Below are some examples of intersection configurations. + The hatched pattern indicates the intersecting region and the red + vertices are returned by the function. + + First rectangle + Second rectangle + + The output array of the verticies of the intersecting region. + It returns at most 8 vertices. + + + + + Applies a GNU Octave/MATLAB equivalent colormap on a given image. + + The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. + The result is the colormapped source image. Note: Mat::create is called on dst. + colormap The colormap to apply + + + + Applies a user colormap on a given image. + + The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. + The result is the colormapped source image. Note: Mat::create is called on dst. + The colormap to apply of type CV_8UC1 or CV_8UC3 and size 256 + + + + Draws a line segment connecting two points + + The image. + First point's x-coordinate of the line segment. + First point's y-coordinate of the line segment. + Second point's x-coordinate of the line segment. + Second point's y-coordinate of the line segment. + Line color. + Line thickness. [By default this is 1] + Type of the line. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws a line segment connecting two points + + The image. + First point of the line segment. + Second point of the line segment. + Line color. + Line thickness. [By default this is 1] + Type of the line. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws a arrow segment pointing from the first point to the second one. + The function arrowedLine draws an arrow between pt1 and pt2 points in the image. + See also cv::line. + + Image. + The point the arrow starts from. + The point the arrow points to. + Line color. + Line thickness. + Type of the line, see cv::LineTypes + Number of fractional bits in the point coordinates. + The length of the arrow tip in relation to the arrow length + + + + Draws simple, thick or filled rectangle + + Image. + One of the rectangle vertices. + Opposite rectangle vertex. + Line color (RGB) or brightness (grayscale image). + Thickness of lines that make up the rectangle. Negative values make the function to draw a filled rectangle. [By default this is 1] + Type of the line, see cvLine description. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws simple, thick or filled rectangle + + Image. + Rectangle. + Line color (RGB) or brightness (grayscale image). + Thickness of lines that make up the rectangle. + Negative values make the function to draw a filled rectangle. [By default this is 1] + Type of the line, see cvLine description. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws simple, thick or filled rectangle + + Image. + Rectangle. + Line color (RGB) or brightness (grayscale image). + Thickness of lines that make up the rectangle. + Negative values make the function to draw a filled rectangle. [By default this is 1] + Type of the line, see cvLine description. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws simple, thick or filled rectangle + + Image. + One of the rectangle vertices. + Opposite rectangle vertex. + Line color (RGB) or brightness (grayscale image). + Thickness of lines that make up the rectangle. + Negative values make the function to draw a filled rectangle. [By default this is 1] + Type of the line, see cvLine description. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws a circle + + Image where the circle is drawn. + X-coordinate of the center of the circle. + Y-coordinate of the center of the circle. + Radius of the circle. + Circle color. + Thickness of the circle outline if positive, otherwise indicates that a filled circle has to be drawn. [By default this is 1] + Type of the circle boundary. [By default this is LineType.Link8] + Number of fractional bits in the center coordinates and radius value. [By default this is 0] + + + + Draws a circle + + Image where the circle is drawn. + Center of the circle. + Radius of the circle. + Circle color. + Thickness of the circle outline if positive, otherwise indicates that a filled circle has to be drawn. [By default this is 1] + Type of the circle boundary. [By default this is LineType.Link8] + Number of fractional bits in the center coordinates and radius value. [By default this is 0] + + + + Draws simple or thick elliptic arc or fills ellipse sector + + Image. + Center of the ellipse. + Length of the ellipse axes. + Rotation angle. + Starting angle of the elliptic arc. + Ending angle of the elliptic arc. + Ellipse color. + Thickness of the ellipse arc. [By default this is 1] + Type of the ellipse boundary. [By default this is LineType.Link8] + Number of fractional bits in the center coordinates and axes' values. [By default this is 0] + + + + Draws simple or thick elliptic arc or fills ellipse sector + + Image. + The enclosing box of the ellipse drawn + Ellipse color. + Thickness of the ellipse boundary. [By default this is 1] + Type of the ellipse boundary. [By default this is LineType.Link8] + + + + Draws a marker on a predefined position in an image. + + The function cv::drawMarker draws a marker on a given position in the image.For the moment several + marker types are supported, see #MarkerTypes for more information. + + Image. + The point where the crosshair is positioned. + Line color. + The specific type of marker you want to use. + The length of the marker axis [default = 20 pixels] + Line thickness. + Type of the line. + + + + Fills a convex polygon. + + Image + The polygon vertices + Polygon color + Type of the polygon boundaries + The number of fractional bits in the vertex coordinates + + + + Fills a convex polygon. + + Image + The polygon vertices + Polygon color + Type of the polygon boundaries + The number of fractional bits in the vertex coordinates + + + + Fills the area bounded by one or more polygons + + Image + Array of polygons, each represented as an array of points + Polygon color + Type of the polygon boundaries + The number of fractional bits in the vertex coordinates + + + + + Fills the area bounded by one or more polygons + + Image + Array of polygons, each represented as an array of points + Polygon color + Type of the polygon boundaries + The number of fractional bits in the vertex coordinates + + + + + draws one or more polygonal curves + + + + + + + + + + + + draws one or more polygonal curves + + + + + + + + + + + + draws contours in the image + + Destination image. + All the input contours. Each contour is stored as a point vector. + Parameter indicating a contour to draw. If it is negative, all the contours are drawn. + Color of the contours. + Thickness of lines the contours are drawn with. If it is negative (for example, thickness=CV_FILLED ), + the contour interiors are drawn. + Line connectivity. + Optional information about hierarchy. It is only needed if you want to draw only some of the contours + Maximal level for drawn contours. If it is 0, only the specified contour is drawn. + If it is 1, the function draws the contour(s) and all the nested contours. If it is 2, the function draws the contours, + all the nested contours, all the nested-to-nested contours, and so on. This parameter is only taken into account + when there is hierarchy available. + Optional contour shift parameter. Shift all the drawn contours by the specified offset = (dx, dy) + + + + draws contours in the image + + Destination image. + All the input contours. Each contour is stored as a point vector. + Parameter indicating a contour to draw. If it is negative, all the contours are drawn. + Color of the contours. + Thickness of lines the contours are drawn with. If it is negative (for example, thickness=CV_FILLED ), + the contour interiors are drawn. + Line connectivity. + Optional information about hierarchy. It is only needed if you want to draw only some of the contours + Maximal level for drawn contours. If it is 0, only the specified contour is drawn. + If it is 1, the function draws the contour(s) and all the nested contours. If it is 2, the function draws the contours, + all the nested contours, all the nested-to-nested contours, and so on. This parameter is only taken into account + when there is hierarchy available. + Optional contour shift parameter. Shift all the drawn contours by the specified offset = (dx, dy) + + + + Clips the line against the image rectangle + + The image size + The first line point + The second line point + + + + + Clips the line against the image rectangle + + sThe image rectangle + The first line point + The second line point + + + + + Approximates an elliptic arc with a polyline. + The function ellipse2Poly computes the vertices of a polyline that + approximates the specified elliptic arc. It is used by cv::ellipse. + + Center of the arc. + Half of the size of the ellipse main axes. See the ellipse for details. + Rotation angle of the ellipse in degrees. See the ellipse for details. + Starting angle of the elliptic arc in degrees. + Ending angle of the elliptic arc in degrees. + Angle between the subsequent polyline vertices. It defines the approximation + Output vector of polyline vertices. + + + + Approximates an elliptic arc with a polyline. + The function ellipse2Poly computes the vertices of a polyline that + approximates the specified elliptic arc. It is used by cv::ellipse. + + Center of the arc. + Half of the size of the ellipse main axes. See the ellipse for details. + Rotation angle of the ellipse in degrees. See the ellipse for details. + Starting angle of the elliptic arc in degrees. + Ending angle of the elliptic arc in degrees. + Angle between the subsequent polyline vertices. It defines the approximation + Output vector of polyline vertices. + + + + renders text string in the image + + Image. + Text string to be drawn. + Bottom-left corner of the text string in the image. + Font type, see #HersheyFonts. + Font scale factor that is multiplied by the font-specific base size. + Text color. + Thickness of the lines used to draw a text. + Line type. See #LineTypes + When true, the image data origin is at the bottom-left corner. + Otherwise, it is at the top-left corner. + + + + returns bounding box of the text string + + Input text string. + Font to use, see #HersheyFonts. + Font scale factor that is multiplied by the font-specific base size. + Thickness of lines used to render the text. See #putText for details. + baseLine y-coordinate of the baseline relative to the bottom-most text + The size of a box that contains the specified text. + + + + Calculates the font-specific size to use to achieve a given height in pixels. + + Font to use, see cv::HersheyFonts. + Pixel height to compute the fontScale for + Thickness of lines used to render the text.See putText for details. + The fontSize to use for cv::putText + + + + Groups the object candidate rectangles. + + Input/output vector of rectangles. Output vector includes retained and grouped rectangles. + Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + + + + + Groups the object candidate rectangles. + + Input/output vector of rectangles. Output vector includes retained and grouped rectangles. + + Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + Relative difference between sides of the rectangles to merge them into a group. + + + + Groups the object candidate rectangles. + + + + + + + + + + Groups the object candidate rectangles. + + + + + + + + + + + + + + + + + + + + Restores the selected region in an image using the region neighborhood. + + Input 8-bit, 16-bit unsigned or 32-bit float 1-channel or 8-bit 3-channel image. + Inpainting mask, 8-bit 1-channel image. Non-zero pixels indicate the area that needs to be inpainted. + Output image with the same size and type as src. + Radius of a circular neighborhood of each point inpainted that is considered by the algorithm. + Inpainting method that could be cv::INPAINT_NS or cv::INPAINT_TELEA + + + + Perform image denoising using Non-local Means Denoising algorithm + with several computational optimizations. Noise expected to be a gaussian white noise + + Input 8-bit 1-channel, 2-channel or 3-channel image. + Output image with the same size and type as src . + + Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, + smaller h value preserves details but also preserves some noise + + Size in pixels of the template patch that is used to compute weights. Should be odd. Recommended value 7 pixels + + Size in pixels of the window that is used to compute weighted average for given pixel. + Should be odd. Affect performance linearly: greater searchWindowsSize - greater denoising time. Recommended value 21 pixels + + + + Modification of fastNlMeansDenoising function for colored images + + Input 8-bit 3-channel image. + Output image with the same size and type as src. + Parameter regulating filter strength for luminance component. + Bigger h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise + The same as h but for color components. For most images value equals 10 will be enought + to remove colored noise and do not distort colors + + Size in pixels of the template patch that is used to compute weights. Should be odd. Recommended value 7 pixels + + Size in pixels of the window that is used to compute weighted average for given pixel. Should be odd. + Affect performance linearly: greater searchWindowsSize - greater denoising time. Recommended value 21 pixels + + + + Modification of fastNlMeansDenoising function for images sequence where consequtive images have been captured + in small period of time. For example video. This version of the function is for grayscale images or for manual manipulation with colorspaces. + + Input 8-bit 1-channel, 2-channel or 3-channel images sequence. All images should have the same type and size. + Output image with the same size and type as srcImgs images. + Target image to denoise index in srcImgs sequence + Number of surrounding images to use for target image denoising. + Should be odd. Images from imgToDenoiseIndex - temporalWindowSize / 2 to imgToDenoiseIndex - temporalWindowSize / 2 + from srcImgs will be used to denoise srcImgs[imgToDenoiseIndex] image. + Parameter regulating filter strength for luminance component. Bigger h value perfectly removes noise but also removes image details, + smaller h value preserves details but also preserves some noise + Size in pixels of the template patch that is used to compute weights. Should be odd. Recommended value 7 pixels + Size in pixels of the window that is used to compute weighted average for given pixel. + Should be odd. Affect performance linearly: greater searchWindowsSize - greater denoising time. Recommended value 21 pixels + + + + Modification of fastNlMeansDenoisingMulti function for colored images sequences + + Input 8-bit 3-channel images sequence. All images should have the same type and size. + Output image with the same size and type as srcImgs images. + Target image to denoise index in srcImgs sequence + Number of surrounding images to use for target image denoising. Should be odd. + Images from imgToDenoiseIndex - temporalWindowSize / 2 to imgToDenoiseIndex - temporalWindowSize / 2 from srcImgs + will be used to denoise srcImgs[imgToDenoiseIndex] image. + Parameter regulating filter strength for luminance component. Bigger h value perfectly removes noise + but also removes image details, smaller h value preserves details but also preserves some noise. + The same as h but for color components. + Size in pixels of the template patch that is used to compute weights. Should be odd. Recommended value 7 pixels + Size in pixels of the window that is used to compute weighted average for given pixel. + Should be odd. Affect performance linearly: greater searchWindowsSize - greater denoising time. Recommended value 21 pixels + + + + Primal-dual algorithm is an algorithm for solving special types of variational problems + (that is, finding a function to minimize some functional). As the image denoising, + in particular, may be seen as the variational problem, primal-dual algorithm then + can be used to perform denoising and this is exactly what is implemented. + + This array should contain one or more noised versions + of the image that is to be restored. + Here the denoised image will be stored. There is no need to + do pre-allocation of storage space, as it will be automatically allocated, if necessary. + Corresponds to \f$\lambda\f$ in the formulas above. + As it is enlarged, the smooth (blurred) images are treated more favorably than + detailed (but maybe more noised) ones. Roughly speaking, as it becomes smaller, + the result will be more blur but more sever outliers will be removed. + Number of iterations that the algorithm will run. + Of course, as more iterations as better, but it is hard to quantitatively + refine this statement, so just use the default and increase it if the results are poor. + + + + Transforms a color image to a grayscale image. It is a basic tool in digital + printing, stylized black-and-white photograph rendering, and in many single + channel image processing applications @cite CL12 . + + Input 8-bit 3-channel image. + Output 8-bit 1-channel image. + Output 8-bit 3-channel image. + + + + Image editing tasks concern either global changes (color/intensity corrections, + filters, deformations) or local changes concerned to a selection. Here we are + interested in achieving local changes, ones that are restricted to a region + manually selected (ROI), in a seamless and effortless manner. The extent of + the changes ranges from slight distortions to complete replacement by novel + content @cite PM03 . + + Input 8-bit 3-channel image. + Input 8-bit 3-channel image. + Input 8-bit 1 or 3-channel image. + Point in dst image where object is placed. + Output image with the same size and type as dst. + Cloning method + + + + Given an original color image, two differently colored versions of this + image can be mixed seamlessly. Multiplication factor is between 0.5 to 2.5. + + Input 8-bit 3-channel image. + Input 8-bit 1 or 3-channel image. + Output image with the same size and type as src. + R-channel multiply factor. + G-channel multiply factor. + B-channel multiply factor. + + + + Applying an appropriate non-linear transformation to the gradient field inside + the selection and then integrating back with a Poisson solver, modifies locally + the apparent illumination of an image. + + Input 8-bit 3-channel image. + Input 8-bit 1 or 3-channel image. + Output image with the same size and type as src. + Value ranges between 0-2. + Value ranges between 0-2. + + This is useful to highlight under-exposed foreground objects or to reduce specular reflections. + + + + + By retaining only the gradients at edge locations, before integrating with the + Poisson solver, one washes out the texture of the selected region, giving its + contents a flat aspect. Here Canny Edge Detector is used. + + Input 8-bit 3-channel image. + Input 8-bit 1 or 3-channel image. + Output image with the same size and type as src. + Range from 0 to 100. + Value > 100. + The size of the Sobel kernel to be used. + + + + Filtering is the fundamental operation in image and video processing. + Edge-preserving smoothing filters are used in many different applications @cite EM11 . + + Input 8-bit 3-channel image. + Output 8-bit 3-channel image. + Edge preserving filters + Range between 0 to 200. + Range between 0 to 1. + + + + This filter enhances the details of a particular image. + + Input 8-bit 3-channel image. + Output image with the same size and type as src. + Range between 0 to 200. + Range between 0 to 1. + + + + Pencil-like non-photorealistic line drawing + + Input 8-bit 3-channel image. + Output 8-bit 1-channel image. + Output image with the same size and type as src. + Range between 0 to 200. + Range between 0 to 1. + Range between 0 to 0.1. + + + + Stylization aims to produce digital imagery with a wide variety of effects + not focused on photorealism. Edge-aware filters are ideal for stylization, + as they can abstract regions of low contrast while preserving, or enhancing, + high-contrast features. + + Input 8-bit 3-channel image. + Output image with the same size and type as src. + Range between 0 to 200. + Range between 0 to 1. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create Bilateral TV-L1 Super Resolution. + + + + + + Create Bilateral TV-L1 Super Resolution. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finds an object center, size, and orientation. + + Back projection of the object histogram. + Initial search window. + Stop criteria for the underlying MeanShift() . + + + + + Finds an object on a back projection image. + + Back projection of the object histogram. + Initial search window. + Stop criteria for the iterative search algorithm. + Number of iterations CAMSHIFT took to converge. + + + + Constructs a pyramid which can be used as input for calcOpticalFlowPyrLK + + 8-bit input image. + output pyramid. + window size of optical flow algorithm. + Must be not less than winSize argument of calcOpticalFlowPyrLK(). + It is needed to calculate required padding for pyramid levels. + 0-based maximal pyramid level number. + set to precompute gradients for the every pyramid level. + If pyramid is constructed without the gradients then calcOpticalFlowPyrLK() will + calculate them internally. + the border mode for pyramid layers. + the border mode for gradients. + put ROI of input image into the pyramid if possible. + You can pass false to force data copying. + number of levels in constructed pyramid. Can be less than maxLevel. + + + + Constructs a pyramid which can be used as input for calcOpticalFlowPyrLK + + 8-bit input image. + output pyramid. + window size of optical flow algorithm. + Must be not less than winSize argument of calcOpticalFlowPyrLK(). + It is needed to calculate required padding for pyramid levels. + 0-based maximal pyramid level number. + set to precompute gradients for the every pyramid level. + If pyramid is constructed without the gradients then calcOpticalFlowPyrLK() will + calculate them internally. + the border mode for pyramid layers. + the border mode for gradients. + put ROI of input image into the pyramid if possible. + You can pass false to force data copying. + number of levels in constructed pyramid. Can be less than maxLevel. + + + + computes sparse optical flow using multi-scale Lucas-Kanade algorithm + + + + + + + + + + + + + + + + computes sparse optical flow using multi-scale Lucas-Kanade algorithm + + + + + + + + + + + + + + + + Computes a dense optical flow using the Gunnar Farneback's algorithm. + + first 8-bit single-channel input image. + second input image of the same size and the same type as prev. + computed flow image that has the same size as prev and type CV_32FC2. + parameter, specifying the image scale (<1) to build pyramids for each image; + pyrScale=0.5 means a classical pyramid, where each next layer is twice smaller than the previous one. + number of pyramid layers including the initial image; + levels=1 means that no extra layers are created and only the original images are used. + averaging window size; larger values increase the algorithm robustness to + image noise and give more chances for fast motion detection, but yield more blurred motion field. + number of iterations the algorithm does at each pyramid level. + size of the pixel neighborhood used to find polynomial expansion in each pixel; + larger values mean that the image will be approximated with smoother surfaces, + yielding more robust algorithm and more blurred motion field, typically poly_n =5 or 7. + standard deviation of the Gaussian that is used to smooth derivatives used as + a basis for the polynomial expansion; for polyN=5, you can set polySigma=1.1, + for polyN=7, a good value would be polySigma=1.5. + operation flags that can be a combination of OPTFLOW_USE_INITIAL_FLOW and/or OPTFLOW_FARNEBACK_GAUSSIAN + + + + Computes the Enhanced Correlation Coefficient value between two images @cite EP08 . + + single-channel template image; CV_8U or CV_32F array. + single-channel input image to be warped to provide an image similar to templateImage, same type as templateImage. + An optional mask to indicate valid values of inputImage. + + + + + Finds the geometric transform (warp) between two images in terms of the ECC criterion @cite EP08 . + + single-channel template image; CV_8U or CV_32F array. + single-channel input image which should be warped with the final warpMatrix in + order to provide an image similar to templateImage, same type as templateImage. + floating-point \f$2\times 3\f$ or \f$3\times 3\f$ mapping matrix (warp). + parameter, specifying the type of motion + parameter, specifying the termination criteria of the ECC algorithm; + criteria.epsilon defines the threshold of the increment in the correlation coefficient between two + iterations(a negative criteria.epsilon makes criteria.maxcount the only termination criterion). + Default values are shown in the declaration above. + An optional mask to indicate valid values of inputImage. + An optional value indicating size of gaussian blur filter; (DEFAULT: 5) + + + + + Finds the geometric transform (warp) between two images in terms of the ECC criterion @cite EP08 . + + single-channel template image; CV_8U or CV_32F array. + single-channel input image which should be warped with the final warpMatrix in + order to provide an image similar to templateImage, same type as templateImage. + floating-point \f$2\times 3\f$ or \f$3\times 3\f$ mapping matrix (warp). + parameter, specifying the type of motion + parameter, specifying the termination criteria of the ECC algorithm; + criteria.epsilon defines the threshold of the increment in the correlation coefficient between two + iterations(a negative criteria.epsilon makes criteria.maxcount the only termination criterion). + Default values are shown in the declaration above. + An optional mask to indicate valid values of inputImage. + + + + + A class which has a pointer of OpenCV structure + + + + + Data pointer + + + + + Default constructor + + + + + + + + + + + Native pointer of OpenCV structure + + + + + DisposableObject + ICvPtrHolder + + + + + Data pointer + + + + + Default constructor + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + + releases unmanaged resources + + + + + Native pointer of OpenCV structure + + + + + Represents a class which manages its own memory. + + + + + Gets or sets a handle which allocates using cvSetData. + + + + + Gets a value indicating whether this instance has been disposed. + + + + + Gets or sets a value indicating whether you permit disposing this instance. + + + + + Gets or sets a memory address allocated by AllocMemory. + + + + + Gets or sets the byte length of the allocated memory + + + + + Default constructor + + + + + Constructor + + true if you permit disposing this class by GC + + + + Releases the resources + + + + + Releases the resources + + + If disposing equals true, the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. + If false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. + + + + + Destructor + + + + + Releases managed resources + + + + + Releases unmanaged resources + + + + + Pins the object to be allocated by cvSetData. + + + + + + + Allocates the specified size of memory. + + + + + + + Notifies the allocated size of memory. + + + + + + If this object is disposed, then ObjectDisposedException is thrown. + + + + + Represents a OpenCV-based class which has a native pointer. + + + + + Unmanaged OpenCV data pointer + + + + + A MemoryManager over an OpenCvSharpMat + + The pointer is assumed to be fully unmanaged, or externally pinned - no attempt will be made to pin this data + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + It is assumed that the span provided is already unmanaged or externally pinned + + + + + + + Provides access to a pointer that represents the data (note: no actual pin occurs) + + + + + Has no effect + + + + + Releases all resources associated with this object + + + + + The default exception to be thrown by OpenCV + + + + + The numeric code for error status + + + + + The source file name where error is encountered + + + + + A description of the error + + + + + The source file name where error is encountered + + + + + The line number in the source where error is encountered + + + + + Constructor + + The numeric code for error status + The source file name where error is encountered + A description of the error + The source file name where error is encountered + The line number in the source where error is encountered + + + + + + + + + + + + + + + + + + + The exception that is thrown by OpenCvSharp. + + + + + + + + + + + + + + + + + + + + + + Template class for smart reference-counting pointers + + + + + Constructor + + + + + + Returns Ptr<T>.get() pointer + + + + + Used for managing the resources of OpenCVSharp, like Mat, MatExpr, etc. + + + + + Trace the object obj, and return it + + + + + + + + Trace an array of objects , and return them + + + + + + + + Create a new Mat instance, and trace it + + + + + + Create a new Mat instance, and trace it + + size + matType + scalar + + + + + Create a new UMat instance, and trace it + + + + + + Create a new UMat instance, and trace it + + size + matType + scalar + + + + + Dispose all traced objects + + + + + Whether native methods for P/Invoke raises an exception + + + + + P/Invoke methods of OpenCV 2.x C++ interface + + + + + Is tried P/Invoke once + + + + + Static constructor + + + + + Load DLL files dynamically using Win32 LoadLibrary + + + + + + Checks whether PInvoke functions can be called + + + + + Returns whether the OS is Windows or not + + + + + + Returns whether the OS is *nix or not + + + + + + Returns whether the runtime is Mono or not + + + + + + Returns whether the architecture is Wasm or not + + + + + + Custom error handler to be thrown by OpenCV + + + + + Custom error handler to ignore all OpenCV errors + + + + + Default error handler + + + + + + C++ std::string + + + + + + + + + + + + + + + + Releases unmanaged resources + + + + + string.size() + + + + + Converts std::string to managed string + + + + + + Win32API Wrapper + + + + + Handles loading embedded dlls into memory, based on http://stackoverflow.com/questions/666799/embedding-unmanaged-dll-into-a-managed-c-sharp-dll. + + This code is based on https://github.com/charlesw/tesseract + + + + The default base directory name to copy the assemblies too. + + + + + Map processor + + + + + Used as a sanity check for the returned processor architecture to double check the returned value. + + + + + Additional user-defined DLL paths + + + + + constructor + + + + + + + + + + + + Determine if the OS is Windows + + + + + + Determine if the runtime is .NET Core + + + + + + + + + + + + + Get's the current process architecture while keeping track of any assumptions or possible errors. + + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + + + Given the processor architecture, returns the name of the platform. + + + + + + + + + + + Releases unmanaged resources + + + + + Class to get address of specified jagged array + + + + + + + + + + + + + + + + + + Releases unmanaged resources + + + + + + + + + + + + + + + + + enumerable as T[] ?? enumerable.ToArray() + + + + + + + + + + + + + Checks whether PInvoke functions can be called + + + + + DllImportの際にDllNotFoundExceptionかBadImageFormatExceptionが発生した際に呼び出されるメソッド。 + エラーメッセージを表示して解決策をユーザに示す。 + + + + + + + + + + + + Provides information for the platform which the user is using + + + + + OS type + + + + + Runtime type + + + + + Readonly rectangular array (T[,]) + + + + + + Constructor + + + + + + Indexer + + + + + + + + Gets the total number of elements in all the dimensions of the System.Array. + + + + + Gets a 32-bit integer that represents the number of elements in the specified dimension of the System.Array. + + + + + + + Returns internal buffer + + + + + + Original GCHandle that implement IDisposable + + + + + Constructor + + + + + + Constructor + + + + + + + Constructor + + + + + + Represents std::vector + + + + + vector.size() + + + + + Convert std::vector<T> to managed array T[] + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + Converts std::vector to managed array + + structure that has two float members (ex. CvLineSegmentPolar, CvPoint2D32f, PointF) + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + Converts std::vector to managed array + + structure that has two float members (ex. CvLineSegmentPolar, CvPoint2D32f, PointF) + + + + + + + + + Constructor + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + Converts std::vector to managed array + + structure that has four int members (ex. CvLineSegmentPoint, CvRect) + + + + + + + + + Constructor + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + Converts std::vector to managed array + + structure that has four int members (ex. CvLineSegmentPoint, CvRect) + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + &vector[0] + + + + + Converts std::vector to managed array + + + + + + Converts std::vector to managed array + + structure that has four int members (ex. CvLineSegmentPoint, CvRect) + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + vector.size() + + + + + vector[i].size() + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + vector.size() + + + + + vector[i].size() + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + vector.size() + + + + + vector[i].size() + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + vector.size() + + + + + vector[i].size() + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + vector.size() + + + + + vector[i].size() + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + + + + + + vector.size() + + + + + Converts std::vector to managed array + + + + + + + + + + Constructor + + + + + Releases unmanaged resources + + + + + vector.size() + + + + + + + + + + vector[i].size() + + + + + Converts std::vector to managed array + + + + + + aruco module + + + + + Basic marker detection + + input image + indicates the type of markers that will be searched + vector of detected marker corners. + For each marker, its four corners are provided. For N detected markers, + the dimensions of this array is Nx4.The order of the corners is clockwise. + vector of identifiers of the detected markers. The identifier is of type int. + For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. + marker detection parameters + contains the imgPoints of those squares whose inner code has not a + correct codification.Useful for debugging purposes. + + + + Pose estimation for single markers + + corners vector of already detected markers corners. + For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f>> ). + For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise. + the length of the markers' side. The returning translation vectors will + be in the same unit.Normally, unit is meters. + input 3x3 floating-point camera matrix + \f$A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\f$ + vector of distortion coefficients + \f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\f$ of 4, 5, 8 or 12 elements + array of output rotation vectors (@sa Rodrigues) (e.g. std::vector<cv::Vec3d>). + Each element in rvecs corresponds to the specific marker in imgPoints. + array of output translation vectors (e.g. std::vector<cv::Vec3d>). + Each element in tvecs corresponds to the specific marker in imgPoints. + array of object points of all the marker corners + + + + Draw detected markers in image + + input/output image. It must have 1 or 3 channels. The number of channels is not altered. + positions of marker corners on input image. + For N detected markers, the dimensions of this array should be Nx4.The order of the corners should be clockwise. + vector of identifiers for markers in markersCorners. Optional, if not provided, ids are not painted. + + + + Draw detected markers in image + + input/output image. It must have 1 or 3 channels. The number of channels is not altered. + positions of marker corners on input image. + For N detected markers, the dimensions of this array should be Nx4.The order of the corners should be clockwise. + vector of identifiers for markers in markersCorners. Optional, if not provided, ids are not painted. + color of marker borders. Rest of colors (text color and first corner color) + are calculated based on this one to improve visualization. + + + + Returns one of the predefined dictionaries defined in PREDEFINED_DICTIONARY_NAME + + + + + + + Reads a new dictionary from FileNode. + + + Dictionary format is YAML see sample below + + nmarkers: 35 + markersize: 6 + maxCorrectionBits: 5 + marker_0: "101011111011111001001001101100000000" + ... + marker_34: "011111010000111011111110110101100101" + + + The path of the dictionary file + Instance of a Dictionary + + + + Detect ChArUco Diamond markers. + + input image necessary for corner subpixel. + list of detected marker corners from detectMarkers function. + list of marker ids in markerCorners. + rate between square and marker length: squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary. + output list of detected diamond corners (4 corners per diamond). The order is the same than in marker corners: top left, top right, bottom right and bottom left. Similar format than the corners returned by detectMarkers (e.g std::vector<std::vector<cv::Point2f>>). + ids of the diamonds in diamondCorners. The id of each diamond is in fact of type Vec4i, so each diamond has 4 ids, which are the ids of the aruco markers composing the diamond. + Optional camera calibration matrix. + Optional camera distortion coefficients. + + + + Draw a set of detected ChArUco Diamond markers. + + input/output image. It must have 1 or 3 channels. The number of channels is not altered. + positions of diamond corners in the same format returned by detectCharucoDiamond(). (e.g std::vector<std::vector<cv::Point2f>>). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise. + vector of identifiers for diamonds in diamondCorners, in the same format returned by detectCharucoDiamond() (e.g. std::vector<Vec4i>). Optional, if not provided, ids are not painted. + + + + Draw a set of detected ChArUco Diamond markers. + + input/output image. It must have 1 or 3 channels. The number of channels is not altered. + positions of diamond corners in the same format returned by detectCharucoDiamond(). (e.g std::vector<std::vector<cv::Point2f>>). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise. + vector of identifiers for diamonds in diamondCorners, in the same format returned by detectCharucoDiamond() (e.g. std::vector<Vec4i>). Optional, if not provided, ids are not painted. + color of marker borders. Rest of colors (text color and first corner color) are calculated based on this one. + + + + Parameters for the detectMarker process + + + + + minimum window size for adaptive thresholding before finding contours (default 3). + + + + + adaptiveThreshWinSizeMax: maximum window size for adaptive thresholding before finding contours(default 23). + + + + + increments from adaptiveThreshWinSizeMin to adaptiveThreshWinSizeMax during the thresholding(default 10). + + + + + constant for adaptive thresholding before finding contours (default 7) + + + + + determine minimum perimeter for marker contour to be detected. + This is defined as a rate respect to the maximum dimension of the input image(default 0.03). + + + + + determine maximum perimeter for marker contour to be detected. + This is defined as a rate respect to the maximum dimension of the input image(default 4.0). + + + + + minimum accuracy during the polygonal approximation process to determine which contours are squares. + + + + + minimum distance between corners for detected markers relative to its perimeter(default 0.05) + + + + + minimum distance of any corner to the image border for detected markers (in pixels) (default 3) + + + + + minimum mean distance between two marker corners to be considered similar, + so that the smaller one is removed.The rate is relative to the smaller perimeter of the two markers(default 0.05). + + + + + corner refinement method. + (CORNER_REFINE_NONE, no refinement. CORNER_REFINE_SUBPIX, do subpixel refinement. CORNER_REFINE_CONTOUR use contour-Points) + + + + + window size for the corner refinement process (in pixels) (default 5). + + + + + maximum number of iterations for stop criteria of the corner refinement process(default 30). + + + + + minimum error for the stop criteria of the corner refinement process(default: 0.1) + + + + + number of bits of the marker border, i.e. marker border width (default 1). + + + + + number of bits (per dimension) for each cell of the marker when removing the perspective(default 8). + + + + + width of the margin of pixels on each cell not considered for the determination + of the cell bit.Represents the rate respect to the total size of the cell, + i.e. perspectiveRemovePixelPerCell (default 0.13) + + + + + maximum number of accepted erroneous bits in the border + (i.e. number of allowed white bits in the border). Represented as a rate respect to the total + number of bits per marker(default 0.35). + + + + + minimun standard deviation in pixels values during the decodification step to + apply Otsu thresholding(otherwise, all the bits are set to 0 or 1 depending on mean higher than 128 or not) (default 5.0) + + + + + errorCorrectionRate error correction rate respect to the maximun error correction capability for each dictionary. (default 0.6). + + + + + Detection of quads can be done on a lower-resolution image, improving speed at a cost of pose accuracy and a slight decrease in detection rate. + Decoding the binary payload is still done at full resolution. + + + + + What Gaussian blur should be applied to the segmented image (used for quad detection?) Parameter is the standard deviation in pixels. + Very noisy images benefit from non-zero values (e.g. 0.8). + + + + + reject quads containing too few pixels. + + + + + how many corner candidates to consider when segmenting a group of pixels into a quad. + + + + + Reject quads where pairs of edges have angles that are close to straight or close to 180 degrees. Zero means that no quads are rejected. (In radians). + + + + + When fitting lines to the contours, what is the maximum mean squared error allowed? + This is useful in rejecting contours that are far from being quad shaped; rejecting these quads "early" saves expensive decoding processing. + + + + + When we build our model of black & white pixels, we add an extra check that the white model must be (overall) brighter than the black model. + How much brighter? (in pixel values, [0,255]). + + + + + should the thresholded image be deglitched? Only useful for very noisy images + + + + + to check if there is a white marker. In order to generate a "white" marker just invert a normal marker by using a tilde, ~markerImage. (default false) + + + + + enable the new and faster Aruco detection strategy. + Proposed in the paper: + * Romero-Ramirez et al: Speeded up detection of squared fiducial markers (2018) + * https://www.researchgate.net/publication/325787310_Speeded_Up_Detection_of_Squared_Fiducial_Markers + + + + + minimum side length of a marker in the canonical image. Latter is the binarized image in which contours are searched. + + + + + range [0,1], eq (2) from paper. The parameter tau_i has a direct influence on the processing speed. + + + + + Constructor + + + + + Dictionary/Set of markers. It contains the inner codification + + + + + + + + + + Releases unmanaged resources + + + + + Marker code information + + + + + Number of bits per dimension. + + + + + Maximum number of bits that can be corrected. + + + + + Given a matrix of bits. Returns whether if marker is identified or not. + It returns by reference the correct id (if any) and the correct rotation + + + + + + + + + + Returns the distance of the input bits to the specific id. + If allRotations is true, the four possible bits rotation are considered + + + + + + + + + Generate a canonical marker image + + + + + + + + + Transform matrix of bits to list of bytes in the 4 rotations + + + + + + + Transform list of bytes to matrix of bits + + + + + + + + corner refinement method + + + + + Tag and corners detection based on the ArUco approach. + + + + + ArUco approach and refine the corners locations using corner subpixel accuracy. + + + + + ArUco approach and refine the corners locations using the contour-points line fitting. + + + + + Tag and corners detection based on the AprilTag 2 approach + + + + + PredefinedDictionaryName + + + + + Background Subtractor module. Takes a series of images and returns a sequence of mask (8UC1) + images of the same size, where 255 indicates Foreground and 0 represents Background. + + + + + cv::Ptr<T> + + + + + Creates a GMG Background Subtractor + + number of frames used to initialize the background models. + Threshold value, above which it is marked foreground, else background. + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gaussian Mixture-based Backbround/Foreground Segmentation Algorithm + + + + + cv::Ptr<T> + + + + + Creates mixture-of-gaussian background subtractor + + Length of the history. + Number of Gaussian mixtures. + Background ratio. + Noise strength (standard deviation of the brightness or each color channel). 0 means some automatic value. + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + Different flags for cvCalibrateCamera2 and cvStereoCalibrate + + + + + + + + + + The flag allows the function to optimize some or all of the intrinsic parameters, depending on the other flags, but the initial values are provided by the user + + + + + fyk is optimized, but the ratio fxk/fyk is fixed. + + + + + The principal points are fixed during the optimization. + + + + + Tangential distortion coefficients are set to zeros and do not change during the optimization. + + + + + fxk and fyk are fixed. + + + + + The 0-th distortion coefficients (k1) are fixed + + + + + The 1-th distortion coefficients (k2) are fixed + + + + + The 4-th distortion coefficients (k3) are fixed + + + + + Do not change the corresponding radial distortion coefficient during the optimization. + If CV_CALIB_USE_INTRINSIC_GUESS is set, the coefficient from the supplied distCoeffs matrix is used, otherwise it is set to 0. + + + + + Do not change the corresponding radial distortion coefficient during the optimization. + If CV_CALIB_USE_INTRINSIC_GUESS is set, the coefficient from the supplied distCoeffs matrix is used, otherwise it is set to 0. + + + + + Do not change the corresponding radial distortion coefficient during the optimization. + If CV_CALIB_USE_INTRINSIC_GUESS is set, the coefficient from the supplied distCoeffs matrix is used, otherwise it is set to 0. + + + + + Enable coefficients k4, k5 and k6. + To provide the backward compatibility, this extra flag should be explicitly specified to make the calibration function + use the rational model and return 8 coefficients. If the flag is not set, the function will compute only 5 distortion coefficients. + + + + + + + + + + + + + + + If it is set, camera_matrix1,2, as well as dist_coeffs1,2 are fixed, so that only extrinsic parameters are optimized. + + + + + Enforces fx0=fx1 and fy0=fy1. CV_CALIB_ZERO_TANGENT_DIST - Tangential distortion coefficients for each camera are set to zeros and fixed there. + + + + + for stereo rectification + + + + + Various operation flags for cvFindChessboardCorners + + + + + + + + + + Use adaptive thresholding to convert the image to black-n-white, rather than a fixed threshold level (computed from the average image brightness). + + + + + Normalize the image using cvNormalizeHist before applying fixed or adaptive thresholding. + + + + + Use additional criteria (like contour area, perimeter, square-like shape) to filter out false quads + that are extracted at the contour retrieval stage. + + + + + Run a fast check on the image that looks for chessboard corners, and shortcut the call if none is found. + This can drastically speed up the call in the degenerate condition when no chessboard is observed. + + + + + Run an exhaustive search to improve detection rate. + + + + + Up sample input image to improve sub-pixel accuracy due to aliasing effects. + This should be used if an accurate camera calibration is required. + + + + + Method for computing the essential matrix + + + + + for LMedS algorithm. + + + + + for RANSAC algorithm. + + + + + Method for solving a PnP problem: + + + + + uses symmetric pattern of circles. + + + + + uses asymmetric pattern of circles. + + + + + uses a special algorithm for grid detection. It is more robust to perspective distortions but much more sensitive to background clutter. + + + + + Method for computing the fundamental matrix + + + + + for 7-point algorithm. N == 7 + + + + + for 8-point algorithm. N >= 8 + [CV_FM_8POINT] + + + + + for LMedS algorithm. N > 8 + + + + + for RANSAC algorithm. N > 8 + + + + + method One of the implemented Hand-Eye calibration method + + + + + A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration @cite Tsai89 + + + + + Robot Sensor Calibration: Solving AX = XB on the Euclidean Group @cite Park94 + + + + + Hand-eye Calibration @cite Horaud95 + + + + + On-line Hand-Eye Calibration @cite Andreff99 + + + + + Hand-Eye Calibration Using Dual Quaternions @cite Daniilidis98 + + + + + The method used to computed homography matrix + + + + + Regular method using all the point pairs + + + + + Least-Median robust method + + + + + RANSAC-based robust method + + + + + RHO algorithm + + + + + USAC algorithm, default settings + + + + + USAC, parallel version + + + + + USAC, fundamental matrix 8 points + + + + + USAC, fast settings + + + + + USAC, accurate settings + + + + + USAC, sorted points, runs PROSAC + + + + + USAC, runs MAGSAC++ + + + + + cv::initWideAngleProjMap flags + + + + + + + + + + + + + + + One of the implemented Robot-World/Hand-Eye calibration method + + + + + Solving the robot-world/hand-eye calibration problem using the kronecker product @cite Shah2013SolvingTR + + + + + Simultaneous robot-world and hand-eye calibration using dual-quaternions and kronecker product @cite Li2010SimultaneousRA + + + + + type of the robust estimation algorithm + + + + + least-median of squares algorithm + + + + + RANSAC algorithm + + + + + RHO algorithm + + + + + USAC algorithm, default settings + + + + + USAC, parallel version + + + + + USAC, fundamental matrix 8 points + + + + + USAC, fast settings + + + + + USAC, accurate settings + + + + + USAC, sorted points, runs PROSAC + + + + + USAC, runs MAGSAC++ + + + + + Method for solving a PnP problem: + + + + + Iterative method is based on Levenberg-Marquardt optimization. + In this case the function finds such a pose that minimizes reprojection error, + that is the sum of squared distances between the observed projections imagePoints and the projected (using projectPoints() ) objectPoints . + + + + + Method has been introduced by F.Moreno-Noguer, V.Lepetit and P.Fua in the paper “EPnP: Efficient Perspective-n-Point Camera Pose Estimation”. + + + + + Method is based on the paper of X.S. Gao, X.-R. Hou, J. Tang, H.-F. Chang“Complete Solution Classification for + the Perspective-Three-Point Problem”. In this case the function requires exactly four object and image points. + + + + + Joel A. Hesch and Stergios I. Roumeliotis. "A Direct Least-Squares (DLS) Method for PnP" + + + + + A.Penate-Sanchez, J.Andrade-Cetto, F.Moreno-Noguer. "Exhaustive Linearization for Robust Camera Pose and Focal Length Estimation" + + + + + The operation flags for cvStereoRectify + + + + + Default value (=0). + the function can shift one of the image in horizontal or vertical direction (depending on the orientation of epipolar lines) in order to maximise the useful image area. + + + + + the function makes the principal points of each camera have the same pixel coordinates in the rectified views. + + + + + Semi-Global Stereo Matching + + + + + constructor + + + + + + + + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The base class for stereo correspondence algorithms. + + + + + constructor + + + + + Computes disparity map for the specified stereo pair + + Left 8-bit single-channel image. + Right image of the same size and the same type as the left one. + Output disparity map. It has the same size as the input images. Some algorithms, + like StereoBM or StereoSGBM compute 16-bit fixed-point disparity map(where each disparity value has 4 fractional bits), + whereas other algorithms output 32 - bit floating - point disparity map. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Semi-Global Stereo Matching + + + + + constructor + + + + + + + + + + + + + + + + + + + + + + Releases managed resources + + + + + Truncation value for the prefiltered image pixels. The algorithm first + computes x-derivative at each pixel and clips its value by [-preFilterCap, preFilterCap] interval. + The result values are passed to the Birchfield-Tomasi pixel cost function. + + + + + Margin in percentage by which the best (minimum) computed cost function + value should "win" the second best value to consider the found match correct. Normally, a value + within the 5-15 range is good enough. + + + + + The first parameter controlling the disparity smoothness. See P2 description. + + + + + The second parameter controlling the disparity smoothness. The larger the values are, + the smoother the disparity is. P1 is the penalty on the disparity change by plus or minus 1 + between neighbor pixels. P2 is the penalty on the disparity change by more than 1 between neighbor + pixels. The algorithm requires P2 \> P1 . See stereo_match.cpp sample where some reasonably good + P1 and P2 values are shown (like 8\*number_of_image_channels\*SADWindowSize\*SADWindowSize and + 32\*number_of_image_channels\*SADWindowSize\*SADWindowSize , respectively). + + + + + Set it to StereoSGBM::MODE_HH to run the full-scale two-pass dynamic programming + algorithm. It will consume O(W\*H\*numDisparities) bytes, which is large for 640x480 stereo and + huge for HD-size pictures. By default, it is set to false . + + + + + Base class for high-level OpenCV algorithms + + + + + Stores algorithm parameters in a file storage + + + + + + Reads algorithm parameters from a file storage + + + + + + Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read + + + + + + Saves the algorithm to a file. + In order to make this method work, the derived class must + implement Algorithm::write(FileStorage fs). + + + + + + Returns the algorithm string identifier. + This string is used as top level xml/yml node tag when the object + is saved to a file or string. + + + + + + Error Handler + + The numeric code for error status + The source file name where error is encountered + A description of the error + The source file name where error is encountered + The line number in the source where error is encountered + Pointer to the user data. Ignored by the standard handlers + + + + cv::AccessFlag + + + + + cv::Algorithm parameter type + + + + + Type of the border to create around the copied source image rectangle + + + https://github.com/opencv/opencv/blob/fc1a15626226609babd128e043cf7c4e32f567ca/modules/core/include/opencv2/core/base.hpp#L268 + + + + + Border is filled with the fixed value, passed as last parameter of the function. + `iiiiii|abcdefgh|iiiiiii` with some specified `i` + + + + + The pixels from the top and bottom rows, the left-most and right-most columns are replicated to fill the border. + `aaaaaa|abcdefgh|hhhhhhh` + + + + + `fedcba|abcdefgh|hgfedcb` + + + + + `cdefgh|abcdefgh|abcdefg` + + + + + `gfedcb|abcdefgh|gfedcba` + + + + + `uvwxyz|absdefgh|ijklmno` + + + + + same as BORDER_REFLECT_101 + + + + + do not look outside of ROI + + + + + The flag specifying the relation between the elements to be checked + + + + + src1(I) "equal to" src2(I) + + + + + src1(I) "greater than" src2(I) + + + + + src1(I) "greater or equal" src2(I) + + + + + src1(I) "less than" src2(I) + + + + + src1(I) "less or equal" src2(I) + + + + + src1(I) "not equal to" src2(I) + + + + + Operation flags for Covariation + + + + + scale * [vects[0]-avg,vects[1]-avg,...]^T * [vects[0]-avg,vects[1]-avg,...] + that is, the covariation matrix is count×count. Such an unusual covariation matrix is used for fast PCA of a set of very large vectors + (see, for example, Eigen Faces technique for face recognition). Eigenvalues of this "scrambled" matrix will match to the eigenvalues of + the true covariation matrix and the "true" eigenvectors can be easily calculated from the eigenvectors of the "scrambled" covariation matrix. + + + + + scale * [vects[0]-avg,vects[1]-avg,...]*[vects[0]-avg,vects[1]-avg,...]^T + that is, cov_mat will be a usual covariation matrix with the same linear size as the total number of elements in every input vector. + One and only one of CV_COVAR_SCRAMBLED and CV_COVAR_NORMAL must be specified + + + + + If the flag is specified, the function does not calculate avg from the input vectors, + but, instead, uses the passed avg vector. This is useful if avg has been already calculated somehow, + or if the covariation matrix is calculated by parts - in this case, avg is not a mean vector of the input sub-set of vectors, + but rather the mean vector of the whole set. + + + + + If the flag is specified, the covariation matrix is scaled by the number of input vectors. + + + + + Means that all the input vectors are stored as rows of a single matrix, vects[0].count is ignored in this case, + and avg should be a single-row vector of an appropriate size. + + + + + Means that all the input vectors are stored as columns of a single matrix, vects[0].count is ignored in this case, + and avg should be a single-column vector of an appropriate size. + + + + + + + + + + Type of termination criteria + + + + + the maximum number of iterations or elements to compute + + + + + the maximum number of iterations or elements to compute + + + + + the desired accuracy or change in parameters at which the iterative algorithm stops + + + + + Transformation flags for cv::dct + + + + + + + + + + Do inverse 1D or 2D transform. + (Forward and Inverse are mutually exclusive, of course.) + + + + + Do forward or inverse transform of every individual row of the input matrix. + This flag allows user to transform multiple vectors simultaneously and can be used to decrease the overhead + (which is sometimes several times larger than the processing itself), to do 3D and higher-dimensional transforms etc. + [CV_DXT_ROWS] + + + + + Inversion methods + + + + + Gaussian elimination with the optimal pivot element chosen. + + + + + singular value decomposition (SVD) method; + the system can be over-defined and/or the matrix src1 can be singular + + + + + eigenvalue decomposition; the matrix src1 must be symmetrical + + + + + Cholesky \f$LL^T\f$ factorization; the matrix src1 must be symmetrical + and positively defined + + + + + QR factorization; the system can be over-defined and/or the matrix + src1 can be singular + + + + + while all the previous flags are mutually exclusive, + this flag can be used together with any of the previous + + + + + Transformation flags for cvDFT + + + + + + + + + + Do inverse 1D or 2D transform. The result is not scaled. + (Forward and Inverse are mutually exclusive, of course.) + + + + + Scale the result: divide it by the number of array elements. Usually, it is combined with Inverse. + + + + + Do forward or inverse transform of every individual row of the input matrix. + This flag allows user to transform multiple vectors simultaneously and can be used to decrease the overhead + (which is sometimes several times larger than the processing itself), to do 3D and higher-dimensional transforms etc. + + + + + performs a forward transformation of 1D or 2D real array; the result, + though being a complex array, has complex-conjugate symmetry (*CCS*, + see the function description below for details), and such an array can + be packed into a real array of the same size as input, which is the fastest + option and which is what the function does by default; however, you may + wish to get a full complex array (for simpler spectrum analysis, and so on) - + pass the flag to enable the function to produce a full-size complex output array. + + + + + performs an inverse transformation of a 1D or 2D complex array; + the result is normally a complex array of the same size, however, + if the input array has conjugate-complex symmetry (for example, + it is a result of forward transformation with DFT_COMPLEX_OUTPUT flag), + the output is a real array; while the function itself does not + check whether the input is symmetrical or not, you can pass the flag + and then the function will assume the symmetry and produce the real + output array (note that when the input is packed into a real array + and inverse transformation is executed, the function treats the input + as a packed complex-conjugate symmetrical array, and the output + will also be a real array). + + + + + Distribution type for cvRandArr, etc. + + + + + Uniform distribution + + + + + Normal or Gaussian distribution + + + + + Error status codes + + + + + everithing is ok [CV_StsOk] + + + + + pseudo error for back trace [CV_StsBackTrace] + + + + + unknown /unspecified error [CV_StsError] + + + + + internal error (bad state) [CV_StsInternal] + + + + + insufficient memory [CV_StsNoMem] + + + + + function arg/param is bad [CV_StsBadArg] + + + + + unsupported function [CV_StsBadFunc] + + + + + iter. didn't converge [CV_StsNoConv] + + + + + tracing [CV_StsAutoTrace] + + + + + image header is NULL [CV_HeaderIsNull] + + + + + image size is invalid [CV_BadImageSize] + + + + + offset is invalid [CV_BadOffset] + + + + + [CV_BadOffset] + + + + + [CV_BadStep] + + + + + [CV_BadModelOrChSeq] + + + + + [CV_BadNumChannels] + + + + + [CV_BadNumChannel1U] + + + + + [CV_BadDepth] + + + + + [CV_BadAlphaChannel] + + + + + [CV_BadOrder] + + + + + [CV_BadOrigin] + + + + + [CV_BadAlign] + + + + + [CV_BadCallBack] + + + + + [CV_BadTileSize] + + + + + [CV_BadCOI] + + + + + [CV_BadROISize] + + + + + [CV_MaskIsTiled] + + + + + null pointer [CV_StsNullPtr] + + + + + incorrect vector length [CV_StsVecLengthErr] + + + + + incorr. filter structure content [CV_StsFilterStructContentErr] + + + + + incorr. transform kernel content [CV_StsKernelStructContentErr] + + + + + incorrect filter ofset value [CV_StsFilterOffsetErr] + + + + + the input/output structure size is incorrect [CV_StsBadSize] + + + + + division by zero [CV_StsDivByZero] + + + + + in-place operation is not supported [CV_StsInplaceNotSupported] + + + + + request can't be completed [CV_StsObjectNotFound] + + + + + formats of input/output arrays differ [CV_StsUnmatchedFormats] + + + + + flag is wrong or not supported [CV_StsBadFlag] + + + + + bad CvPoint [CV_StsBadPoint] + + + + + bad format of mask (neither 8uC1 nor 8sC1) [CV_StsBadMask] + + + + + sizes of input/output structures do not match [CV_StsUnmatchedSizes] + + + + + the data format/type is not supported by the function [CV_StsUnsupportedFormat] + + + + + some of parameters are out of range [CV_StsOutOfRange] + + + + + invalid syntax/structure of the parsed file [CV_StsParseError] + + + + + the requested function/feature is not implemented [CV_StsNotImplemented] + + + + + an allocated block has been corrupted [CV_StsBadMemBlock] + + + + + assertion failed + + + + + Output string format of Mat.Dump() + + + + + Default format. + [1, 2, 3, 4, 5, 6; \n + 7, 8, 9, ... ] + + + + + + + + + + CSV format. + 1, 2, 3, 4, 5, 6\n + 7, 8, 9, ... + + + + + Python format. + [[[1, 2, 3], [4, 5, 6]], \n + [[7, 8, 9], ... ] + + + + + NumPy format. + array([[[1, 2, 3], [4, 5, 6]], \n + [[7, 8, 9], .... ]]], type='uint8'); + + + + + C language format. + {1, 2, 3, 4, 5, 6, \n + 7, 8, 9, ...}; + + + + + The operation flags for cv::GEMM + + + + + + + + + + Transpose src1 + + + + + Transpose src2 + + + + + Transpose src3 + + + + + Font name identifier. + Only a subset of Hershey fonts (http://sources.isc.org/utils/misc/hershey-font.txt) are supported now. + + + + + normal size sans-serif font + + + + + small size sans-serif font + + + + + normal size sans-serif font (more complex than HERSHEY_SIMPLEX) + + + + + normal size serif font + + + + + normal size serif font (more complex than HERSHEY_COMPLEX) + + + + + smaller version of HERSHEY_COMPLEX + + + + + hand-writing style font + + + + + more complex variant of HERSHEY_SCRIPT_SIMPLEX + + + + + flag for italic font + + + + + + + + + + Miscellaneous flags for cv::kmeans + + + + + Select random initial centers in each attempt. + + + + + Use kmeans++ center initialization by Arthur and Vassilvitskii [Arthur2007]. + + + + + During the first (and possibly the only) attempt, use the + user-supplied labels instead of computing them from the initial centers. + For the second and further attempts, use the random or semi-random centers. + Use one of KMEANS_\*_CENTERS flag to specify the exact method. + + + + + cv::utils::logging::LogLevel + + + + + for using in setLogVevel() call + + + + + Fatal (critical) error (unrecoverable internal error) + + + + + Error message. + + + + + Warning message. + + + + + Info message. + + + + + Debug message. Disabled in the "Release" build. + + + + + Verbose (trace) messages. Requires verbosity level. Disabled in the "Release" build. + + + + + diagonal type + + + + + a diagonal from the upper half + [< 0] + + + + + Main diagonal + [= 0] + + + + + a diagonal from the lower half + [> 0] + + + + + Type of norm + + + + + + + + + + The L1-norm (sum of absolute values) of the array is normalized. + + + + + The (Euclidean) L2-norm of the array is normalized. + + + + + + + + + + + + + + + + + + + + + + + + + The array values are scaled and shifted to the specified range. + + + + + The dimension index along which the matrix is reduce. + + + + + The matrix is reduced to a single row. + [= 0] + + + + + The matrix is reduced to a single column. + [= 1] + + + + + The dimension is chosen automatically by analysing the dst size. + [= -1] + + + + + The reduction operations for cvReduce + + + https://github.com/opencv/opencv/blob/37c12db3668a1fbbfdb286be59f662c67cfbfea1/modules/core/include/opencv2/core.hpp#L231 + + + + + The output is the sum of all the matrix rows/columns. + + + + + The output is the mean vector of all the matrix rows/columns. + + + + + The output is the maximum (column/row-wise) of all the matrix rows/columns. + + + + + The output is the minimum (column/row-wise) of all the matrix rows/columns. + + + + + an enum to specify how to rotate the array. + + + + + Rotate 90 degrees clockwise + + + + + Rotate 180 degrees clockwise + + + + + Rotate 270 degrees clockwise + + + + + return codes for cv::solveLP() function + + + + + problem is unbounded (target function can achieve arbitrary high values) + + + + + problem is unfeasible (there are no points that satisfy all the constraints imposed) + + + + + there is only one maximum for target function + + + + + there are multiple maxima for target function - the arbitrary one is returned + + + + + Signals an error and raises the exception. + + + + + each matrix row is sorted independently + + + + + each matrix column is sorted independently; + this flag and the previous one are mutually exclusive. + + + + + each matrix row is sorted in the ascending order. + + + + + each matrix row is sorted in the descending order; + this flag and the previous one are also mutually exclusive. + + + + + cv::UMatUsageFlags + + + + + File Storage Node class + + + + + The default constructor + + + + + Initializes from cv::FileNode* + + + + + + Releases unmanaged resources + + + + + Returns the node content as an integer. If the node stores floating-point number, it is rounded. + + + + + + + Returns the node content as an integer. If the node stores floating-point number, it is rounded. + + + + + + Returns the node content as float + + + + + + + Returns the node content as System.Single + + + + + + Returns the node content as double + + + + + + + Returns the node content as double + + + + + + Returns the node content as text string + + + + + + + Returns the node content as text string + + + + + + Returns the node content as OpenCV Mat + + + + + + + Returns the node content as OpenCV Mat + + + + + + returns element of a mapping node + + + + + returns element of a sequence node + + + + + Returns true if the node is empty + + + + + + Returns true if the node is a "none" object + + + + + + Returns true if the node is a sequence + + + + + + Returns true if the node is a mapping + + + + + + Returns true if the node is an integer + + + + + + Returns true if the node is a floating-point number + + + + + + Returns true if the node is a text string + + + + + + Returns true if the node has a name + + + + + + Returns the node name or an empty string if the node is nameless + + + + + + Returns the number of elements in the node, if it is a sequence or mapping, or 1 otherwise. + + + + + + Returns type of the node. + + Type of the node. + + + + returns iterator pointing to the first node element + + + + + + returns iterator pointing to the element following the last node element + + + + + + Get FileNode iterator + + + + + + Reads node elements to the buffer with the specified format + + + + + + + + Reads the node element as Int32 (int) + + + + + + + Reads the node element as Single (float) + + + + + + + Reads the node element as Double + + + + + + + Reads the node element as String + + + + + + + Reads the node element as Mat + + + + + + + Reads the node element as SparseMat + + + + + + + Reads the node element as KeyPoint[] + + + + + + Reads the node element as DMatch[] + + + + + + Reads the node element as Range + + + + + + Reads the node element as KeyPoint + + + + + + Reads the node element as DMatch + + + + + + Reads the node element as Point + + + + + + Reads the node element as Point2f + + + + + + Reads the node element as Point2d + + + + + + Reads the node element as Point3i + + + + + + Reads the node element as Point3f + + + + + + Reads the node element as Point3d + + + + + + Reads the node element as Size + + + + + + Reads the node element as Size2f + + + + + + Reads the node element as Size2d + + + + + + Reads the node element as Rect + + + + + + Reads the node element as Rect2f + + + + + + Reads the node element as Rect2d + + + + + + Reads the node element as Scalar + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + Reads the node element as Vector + + + + + + type of the file storage node + + + + + empty node + + + + + an integer + + + + + floating-point number + + + + + synonym or REAL + + + + + text string in UTF-8 encoding + + + + + synonym for STR + + + + + sequence + + + + + mapping + + + + + + + + + + compact representation of a sequence or mapping. Used only by YAML writer + + + + + if set, means that all the collection elements are numbers of the same type (real's or int's). + UNIFORM is used only when reading FileStorage; FLOW is used only when writing. So they share the same bit + + + + + empty structure (sequence or mapping) + + + + + the node has a name (i.e. it is element of a mapping) + + + + + + File Storage Node class + + + + + The default constructor + + + + + Initializes from cv::FileNode* + + + + + + Releases unmanaged resources + + + + + Reads node elements to the buffer with the specified format. + Usually it is more convenient to use operator `>>` instead of this method. + + Specification of each array element.See @ref format_spec "format specification" + Pointer to the destination array. + Number of elements to read. If it is greater than number of remaining elements then all of them will be read. + + + + + *iterator + + + + + IEnumerable<T>.Reset + + + + + iterator++ + + + + + + iterator += ofs + + + + + + + Reads node elements to the buffer with the specified format. + Usually it is more convenient to use operator `>>` instead of this method. + + Specification of each array element.See @ref format_spec "format specification" + Pointer to the destination array. + Number of elements to read. If it is greater than number of remaining elements then all of them will be read. + + + + + XML/YAML File Storage Class. + + + + + Default constructor. + You should call FileStorage::open() after initialization. + + + + + The full constructor + + Name of the file to open or the text string to read the data from. + Extension of the file (.xml or .yml/.yaml) determines its format + (XML or YAML respectively). Also you can append .gz to work with + compressed files, for example myHugeMatrix.xml.gz. + If both FileStorage::WRITE and FileStorage::MEMORY flags are specified, + source is used just to specify the output file format + (e.g. mydata.xml, .yml etc.). + + Encoding of the file. Note that UTF-16 XML encoding is not supported + currently and you should use 8-bit encoding instead of it. + + + + Releases unmanaged resources + + + + + Returns the specified element of the top-level mapping + + + + + + + the currently written element + + + + + the writer state + + + + + operator that performs PCA. The previously stored data, if any, is released + + Name of the file to open or the text string to read the data from. + Extension of the file (.xml, .yml/.yaml or .json) determines its format (XML, YAML or JSON respectively). + Also you can append .gz to work with compressed files, for example myHugeMatrix.xml.gz. + If both FileStorage::WRITE and FileStorage::MEMORY flags are specified, source is used just to specify the output file format (e.g. mydata.xml, .yml etc.). + A file name can also contain parameters. You can use this format, "*?base64" (e.g. "file.json?base64" (case sensitive)), + as an alternative to FileStorage::BASE64 flag. + Mode of operation. + Encoding of the file. Note that UTF-16 XML encoding is not supported + currently and you should use 8-bit encoding instead of it. + + + + + Returns true if the object is associated with currently opened file. + + + + + + Closes the file and releases all the memory buffers + + + + + Closes the file, releases all the memory buffers and returns the text string + + + + + + Returns the first element of the top-level mapping + + The first element of the top-level mapping. + + + + Returns the top-level mapping. YAML supports multiple streams + + Zero-based index of the stream. In most cases there is only one stream in the file. + However, YAML supports multiple streams and so there can be several. + The top-level mapping. + + + + Writes one or more numbers of the specified format to the currently written structure + + Specification of each array element, see @ref format_spec "format specification" + Pointer to the written array. + Number of the uchar elements to write. + + + + Writes a comment. + The function writes a comment into file storage. The comments are skipped when the storage is read. + + The written comment, single-line or multi-line + If true, the function tries to put the comment at the end of current line. + Else if the comment is multi-line, or if it does not fit at the end of the current line, the comment starts a new line. + + + + + + + + + + + + + + + + + Returns the normalized object name for the specified file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + /Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + Writes data to a file storage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + File storage mode + + + + + The storage is open for reading + + + + + The storage is open for writing + + + + + The storage is open for appending + + + + + flag, read data from source or write data to the internal buffer + (which is returned by FileStorage::release) + + + + + flag, auto format + + + + + flag, XML format + + + + + flag, YAML format + + + + + flag, write rawdata in Base64 by default. (consider using WRITE_BASE64) + + + + + flag, enable both WRITE and BASE64 + + + + + Proxy data type for passing Mat's and vector<>'s as input parameters + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + + + + + + + Releases managed resources + + + + + Releases unmanaged resources + + + + + Creates a proxy class of the specified Mat + + + + + + + Creates a proxy class of the specified Mat + + + + + + + Creates a proxy class of the specified MatExpr + + + + + + + Creates a proxy class of the specified Scalar + + + + + + + Creates a proxy class of the specified double + + + + + + + Creates a proxy class of the specified array of Mat + + + + + + + Creates a proxy class of the specified list + + Array object + + + + + Creates a proxy class of the specified list + + Array object + Matrix depth and channels for converting array to cv::Mat + + + + + Creates a proxy class of the specified list + + Array object + + + + + Creates a proxy class of the specified list + + Array object + Matrix depth and channels for converting array to cv::Mat + + + + + Creates a proxy class of the specified list + + Array object + + + + + Creates a proxy class of the specified list + + Array object + Matrix depth and channels for converting array to cv::Mat + + + + + Creates a proxy class of the specified Vec*b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Proxy data type for passing Mat's and vector<>'s as input parameters. + Synonym for OutputArray. + + + + + Constructor + + + + + + Constructor + + + + + + Creates a proxy class of the specified Mat + + + + + + + Creates a proxy class of the specified UMat + + + + + + + + + + + + + + + + + + + + + Linear Discriminant Analysis + + + + + constructor + + + + + + Initializes and performs a Discriminant Analysis with Fisher's + Optimization Criterion on given data in src and corresponding labels + in labels.If 0 (or less) number of components are given, they are + automatically determined for given data in computation. + + + + + + + + Releases unmanaged resources + + + + + Returns the eigenvectors of this LDA. + + + + + Returns the eigenvalues of this LDA. + + + + + Serializes this object to a given filename. + + + + + + Deserializes this object from a given filename. + + + + + + Serializes this object to a given cv::FileStorage. + + + + + + Deserializes this object from a given cv::FileStorage. + + + + + + Compute the discriminants for data in src (row aligned) and labels. + + + + + + + Projects samples into the LDA subspace. + src may be one or more row aligned samples. + + + + + + + Reconstructs projections from the LDA subspace. + src may be one or more row aligned projections. + + + + + + + + + + + + + + + + + + + + + + + + + Matrix expression + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + Convert to cv::Mat + + + + + + + Convert to cv::Mat + + + + + + Convert cv::Mat to cv::MatExpr + + + + + + + Convert cv::Mat to cv::MatExpr + + + + + + + Extracts a rectangular submatrix. + + + + + + + + + + Extracts a rectangular submatrix. + + + + + + + + Extracts a rectangular submatrix. + + + + + + + Creates a matrix header for the specified matrix row. + + A 0-based row index. + + + + + Creates a matrix header for the specified matrix column. + + A 0-based column index. + + + + + Extracts a diagonal from a matrix + + d index of the diagonal, with the following values: + - d=0 is the main diagonal. + - d<0 is a diagonal from the lower half. For example, d=-1 means the diagonal is set immediately below the main one. + - d>0 is a diagonal from the upper half. For example, d=1 means the diagonal is set immediately above the main one. + + + + + Extracts a rectangular submatrix. + + + + + + + + + + Extracts a rectangular submatrix. + + + + + + + + Extracts a rectangular submatrix. + + + + + + + Transposes a matrix. + + + + + + Inverses a matrix. + + + + + + + Performs an element-wise multiplication or division of the two matrices. + + Another array of the same type and the same size as this, or a matrix expression. + Optional scale factor. + + + + + Performs an element-wise multiplication or division of the two matrices. + + Another array of the same type and the same size as this, or a matrix expression. + Optional scale factor. + + + + + Computes a cross-product of two 3-element vectors. + + Another cross-product operand. + + + + + Computes a dot-product of two vectors. + + another dot-product operand. + + + + + Returns the size of a matrix element. + + + + + Returns the type of a matrix element. + + + + + Computes absolute value of each matrix element + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OpenCV C++ n-dimensional dense array class (cv::Mat) + + + + + typeof(T) -> MatType + + + + + Creates from native cv::Mat* pointer + + + + + + Creates empty Mat + + + + + + + + + + + Loads an image from a file. (cv::imread) + + Name of file to be loaded. + Specifies color type of the loaded image + + + + constructs 2D matrix of the specified size and type + + Number of rows in a 2D array. + Number of columns in a 2D array. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + + + + constructs 2D matrix of the specified size and type + + 2D array size: Size(cols, rows) . In the Size() constructor, + the number of rows and the number of columns go in the reverse order. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType.CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + + + + constructs 2D matrix and fills it with the specified Scalar value. + + Number of rows in a 2D array. + Number of columns in a 2D array. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + + + + constructs 2D matrix and fills it with the specified Scalar value. + + 2D array size: Size(cols, rows) . In the Size() constructor, + the number of rows and the number of columns go in the reverse order. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat::clone() . + Range of the m rows to take. As usual, the range start is inclusive and the range end is exclusive. + Use Range.All to take all the rows. + Range of the m columns to take. Use Range.All to take all the columns. + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat.Clone() . + Array of selected ranges of m along each dimensionality. + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat.Clone() . + Region of interest. + + + + constructor for matrix headers pointing to user-allocated data + + Number of rows in a 2D array. + Number of columns in a 2D array. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. + Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. + This operation is very efficient and can be used to process external data using OpenCV functions. + The external data is not automatically de-allocated, so you should take care of it. + Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. + If the parameter is missing (set to AUTO_STEP ), no padding is assumed and the actual step is calculated as cols*elemSize() . + + + + constructor for matrix headers pointing to user-allocated data + + Number of rows in a 2D array. + Number of columns in a 2D array. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. + Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. + This operation is very efficient and can be used to process external data using OpenCV functions. + The external data is not automatically de-allocated, so you should take care of it. + Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. + If the parameter is missing (set to AUTO_STEP ), no padding is assumed and the actual step is calculated as cols*elemSize() . + + + + constructor for matrix headers pointing to user-allocated data + + Array of integers specifying an n-dimensional array shape. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. + Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. + This operation is very efficient and can be used to process external data using OpenCV functions. + The external data is not automatically de-allocated, so you should take care of it. + Array of ndims-1 steps in case of a multi-dimensional array (the last step is always set to the element size). + If not specified, the matrix is assumed to be continuous. + + + + constructor for matrix headers pointing to user-allocated data + + Array of integers specifying an n-dimensional array shape. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. + Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. + This operation is very efficient and can be used to process external data using OpenCV functions. + The external data is not automatically de-allocated, so you should take care of it. + Array of ndims-1 steps in case of a multi-dimensional array (the last step is always set to the element size). + If not specified, the matrix is assumed to be continuous. + + + + constructs n-dimensional matrix + + Array of integers specifying an n-dimensional array shape. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + + + + constructs n-dimensional matrix + + Array of integers specifying an n-dimensional array shape. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + + + + Releases the resources + + + + + + Releases unmanaged resources + + + + + Creates the Mat instance from System.IO.Stream + + + + + + + + Creates the Mat instance from image data (using cv::decode) + + + + + + + + Reads image from the specified buffer in memory. + + The input slice of bytes. + The same flags as in imread + + + + + Creates the Mat instance from image data (using cv::decode) + + + + + + + + Reads image from the specified buffer in memory. + + The input slice of bytes. + The same flags as in imread + + + + + Extracts a diagonal from a matrix, or creates a diagonal matrix. + + One-dimensional matrix that represents the main diagonal. + + + + + Returns a zero array of the specified size and type. + + Number of rows. + Number of columns. + Created matrix type. + + + + + Returns a zero array of the specified size and type. + + Alternative to the matrix size specification Size(cols, rows) . + Created matrix type. + + + + + Returns a zero array of the specified size and type. + + Created matrix type. + + + + + + Returns an array of all 1’s of the specified size and type. + + Number of rows. + Number of columns. + Created matrix type. + + + + + Returns an array of all 1’s of the specified size and type. + + Alternative to the matrix size specification Size(cols, rows) . + Created matrix type. + + + + + Returns an array of all 1’s of the specified size and type. + + Created matrix type. + Array of integers specifying the array shape. + + + + + Returns an identity matrix of the specified size and type. + + Alternative to the matrix size specification Size(cols, rows) . + Created matrix type. + + + + + Returns an identity matrix of the specified size and type. + + Number of rows. + Number of columns. + Created matrix type. + + + + + Initializes as N x 1 matrix and copies array data to this + + Source array data to be copied to this + + + + Initializes as M x N matrix and copies array data to this + + Source array data to be copied to this + + + + Initializes as N x 1 matrix and copies array data to this + + Source array data to be copied to this + + + + operator < + + + + + + + operator < + + + + + + + operator <= + + + + + + + operator <= + + + + + + + operator == + + + + + + + operator == + + + + + + + operator != + + + + + + + operator != + + + + + + + operator > + + + + + + + operator > + + + + + + + operator >= + + + + + + + operator >= + + + + + + + Extracts a rectangular submatrix. + + Start row of the extracted submatrix. The upper boundary is not included. + End row of the extracted submatrix. The upper boundary is not included. + Start column of the extracted submatrix. The upper boundary is not included. + End column of the extracted submatrix. The upper boundary is not included. + + + + + Extracts a rectangular submatrix. + + Start and end row of the extracted submatrix. The upper boundary is not included. + To select all the rows, use Range.All(). + Start and end column of the extracted submatrix. + The upper boundary is not included. To select all the columns, use Range.All(). + + + + + Extracts a rectangular submatrix. + + Extracted submatrix specified as a rectangle. + + + + + Extracts a rectangular submatrix. + + Array of selected ranges along each array dimension. + + + + + Retrieve UMat from Mat + + + + + + + + Creates a matrix header for the specified matrix column. + + A 0-based column index. + + + + + Creates a matrix header for the specified column span. + + An inclusive 0-based start index of the column span. + An exclusive 0-based ending index of the column span. + + + + + Creates a matrix header for the specified column span. + + + + + + + Creates a matrix header for the specified matrix row. + + A 0-based row index. + + + + + Creates a matrix header for the specified row span. + + + + + + + + Creates a matrix header for the specified row span. + + + + + + + Single-column matrix that forms a diagonal matrix or index of the diagonal, with the following values: + + Single-column matrix that forms a diagonal matrix or index of the diagonal, with the following values: + + + + + Creates a full copy of the matrix. + + + + + + Returns the partial Mat of the specified Mat + + + + + + + Copies the matrix to another one. + + Destination matrix. If it does not have a proper size or type before the operation, it is reallocated. + Operation mask. Its non-zero elements indicate which matrix elements need to be copied. + + + + Copies the matrix to another one. + + Destination matrix. If it does not have a proper size or type before the operation, it is reallocated. + Operation mask. Its non-zero elements indicate which matrix elements need to be copied. + + + + Converts an array to another data type with optional scaling. + + output matrix; if it does not have a proper size or type before the operation, it is reallocated. + desired output matrix type or, rather, the depth since the number of channels are the same as the input has; + if rtype is negative, the output matrix will have the same type as the input. + optional scale factor. + optional delta added to the scaled values. + + + + Provides a functional form of convertTo. + + Destination array. + Desired destination array depth (or -1 if it should be the same as the source type). + + + + Sets all or some of the array elements to the specified value. + + + + + + + + Sets all or some of the array elements to the specified value. + + + + + + + + Changes the shape and/or the number of channels of a 2D matrix without copying the data. + + New number of channels. If the parameter is 0, the number of channels remains the same. + New number of rows. If the parameter is 0, the number of rows remains the same. + + + + + Changes the shape and/or the number of channels of a 2D matrix without copying the data. + + New number of channels. If the parameter is 0, the number of channels remains the same. + New number of rows. If the parameter is 0, the number of rows remains the same. + + + + + Transposes a matrix. + + + + + + Inverses a matrix. + + Matrix inversion method + + + + + Performs an element-wise multiplication or division of the two matrices. + + + + + + + + Computes a cross-product of two 3-element vectors. + + Another cross-product operand. + + + + + Computes a dot-product of two vectors. + + another dot-product operand. + + + + + Allocates new array data if needed. + + New number of rows. + New number of columns. + New matrix type. + + + + Allocates new array data if needed. + + Alternative new matrix size specification: Size(cols, rows) + New matrix type. + + + + Allocates new array data if needed. + + Array of integers specifying a new array shape. + New matrix type. + + + + Reserves space for the certain number of rows. + + The method reserves space for sz rows. If the matrix already has enough space to store sz rows, + nothing happens. If the matrix is reallocated, the first Mat::rows rows are preserved. The method + emulates the corresponding method of the STL vector class. + + Number of rows. + + + + Reserves space for the certain number of bytes. + + The method reserves space for sz bytes. If the matrix already has enough space to store sz bytes, + nothing happens. If matrix has to be reallocated its previous content could be lost. + + Number of bytes. + + + + Changes the number of matrix rows. + + New number of rows. + + + + Changes the number of matrix rows. + + New number of rows. + Value assigned to the newly added elements. + + + + removes several hyper-planes from bottom of the matrix (Mat.pop_back) + + + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat::push_back) + + Added element + + + + Adds elements to the bottom of the matrix. (Mat.push_back) + + Added line(s) + + + + Locates the matrix header within a parent matrix. + + Output parameter that contains the size of the whole matrix containing *this as a part. + Output parameter that contains an offset of *this inside the whole matrix. + + + + Adjusts a submatrix size and position within the parent matrix. + + Shift of the top submatrix boundary upwards. + Shift of the bottom submatrix boundary downwards. + Shift of the left submatrix boundary to the left. + Shift of the right submatrix boundary to the right. + + + + + Extracts a rectangular submatrix. + + + + + + + + + + Extracts a rectangular submatrix. + + Start and end row of the extracted submatrix. The upper boundary is not included. + To select all the rows, use Range::all(). + Start and end column of the extracted submatrix. The upper boundary is not included. + To select all the columns, use Range::all(). + + + + + Extracts a rectangular submatrix. + + Extracted submatrix specified as a rectangle. + + + + + Extracts a rectangular submatrix. + + Array of selected ranges along each array dimension. + + + + + Reports whether the matrix is continuous or not. + + + + + + Returns whether this matrix is a part of other matrix or not. + + + + + + Returns the matrix element size in bytes. + + + + + + Returns the size of each matrix element channel in bytes. + + + + + + Returns the type of a matrix element. + + + + + + Returns the depth of a matrix element. + + + + + + Returns the number of matrix channels. + + + + + + Returns a normalized step. + + + + + + + Returns true if the array has no elements. + + + + + + Returns the total number of array elements. + + + + + + Returns the total number of array elements. + The method returns the number of elements within a certain sub-array slice with startDim <= dim < endDim + + + + + + + + + + Number of channels or number of columns the matrix should have. + For a 2-D matrix, when the matrix has only 1 column, then it should have + elemChannels channels; When the matrix has only 1 channel, + then it should have elemChannels columns. For a 3-D matrix, it should have only one channel. + Furthermore, if the number of planes is not one, then the number of rows within every + plane has to be 1; if the number of rows within every plane is not 1, + then the number of planes has to be 1. + The depth the matrix should have. Set it to -1 when any depth is fine. + Set it to true to require the matrix to be continuous + -1 if the requirement is not satisfied. + Otherwise, it returns the number of elements in the matrix. Note that an element may have multiple channels. + + + + Returns a pointer to the specified matrix row. + + Index along the dimension 0 + + + + + Returns a pointer to the specified matrix element. + + Index along the dimension 0 + Index along the dimension 1 + + + + + Returns a pointer to the specified matrix element. + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + + + + + Returns a pointer to the specified matrix element. + + Array of Mat::dims indices. + + + + + includes several bit-fields: + - the magic signature + - continuity flag + - depth + - number of channels + + + + + the array dimensionality, >= 2 + + + + + the number of rows or -1 when the array has more than 2 dimensions + + + + + the number of rows or -1 when the array has more than 2 dimensions + + + + + + the number of columns or -1 when the array has more than 2 dimensions + + + + + + the number of columns or -1 when the array has more than 2 dimensions + + + + + + pointer to the data + + + + + unsafe pointer to the data + + + + + The pointer that is possible to compute a relative sub-array position in the main container array using locateROI() + + + + + The pointer that is possible to compute a relative sub-array position in the main container array using locateROI() + + + + + The pointer that is possible to compute a relative sub-array position in the main container array using locateROI() + + + + + Returns a matrix size. + + + + + + Returns a matrix size. + + + + + + + Returns number of bytes each matrix row occupies. + + + + + + Returns number of bytes each matrix row occupies. + + + + + + + Returns a string that represents this Mat. + + + + + + Returns a string that represents each element value of Mat. + This method corresponds to std::ostream << Mat + + + + + + + Makes a Mat that have the same size, depth and channels as this image + + + + + + Gets a type-specific indexer. The indexer has getters/setters to access each matrix element. + + + + + + + Gets a type-specific unsafe indexer. The indexer has getters/setters to access each matrix element. + + + + + + + Mat Indexer + + + + + + 1-dimensional indexer + + Index along the dimension 0 + A value to the specified array element. + + + + 2-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + A value to the specified array element. + + + + 3-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + A value to the specified array element. + + + + n-dimensional indexer + + Array of Mat::dims indices. + A value to the specified array element. + + + + Mat Indexer + + + + + + 1-dimensional indexer + + Index along the dimension 0 + A value to the specified array element. + + + + 2-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + A value to the specified array element. + + + + 3-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + A value to the specified array element. + + + + n-dimensional indexer + + Array of Mat::dims indices. + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Array of Mat::dims indices. + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Array of Mat::dims indices. + A value to the specified array element. + + + + Set a value to the specified array element. + + + Index along the dimension 0 + + + + + Set a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + + + + + Set a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + + + + + Set a value to the specified array element. + + + Array of Mat::dims indices. + + + + + Get the data of this matrix as array + + Primitive or Vec array to be copied + Length of copied bytes + + using var m1 = new Mat(1, 1, MatType.CV_8UC1); + m1.GetArray(out byte[] array); + + using var m2 = new Mat(1, 1, MatType.CV_32SC1); + m2.GetArray(out int[] array); + + using var m3 = new Mat(1, 1, MatType.CV_8UC(6)); + m3.GetArray(out Vec6b[] array); + + using var m4 = new Mat(1, 1, MatType.CV_64FC4); + m4.GetArray(out Vec4d[] array); + + + + + Get the data of this matrix as array + + Primitive or Vec array to be copied + Length of copied bytes + + using var m1 = new Mat(1, 1, MatType.CV_8UC1); + m1.GetRectangularArray(out byte[,] array); + + using var m2 = new Mat(1, 1, MatType.CV_32SC1); + m2.GetRectangularArray(out int[,] array); + + using var m3 = new Mat(1, 1, MatType.CV_8UC(6)); + m3.GetRectangularArray(out Vec6b[,] array); + + using var m4 = new Mat(1, 1, MatType.CV_64FC4); + m4.GetRectangularArray(out Vec4d[,] array); + + + + + Set the specified array data to this matrix + + Primitive or Vec array to be copied + Length of copied bytes + + + + Set the specified array data to this matrix + + Primitive or Vec array to be copied + Length of copied bytes + + + + Encodes an image into a memory buffer. + + Encodes an image into a memory buffer. + Format-specific parameters. + + + + + Encodes an image into a memory buffer. + + Encodes an image into a memory buffer. + Format-specific parameters. + + + + + Converts Mat to System.IO.MemoryStream + + + + + + + + Writes image data encoded from this Mat to System.IO.Stream + + + + + + + + + + + + + + + + Creates type-specific Mat instance from this. + + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Runs the given functor over all matrix elements in parallel. + + + + + + Creates a new span over the Mat. + + + + + + + Computes absolute value of each matrix element + + + + + + Scales, computes absolute values and converts the result to 8-bit. + + The optional scale factor. [By default this is 1] + The optional delta added to the scaled values. [By default this is 0] + + + + + transforms array of numbers using a lookup table: dst(i)=lut(src(i)) + + Look-up table of 256 elements. + In the case of multi-channel source array, the table should either have + a single channel (in this case the same table is used for all channels) + or the same number of channels as in the source array + + + + + transforms array of numbers using a lookup table: dst(i)=lut(src(i)) + + Look-up table of 256 elements. + In the case of multi-channel source array, the table should either have + a single channel (in this case the same table is used for all channels) + or the same number of channels as in the source array + + + + + computes sum of array elements + + + + + + computes the number of nonzero array elements + + number of non-zero elements in mtx + + + + returns the list of locations of non-zero pixels + + + + + + computes mean value of selected array elements + + The optional operation mask + + + + + computes mean value and standard deviation of all or selected array elements + + The output parameter: computed mean value + The output parameter: computed standard deviation + The optional operation mask + + + + computes norm of the selected array part + + Type of the norm + The optional operation mask + + + + + scales and shifts array elements so that either the specified norm (alpha) + or the minimum (alpha) and maximum (beta) array values get the specified values + + The norm value to normalize to or the lower range boundary + in the case of range normalization + The upper range boundary in the case of range normalization; + not used for norm normalization + The normalization type + When the parameter is negative, + the destination array will have the same type as src, + otherwise it will have the same number of channels as src and the depth =CV_MAT_DEPTH(rtype) + The optional operation mask + + + + + finds global minimum and maximum array elements and returns their values and their locations + + Pointer to returned minimum value + Pointer to returned maximum value + + + + finds global minimum and maximum array elements and returns their values and their locations + + Pointer to returned minimum location + Pointer to returned maximum location + + + + finds global minimum and maximum array elements and returns their values and their locations + + Pointer to returned minimum value + Pointer to returned maximum value + Pointer to returned minimum location + Pointer to returned maximum location + The optional mask used to select a sub-array + + + + finds global minimum and maximum array elements and returns their values and their locations + + Pointer to returned minimum value + Pointer to returned maximum value + + + + finds global minimum and maximum array elements and returns their values and their locations + + + + + + + finds global minimum and maximum array elements and returns their values and their locations + + Pointer to returned minimum value + Pointer to returned maximum value + + + + + + + transforms 2D matrix to 1D row or column vector by taking sum, minimum, maximum or mean value over all the rows + + The dimension index along which the matrix is reduced. + 0 means that the matrix is reduced to a single row and 1 means that the matrix is reduced to a single column + + When it is negative, the destination vector will have + the same type as the source matrix, otherwise, its type will be CV_MAKE_TYPE(CV_MAT_DEPTH(dtype), mtx.channels()) + + + + + Copies each plane of a multi-channel array to a dedicated array + + The number of arrays must match mtx.channels() . + The arrays themselves will be reallocated if needed + + + + extracts a single channel from src (coi is 0-based index) + + + + + + + inserts a single channel to dst (coi is 0-based index) + + + + + + + reverses the order of the rows, columns or both in a matrix + + Specifies how to flip the array: + 0 means flipping around the x-axis, positive (e.g., 1) means flipping around y-axis, + and negative (e.g., -1) means flipping around both axes. See also the discussion below for the formulas. + The destination array; will have the same size and same type as src + + + + replicates the input matrix the specified number of times in the horizontal and/or vertical direction + + How many times the src is repeated along the vertical axis + How many times the src is repeated along the horizontal axis + + + + + Checks if array elements lie between the elements of two other arrays. + + inclusive lower boundary array or a scalar. + inclusive upper boundary array or a scalar. + The destination array, will have the same size as src and CV_8U type + + + + Checks if array elements lie between the elements of two other arrays. + + inclusive lower boundary array or a scalar. + inclusive upper boundary array or a scalar. + The destination array, will have the same size as src and CV_8U type + + + + computes square root of each matrix element (dst = src**0.5) + + The destination array; will have the same size and the same type as src + + + + raises the input matrix elements to the specified power (b = a**power) + + The exponent of power + The destination array; will have the same size and the same type as src + + + + computes exponent of each matrix element (dst = e**src) + + The destination array; will have the same size and same type as src + + + + computes natural logarithm of absolute value of each matrix element: dst = log(abs(src)) + + The destination array; will have the same size and same type as src + + + + checks that each matrix element is within the specified range. + + The flag indicating whether the functions quietly + return false when the array elements are out of range, + or they throw an exception. + + + + + checks that each matrix element is within the specified range. + + The flag indicating whether the functions quietly + return false when the array elements are out of range, + or they throw an exception. + The optional output parameter, where the position of + the first outlier is stored. + The inclusive lower boundary of valid values range + The exclusive upper boundary of valid values range + + + + + converts NaN's to the given number + + + + + + multiplies matrix by its transposition from the left or from the right + + Specifies the multiplication ordering; see the description below + The optional delta matrix, subtracted from src before the + multiplication. When the matrix is empty ( delta=Mat() ), it’s assumed to be + zero, i.e. nothing is subtracted, otherwise if it has the same size as src, + then it’s simply subtracted, otherwise it is "repeated" to cover the full src + and then subtracted. Type of the delta matrix, when it's not empty, must be the + same as the type of created destination matrix, see the rtype description + The optional scale factor for the matrix product + When it’s negative, the destination matrix will have the + same type as src . Otherwise, it will have type=CV_MAT_DEPTH(rtype), + which should be either CV_32F or CV_64F + + + + transposes the matrix + + The destination array of the same type as src + + + + performs affine transformation of each element of multi-channel input matrix + + The transformation matrix + The destination array; will have the same size and depth as src and as many channels as mtx.rows + + + + performs perspective transformation of each element of multi-channel input matrix + + 3x3 or 4x4 transformation matrix + The destination array; it will have the same size and same type as src + + + + extends the symmetrical matrix from the lower half or from the upper half + + If true, the lower half is copied to the upper half, + otherwise the upper half is copied to the lower half + + + + initializes scaled identity matrix (not necessarily square). + + The value to assign to the diagonal elements + + + + computes determinant of a square matrix. + The input matrix must have CV_32FC1 or CV_64FC1 type and square size. + + determinant of the specified matrix. + + + + computes trace of a matrix + + + + + + sorts independently each matrix row or each matrix column + + The operation flags, a combination of the SortFlag values + The destination array of the same size and the same type as src + + + + sorts independently each matrix row or each matrix column + + The operation flags, a combination of SortFlag values + The destination integer array of the same size as src + + + + Performs a forward Discrete Fourier transform of 1D or 2D floating-point array. + + Transformation flags, a combination of the DftFlag2 values + When the parameter != 0, the function assumes that + only the first nonzeroRows rows of the input array ( DFT_INVERSE is not set) + or only the first nonzeroRows of the output array ( DFT_INVERSE is set) contain non-zeros, + thus the function can handle the rest of the rows more efficiently and + thus save some time. This technique is very useful for computing array cross-correlation + or convolution using DFT + The destination array, which size and type depends on the flags + + + + Performs an inverse Discrete Fourier transform of 1D or 2D floating-point array. + + Transformation flags, a combination of the DftFlag2 values + When the parameter != 0, the function assumes that + only the first nonzeroRows rows of the input array ( DFT_INVERSE is not set) + or only the first nonzeroRows of the output array ( DFT_INVERSE is set) contain non-zeros, + thus the function can handle the rest of the rows more efficiently and + thus save some time. This technique is very useful for computing array cross-correlation + or convolution using DFT + The destination array, which size and type depends on the flags + + + + performs forward or inverse 1D or 2D Discrete Cosine Transformation + + Transformation flags, a combination of DctFlag2 values + The destination array; will have the same size and same type as src + + + + performs inverse 1D or 2D Discrete Cosine Transformation + + Transformation flags, a combination of DctFlag2 values + The destination array; will have the same size and same type as src + + + + fills array with uniformly-distributed random numbers from the range [low, high) + + The inclusive lower boundary of the generated random numbers + The exclusive upper boundary of the generated random numbers + + + + fills array with uniformly-distributed random numbers from the range [low, high) + + The inclusive lower boundary of the generated random numbers + The exclusive upper boundary of the generated random numbers + + + + fills array with normally-distributed random numbers with the specified mean and the standard deviation + + The mean value (expectation) of the generated random numbers + The standard deviation of the generated random numbers + + + + fills array with normally-distributed random numbers with the specified mean and the standard deviation + + The mean value (expectation) of the generated random numbers + The standard deviation of the generated random numbers + + + + shuffles the input array elements + + The scale factor that determines the number of random swap operations. + The input/output numerical 1D array + + + + shuffles the input array elements + + The scale factor that determines the number of random swap operations. + The optional random number generator used for shuffling. + If it is null, theRng() is used instead. + The input/output numerical 1D array + + + + Draws a line segment connecting two points + + First point's x-coordinate of the line segment. + First point's y-coordinate of the line segment. + Second point's x-coordinate of the line segment. + Second point's y-coordinate of the line segment. + Line color. + Line thickness. [By default this is 1] + Type of the line. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws a line segment connecting two points + + First point of the line segment. + Second point of the line segment. + Line color. + Line thickness. [By default this is 1] + Type of the line. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws simple, thick or filled rectangle + + One of the rectangle vertices. + Opposite rectangle vertex. + Line color (RGB) or brightness (grayscale image). + Thickness of lines that make up the rectangle. Negative values make the function to draw a filled rectangle. [By default this is 1] + Type of the line, see cvLine description. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws simple, thick or filled rectangle + + Rectangle. + Line color (RGB) or brightness (grayscale image). + Thickness of lines that make up the rectangle. Negative values make the function to draw a filled rectangle. [By default this is 1] + Type of the line, see cvLine description. [By default this is LineType.Link8] + Number of fractional bits in the point coordinates. [By default this is 0] + + + + Draws a circle + + X-coordinate of the center of the circle. + Y-coordinate of the center of the circle. + Radius of the circle. + Circle color. + Thickness of the circle outline if positive, otherwise indicates that a filled circle has to be drawn. [By default this is 1] + Type of the circle boundary. [By default this is LineType.Link8] + Number of fractional bits in the center coordinates and radius value. [By default this is 0] + + + + Draws a circle + + Center of the circle. + Radius of the circle. + Circle color. + Thickness of the circle outline if positive, otherwise indicates that a filled circle has to be drawn. [By default this is 1] + Type of the circle boundary. [By default this is LineType.Link8] + Number of fractional bits in the center coordinates and radius value. [By default this is 0] + + + + Draws simple or thick elliptic arc or fills ellipse sector + + Center of the ellipse. + Length of the ellipse axes. + Rotation angle. + Starting angle of the elliptic arc. + Ending angle of the elliptic arc. + Ellipse color. + Thickness of the ellipse arc. [By default this is 1] + Type of the ellipse boundary. [By default this is LineType.Link8] + Number of fractional bits in the center coordinates and axes' values. [By default this is 0] + + + + Draws simple or thick elliptic arc or fills ellipse sector + + The enclosing box of the ellipse drawn + Ellipse color. + Thickness of the ellipse boundary. [By default this is 1] + Type of the ellipse boundary. [By default this is LineType.Link8] + + + + Draws a marker on a predefined position in an image. + + The function cv::drawMarker draws a marker on a given position in the image.For the moment several + marker types are supported, see #MarkerTypes for more information. + + The point where the crosshair is positioned. + Line color. + The specific type of marker you want to use. + The length of the marker axis [default = 20 pixels] + Line thickness. + Type of the line. + + + + Fills a convex polygon. + + The polygon vertices + Polygon color + Type of the polygon boundaries + The number of fractional bits in the vertex coordinates + + + + Fills the area bounded by one or more polygons + + Array of polygons, each represented as an array of points + Polygon color + Type of the polygon boundaries + The number of fractional bits in the vertex coordinates + + + + + draws one or more polygonal curves + + + + + + + + + + + renders text string in the image + + + + + + + + + + + + + Encodes an image into a memory buffer. + + Encodes an image into a memory buffer. + Format-specific parameters. + + + + + Encodes an image into a memory buffer. + + Encodes an image into a memory buffer. + Format-specific parameters. + + + + + Saves an image to a specified file. + + + + + + + + Saves an image to a specified file. + + + + + + + + Saves an image to a specified file. + + + + + + + + Saves an image to a specified file. + + + + + + + + Forms a border around the image + + Specify how much pixels in each direction from the source image rectangle one needs to extrapolate + Specify how much pixels in each direction from the source image rectangle one needs to extrapolate + Specify how much pixels in each direction from the source image rectangle one needs to extrapolate + Specify how much pixels in each direction from the source image rectangle one needs to extrapolate + The border type + The border value if borderType == Constant + + + + Smoothes image using median filter. + The source image must have 1-, 3- or 4-channel and + its depth should be CV_8U , CV_16U or CV_32F. + + The aperture linear size. It must be odd and more than 1, i.e. 3, 5, 7 ... + The destination array; will have the same size and the same type as src. + + + + Blurs an image using a Gaussian filter. + The input image can have any number of channels, which are processed independently, + but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. + + Gaussian kernel size. ksize.width and ksize.height can differ but they both must be positive and odd. + Or, they can be zero’s and then they are computed from sigma* . + Gaussian kernel standard deviation in X direction. + Gaussian kernel standard deviation in Y direction; if sigmaY is zero, it is set to be equal to sigmaX, + if both sigmas are zeros, they are computed from ksize.width and ksize.height, + respectively (see getGaussianKernel() for details); to fully control the result + regardless of possible future modifications of all this semantics, it is recommended to specify all of ksize, sigmaX, and sigmaY. + pixel extrapolation method + + + + Applies bilateral filter to the image + The source image must be a 8-bit or floating-point, 1-channel or 3-channel image. + + The diameter of each pixel neighborhood, that is used during filtering. + If it is non-positive, it's computed from sigmaSpace + Filter sigma in the color space. + Larger value of the parameter means that farther colors within the pixel neighborhood + will be mixed together, resulting in larger areas of semi-equal color + Filter sigma in the coordinate space. + Larger value of the parameter means that farther pixels will influence each other + (as long as their colors are close enough; see sigmaColor). Then d>0 , it specifies + the neighborhood size regardless of sigmaSpace, otherwise d is proportional to sigmaSpace + + The destination image; will have the same size and the same type as src + + + + Smoothes image using box filter + + + The smoothing kernel size + The anchor point. The default value Point(-1,-1) means that the anchor is at the kernel center + Indicates, whether the kernel is normalized by its area or not + The border mode used to extrapolate pixels outside of the image + The destination image; will have the same size and the same type as src + + + + Smoothes image using normalized box filter + + The smoothing kernel size + The anchor point. The default value Point(-1,-1) means that the anchor is at the kernel center + The border mode used to extrapolate pixels outside of the image + The destination image; will have the same size and the same type as src + + + + Convolves an image with the kernel + + The desired depth of the destination image. If it is negative, it will be the same as src.depth() + Convolution kernel (or rather a correlation kernel), + a single-channel floating point matrix. If you want to apply different kernels to + different channels, split the image into separate color planes using split() and process them individually + The anchor of the kernel that indicates the relative position of + a filtered point within the kernel. The anchor should lie within the kernel. + The special default value (-1,-1) means that the anchor is at the kernel center + The optional value added to the filtered pixels before storing them in dst + The pixel extrapolation method + The destination image. It will have the same size and the same number of channels as src + + + + Applies separable linear filter to an image + + The destination image depth + The coefficients for filtering each row + The coefficients for filtering each column + The anchor position within the kernel; The default value (-1, 1) means that the anchor is at the kernel center + The value added to the filtered results before storing them + The pixel extrapolation method + The destination image; will have the same size and the same number of channels as src + + + + Calculates the first, second, third or mixed image derivatives using an extended Sobel operator + + The destination image depth + Order of the derivative x + Order of the derivative y + Size of the extended Sobel kernel, must be 1, 3, 5 or 7 + The optional scale factor for the computed derivative values (by default, no scaling is applied + The optional delta value, added to the results prior to storing them in dst + The pixel extrapolation method + The destination image; will have the same size and the same number of channels as src + + + + Calculates the first x- or y- image derivative using Scharr operator + + The destination image depth + Order of the derivative x + Order of the derivative y + The optional scale factor for the computed derivative values (by default, no scaling is applie + The optional delta value, added to the results prior to storing them in dst + The pixel extrapolation method + The destination image; will have the same size and the same number of channels as src + + + + Calculates the Laplacian of an image + + The desired depth of the destination image + The aperture size used to compute the second-derivative filters + The optional scale factor for the computed Laplacian values (by default, no scaling is applied + The optional delta value, added to the results prior to storing them in dst + The pixel extrapolation method + Destination image; will have the same size and the same number of channels as src + + + + Finds edges in an image using Canny algorithm. + + The first threshold for the hysteresis procedure + The second threshold for the hysteresis procedure + Aperture size for the Sobel operator [By default this is ApertureSize.Size3] + Indicates, whether the more accurate L2 norm should be used to compute the image gradient magnitude (true), or a faster default L1 norm is enough (false). [By default this is false] + The output edge map. It will have the same size and the same type as image + + + + computes both eigenvalues and the eigenvectors of 2x2 derivative covariation matrix at each pixel. The output is stored as 6-channel matrix. + + + + + + + + computes another complex cornerness criteria at each pixel + + + + + + + adjusts the corner locations with sub-pixel accuracy to maximize the certain cornerness criteria + + Initial coordinates of the input corners and refined coordinates provided for output. + Half of the side length of the search window. + Half of the size of the dead region in the middle of the search zone + over which the summation in the formula below is not done. It is used sometimes to avoid possible singularities + of the autocorrelation matrix. The value of (-1,-1) indicates that there is no such a size. + Criteria for termination of the iterative process of corner refinement. + That is, the process of corner position refinement stops either after criteria.maxCount iterations + or when the corner position moves by less than criteria.epsilon on some iteration. + + + + + Finds the strong enough corners where the cornerMinEigenVal() or cornerHarris() report the local maxima. + Input matrix must be 8-bit or floating-point 32-bit, single-channel image. + + Maximum number of corners to return. If there are more corners than are found, + the strongest of them is returned. + Parameter characterizing the minimal accepted quality of image corners. + The parameter value is multiplied by the best corner quality measure, which is the minimal eigenvalue + or the Harris function response (see cornerHarris() ). The corners with the quality measure less than + the product are rejected. For example, if the best corner has the quality measure = 1500, and the qualityLevel=0.01, + then all the corners with the quality measure less than 15 are rejected. + Minimum possible Euclidean distance between the returned corners. + Optional region of interest. If the image is not empty + (it needs to have the type CV_8UC1 and the same size as image ), it specifies the region + in which the corners are detected. + Size of an average block for computing a derivative covariation matrix over each pixel neighborhood. + Parameter indicating whether to use a Harris detector + Free parameter of the Harris detector. + Output vector of detected corners. + + + + Finds lines in a binary image using standard Hough transform. + The input matrix must be 8-bit, single-channel, binary source image. + This image may be modified by the function. + + Distance resolution of the accumulator in pixels + Angle resolution of the accumulator in radians + The accumulator threshold parameter. Only those lines are returned that get enough votes ( > threshold ) + For the multi-scale Hough transform it is the divisor for the distance resolution rho. [By default this is 0] + For the multi-scale Hough transform it is the divisor for the distance resolution theta. [By default this is 0] + The output vector of lines. Each line is represented by a two-element vector (rho, theta) . + rho is the distance from the coordinate origin (0,0) (top-left corner of the image) and theta is the line rotation angle in radians + + + + Finds lines segments in a binary image using probabilistic Hough transform. + + Distance resolution of the accumulator in pixels + Angle resolution of the accumulator in radians + The accumulator threshold parameter. Only those lines are returned that get enough votes ( > threshold ) + The minimum line length. Line segments shorter than that will be rejected. [By default this is 0] + The maximum allowed gap between points on the same line to link them. [By default this is 0] + The output lines. Each line is represented by a 4-element vector (x1, y1, x2, y2) + + + + Finds circles in a grayscale image using a Hough transform. + The input matrix must be 8-bit, single-channel and grayscale. + + The available methods are HoughMethods.Gradient and HoughMethods.GradientAlt + The inverse ratio of the accumulator resolution to the image resolution. + Minimum distance between the centers of the detected circles. + The first method-specific parameter. [By default this is 100] + The second method-specific parameter. [By default this is 100] + Minimum circle radius. [By default this is 0] + Maximum circle radius. [By default this is 0] + The output vector found circles. Each vector is encoded as 3-element floating-point vector (x, y, radius) + + + + Dilates an image by using a specific structuring element. + + The structuring element used for dilation. If element=new Mat() , a 3x3 rectangular structuring element is used + Position of the anchor within the element. The default value (-1, -1) means that the anchor is at the element center + The number of times dilation is applied. [By default this is 1] + The pixel extrapolation method. [By default this is BorderTypes.Constant] + The border value in case of a constant border. The default value has a special meaning. [By default this is CvCpp.MorphologyDefaultBorderValue()] + The destination image. It will have the same size and the same type as src + + + + Erodes an image by using a specific structuring element. + + The structuring element used for dilation. If element=new Mat(), a 3x3 rectangular structuring element is used + Position of the anchor within the element. The default value (-1, -1) means that the anchor is at the element center + The number of times erosion is applied + The pixel extrapolation method + The border value in case of a constant border. The default value has a special meaning. [By default this is CvCpp.MorphologyDefaultBorderValue()] + The destination image. It will have the same size and the same type as src + + + + Performs advanced morphological transformations + + Type of morphological operation + Structuring element + Position of the anchor within the element. The default value (-1, -1) means that the anchor is at the element center + Number of times erosion and dilation are applied. [By default this is 1] + The pixel extrapolation method. [By default this is BorderTypes.Constant] + The border value in case of a constant border. The default value has a special meaning. [By default this is CvCpp.MorphologyDefaultBorderValue()] + Destination image. It will have the same size and the same type as src + + + + Resizes an image. + + output image size; if it equals zero, it is computed as: + dsize = Size(round(fx*src.cols), round(fy*src.rows)) + Either dsize or both fx and fy must be non-zero. + scale factor along the horizontal axis; when it equals 0, + it is computed as: (double)dsize.width/src.cols + scale factor along the vertical axis; when it equals 0, + it is computed as: (double)dsize.height/src.rows + interpolation method + output image; it has the size dsize (when it is non-zero) or the size computed + from src.size(), fx, and fy; the type of dst is the same as of src. + + + + Applies an affine transformation to an image. + + output image that has the size dsize and the same type as src. + 2x3 transformation matrix. + size of the output image. + combination of interpolation methods and the optional flag + WARP_INVERSE_MAP that means that M is the inverse transformation (dst -> src) . + pixel extrapolation method; when borderMode=BORDER_TRANSPARENT, + it means that the pixels in the destination image corresponding to the "outliers" + in the source image are not modified by the function. + value used in case of a constant border; by default, it is 0. + + + + Applies a perspective transformation to an image. + + 3x3 transformation matrix. + size of the output image. + combination of interpolation methods (INTER_LINEAR or INTER_NEAREST) + and the optional flag WARP_INVERSE_MAP, that sets M as the inverse transformation (dst -> src). + pixel extrapolation method (BORDER_CONSTANT or BORDER_REPLICATE). + value used in case of a constant border; by default, it equals 0. + output image that has the size dsize and the same type as src. + + + + Applies a generic geometrical transformation to an image. + + The first map of either (x,y) points or just x values having the type CV_16SC2, CV_32FC1, or CV_32FC2. + The second map of y values having the type CV_16UC1, CV_32FC1, or none (empty map if map1 is (x,y) points), respectively. + Interpolation method. The method INTER_AREA is not supported by this function. + Pixel extrapolation method. When borderMode=BORDER_TRANSPARENT, + it means that the pixels in the destination image that corresponds to the "outliers" in + the source image are not modified by the function. + Value used in case of a constant border. By default, it is 0. + Destination image. It has the same size as map1 and the same type as src + + + + Inverts an affine transformation. + + Output reverse affine transformation. + + + + Retrieves a pixel rectangle from an image with sub-pixel accuracy. + + Size of the extracted patch. + Floating point coordinates of the center of the extracted rectangle + within the source image. The center must be inside the image. + Depth of the extracted pixels. By default, they have the same depth as src. + Extracted patch that has the size patchSize and the same number of channels as src . + + + + Adds an image to the accumulator. + + Optional operation mask. + Accumulator image with the same number of channels as input image, 32-bit or 64-bit floating-point. + + + + Adds the square of a source image to the accumulator. + + Optional operation mask. + Accumulator image with the same number of channels as input image, 32-bit or 64-bit floating-point. + + + + Computes a Hanning window coefficients in two dimensions. + + The window size specifications + Created array type + + + + Applies a fixed-level threshold to each array element. + The input matrix must be single-channel, 8-bit or 32-bit floating point. + + threshold value. + maximum value to use with the THRESH_BINARY and THRESH_BINARY_INV thresholding types. + thresholding type (see the details below). + output array of the same size and type as src. + + + + Applies an adaptive threshold to an array. + Source matrix must be 8-bit single-channel image. + + Non-zero value assigned to the pixels for which the condition is satisfied. See the details below. + Adaptive thresholding algorithm to use, ADAPTIVE_THRESH_MEAN_C or ADAPTIVE_THRESH_GAUSSIAN_C . + Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV . + Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on. + Constant subtracted from the mean or weighted mean (see the details below). + Normally, it is positive but may be zero or negative as well. + Destination image of the same size and the same type as src. + + + + Blurs an image and downsamples it. + + size of the output image; by default, it is computed as Size((src.cols+1)/2 + + + + + + Upsamples an image and then blurs it. + + size of the output image; by default, it is computed as Size(src.cols*2, (src.rows*2) + + + + + + Upsamples an image and then blurs it. + + + + + + + + corrects lens distortion for the given camera matrix and distortion coefficients + + Input camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, + or 8 elements. If the vector is null, the zero distortion coefficients are assumed. + Camera matrix of the distorted image. + By default, it is the same as cameraMatrix but you may additionally scale + and shift the result by using a different matrix. + Output (corrected) image that has the same size and type as src . + + + + returns the default new camera matrix (by default it is the same as cameraMatrix unless centerPricipalPoint=true) + + Camera view image size in pixels. + Location of the principal point in the new camera matrix. + The parameter indicates whether this location should be at the image center or not. + the camera matrix that is either an exact copy of the input cameraMatrix + (when centerPrinicipalPoint=false), or the modified one (when centerPrincipalPoint=true). + + + + Computes the ideal point coordinates from the observed point coordinates. + Input matrix is an observed point coordinates, 1xN or Nx1 2-channel (CV_32FC2 or CV_64FC2). + + Camera matrix + Input vector of distortion coefficients (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6]]) of 4, 5, or 8 elements. + If the vector is null, the zero distortion coefficients are assumed. + Rectification transformation in the object space (3x3 matrix). + R1 or R2 computed by stereoRectify() can be passed here. + If the matrix is empty, the identity transformation is used. + New camera matrix (3x3) or new projection matrix (3x4). + P1 or P2 computed by stereoRectify() can be passed here. If the matrix is empty, + the identity new camera matrix is used. + Output ideal point coordinates after undistortion and reverse perspective transformation. + If matrix P is identity or omitted, dst will contain normalized point coordinates. + + + + Normalizes the grayscale image brightness and contrast by normalizing its histogram. + The source matrix is 8-bit single channel image. + + The destination image; will have the same size and the same type as src + + + + Performs a marker-based image segmentation using the watershed algorithm. + Input matrix is 8-bit 3-channel image. + + Input/output 32-bit single-channel image (map) of markers. + It should have the same size as image. + + + + Performs initial step of meanshift segmentation of an image. + The source matrix is 8-bit, 3-channel image. + + The spatial window radius. + The color window radius. + Maximum level of the pyramid for the segmentation. + Termination criteria: when to stop meanshift iterations. + The destination image of the same format and the same size as the source. + + + + Segments the image using GrabCut algorithm. + The input is 8-bit 3-channel image. + + Input/output 8-bit single-channel mask. + The mask is initialized by the function when mode is set to GC_INIT_WITH_RECT. + Its elements may have Cv2.GC_BGD / Cv2.GC_FGD / Cv2.GC_PR_BGD / Cv2.GC_PR_FGD + ROI containing a segmented object. The pixels outside of the ROI are + marked as "obvious background". The parameter is only used when mode==GC_INIT_WITH_RECT. + Temporary array for the background model. Do not modify it while you are processing the same image. + Temporary arrays for the foreground model. Do not modify it while you are processing the same image. + Number of iterations the algorithm should make before returning the result. + Note that the result can be refined with further calls with mode==GC_INIT_WITH_MASK or mode==GC_EVAL . + Operation mode that could be one of GrabCutFlag value. + + + + Fills a connected component with the given color. + Input/output 1- or 3-channel, 8-bit, or floating-point image. + It is modified by the function unless the FLOODFILL_MASK_ONLY flag is set in the + second variant of the function. See the details below. + + Starting point. + New value of the repainted domain pixels. + + + + + Fills a connected component with the given color. + Input/output 1- or 3-channel, 8-bit, or floating-point image. + It is modified by the function unless the FLOODFILL_MASK_ONLY flag is set in the + second variant of the function. See the details below. + + Starting point. + New value of the repainted domain pixels. + Optional output parameter set by the function to the + minimum bounding rectangle of the repainted domain. + Maximal lower brightness/color difference between the currently + observed pixel and one of its neighbors belonging to the component, or a seed pixel + being added to the component. + Maximal upper brightness/color difference between the currently + observed pixel and one of its neighbors belonging to the component, or a seed pixel + being added to the component. + Operation flags. Lower bits contain a connectivity value, + 4 (default) or 8, used within the function. Connectivity determines which + neighbors of a pixel are considered. + + + + + Fills a connected component with the given color. + Input/output 1- or 3-channel, 8-bit, or floating-point image. + It is modified by the function unless the FLOODFILL_MASK_ONLY flag is set in the + second variant of the function. See the details below. + + (For the second function only) Operation mask that should be a single-channel 8-bit image, + 2 pixels wider and 2 pixels taller. The function uses and updates the mask, so you take responsibility of + initializing the mask content. Flood-filling cannot go across non-zero pixels in the mask. For example, + an edge detector output can be used as a mask to stop filling at edges. It is possible to use the same mask + in multiple calls to the function to make sure the filled area does not overlap. + Starting point. + New value of the repainted domain pixels. + + + + + Fills a connected component with the given color. + Input/output 1- or 3-channel, 8-bit, or floating-point image. + It is modified by the function unless the FLOODFILL_MASK_ONLY flag is set in the + second variant of the function. See the details below. + + (For the second function only) Operation mask that should be a single-channel 8-bit image, + 2 pixels wider and 2 pixels taller. The function uses and updates the mask, so you take responsibility of + initializing the mask content. Flood-filling cannot go across non-zero pixels in the mask. For example, + an edge detector output can be used as a mask to stop filling at edges. It is possible to use the same mask + in multiple calls to the function to make sure the filled area does not overlap. + Starting point. + New value of the repainted domain pixels. + Optional output parameter set by the function to the + minimum bounding rectangle of the repainted domain. + Maximal lower brightness/color difference between the currently + observed pixel and one of its neighbors belonging to the component, or a seed pixel + being added to the component. + Maximal upper brightness/color difference between the currently + observed pixel and one of its neighbors belonging to the component, or a seed pixel + being added to the component. + Operation flags. Lower bits contain a connectivity value, + 4 (default) or 8, used within the function. Connectivity determines which + neighbors of a pixel are considered. + + + + + Converts image from one color space to another + + The color space conversion code + The number of channels in the destination image; if the parameter is 0, the number of the channels will be derived automatically from src and the code + The destination image; will have the same size and the same depth as src + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + The input is a raster image (single-channel, 8-bit or floating-point 2D array). + + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Computes the proximity map for the raster template and the image where the template is searched for + The input is Image where the search is running; should be 8-bit or 32-bit floating-point. + + Searched template; must be not greater than the source image and have the same data type + Specifies the comparison method + Mask of searched template. It must have the same datatype and size with templ. It is not set by default. + A map of comparison results; will be single-channel 32-bit floating-point. + If image is WxH and templ is wxh then result will be (W-w+1) x (H-h+1). + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + destination labeled image + 8 or 4 for 8-way or 4-way connectivity respectively + The number of labels + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + destination labeled image + 8 or 4 for 8-way or 4-way connectivity respectively + output image label type. Currently CV_32S and CV_16U are supported. + The number of labels + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + destination labeled rectangular array + 8 or 4 for 8-way or 4-way connectivity respectively + The number of labels + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + destination labeled image + statistics output for each label, including the background label, + see below for available statistics. Statistics are accessed via stats(label, COLUMN) + where COLUMN is one of cv::ConnectedComponentsTypes + floating point centroid (x,y) output for each label, + including the background label + 8 or 4 for 8-way or 4-way connectivity respectively + + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + destination labeled image + statistics output for each label, including the background label, + see below for available statistics. Statistics are accessed via stats(label, COLUMN) + where COLUMN is one of cv::ConnectedComponentsTypes + floating point centroid (x,y) output for each label, + including the background label + 8 or 4 for 8-way or 4-way connectivity respectively + output image label type. Currently CV_32S and CV_16U are supported. + + + + + computes the connected components labeled image of boolean image. + image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 + represents the background label. ltype specifies the output label image type, an important + consideration based on the total number of labels or alternatively the total number of + pixels in the source image. + + 8 or 4 for 8-way or 4-way connectivity respectively + + + + + Finds contours in a binary image. + The source is an 8-bit single-channel image. Non-zero pixels are treated as 1’s. + Zero pixels remain 0’s, so the image is treated as binary. The function modifies this image while extracting the contours. + + Detected contours. Each contour is stored as a vector of points. + Optional output vector, containing information about the image topology. + It has as many elements as the number of contours. For each i-th contour contours[i], + the members of the elements hierarchy[i] are set to 0-based indices in contours of the next + and previous contours at the same hierarchical level, the first child contour and the parent contour, respectively. + If for the contour i there are no next, previous, parent, or nested contours, the corresponding elements of hierarchy[i] will be negative. + Contour retrieval mode + Contour approximation method + Optional offset by which every contour point is shifted. + This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context. + + + + Finds contours in a binary image. + The source is an 8-bit single-channel image. Non-zero pixels are treated as 1’s. + Zero pixels remain 0’s, so the image is treated as binary. The function modifies this image while extracting the contours. + + Detected contours. Each contour is stored as a vector of points. + Optional output vector, containing information about the image topology. + It has as many elements as the number of contours. For each i-th contour contours[i], + the members of the elements hierarchy[i] are set to 0-based indices in contours of the next + and previous contours at the same hierarchical level, the first child contour and the parent contour, respectively. + If for the contour i there are no next, previous, parent, or nested contours, the corresponding elements of hierarchy[i] will be negative. + Contour retrieval mode + Contour approximation method + Optional offset by which every contour point is shifted. + This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context. + + + + Finds contours in a binary image. + The source is an 8-bit single-channel image. Non-zero pixels are treated as 1’s. + Zero pixels remain 0’s, so the image is treated as binary. The function modifies this image while extracting the contours. + + Contour retrieval mode + Contour approximation method + Optional offset by which every contour point is shifted. + This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context. + Detected contours. Each contour is stored as a vector of points. + + + + Finds contours in a binary image. + The source is an 8-bit single-channel image. Non-zero pixels are treated as 1’s. + Zero pixels remain 0’s, so the image is treated as binary. The function modifies this image while extracting the contours. + + Contour retrieval mode + Contour approximation method + Optional offset by which every contour point is shifted. + This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context. + Detected contours. Each contour is stored as a vector of points. + + + + Draws contours in the image + + All the input contours. Each contour is stored as a point vector. + Parameter indicating a contour to draw. If it is negative, all the contours are drawn. + Color of the contours. + Thickness of lines the contours are drawn with. If it is negative (for example, thickness=CV_FILLED ), + the contour interiors are drawn. + Line connectivity. + Optional information about hierarchy. It is only needed if you want to draw only some of the contours + Maximal level for drawn contours. If it is 0, only the specified contour is drawn. + If it is 1, the function draws the contour(s) and all the nested contours. If it is 2, the function draws the contours, + all the nested contours, all the nested-to-nested contours, and so on. This parameter is only taken into account + when there is hierarchy available. + Optional contour shift parameter. Shift all the drawn contours by the specified offset = (dx, dy) + + + + Draws contours in the image + + All the input contours. Each contour is stored as a point vector. + Parameter indicating a contour to draw. If it is negative, all the contours are drawn. + Color of the contours. + Thickness of lines the contours are drawn with. If it is negative (for example, thickness=CV_FILLED ), + the contour interiors are drawn. + Line connectivity. + Optional information about hierarchy. It is only needed if you want to draw only some of the contours + Maximal level for drawn contours. If it is 0, only the specified contour is drawn. + If it is 1, the function draws the contour(s) and all the nested contours. If it is 2, the function draws the contours, + all the nested contours, all the nested-to-nested contours, and so on. This parameter is only taken into account + when there is hierarchy available. + Optional contour shift parameter. Shift all the drawn contours by the specified offset = (dx, dy) + + + + Approximates contour or a curve using Douglas-Peucker algorithm. + The input is the polygon or curve to approximate and + it must be 1 x N or N x 1 matrix of type CV_32SC2 or CV_32FC2. + + Specifies the approximation accuracy. + This is the maximum distance between the original curve and its approximation. + The result of the approximation; + The type should match the type of the input curve + The result of the approximation; + The type should match the type of the input curve + + + + Calculates a contour perimeter or a curve length. + The input is 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + + Indicates, whether the curve is closed or not + + + + + Calculates the up-right bounding rectangle of a point set. + The input is 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + + Minimal up-right bounding rectangle for the specified point set. + + + + Calculates the contour area. + The input is 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + + + + + + + Finds the minimum area rotated rectangle enclosing a 2D point set. + The input is 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + + + + + + Finds the minimum area circle enclosing a 2D point set. + The input is 2D point set, represented by CV_32SC2 or CV_32FC2 matrix. + + The output center of the circle + The output radius of the circle + + + + Computes convex hull for a set of 2D points. + + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + + The output convex hull. It is either a vector of points that form the + hull (must have the same type as the input points), or a vector of 0-based point + indices of the hull points in the original array (since the set of convex hull + points is a subset of the original point set). + + + + Computes convex hull for a set of 2D points. + + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + The output convex hull. It is a vector of points that form the + hull (must have the same type as the input points). + + + + Computes convex hull for a set of 2D points. + + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + The output convex hull. It is a vector of points that form the + hull (must have the same type as the input points). + + + + Computes convex hull for a set of 2D points. + + If true, the output convex hull will be oriented clockwise, + otherwise it will be oriented counter-clockwise. Here, the usual screen coordinate + system is assumed - the origin is at the top-left corner, x axis is oriented to the right, + and y axis is oriented downwards. + The output convex hull. It is a vector of 0-based point + indices of the hull points in the original array (since the set of convex hull + points is a subset of the original point set). + + + + Computes the contour convexity defects + + Convex hull obtained using convexHull() that + should contain indices of the contour points that make the hull. + The output vector of convexity defects. + Each convexity defect is represented as 4-element integer vector + (a.k.a. cv::Vec4i): (start_index, end_index, farthest_pt_index, fixpt_depth), + where indices are 0-based indices in the original contour of the convexity defect beginning, + end and the farthest point, and fixpt_depth is fixed-point approximation + (with 8 fractional bits) of the distance between the farthest contour point and the hull. + That is, to get the floating-point value of the depth will be fixpt_depth/256.0. + + + + Computes the contour convexity defects + + Convex hull obtained using convexHull() that + should contain indices of the contour points that make the hull. + The output vector of convexity defects. + Each convexity defect is represented as 4-element integer vector + (a.k.a. cv::Vec4i): (start_index, end_index, farthest_pt_index, fixpt_depth), + where indices are 0-based indices in the original contour of the convexity defect beginning, + end and the farthest point, and fixpt_depth is fixed-point approximation + (with 8 fractional bits) of the distance between the farthest contour point and the hull. + That is, to get the floating-point value of the depth will be fixpt_depth/256.0. + + + + Returns true if the contour is convex. + Does not support contours with self-intersection + + + + + + Fits ellipse to the set of 2D points. + + + + + + Fits line to the set of 2D points using M-estimator algorithm. + The input is vector of 2D points. + + Distance used by the M-estimator + Numerical parameter ( C ) for some types of distances. + If it is 0, an optimal value is chosen. + Sufficient accuracy for the radius + (distance between the coordinate origin and the line). + Sufficient accuracy for the angle. + 0.01 would be a good default value for reps and aeps. + Output line parameters. + + + + Fits line to the set of 3D points using M-estimator algorithm. + The input is vector of 3D points. + + Distance used by the M-estimator + Numerical parameter ( C ) for some types of distances. + If it is 0, an optimal value is chosen. + Sufficient accuracy for the radius + (distance between the coordinate origin and the line). + Sufficient accuracy for the angle. + 0.01 would be a good default value for reps and aeps. + Output line parameters. + + + + Checks if the point is inside the contour. + Optionally computes the signed distance from the point to the contour boundary. + + Point tested against the contour. + If true, the function estimates the signed distance + from the point to the nearest contour edge. Otherwise, the function only checks + if the point is inside a contour or not. + Positive (inside), negative (outside), or zero (on an edge) value. + + + + Computes the distance transform map + + + + + + + Abstract definition of Mat indexer + + + + + + 1-dimensional indexer + + Index along the dimension 0 + A value to the specified array element. + + + + 2-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + A value to the specified array element. + + + + 3-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + A value to the specified array element. + + + + n-dimensional indexer + + Array of Mat::dims indices. + A value to the specified array element. + + + + Parent matrix object + + + + + Step byte length for each dimension + + + + + Constructor + + + + + + Type-specific abstract matrix + + Element Type + + + + Creates empty Mat + + + + + Creates from native cv::Mat* pointer + + + + + + Initializes by Mat object + + Managed Mat object + + + + constructs 2D matrix of the specified size and type + + Number of rows in a 2D array. + Number of columns in a 2D array. + + + + constructs 2D matrix of the specified size and type + + 2D array size: Size(cols, rows) . In the Size() constructor, + the number of rows and the number of columns go in the reverse order. + + + + constructs 2D matrix and fills it with the specified Scalar value. + + Number of rows in a 2D array. + Number of columns in a 2D array. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + + + + constructs 2D matrix and fills it with the specified Scalar value. + + 2D array size: Size(cols, rows) . In the Size() constructor, + the number of rows and the number of columns go in the reverse order. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat::clone() . + Range of the m rows to take. As usual, the range start is inclusive and the range end is exclusive. + Use Range.All to take all the rows. + Range of the m columns to take. Use Range.All to take all the columns. + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat.Clone() . + Array of selected ranges of m along each dimensionality. + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat.Clone() . + Region of interest. + + + + constructor for matrix headers pointing to user-allocated data + + Number of rows in a 2D array. + Number of columns in a 2D array. + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. + Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. + This operation is very efficient and can be used to process external data using OpenCV functions. + The external data is not automatically de-allocated, so you should take care of it. + Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. + If the parameter is missing (set to AUTO_STEP ), no padding is assumed and the actual step is calculated as cols*elemSize() . + + + + constructor for matrix headers pointing to user-allocated data + + Number of rows in a 2D array. + Number of columns in a 2D array. + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. + Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. + This operation is very efficient and can be used to process external data using OpenCV functions. + The external data is not automatically de-allocated, so you should take care of it. + Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. + If the parameter is missing (set to AUTO_STEP ), no padding is assumed and the actual step is calculated as cols*elemSize() . + + + + constructor for matrix headers pointing to user-allocated data + + Array of integers specifying an n-dimensional array shape. + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. + Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. + This operation is very efficient and can be used to process external data using OpenCV functions. + The external data is not automatically de-allocated, so you should take care of it. + Array of ndims-1 steps in case of a multi-dimensional array (the last step is always set to the element size). + If not specified, the matrix is assumed to be continuous. + + + + constructor for matrix headers pointing to user-allocated data + + Array of integers specifying an n-dimensional array shape. + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. + Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. + This operation is very efficient and can be used to process external data using OpenCV functions. + The external data is not automatically de-allocated, so you should take care of it. + Array of ndims-1 steps in case of a multi-dimensional array (the last step is always set to the element size). + If not specified, the matrix is assumed to be continuous. + + + + constructs n-dimensional matrix + + Array of integers specifying an n-dimensional array shape. + + + + constructs n-dimensional matrix + + Array of integers specifying an n-dimensional array shape. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + + + + Matrix indexer + + + + + 1-dimensional indexer + + Index along the dimension 0 + A value to the specified array element. + + + + 2-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + A value to the specified array element. + + + + 3-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + A value to the specified array element. + + + + n-dimensional indexer + + Array of Mat::dims indices. + A value to the specified array element. + + + + Gets a type-specific indexer. The indexer has getters/setters to access each matrix element. + + + + + + Gets read-only enumerator + + + + + + Convert this mat to managed array + + + + + + Convert this mat to managed rectangular array + + + + + + + + + + + + + Creates a full copy of the matrix. + + + + + + Changes the shape of channels of a 2D matrix without copying the data. + + New number of rows. If the parameter is 0, the number of rows remains the same. + + + + + Changes the shape of a 2D matrix without copying the data. + + New number of rows. If the parameter is 0, the number of rows remains the same. + + + + + Transposes a matrix. + + + + + + Extracts a rectangular submatrix. + + Start row of the extracted submatrix. The upper boundary is not included. + End row of the extracted submatrix. The upper boundary is not included. + Start column of the extracted submatrix. The upper boundary is not included. + End column of the extracted submatrix. The upper boundary is not included. + + + + + Extracts a rectangular submatrix. + + Start and end row of the extracted submatrix. The upper boundary is not included. + To select all the rows, use Range.All(). + Start and end column of the extracted submatrix. + The upper boundary is not included. To select all the columns, use Range.All(). + + + + + Extracts a rectangular submatrix. + + Extracted submatrix specified as a rectangle. + + + + + Extracts a rectangular submatrix. + + Array of selected ranges along each array dimension. + + + + + Extracts a rectangular submatrix. + + Start row of the extracted submatrix. The upper boundary is not included. + End row of the extracted submatrix. The upper boundary is not included. + Start column of the extracted submatrix. The upper boundary is not included. + End column of the extracted submatrix. The upper boundary is not included. + + + + + Extracts a rectangular submatrix. + + Start and end row of the extracted submatrix. The upper boundary is not included. + To select all the rows, use Range.All(). + Start and end column of the extracted submatrix. + The upper boundary is not included. To select all the columns, use Range.All(). + + + + + Extracts a rectangular submatrix. + + Extracted submatrix specified as a rectangle. + + + + + Extracts a rectangular submatrix. + + Array of selected ranges along each array dimension. + + + + + OpenCV C++ n-dimensional dense array class (cv::Mat) + + + + + typeof(T) -> MatType + + + + + Creates from native cv::Mat* pointer + + + + + + Creates empty Mat + + + + + + + + + + + constructs 2D matrix of the specified size and type + + Number of rows in a 2D array. + Number of columns in a 2D array. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + usage flags for allocator + + + + constructs 2D matrix of the specified size and type + + 2D array size: Size(cols, rows) . In the Size() constructor, + the number of rows and the number of columns go in the reverse order. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType.CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + usage flags for allocator + + + + constructs 2D matrix and fills it with the specified Scalar value. + + Number of rows in a 2D array. + Number of columns in a 2D array. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + usage flags for allocator + + + + constructs 2D matrix and fills it with the specified Scalar value. + + 2D array size: Size(cols, rows) . In the Size() constructor, + the number of rows and the number of columns go in the reverse order. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + usage flags for allocator + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat::clone() . + Range of the m rows to take. As usual, the range start is inclusive and the range end is exclusive. + Use Range.All to take all the rows. + Range of the m columns to take. Use Range.All to take all the columns. + usage flags for allocator + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat.Clone() . + Array of selected ranges of m along each dimensionality. + + + + creates a matrix header for a part of the bigger matrix + + Array that (as a whole or partly) is assigned to the constructed matrix. + No data is copied by these constructors. Instead, the header pointing to m data or its sub-array + is constructed and associated with it. The reference counter, if any, is incremented. + So, when you modify the matrix formed using such a constructor, you also modify the corresponding elements of m . + If you want to have an independent copy of the sub-array, use Mat.Clone() . + Region of interest. + + + + constructs n-dimensional matrix + + Array of integers specifying an n-dimensional array shape. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + + + + constructs n-dimensional matrix + + Array of integers specifying an n-dimensional array shape. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + An optional value to initialize each matrix element with. + To set all the matrix elements to the particular value after the construction, use SetTo(Scalar s) method . + + + + Releases the resources + + + + + + Releases unmanaged resources + + + + + Extracts a diagonal from a matrix, or creates a diagonal matrix. + + One-dimensional matrix that represents the main diagonal. + + + + + Returns a zero array of the specified size and type. + + Number of rows. + Number of columns. + Created matrix type. + + + + + Returns a zero array of the specified size and type. + + Alternative to the matrix size specification Size(cols, rows) . + Created matrix type. + + + + + Returns a zero array of the specified size and type. + + Created matrix type. + + + + + + Returns an array of all 1’s of the specified size and type. + + Number of rows. + Number of columns. + Created matrix type. + + + + + Returns an array of all 1’s of the specified size and type. + + Alternative to the matrix size specification Size(cols, rows) . + Created matrix type. + + + + + Returns an array of all 1’s of the specified size and type. + + Created matrix type. + Array of integers specifying the array shape. + + + + + Returns an identity matrix of the specified size and type. + + Alternative to the matrix size specification Size(cols, rows) . + Created matrix type. + + + + + Returns an identity matrix of the specified size and type. + + Number of rows. + Number of columns. + Created matrix type. + + + + + Extracts a rectangular submatrix. + + Start row of the extracted submatrix. The upper boundary is not included. + End row of the extracted submatrix. The upper boundary is not included. + Start column of the extracted submatrix. The upper boundary is not included. + End column of the extracted submatrix. The upper boundary is not included. + + + + + Extracts a rectangular submatrix. + + Start and end row of the extracted submatrix. The upper boundary is not included. + To select all the rows, use Range.All(). + Start and end column of the extracted submatrix. + The upper boundary is not included. To select all the columns, use Range.All(). + + + + + Extracts a rectangular submatrix. + + Extracted submatrix specified as a rectangle. + + + + + Extracts a rectangular submatrix. + + Array of selected ranges along each array dimension. + + + + + Returns the UMat data as a Mat. + + AccessFlag determining the mode in which the data is to be acquired + + + + + Creates a matrix header for the specified matrix column. + + A 0-based column index. + + + + + Creates a matrix header for the specified column span. + + An inclusive 0-based start index of the column span. + An exclusive 0-based ending index of the column span. + + + + + Creates a matrix header for the specified column span. + + + + + + + Creates a matrix header for the specified matrix row. + + A 0-based row index. + + + + + Creates a matrix header for the specified row span. + + + + + + + + Creates a matrix header for the specified row span. + + + + + + + Single-column matrix that forms a diagonal matrix or index of the diagonal, with the following values: + + Single-column matrix that forms a diagonal matrix or index of the diagonal, with the following values: + + + + + Creates a full copy of the matrix. + + + + + + Returns the partial Mat of the specified Mat + + + + + + + Copies the matrix to another one. + + Destination matrix. If it does not have a proper size or type before the operation, it is reallocated. + Operation mask. Its non-zero elements indicate which matrix elements need to be copied. + + + + Copies the matrix to another one. + + Destination matrix. If it does not have a proper size or type before the operation, it is reallocated. + Operation mask. Its non-zero elements indicate which matrix elements need to be copied. + + + + Converts an array to another data type with optional scaling. + + output matrix; if it does not have a proper size or type before the operation, it is reallocated. + desired output matrix type or, rather, the depth since the number of channels are the same as the input has; + if rtype is negative, the output matrix will have the same type as the input. + optional scale factor. + optional delta added to the scaled values. + + + + Provides a functional form of convertTo. + + Destination array. + Desired destination array depth (or -1 if it should be the same as the source type). + + + + Sets all or some of the array elements to the specified value. + + + + + + + + Sets all or some of the array elements to the specified value. + + + + + + + + Changes the shape and/or the number of channels of a 2D matrix without copying the data. + + New number of channels. If the parameter is 0, the number of channels remains the same. + New number of rows. If the parameter is 0, the number of rows remains the same. + + + + + Changes the shape and/or the number of channels of a 2D matrix without copying the data. + + New number of channels. If the parameter is 0, the number of channels remains the same. + New number of rows. If the parameter is 0, the number of rows remains the same. + + + + + Transposes a matrix. + + + + + + Inverses a matrix. + + Matrix inversion method + + + + + Performs an element-wise multiplication or division of the two matrices. + + + + + + + + Computes a dot-product of two vectors. + + another dot-product operand. + + + + + Allocates new array data if needed. + + New number of rows. + New number of columns. + New matrix type. + + + + Allocates new array data if needed. + + Alternative new matrix size specification: Size(cols, rows) + New matrix type. + + + + Allocates new array data if needed. + + Array of integers specifying a new array shape. + New matrix type. + + + + Locates the matrix header within a parent matrix. + + Output parameter that contains the size of the whole matrix containing *this as a part. + Output parameter that contains an offset of *this inside the whole matrix. + + + + Adjusts a submatrix size and position within the parent matrix. + + Shift of the top submatrix boundary upwards. + Shift of the bottom submatrix boundary downwards. + Shift of the left submatrix boundary to the left. + Shift of the right submatrix boundary to the right. + + + + + Extracts a rectangular submatrix. + + + + + + + + + + Extracts a rectangular submatrix. + + Start and end row of the extracted submatrix. The upper boundary is not included. + To select all the rows, use Range::all(). + Start and end column of the extracted submatrix. The upper boundary is not included. + To select all the columns, use Range::all(). + + + + + Extracts a rectangular submatrix. + + Extracted submatrix specified as a rectangle. + + + + + Extracts a rectangular submatrix. + + Array of selected ranges along each array dimension. + + + + + Reports whether the matrix is continuous or not. + + + + + + Returns whether this matrix is a part of other matrix or not. + + + + + + Returns the matrix element size in bytes. + + + + + + Returns the size of each matrix element channel in bytes. + + + + + + Returns the type of a matrix element. + + + + + + Returns the depth of a matrix element. + + + + + + Returns the number of matrix channels. + + + + + + Returns a normalized step. + + + + + + + Returns true if the array has no elements. + + + + + + Returns the total number of array elements. + + + + + + + + Number of channels or number of columns the matrix should have. + For a 2-D matrix, when the matrix has only 1 column, then it should have + elemChannels channels; When the matrix has only 1 channel, + then it should have elemChannels columns. For a 3-D matrix, it should have only one channel. + Furthermore, if the number of planes is not one, then the number of rows within every + plane has to be 1; if the number of rows within every plane is not 1, + then the number of planes has to be 1. + The depth the matrix should have. Set it to -1 when any depth is fine. + Set it to true to require the matrix to be continuous + -1 if the requirement is not satisfied. + Otherwise, it returns the number of elements in the matrix. Note that an element may have multiple channels. + + + + includes several bit-fields: + - the magic signature + - continuity flag + - depth + - number of channels + + + + + the array dimensionality, >= 2 + + + + + the number of rows or -1 when the array has more than 2 dimensions + + + + + the number of rows or -1 when the array has more than 2 dimensions + + + + + + the number of columns or -1 when the array has more than 2 dimensions + + + + + + the number of columns or -1 when the array has more than 2 dimensions + + + + + + Returns a matrix size. + + + + + + Returns a matrix size. + + + + + + + Returns number of bytes each matrix row occupies. + + + + + + Returns number of bytes each matrix row occupies. + + + + + + + Returns a string that represents this Mat. + + + + + + Makes a Mat that have the same size, depth and channels as this image + + + + + + + + + usage flags for allocator + + + + + Proxy datatype for passing Mat's and List<>'s as output parameters + + + + + Constructor + + + + + + Constructor + + + + + + Constructor + + + + + + Releases unmanaged resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a proxy class of the specified matrix + + + + + + + Creates a proxy class of the specified matrix + + + + + + + Creates a proxy class of the specified list + + + + + + + + Creates a proxy class of the specified list + + + + + + + Proxy datatype for passing Mat's and List<>'s as output parameters + + + + + + + + + + + + + + + + + + + + + + Proxy datatype for passing Mat's and List<>'s as output parameters + + + + + + + + + + + + + + + + Principal Component Analysis + + + + + default constructor. + + The default constructor initializes an empty PCA structure. + The other constructors initialize the structure and call PCA::operator()(). + + + + + Constructor + + input samples stored as matrix rows or matrix columns. + optional mean value; if the matrix is empty (@c noArray()), the mean is computed from the data. + operation flags; currently the parameter is only used to specify the data layout (PCA::Flags) + maximum number of components that PCA should retain; by default, all the components are retained. + + + + Constructor + + input samples stored as matrix rows or matrix columns. + optional mean value; if the matrix is empty (noArray()), the mean is computed from the data. + operation flags; currently the parameter is only used to specify the data layout (PCA::Flags) + Percentage of variance that PCA should retain. + Using this parameter will let the PCA decided how many components to retain but it will always keep at least 2. + + + + Releases unmanaged resources + + + + + eigenvalues of the covariation matrix + + + + + eigenvalues of the covariation matrix + + + + + mean value subtracted before the projection and added after the back projection + + + + + Performs PCA. + + The operator performs %PCA of the supplied dataset. It is safe to reuse + the same PCA structure for multiple datasets. That is, if the structure + has been previously used with another dataset, the existing internal + data is reclaimed and the new @ref eigenvalues, @ref eigenvectors and @ref + mean are allocated and computed. + + The computed @ref eigenvalues are sorted from the largest to the smallest and + the corresponding @ref eigenvectors are stored as eigenvectors rows. + + input samples stored as the matrix rows or as the matrix columns. + optional mean value; if the matrix is empty (noArray()), the mean is computed from the data. + operation flags; currently the parameter is only used to specify the data layout. (Flags) + maximum number of components that PCA should retain; + by default, all the components are retained. + + + + + Performs PCA. + + The operator performs %PCA of the supplied dataset. It is safe to reuse + the same PCA structure for multiple datasets. That is, if the structure + has been previously used with another dataset, the existing internal + data is reclaimed and the new @ref eigenvalues, @ref eigenvectors and @ref + mean are allocated and computed. + + The computed @ref eigenvalues are sorted from the largest to the smallest and + the corresponding @ref eigenvectors are stored as eigenvectors rows. + + input samples stored as the matrix rows or as the matrix columns. + optional mean value; if the matrix is empty (noArray()), + the mean is computed from the data. + operation flags; currently the parameter is only used to + specify the data layout. (PCA::Flags) + Percentage of variance that %PCA should retain. + Using this parameter will let the %PCA decided how many components to + retain but it will always keep at least 2. + + + + + Projects vector(s) to the principal component subspace. + + The methods project one or more vectors to the principal component + subspace, where each vector projection is represented by coefficients in + the principal component basis. The first form of the method returns the + matrix that the second form writes to the result. So the first form can + be used as a part of expression while the second form can be more + efficient in a processing loop. + + input vector(s); must have the same dimensionality and the + same layout as the input data used at %PCA phase, that is, if + DATA_AS_ROW are specified, then `vec.cols==data.cols` + (vector dimensionality) and `vec.rows` is the number of vectors to + project, and the same is true for the PCA::DATA_AS_COL case. + + + + + Projects vector(s) to the principal component subspace. + + input vector(s); must have the same dimensionality and the + same layout as the input data used at PCA phase, that is, if DATA_AS_ROW are + specified, then `vec.cols==data.cols` (vector dimensionality) and `vec.rows` + is the number of vectors to project, and the same is true for the PCA::DATA_AS_COL case. + output vectors; in case of PCA::DATA_AS_COL, the + output matrix has as many columns as the number of input vectors, this + means that `result.cols==vec.cols` and the number of rows match the + number of principal components (for example, `maxComponents` parameter + passed to the constructor). + + + + Reconstructs vectors from their PC projections. + + The methods are inverse operations to PCA::project. They take PC + coordinates of projected vectors and reconstruct the original vectors. + Unless all the principal components have been retained, the + reconstructed vectors are different from the originals. But typically, + the difference is small if the number of components is large enough (but + still much smaller than the original vector dimensionality). As a result, PCA is used. + + coordinates of the vectors in the principal component subspace, + the layout and size are the same as of PCA::project output vectors. + + + + + Reconstructs vectors from their PC projections. + + The methods are inverse operations to PCA::project. They take PC + coordinates of projected vectors and reconstruct the original vectors. + Unless all the principal components have been retained, the + reconstructed vectors are different from the originals. But typically, + the difference is small if the number of components is large enough (but + still much smaller than the original vector dimensionality). As a result, PCA is used. + + coordinates of the vectors in the principal component subspace, + the layout and size are the same as of PCA::project output vectors. + reconstructed vectors; the layout and size are the same as + of PCA::project input vectors. + + + + Write PCA objects. + Writes @ref eigenvalues @ref eigenvectors and @ref mean to specified FileStorage + + + + + + Load PCA objects. + Loads @ref eigenvalues @ref eigenvectors and @ref mean from specified FileNode + + + + + + Flags for PCA operations + + + + + The vectors are stored as rows (i.e. all the components of a certain vector are stored continously) + + + + + The vectors are stored as columns (i.e. values of a certain vector component are stored continuously) + + + + + Use pre-computed average vector + + + + + Random Number Generator. + The class implements RNG using Multiply-with-Carry algorithm. + + operations.hpp + + + + + + + + Constructor + + 64-bit value used to initialize the RNG. + + + + (byte)RNG.next() + + + + + + + (byte)RNG.next() + + + + + + (sbyte)RNG.next() + + + + + + + (sbyte)RNG.next() + + + + + + (ushort)RNG.next() + + + + + + + (ushort)RNG.next() + + + + + + (short)RNG.next() + + + + + + + (short)RNG.next() + + + + + + (uint)RNG.next() + + + + + + + (uint)RNG.next() + + + + + + (int)RNG.next() + + + + + + + (int)RNG.next() + + + + + + returns a next random value as float (System.Single) + + + + + + + returns a next random value as float (System.Single) + + + + + + returns a next random value as double (System.Double) + + + + + + + returns a next random value as double (System.Double) + + + + + + updates the state and returns the next 32-bit unsigned integer random number + + + + + + returns a random integer sampled uniformly from [0, N). + + + + + + + + + + + + + returns uniformly distributed integer random number from [a,b) range + + + + + + + + returns uniformly distributed floating-point random number from [a,b) range + + + + + + + + returns uniformly distributed double-precision floating-point random number from [a,b) range + + + + + + + + Fills arrays with random numbers. + + 2D or N-dimensional matrix; currently matrices with more than + 4 channels are not supported by the methods, use Mat::reshape as a possible workaround. + distribution type, RNG::UNIFORM or RNG::NORMAL. + first distribution parameter; in case of the uniform distribution, + this is an inclusive lower boundary, in case of the normal distribution, this is a mean value. + second distribution parameter; in case of the uniform distribution, this is + a non-inclusive upper boundary, in case of the normal distribution, this is a standard deviation + (diagonal of the standard deviation matrix or the full standard deviation matrix). + pre-saturation flag; for uniform distribution only; + if true, the method will first convert a and b to the acceptable value range (according to the + mat datatype) and then will generate uniformly distributed random numbers within the range + [saturate(a), saturate(b)), if saturateRange=false, the method will generate uniformly distributed + random numbers in the original range [a, b) and then will saturate them, it means, for example, that + theRNG().fill(mat_8u, RNG::UNIFORM, -DBL_MAX, DBL_MAX) will likely produce array mostly filled + with 0's and 255's, since the range (0, 255) is significantly smaller than [-DBL_MAX, DBL_MAX). + + + + Returns the next random number sampled from the Gaussian distribution. + + The method transforms the state using the MWC algorithm and returns the next random number + from the Gaussian distribution N(0,sigma) . That is, the mean value of the returned random + numbers is zero and the standard deviation is the specified sigma. + + standard deviation of the distribution. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mersenne Twister random number generator + + operations.hpp + + + + Constructor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + updates the state and returns the next 32-bit unsigned integer random number + + + + + + returns a random integer sampled uniformly from [0, N). + + + + + + + + + + + + + returns uniformly distributed integer random number from [a,b) range + + + + + + + + returns uniformly distributed floating-point random number from [a,b) range + + + + + + + + returns uniformly distributed double-precision floating-point random number from [a,b) range + + + + + + + + Sparse matrix class. + + + + + Creates from native cv::SparseMat* pointer + + + + + + Creates empty SparseMat + + + + + constructs n-dimensional sparse matrix + + Array of integers specifying an n-dimensional array shape. + Array type. Use MatType.CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, + or MatType. CV_8UC(n), ..., CV_64FC(n) to create multi-channel matrices. + + + + converts old-style CvMat to the new matrix; the data is not copied by default + + cv::Mat object + + + + Releases the resources + + + + + Releases unmanaged resources + + + + + Create SparseMat from Mat + + + + + + + Assignment operator. This is O(1) operation, i.e. no data is copied + + + + + + + Assignment operator. equivalent to the corresponding constructor. + + + + + + + creates full copy of the matrix + + + + + + copies all the data to the destination matrix. All the previous content of m is erased. + + + + + + converts sparse matrix to dense matrix. + + + + + + multiplies all the matrix elements by the specified scale factor alpha and converts the results to the specified data type + + + + + + + + converts sparse matrix to dense n-dim matrix with optional type conversion and scaling. + + + The output matrix data type. When it is =-1, the output array will have the same data type as (*this) + The scale factor + The optional delta added to the scaled values before the conversion + + + + not used now + + + + + + + Reallocates sparse matrix. + If the matrix already had the proper size and type, + it is simply cleared with clear(), otherwise, + the old matrix is released (using release()) and the new one is allocated. + + + + + + + sets all the sparse matrix elements to 0, which means clearing the hash table. + + + + + manually increments the reference counter to the header. + + + + + returns the size of each element in bytes (not including the overhead - the space occupied by SparseMat::Node elements) + + + + + + returns elemSize()/channels() + + + + + + Returns the type of sparse matrix element. + + + + + + Returns the depth of sparse matrix element. + + + + + + Returns the matrix dimensionality + + + + + Returns the number of sparse matrix channels. + + + + + + Returns the array of sizes, or null if the matrix is not allocated + + + + + + Returns the size of i-th matrix dimension (or 0) + + + + + + + returns the number of non-zero elements (=the number of hash table nodes) + + + + + + Computes the element hash value (1D case) + + Index along the dimension 0 + + + + + Computes the element hash value (2D case) + + Index along the dimension 0 + Index along the dimension 1 + + + + + Computes the element hash value (3D case) + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + + + + + Computes the element hash value (nD case) + + Array of Mat::dims indices. + + + + + Low-level element-access function. + + Index along the dimension 0 + Create new element with 0 value if it does not exist in SparseMat. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Low-level element-access function. + + Index along the dimension 0 + Index along the dimension 1 + Create new element with 0 value if it does not exist in SparseMat. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Low-level element-access function. + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + Create new element with 0 value if it does not exist in SparseMat. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Low-level element-access function. + + Array of Mat::dims indices. + Create new element with 0 value if it does not exist in SparseMat. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Return pthe specified sparse matrix element if it exists; otherwise, null. + + Index along the dimension 0 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Return pthe specified sparse matrix element if it exists; otherwise, null. + + Index along the dimension 0 + Index along the dimension 1 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Return pthe specified sparse matrix element if it exists; otherwise, null. + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Return pthe specified sparse matrix element if it exists; otherwise, null. + + Array of Mat::dims indices. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Return pthe specified sparse matrix element if it exists; otherwise, default(T). + + Index along the dimension 0 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Return pthe specified sparse matrix element if it exists; otherwise, default(T). + + Index along the dimension 0 + Index along the dimension 1 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Return pthe specified sparse matrix element if it exists; otherwise, default(T). + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Return pthe specified sparse matrix element if it exists; otherwise, default(T). + + Array of Mat::dims indices. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + + Mat Indexer + + + + + + 1-dimensional indexer + + Index along the dimension 0 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + 2-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + 3-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + n-dimensional indexer + + Array of Mat::dims indices. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + Gets a type-specific indexer. + The indexer has getters/setters to access each matrix element. + + + + + + + Gets a type-specific indexer. + The indexer has getters/setters to access each matrix element. + + + + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + Returns a value to the specified array element. + + + Array of Mat::dims indices. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + Set a value to the specified array element. + + + Index along the dimension 0 + + + + + + Set a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + Set a value to the specified array element. + + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + Set a value to the specified array element. + + + Array of Mat::dims indices. + + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + + + + Returns a string that represents this Mat. + + + + + + Abstract definition of Mat indexer + + + + + + 1-dimensional indexer + + Index along the dimension 0 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + 2-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + 3-dimensional indexer + + Index along the dimension 0 + Index along the dimension 1 + Index along the dimension 2 + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + n-dimensional indexer + + Array of Mat::dims indices. + If hashVal is not null, the element hash value is not computed but hashval is taken instead. + A value to the specified array element. + + + + Parent matrix object + + + + + Constructor + + + + + + Struct for matching: query descriptor index, train descriptor index, train image index and distance between descriptors. + + + + + query descriptor index + + + + + train descriptor index + + + + + train image index + + + + + + + + + + + + + + + + Constructor + + + + + + + + Constructor + + + + + + + + + Compares by distance (less is better) + + + + + + + + Compares by distance (less is better) + + + + + + + + Compares by distance (less is better) + + + + + + + + + + Data structure for salient point detectors + + + + + Coordinate of the point + + + + + Feature size + + + + + Feature orientation in degrees (has negative value if the orientation is not defined/not computed) + + + + + Feature strength (can be used to select only the most prominent key points) + + + + + Scale-space octave in which the feature has been found; may correlate with the size + + + + + Point class (can be used by feature classifiers or object detectors) + + + + + Complete constructor + + Coordinate of the point + Feature size + Feature orientation in degrees (has negative value if the orientation is not defined/not computed) + Feature strength (can be used to select only the most prominent key points) + Scale-space octave in which the feature has been found; may correlate with the size + Point class (can be used by feature classifiers or object detectors) + + + + Complete constructor + + X-coordinate of the point + Y-coordinate of the point + Feature size + Feature orientation in degrees (has negative value if the orientation is not defined/not computed) + Feature strength (can be used to select only the most prominent key points) + Scale-space octave in which the feature has been found; may correlate with the size + Point class (can be used by feature classifiers or object detectors) + + + + Compares two CvPoint objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + + + + + + + + + + + + + Matrix data type (depth and number of channels) + + + + + Entity value + + + + + Entity value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + type depth constants + + + + + type depth constants + + + + + type depth constants + + + + + type depth constants + + + + + type depth constants + + + + + type depth constants + + + + + type depth constants + + + + + type depth constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + predefined type constants + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares two Point objects. The result specifies whether the values of the X and Y properties of the two Point objects are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the X and Y values of left and right are equal; otherwise, false. + + + + Compares two Point objects. The result specifies whether the values of the X or Y properties of the two Point objects are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the values of either the X properties or the Y properties of left and right differ; otherwise, false. + + + + Unary plus operator + + + + + + Unary plus operator + + + + + + + Unary minus operator + + + + + + Unary minus operator + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + + + + + + + + + + + + + Returns the distance between the specified two points + + + + + + + + Returns the distance between the specified two points + + + + + + + Calculates the dot product of two 2D vectors. + + + + + + + + Calculates the dot product of two 2D vectors. + + + + + + + Calculates the cross product of two 2D vectors. + + + + + + + + Calculates the cross product of two 2D vectors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares two CvPoint objects. The result specifies whether the values of the X and Y properties of the two CvPoint objects are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the X and Y values of left and right are equal; otherwise, false. + + + + Compares two CvPoint2D32f objects. The result specifies whether the values of the X or Y properties of the two CvPoint2D32f objects are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the values of either the X properties or the Y properties of left and right differ; otherwise, false. + + + + Unary plus operator + + + + + + Unary plus operator + + + + + + + Unary minus operator + + + + + + Unary minus operator + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + + + + + + + + + + + + + Returns the distance between the specified two points + + + + + + + + Returns the distance between the specified two points + + + + + + + Calculates the dot product of two 2D vectors. + + + + + + + + Calculates the dot product of two 2D vectors. + + + + + + + Calculates the cross product of two 2D vectors. + + + + + + + + Calculates the cross product of two 2D vectors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares two CvPoint objects. The result specifies whether the values of the X and Y properties of the two CvPoint objects are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the X and Y values of left and right are equal; otherwise, false. + + + + Compares two CvPoint2D32f objects. The result specifies whether the values of the X or Y properties of the two CvPoint2D32f objects are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the values of either the X properties or the Y properties of left and right differ; otherwise, false. + + + + Unary plus operator + + + + + + Unary plus operator + + + + + + + Unary minus operator + + + + + + Unary minus operator + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + + + + + + + + + + + + + Returns the distance between the specified two points + + + + + + + + Returns the distance between the specified two points + + + + + + + Calculates the dot product of two 2D vectors. + + + + + + + + Calculates the dot product of two 2D vectors. + + + + + + + Calculates the cross product of two 2D vectors. + + + + + + + + Calculates the cross product of two 2D vectors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares two CvPoint objects. The result specifies whether the values of the X and Y properties of the two CvPoint objects are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the X and Y values of left and right are equal; otherwise, false. + + + + Compares two CvPoint2D32f objects. The result specifies whether the values of the X or Y properties of the two CvPoint2D32f objects are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the values of either the X properties or the Y properties of left and right differ; otherwise, false. + + + + Unary plus operator + + + + + + + Unary plus operator + + + + + + Unary minus operator + + + + + + + Unary minus operator + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Constructor + + + + + + + + Compares two CvPoint objects. The result specifies whether the values of the X and Y properties of the two CvPoint objects are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the X and Y values of left and right are equal; otherwise, false. + + + + Compares two CvPoint2D32f objects. The result specifies whether the values of the X or Y properties of the two CvPoint2D32f objects are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the values of either the X properties or the Y properties of left and right differ; otherwise, false. + + + + Unary plus operator + + + + + + Unary plus operator + + + + + + + Unary minus operator + + + + + + Unary minus operator + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares two CvPoint objects. The result specifies whether the values of the X and Y properties of the two CvPoint objects are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the X and Y values of left and right are equal; otherwise, false. + + + + Compares two CvPoint2D32f objects. The result specifies whether the values of the X or Y properties of the two CvPoint2D32f objects are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the values of either the X properties or the Y properties of left and right differ; otherwise, false. + + + + Unary plus operator + + + + + + + Unary plus operator + + + + + + Unary minus operator + + + + + + + Unary minus operator + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + Shifts point by a certain offset + + + + + + + + Shifts point by a certain offset + + + + + + + + + + + + + + + + + + + Template class specifying a continuous subsequence (slice) of a sequence. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + float Range class + + + + + + + + + + + + + + + Constructor + + + + + + + Convert to Range + + + + + + Implicit operator (Range)this + + + + + + + Range(int.MinValue, int.MaxValue) + + + + + Stores a set of four integers that represent the location and size of a rectangle + + + + + + + + + + + + + + + + + + + + + + + + + Represents a Rect structure with its properties left uninitialized. + + + + + Initializes a new instance of the Rectangle class with the specified location and size. + + The x-coordinate of the upper-left corner of the rectangle. + The y-coordinate of the upper-left corner of the rectangle. + The width of the rectangle. + The height of the rectangle. + + + + Initializes a new instance of the Rectangle class with the specified location and size. + + A Point that represents the upper-left corner of the rectangular region. + A Size that represents the width and height of the rectangular region. + + + + Creates a Rectangle structure with the specified edge locations. + + The x-coordinate of the upper-left corner of this Rectangle structure. + The y-coordinate of the upper-left corner of this Rectangle structure. + The x-coordinate of the lower-right corner of this Rectangle structure. + The y-coordinate of the lower-right corner of this Rectangle structure. + + + + Compares two Rect objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two Rect objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + Shifts rectangle by a certain offset + + + + + + + + Shifts rectangle by a certain offset + + + + + + + Shifts rectangle by a certain offset + + + + + + + + Shifts rectangle by a certain offset + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + Determines the Rect structure that represents the intersection of two rectangles. + + A rectangle to intersect. + A rectangle to intersect. + + + + + Gets a Rect structure that contains the union of two Rect structures. + + A rectangle to union. + A rectangle to union. + + + + + Gets the y-coordinate of the top edge of this Rect structure. + + + + + Gets the y-coordinate that is the sum of the Y and Height property values of this Rect structure. + + + + + Gets the x-coordinate of the left edge of this Rect structure. + + + + + Gets the x-coordinate that is the sum of X and Width property values of this Rect structure. + + + + + Coordinate of the left-most rectangle corner [Point(X, Y)] + + + + + Size of the rectangle [CvSize(Width, Height)] + + + + + Coordinate of the left-most rectangle corner [Point(X, Y)] + + + + + Coordinate of the right-most rectangle corner [Point(X+Width, Y+Height)] + + + + + Determines if the specified point is contained within the rectangular region defined by this Rectangle. + + x-coordinate of the point + y-coordinate of the point + + + + + Determines if the specified point is contained within the rectangular region defined by this Rectangle. + + point + + + + + Determines if the specified rectangle is contained within the rectangular region defined by this Rectangle. + + rectangle + + + + + Inflates this Rect by the specified amount. + + The amount to inflate this Rectangle horizontally. + The amount to inflate this Rectangle vertically. + + + + Inflates this Rect by the specified amount. + + The amount to inflate this rectangle. + + + + Creates and returns an inflated copy of the specified Rect structure. + + The Rectangle with which to start. This rectangle is not modified. + The amount to inflate this Rectangle horizontally. + The amount to inflate this Rectangle vertically. + + + + + Determines the Rect structure that represents the intersection of two rectangles. + + A rectangle to intersect. + A rectangle to intersect. + + + + + Determines the Rect structure that represents the intersection of two rectangles. + + A rectangle to intersect. + + + + + Determines if this rectangle intersects with rect. + + Rectangle + + + + + Gets a Rect structure that contains the union of two Rect structures. + + A rectangle to union. + + + + + Gets a Rect structure that contains the union of two Rect structures. + + A rectangle to union. + A rectangle to union. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a Rect2d structure with its properties left uninitialized. + + + + + Constructor + + + + + + + + + Constructor + + + + + + + + + + + + + + + + Compares two Rect2d objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two Rect2d objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + Shifts rectangle by a certain offset + + + + + + + + Shifts rectangle by a certain offset + + + + + + + Shifts rectangle by a certain offset + + + + + + + + Shifts rectangle by a certain offset + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + + Shifts rectangle by a certain offset + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + + Shifts rectangle by a certain offset + + + + + + + Determines the Rect2d structure that represents the intersection of two rectangles. + + A rectangle to intersect. + A rectangle to intersect. + + + + + Gets a Rect2d structure that contains the union of two Rect2d structures. + + A rectangle to union. + A rectangle to union. + + + + + Gets the y-coordinate of the top edge of this Rect2d structure. + + + + + Gets the y-coordinate that is the sum of the Y and Height property values of this Rect2d structure. + + + + + Gets the x-coordinate of the left edge of this Rect2d structure. + + + + + Gets the x-coordinate that is the sum of X and Width property values of this Rect2d structure. + + + + + Coordinate of the left-most rectangle corner [Point2d(X, Y)] + + + + + Size of the rectangle [CvSize(Width, Height)] + + + + + Coordinate of the left-most rectangle corner [Point2d(X, Y)] + + + + + Coordinate of the right-most rectangle corner [Point2d(X+Width, Y+Height)] + + + + + + + + + + + Determines if the specified point is contained within the rectangular region defined by this Rectangle. + + x-coordinate of the point + y-coordinate of the point + + + + + Determines if the specified point is contained within the rectangular region defined by this Rectangle. + + point + + + + + Determines if the specified rectangle is contained within the rectangular region defined by this Rectangle. + + rectangle + + + + + Inflates this Rect by the specified amount. + + The amount to inflate this Rectangle horizontally. + The amount to inflate this Rectangle vertically. + + + + Inflates this Rect by the specified amount. + + The amount to inflate this rectangle. + + + + Creates and returns an inflated copy of the specified Rect2d structure. + + The Rectangle with which to start. This rectangle is not modified. + The amount to inflate this Rectangle horizontally. + The amount to inflate this Rectangle vertically. + + + + + Determines the Rect2d structure that represents the intersection of two rectangles. + + A rectangle to intersect. + A rectangle to intersect. + + + + + Determines the Rect2d structure that represents the intersection of two rectangles. + + A rectangle to intersect. + + + + + Determines if this rectangle intersects with rect. + + Rectangle + + + + + Gets a Rect2d structure that contains the union of two Rect2d structures. + + A rectangle to union. + + + + + Gets a Rect2d structure that contains the union of two Rect2d structures. + + A rectangle to union. + A rectangle to union. + + + + + + + + + + + + + + + + + A rectangle with float type coordinates in 2D space + + + + + Represents a Rect2f structure with its properties left uninitialized. + + + + + Constructor + + + + + + + + + Constructor + + + + + + + + + + + + + + + + Compares two Rect2f objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two Rect2f objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + Shifts rectangle by a certain offset + + + + + + + Shifts rectangle by a certain offset + + + + + + + + Shifts rectangle by a certain offset + + + + + + + Shifts rectangle by a certain offset + + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + Expands or shrinks rectangle by a certain amount + + + + + + + + Determines the Rect2f structure that represents the intersection of two rectangles. + + A rectangle to intersect. + A rectangle to intersect. + + + + + Gets a Rect2f structure that contains the union of two Rect2f structures. + + A rectangle to union. + A rectangle to union. + + + + + Gets the y-coordinate of the top edge of this Rect2f structure. + + + + + Gets the y-coordinate that is the sum of the Y and Height property values of this Rect2f structure. + + + + + Gets the x-coordinate of the left edge of this Rect2f structure. + + + + + Gets the x-coordinate that is the sum of X and Width property values of this Rect2f structure. + + + + + Coordinate of the left-most rectangle corner [Point2f(X, Y)] + + + + + Size of the rectangle [CvSize(Width, Height)] + + + + + Coordinate of the left-most rectangle corner [Point2f(X, Y)] + + + + + Coordinate of the right-most rectangle corner [Point2f(X+Width, Y+Height)] + + + + + Determines if the specified point is contained within the rectangular region defined by this Rectangle. + + x-coordinate of the point + y-coordinate of the point + + + + + Determines if the specified point is contained within the rectangular region defined by this Rectangle. + + point + + + + + Determines if the specified rectangle is contained within the rectangular region defined by this Rectangle. + + rectangle + + + + + Inflates this Rect by the specified amount. + + The amount to inflate this Rectangle horizontally. + The amount to inflate this Rectangle vertically. + + + + Inflates this Rect by the specified amount. + + The amount to inflate this rectangle. + + + + Creates and returns an inflated copy of the specified Rect2f structure. + + The Rectangle with which to start. This rectangle is not modified. + The amount to inflate this Rectangle horizontally. + The amount to inflate this Rectangle vertically. + + + + + Determines the Rect2f structure that represents the intersection of two rectangles. + + A rectangle to intersect. + A rectangle to intersect. + + + + + Determines the Rect2f structure that represents the intersection of two rectangles. + + A rectangle to intersect. + + + + + Determines if this rectangle intersects with rect. + + Rectangle + + + + + Gets a Rect2f structure that contains the union of two Rect2f structures. + + A rectangle to union. + + + + + Gets a Rect2f structure that contains the union of two Rect2f structures. + + A rectangle to union. + A rectangle to union. + + + + + + + + + + + + + + + + + The class represents rotated (i.e. not up-right) rectangles on a plane. + + + + + the rectangle mass center + + + + + width and height of the rectangle + + + + + the rotation angle. When the angle is 0, 90, 180, 270 etc., the rectangle becomes an up-right rectangle. + + + + + Constructor + + + + + + + + Any 3 end points of the RotatedRect. They must be given in order (either clockwise or anticlockwise). + + + + + Any 3 end points of the RotatedRect. They must be given in order (either clockwise or anticlockwise). + + + + + returns 4 vertices of the rectangle + + + + + + returns the minimal up-right rectangle containing the rotated rectangle + + + + + + Template class for a 4-element vector derived from Vec. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets random color + + + + + Gets random color + + .NET random number generator. This method uses Random.NextBytes() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #F0F8FF + + + + + #FAEBD7 + + + + + #00FFFF + + + + + #7FFFD4 + + + + + #F0FFFF + + + + + #F5F5DC + + + + + #FFE4C4 + + + + + #000000 + + + + + #FFEBCD + + + + + #0000FF + + + + + #8A2BE2 + + + + + #A52A2A + + + + + #DEB887 + + + + + #5F9EA0 + + + + + #7FFF00 + + + + + #D2691E + + + + + #FF7F50 + + + + + #6495ED + + + + + #FFF8DC + + + + + #DC143C + + + + + #00FFFF + + + + + #00008B + + + + + #008B8B + + + + + #B8860B + + + + + #A9A9A9 + + + + + #006400 + + + + + #BDB76B + + + + + #8B008B + + + + + #556B2F + + + + + #FF8C00 + + + + + #9932CC + + + + + #8B0000 + + + + + #E9967A + + + + + #8FBC8F + + + + + #483D8B + + + + + #2F4F4F + + + + + #00CED1 + + + + + #9400D3 + + + + + #FF1493 + + + + + #00BFFF + + + + + #696969 + + + + + #1E90FF + + + + + #B22222 + + + + + #FFFAF0 + + + + + #228B22 + + + + + #FF00FF + + + + + #DCDCDC + + + + + #F8F8FF + + + + + #FFD700 + + + + + #DAA520 + + + + + #808080 + + + + + #008000 + + + + + #ADFF2F + + + + + #F0FFF0 + + + + + #FF69B4 + + + + + #CD5C5C + + + + + #4B0082 + + + + + #FFFFF0 + + + + + #F0E68C + + + + + #E6E6FA + + + + + #FFF0F5 + + + + + #7CFC00 + + + + + #FFFACD + + + + + #ADD8E6 + + + + + #F08080 + + + + + #E0FFFF + + + + + #FAFAD2 + + + + + #D3D3D3 + + + + + #90EE90 + + + + + #FFB6C1 + + + + + #FFA07A + + + + + #20B2AA + + + + + #87CEFA + + + + + #778899 + + + + + #B0C4DE + + + + + #FFFFE0 + + + + + #00FF00 + + + + + #32CD32 + + + + + #FAF0E6 + + + + + #FF00FF + + + + + #800000 + + + + + #66CDAA + + + + + #0000CD + + + + + #BA55D3 + + + + + #9370DB + + + + + #3CB371 + + + + + #7B68EE + + + + + #00FA9A + + + + + #48D1CC + + + + + #C71585 + + + + + #191970 + + + + + #F5FFFA + + + + + #FFE4E1 + + + + + #FFE4B5 + + + + + #FFDEAD + + + + + #000080 + + + + + #FDF5E6 + + + + + #808000 + + + + + #6B8E23 + + + + + #FFA500 + + + + + #FF4500 + + + + + #DA70D6 + + + + + #EEE8AA + + + + + #98FB98 + + + + + #AFEEEE + + + + + #DB7093 + + + + + #FFEFD5 + + + + + #FFDAB9 + + + + + #CD853F + + + + + #FFC0CB + + + + + #DDA0DD + + + + + #B0E0E6 + + + + + #800080 + + + + + #FF0000 + + + + + #BC8F8F + + + + + #4169E1 + + + + + #8B4513 + + + + + #FA8072 + + + + + #F4A460 + + + + + #2E8B57 + + + + + #FFF5EE + + + + + #A0522D + + + + + #C0C0C0 + + + + + #87CEEB + + + + + #6A5ACD + + + + + #708090 + + + + + #FFFAFA + + + + + #00FF7F + + + + + #4682B4 + + + + + #D2B48C + + + + + #008080 + + + + + #D8BFD8 + + + + + #FF6347 + + + + + #40E0D0 + + + + + #EE82EE + + + + + #F5DEB3 + + + + + #FFFFFF + + + + + #F5F5F5 + + + + + #FFFF00 + + + + + #9ACD32 + + + + + + + + + + + + + + + + + + + + Constructor + + + + + + + Constructor + + + + + + + Zero size + + + + + Compares two CvPoint objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Constructor + + + + + + + Constructor + + + + + + + Compares two CvPoint objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Constructor + + + + + + + Constructor + + + + + + + Compares two CvPoint objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + + + + + + + + + + + + + + + + + + + + + + + The class defining termination criteria for iterative algorithms. + + + + + the type of termination criteria: COUNT, EPS or COUNT + EPS + + + + + the maximum number of iterations/elements + + + + + the desired accuracy + + + + + full constructor + + + + + + + + full constructor with both type (count | epsilon) + + + + + + + Vec empty interface + + + + + Vec** interface + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this * alpha + + + + + + + indexer + + + + + + + 2-Tuple of byte (System.Byte) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + Deconstructing a Vector + + + + + + + Initializer + + + + + + + returns a Vec with all elements set to v0 + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2-Tuple of double (System.Double) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + Deconstructing a Vector + + + + + + + Initializer + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2-Tuple of float (System.Single) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + Deconstructing a Vector + + + + + + + Initializer + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2-Tuple of int (System.Int32) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + Deconstructing a Vector + + + + + + + Initializer + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2-Tuple of short (System.Int16) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + Deconstructing a Vector + + + + + + + Initializer + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2-Tuple of ushort (System.UInt16) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + Deconstructing a Vector + + + + + + + Initializer + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Tuple of byte (System.Byte) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + Deconstructing a Vector + + + + + + + + Initializer + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Tuple of double (System.Double) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + Deconstructing a Vector + + + + + + + + Initializer + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Tuple of float (System.Single) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + Deconstructing a Vector + + + + + + + + Initializer + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Tuple of int (System.Int32) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + Deconstructing a Vector + + + + + + + + Initializer + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Tuple of short (System.Int16) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + Deconstructing a Vector + + + + + + + + Initializer + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Tuple of ushort (System.UInt16) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + Deconstructing a Vector + + + + + + + + Initializer + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-Tuple of byte (System.Byte) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + Initializer + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-Tuple of double (System.Double) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + Initializer + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-Tuple of float (System.Single) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + Initializer + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-Tuple of int (System.Int32) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + Initializer + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-Tuple of short (System.Int16) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + Initializer + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-Tuple of ushort (System.UInt16) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + Initializer + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6-Tuple of byte (System.Byte) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + The value of the fifth component of this object. + + + + + The value of the sixth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + + + Initializer + + + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6-Tuple of double (System.Double) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + The value of the fifth component of this object. + + + + + The value of the sixth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + + + Initializer + + + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6-Tuple of float (System.Single) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + The value of the fifth component of this object. + + + + + The value of the sixth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + + + Initializer + + + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6-Tuple of int (System.Int32) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + The value of the fourth component of this object. + + + + + The value of the sixth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + + + Initializer + + + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6-Tuple of short (System.Int16) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + The value of the fifth component of this object. + + + + + The value of the sixth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + + + Initializer + + + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-Tuple of ushort (System.UInt16) + + + + + The value of the first component of this object. + + + + + The value of the second component of this object. + + + + + The value of the third component of this object. + + + + + The value of the fourth component of this object. + + + + + The value of the fifth component of this object. + + + + + The value of the sixth component of this object. + + + + + Deconstructing a Vector + + + + + + + + + + + Initializer + + + + + + + + + + + this + other + + + + + + + this - other + + + + + + + this * alpha + + + + + + + this / alpha + + + + + + + Indexer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Singular Value Decomposition class + + + + + the default constructor + + + + + the constructor that performs SVD + + + + + + + Releases unmanaged resources + + + + + eigenvalues of the covariation matrix + + + + + eigenvalues of the covariation matrix + + + + + mean value subtracted before the projection and added after the back projection + + + + + the operator that performs SVD. The previously allocated SVD::u, SVD::w are SVD::vt are released. + + + + + + + + performs back substitution, so that dst is the solution or pseudo-solution of m*dst = rhs, where m is the decomposed matrix + + + + + + + + decomposes matrix and stores the results to user-provided matrices + + + + + + + + + + computes singular values of a matrix + + + + + + + + performs back substitution + + + + + + + + + + finds dst = arg min_{|dst|=1} |m*dst| + + + + + + + Operation flags for SVD + + + + + + + + + + enables modification of matrix src1 during the operation. It speeds up the processing. + + + + + indicates that only a vector of singular values `w` is to be processed, + while u and vt will be set to empty matrices + + + + + when the matrix is not square, by default the algorithm produces u and + vt matrices of sufficiently large size for the further A reconstruction; + if, however, FULL_UV flag is specified, u and vt will be full-size square + orthogonal matrices. + + + + + Enum of computation backends supported by layers. + + + DNN_BACKEND_DEFAULT equals to DNN_BACKEND_INFERENCE_ENGINE if + OpenCV is built with Intel's Inference Engine library or + DNN_BACKEND_OPENCV otherwise. + + + + + cv::dnn functions + + + + + Reads a network model stored in Darknet (https://pjreddie.com/darknet/) model files. + + path to the .cfg file with text description of the network architecture. + path to the .weights file with learned network. + Network object that ready to do forward, throw an exception in failure cases. + This is shortcut consisting from DarknetImporter and Net::populateNet calls. + + + + Reads a network model stored in Darknet (https://pjreddie.com/darknet/) model files from memory. + + A buffer contains a content of .cfg file with text description of the network architecture. + A buffer contains a content of .weights file with learned network. + + This is shortcut consisting from DarknetImporter and Net::populateNet calls. + + + + Reads a network model stored in Darknet (https://pjreddie.com/darknet/) model files from stream. + + A buffer contains a content of .cfg file with text description of the network architecture. + A buffer contains a content of .weights file with learned network. + + This is shortcut consisting from DarknetImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model files. + + path to the .prototxt file with text description of the network architecture. + path to the .caffemodel file with learned network. + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model files from memory. + + buffer containing the content of the .prototxt file + buffer containing the content of the .caffemodel file + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model files from memory. + + buffer containing the content of the .prototxt file + buffer containing the content of the .caffemodel file + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model files from Stream. + + buffer containing the content of the .prototxt file + buffer containing the content of the .caffemodel file + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Tensorflow model file. + + path to the .pb file with binary protobuf description of the network architecture + path to the .pbtxt file that contains text graph definition in protobuf format. + Resulting Net object is built by text graph using weights from a binary one that + let us make it more flexible. + This is shortcut consisting from createTensorflowImporter and Net::populateNet calls. + + + + Reads a network model stored in Tensorflow model file from memory. + + buffer containing the content of the pb file + buffer containing the content of the pbtxt file (optional) + + This is shortcut consisting from createTensorflowImporter and Net::populateNet calls. + + + + Reads a network model stored in Tensorflow model file from stream. + + buffer containing the content of the pb file + buffer containing the content of the pbtxt file (optional) + + This is shortcut consisting from createTensorflowImporter and Net::populateNet calls. + + + + Reads a network model stored in Torch model file. + + + + + This is shortcut consisting from createTorchImporter and Net::populateNet calls. + + + + Read deep learning network represented in one of the supported formats. + + This function automatically detects an origin framework of trained model + and calls an appropriate function such @ref readNetFromCaffe, @ref readNetFromTensorflow, + + Binary file contains trained weights. The following file + * extensions are expected for models from different frameworks: + * * `*.caffemodel` (Caffe, http://caffe.berkeleyvision.org/) + * * `*.pb` (TensorFlow, https://www.tensorflow.org/) + * * `*.t7` | `*.net` (Torch, http://torch.ch/) + * * `*.weights` (Darknet, https://pjreddie.com/darknet/) + * * `*.bin` (DLDT, https://software.intel.com/openvino-toolkit) + Text file contains network configuration. It could be a + * file with the following extensions: + * * `*.prototxt` (Caffe, http://caffe.berkeleyvision.org/) + * * `*.pbtxt` (TensorFlow, https://www.tensorflow.org/) + * * `*.cfg` (Darknet, https://pjreddie.com/darknet/) + * * `*.xml` (DLDT, https://software.intel.com/openvino-toolkit) + Explicit framework name tag to determine a format. + + + + + Loads blob which was serialized as torch.Tensor object of Torch7 framework. + + + + + + This function has the same limitations as createTorchImporter(). + + + + + Reads a network model ONNX https://onnx.ai/ from memory + + + + + + + Reads a network model ONNX https://onnx.ai/ from memory + + memory of the first byte of the buffer. + + + + + Reads a network model ONNX https://onnx.ai/ from memory + + memory of the first byte of the buffer. + + + + + Reads a network model ONNX https://onnx.ai/ from stream. + + memory of the first byte of the buffer. + + + + + Creates blob from .pb file. + + path to the .pb file with input tensor. + + + + + Creates 4-dimensional blob from image. Optionally resizes and crops @p image from center, + subtract @p mean values, scales values by @p scalefactor, swap Blue and Red channels. + + input image (with 1- or 3-channels). + multiplier for @p image values. + spatial size for output image + scalar with mean values which are subtracted from channels. Values are intended + to be in (mean-R, mean-G, mean-B) order if @p image has BGR ordering and @p swapRB is true. + flag which indicates that swap first and last channels in 3-channel image is necessary. + flag which indicates whether image will be cropped after resize or not + 4-dimansional Mat with NCHW dimensions order. + if @p crop is true, input image is resized so one side after resize is equal to corresponing + dimension in @p size and another one is equal or larger.Then, crop from the center is performed. + If @p crop is false, direct resize without cropping and preserving aspect ratio is performed. + + + + Creates 4-dimensional blob from series of images. Optionally resizes and + crops @p images from center, subtract @p mean values, scales values by @p scalefactor, swap Blue and Red channels. + + input images (all with 1- or 3-channels). + multiplier for @p image values. + spatial size for output image + scalar with mean values which are subtracted from channels. Values are intended + to be in (mean-R, mean-G, mean-B) order if @p image has BGR ordering and @p swapRB is true. + flag which indicates that swap first and last channels in 3-channel image is necessary. + flag which indicates whether image will be cropped after resize or not + 4-dimansional Mat with NCHW dimensions order. + if @p crop is true, input image is resized so one side after resize is equal to corresponing + dimension in @p size and another one is equal or larger.Then, crop from the center is performed. + If @p crop is false, direct resize without cropping and preserving aspect ratio is performed. + + + + Convert all weights of Caffe network to half precision floating point. + + Path to origin model from Caffe framework contains single + precision floating point weights(usually has `.caffemodel` extension). + Path to destination model with updated weights. + Set of layers types which parameters will be converted. + By default, converts only Convolutional and Fully-Connected layers' weights. + + Shrinked model has no origin float32 weights so it can't be used + in origin Caffe framework anymore.However the structure of data + is taken from NVidia's Caffe fork: https://github.com/NVIDIA/caffe. + So the resulting model may be used there. + + + + + Create a text representation for a binary network stored in protocol buffer format. + + A path to binary network. + A path to output text file to be created. + + + + Performs non maximum suppression given boxes and corresponding scores. + + a set of bounding boxes to apply NMS. + a set of corresponding confidences. + a threshold used to filter boxes by score. + a threshold used in non maximum suppression. + the kept indices of bboxes after NMS. + a coefficient in adaptive threshold formula + if `>0`, keep at most @p top_k picked indices. + + + + Performs non maximum suppression given boxes and corresponding scores. + + a set of bounding boxes to apply NMS. + a set of corresponding confidences. + a threshold used to filter boxes by score. + a threshold used in non maximum suppression. + the kept indices of bboxes after NMS. + a coefficient in adaptive threshold formula + if `>0`, keep at most @p top_k picked indices. + + + + Performs non maximum suppression given boxes and corresponding scores. + + a set of bounding boxes to apply NMS. + a set of corresponding confidences. + a threshold used to filter boxes by score. + a threshold used in non maximum suppression. + the kept indices of bboxes after NMS. + a coefficient in adaptive threshold formula + if `>0`, keep at most @p top_k picked indices. + + + + Release a Myriad device is binded by OpenCV. + + Single Myriad device cannot be shared across multiple processes which uses Inference Engine's Myriad plugin. + + + + + + This class allows to create and manipulate comprehensive artificial neural networks. + + + Neural network is presented as directed acyclic graph(DAG), where vertices are Layer instances, + and edges specify relationships between layers inputs and outputs. + + Each network layer has unique integer id and unique string name inside its network. + LayerId can store either layer name or layer id. + This class supports reference counting of its instances, i.e.copies point to the same instance. + + + + + + Default constructor. + + + + + + + + + + + + + + + Create a network from Intel's Model Optimizer intermediate representation (IR). + Networks imported from Intel's Model Optimizer are launched in Intel's Inference Engine backend. + + XML configuration file with network's topology. + Binary file with trained weights. + + + + + Reads a network model stored in Darknet (https://pjreddie.com/darknet/) model files. + + path to the .cfg file with text description of the network architecture. + path to the .weights file with learned network. + Network object that ready to do forward, throw an exception in failure cases. + This is shortcut consisting from DarknetImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model files from memory. + + A buffer contains a content of .cfg file with text description of the network architecture. + A buffer contains a content of .weights file with learned network. + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model files from memory. + + A buffer contains a content of .cfg file with text description of the network architecture. + A buffer contains a content of .weights file with learned network. + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model files. + + path to the .prototxt file with text description of the network architecture. + path to the .caffemodel file with learned network. + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model in memory. + + buffer containing the content of the .prototxt file + buffer containing the content of the .caffemodel file + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Caffe model files from memory. + + buffer containing the content of the .prototxt file + buffer containing the content of the .caffemodel file + + This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + + + + Reads a network model stored in Tensorflow model file. + + path to the .pb file with binary protobuf description of the network architecture + path to the .pbtxt file that contains text graph definition in protobuf format. + Resulting Net object is built by text graph using weights from a binary one that + let us make it more flexible. + This is shortcut consisting from createTensorflowImporter and Net::populateNet calls. + + + + Reads a network model stored in Tensorflow model from memory. + + buffer containing the content of the pb file + buffer containing the content of the pbtxt file (optional) + + This is shortcut consisting from createTensorflowImporter and Net::populateNet calls. + + + + Reads a network model stored in Tensorflow model from memory. + + buffer containing the content of the pb file + buffer containing the content of the pbtxt file (optional) + + This is shortcut consisting from createTensorflowImporter and Net::populateNet calls. + + + + Reads a network model stored in Torch model file. + + + + + This is shortcut consisting from createTorchImporter and Net::populateNet calls. + + + + Read deep learning network represented in one of the supported formats. + + This function automatically detects an origin framework of trained model + and calls an appropriate function such @ref readNetFromCaffe, @ref readNetFromTensorflow, + + Binary file contains trained weights. The following file + * extensions are expected for models from different frameworks: + * * `*.caffemodel` (Caffe, http://caffe.berkeleyvision.org/) + * * `*.pb` (TensorFlow, https://www.tensorflow.org/) + * * `*.t7` | `*.net` (Torch, http://torch.ch/) + * * `*.weights` (Darknet, https://pjreddie.com/darknet/) + * * `*.bin` (DLDT, https://software.intel.com/openvino-toolkit) + Text file contains network configuration. It could be a + * file with the following extensions: + * * `*.prototxt` (Caffe, http://caffe.berkeleyvision.org/) + * * `*.pbtxt` (TensorFlow, https://www.tensorflow.org/) + * * `*.cfg` (Darknet, https://pjreddie.com/darknet/) + * * `*.xml` (DLDT, https://software.intel.com/openvino-toolkit) + Explicit framework name tag to determine a format. + + + + + Load a network from Intel's Model Optimizer intermediate representation. + Networks imported from Intel's Model Optimizer are launched in Intel's Inference Engine backend. + + XML configuration file with network's topology. + Binary file with trained weights. + + + + + Reads a network model ONNX https://onnx.ai/ + + path to the .onnx file with text description of the network architecture. + Network object that ready to do forward, throw an exception in failure cases. + + + + Reads a network model ONNX https://onnx.ai/ from memory + + memory of the first byte of the buffer. + Network object that ready to do forward, throw an exception in failure cases. + + + + Reads a network model ONNX https://onnx.ai/ from memory + + memory of the first byte of the buffer. + Network object that ready to do forward, throw an exception in failure cases. + + + + Returns true if there are no layers in the network. + + + + + + Dump net to String. + Call method after setInput(). To see correct backend, target and fusion run after forward(). + + String with structure, hyperparameters, backend, target and fusion + + + + Dump net structure, hyperparameters, backend, target and fusion to dot file + + path to output file with .dot extension + + + + Converts string name of the layer to the integer identifier. + + + id of the layer, or -1 if the layer wasn't found. + + + + + + + + + + Connects output of the first layer to input of the second layer. + + descriptor of the first layer output. + descriptor of the second layer input. + + + + Connects #@p outNum output of the first layer to #@p inNum input of the second layer. + + identifier of the first layer + identifier of the second layer + number of the first layer output + number of the second layer input + + + + Sets outputs names of the network input pseudo layer. + + + + * Each net always has special own the network input pseudo layer with id=0. + * This layer stores the user blobs only and don't make any computations. + * In fact, this layer provides the only way to pass user data into the network. + * As any other layer, this layer can label its outputs and this function provides an easy way to do this. + + + + + Runs forward pass to compute output of layer with name @p outputName. + By default runs forward pass for the whole network. + + name for layer which output is needed to get + blob for first output of specified layer. + + + + Runs forward pass to compute output of layer with name @p outputName. + + contains all output blobs for specified layer. + name for layer which output is needed to get. + If outputName is empty, runs forward pass for the whole network. + + + + Runs forward pass to compute outputs of layers listed in @p outBlobNames. + + contains blobs for first outputs of specified layers. + names for layers which outputs are needed to get + + + + Compile Halide layers. + Schedule layers that support Halide backend. Then compile them for + specific target.For layers that not represented in scheduling file + or if no manual scheduling used at all, automatic scheduling will be applied. + + Path to YAML file with scheduling directives. + + + + Ask network to use specific computation backend where it supported. + + backend identifier. + + + + Ask network to make computations on specific target device. + + target identifier. + + + + Sets the new value for the layer output blob + + new blob. + descriptor of the updating layer output blob. + + connect(String, String) to know format of the descriptor. + If updating blob is not empty then @p blob must have the same shape, + because network reshaping is not implemented yet. + + + + + Returns indexes of layers with unconnected outputs. + + + + + + Returns names of layers with unconnected outputs. + + + + + + Enables or disables layer fusion in the network. + + true to enable the fusion, false to disable. The fusion is enabled by default. + + + + Returns overall time for inference and timings (in ticks) for layers. + Indexes in returned vector correspond to layers ids.Some layers can be fused with others, + in this case zero ticks count will be return for that skipped layers. + + vector for tick timings for all layers. + overall ticks for model inference. + + + + Enum of target devices for computations. + + + + + FPGA device with CPU fallbacks using Inference Engine's Heterogeneous plugin. + + + + + A class to upscale images via convolutional neural networks. + The following four models are implemented: + - edsr + - espcn + - fsrcnn + - lapsrn + + + + + + Empty constructor + + + + + + Constructor which immediately sets the desired model + + String containing one of the desired models: + - edsr + - espcn + - fsrcnn + - lapsrn + Integer specifying the upscale factor + + + + + + + + + + + + + + Read the model from the given path + + Path to the model file. + + + + + Read the model from the given path + + Path to the model weights file. + Path to the model definition file. + + + + + Set desired model + + String containing one of the desired models: + - edsr + - espcn + - fsrcnn + - lapsrn + Integer specifying the upscale factor + + + + + Ask network to use specific computation backend where it supported. + + backend identifier. + + + + Ask network to make computations on specific target device. + + target identifier. + + + + Upsample via neural network + + Image to upscale + Destination upscaled image + + + + Upsample via neural network of multiple outputs + + Image to upscale + Destination upscaled images + Scaling factors of the output nodes + Names of the output nodes in the neural network + + + + Returns the scale factor of the model + + Current scale factor. + + + + Returns the scale factor of the model + + Current algorithm. + + + + Abstract base class for all facemark models. + + All facemark models in OpenCV are derived from the abstract base class Facemark, which + provides a unified access to all facemark algorithms in OpenCV. + To utilize this API in your program, please take a look at the @ref tutorial_table_of_content_facemark + + + + + A function to load the trained model before the fitting process. + + A string represent the filename of a trained model. + + + + Trains a Facemark algorithm using the given dataset. + + Input image. + Output of the function which represent region of interest of the detected faces. Each face is stored in cv::Rect container. + The detected landmark points for each faces. + + + + + + + + + + + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + Constructor + + + + + Releases managed resources + + + + + filename of the model + + + + + + + + + + + + + + + + + + + + show the training print-out + + + + + flag to save the trained model or not + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + Constructor + + + + + Releases managed resources + + + + + offset for the loaded face landmark points + + + + + filename of the face detector model + + + + + show the training print-out + + + + + number of landmark points + + + + + multiplier for augment the training data + + + + + number of refinement stages + + + + + number of tree in the model for each landmark point refinement + + + + + the depth of decision tree, defines the size of feature + + + + + overlap ratio for training the LBF feature + + + + + filename where the trained model will be saved + + + + + flag to save the trained model or not + + + + + seed for shuffling the training data + + + + + + + + + + + + + + + index of facemark points on pupils of left and right eye + + + + + index of facemark points on pupils of left and right eye + + + + + + + + + + + + + + + + + + + + + + base for two FaceRecognizer classes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Training and prediction must be done on grayscale images, use cvtColor to convert between the + color spaces. + - **THE EIGENFACES METHOD MAKES THE ASSUMPTION, THAT THE TRAINING AND TEST IMAGES ARE OF EQUAL SIZE. + ** (caps-lock, because I got so many mails asking for this). You have to make sure your + input data has the correct shape, else a meaningful exception is thrown.Use resize to resize the images. + - This model does not support updating. + + + + + + + + + + + + + + + Releases managed resources + + + + + Training and prediction must be done on grayscale images, use cvtColor to convert between the + color spaces. + - **THE EIGENFACES METHOD MAKES THE ASSUMPTION, THAT THE TRAINING AND TEST IMAGES ARE OF EQUAL SIZE. + ** (caps-lock, because I got so many mails asking for this). You have to make sure your + input data has the correct shape, else a meaningful exception is thrown.Use resize to resize the images. + - This model does not support updating. + + The number of components (read: Eigenfaces) kept for this Principal Component Analysis. + As a hint: There's no rule how many components (read: Eigenfaces) should be kept for good reconstruction capabilities. + It is based on your input data, so experiment with the number. Keeping 80 components should almost always be sufficient. + The threshold applied in the prediction. + + + + + Abstract base class for all face recognition models. + All face recognition models in OpenCV are derived from the abstract base class FaceRecognizer, which + provides a unified access to all face recongition algorithms in OpenCV. + + + + + Trains a FaceRecognizer with given data and associated labels. + + + + + + + Updates a FaceRecognizer with given data and associated labels. + + + + + + + Gets a prediction from a FaceRecognizer. + + + + + + + Predicts the label and confidence for a given sample. + + + + + + + + Serializes this object to a given filename. + + + + + + Deserializes this object from a given filename. + + + + + + + Serializes this object to a given cv::FileStorage. + + + + + + + Deserializes this object from a given cv::FileNode. + + + + + + Sets string info for the specified model's label. + The string info is replaced by the provided value if it was set before for the specified label. + + + + + + + Gets string information by label. + If an unknown label id is provided or there is no label information associated with the specified + label id the method returns an empty string. + + + + + + + Gets vector of labels by string. + The function searches for the labels containing the specified sub-string in the associated string info. + + + + + + + threshold parameter accessor - required for default BestMinDist collector + + + + + + Sets threshold of model + + + + + + + Training and prediction must be done on grayscale images, use cvtColor to convert between the color spaces. + - **THE FISHERFACES METHOD MAKES THE ASSUMPTION, THAT THE TRAINING AND TEST IMAGES ARE OF EQUAL SIZE. + ** (caps-lock, because I got so many mails asking for this). You have to make sure your input data + has the correct shape, else a meaningful exception is thrown.Use resize to resize the images. + - This model does not support updating. + + + + + + + + + + + + + + + Releases managed resources + + + + + Training and prediction must be done on grayscale images, use cvtColor to convert between the color spaces. + - **THE FISHERFACES METHOD MAKES THE ASSUMPTION, THAT THE TRAINING AND TEST IMAGES ARE OF EQUAL SIZE. + ** (caps-lock, because I got so many mails asking for this). You have to make sure your input data + has the correct shape, else a meaningful exception is thrown.Use resize to resize the images. + - This model does not support updating. + + The number of components (read: Fisherfaces) kept for this Linear Discriminant Analysis + with the Fisherfaces criterion. It's useful to keep all components, that means the number of your classes c + (read: subjects, persons you want to recognize). If you leave this at the default (0) or set it + to a value less-equal 0 or greater (c-1), it will be set to the correct number (c-1) automatically. + The threshold applied in the prediction. If the distance to the nearest neighbor + is larger than the threshold, this method returns -1. + + + + + + The Circular Local Binary Patterns (used in training and prediction) expect the data given as + grayscale images, use cvtColor to convert between the color spaces. + This model supports updating. + + + + + + + + + + + + + + + Releases managed resources + + + + + The Circular Local Binary Patterns (used in training and prediction) expect the data given as + grayscale images, use cvtColor to convert between the color spaces. + This model supports updating. + + The radius used for building the Circular Local Binary Pattern. The greater the radius, the + The number of sample points to build a Circular Local Binary Pattern from. + An appropriate value is to use `8` sample points.Keep in mind: the more sample points you include, the higher the computational cost. + The number of cells in the horizontal direction, 8 is a common value used in publications. + The more cells, the finer the grid, the higher the dimensionality of the resulting feature vector. + The number of cells in the vertical direction, 8 is a common value used in publications. + The more cells, the finer the grid, the higher the dimensionality of the resulting feature vector. + The threshold applied in the prediction. If the distance to the nearest neighbor + is larger than the threshold, this method returns -1. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Detects corners using the AGAST algorithm + + + + + Constructor + + + + + The AgastFeatureDetector constructor + + threshold on difference between intensity of the central pixel + and pixels of a circle around this pixel. + if true, non-maximum suppression is applied to detected corners (keypoints). + + + + + Releases managed resources + + + + + threshold on difference between intensity of the central pixel and pixels of a circle around this pixel. + + + + + if true, non-maximum suppression is applied to detected corners (keypoints). + + + + + type one of the four neighborhoods as defined in the paper + + + + + AGAST type one of the four neighborhoods as defined in the paper + + + + + Class implementing the AKAZE keypoint detector and descriptor extractor, + described in @cite ANB13 + + + AKAZE descriptors can only be used with KAZE or AKAZE keypoints. + Try to avoid using *extract* and *detect* instead of *operator()* due to performance reasons. + .. [ANB13] Fast Explicit Diffusion for Accelerated Features in Nonlinear Scale + Spaces. Pablo F. Alcantarilla, Jesús Nuevo and Adrien Bartoli. + In British Machine Vision Conference (BMVC), Bristol, UK, September 2013. + + + + + Constructor + + + + + The AKAZE constructor + + Type of the extracted descriptor: DESCRIPTOR_KAZE, + DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT. + Size of the descriptor in bits. 0 -> Full size + Number of channels in the descriptor (1, 2, 3) + Detector response threshold to accept point + Maximum octave evolution of the image + Default number of sublevels per scale level + Diffusivity type. DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT or DIFF_CHARBONNIER + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Brute-force descriptor matcher. + For each descriptor in the first set, this matcher finds the closest descriptor in the second set by trying each one. + + + + + + + + + + + + Creates instance by cv::Ptr<T> + + + + + Creates instance by raw pointer T* + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + Releases managed resources + + + + + Releases managed resources + + + + + Return true if the matcher supports mask in match methods. + + + + + + Brute-force descriptor matcher. + For each descriptor in the first set, this matcher finds the closest descriptor in the second set by trying each one. + + + + + The constructor. + + Descriptor extractor that is used to compute descriptors for an input image and its keypoints. + Descriptor matcher that is used to find the nearest word of the trained vocabulary for each keypoint descriptor of the image. + + + + The constructor. + + Descriptor matcher that is used to find the nearest word of the trained vocabulary for each keypoint descriptor of the image. + + + + Releases unmanaged resources + + + + + Sets a visual vocabulary. + + Vocabulary (can be trained using the inheritor of BOWTrainer ). + Each row of the vocabulary is a visual word(cluster center). + + + + Returns the set vocabulary. + + + + + + Computes an image descriptor using the set visual vocabulary. + + Image, for which the descriptor is computed. + Keypoints detected in the input image. + Computed output image descriptor. + pointIdxsOfClusters Indices of keypoints that belong to the cluster. + This means that pointIdxsOfClusters[i] are keypoint indices that belong to the i -th cluster(word of vocabulary) returned if it is non-zero. + Descriptors of the image keypoints that are returned if they are non-zero. + + + + Computes an image descriptor using the set visual vocabulary. + + Computed descriptors to match with vocabulary. + Computed output image descriptor. + Indices of keypoints that belong to the cluster. + This means that pointIdxsOfClusters[i] are keypoint indices that belong to the i -th cluster(word of vocabulary) returned if it is non-zero. + + + + Computes an image descriptor using the set visual vocabulary. + + Image, for which the descriptor is computed. + Keypoints detected in the input image. + Computed output image descriptor. + + + + Returns an image descriptor size if the vocabulary is set. Otherwise, it returns 0. + + + + + + Returns an image descriptor type. + + + + + + Brute-force descriptor matcher. + For each descriptor in the first set, this matcher finds the closest descriptor in the second set by trying each one. + + + + + The constructor. + + + + + + + + + Releases unmanaged resources + + + + + Clusters train descriptors. + + + + + + Clusters train descriptors. + + Descriptors to cluster. Each row of the descriptors matrix is a descriptor. Descriptors are not added to the inner train descriptor set. + The vocabulary consists of cluster centers. So, this method returns the vocabulary. In the first variant of the method, train descriptors stored in the object + are clustered.In the second variant, input descriptors are clustered. + + + + + Brute-force descriptor matcher. + For each descriptor in the first set, this matcher finds the closest descriptor in the second set by trying each one. + + + + + Adds descriptors to a training set. + + descriptors Descriptors to add to a training set. Each row of the descriptors matrix is a descriptor. + The training set is clustered using clustermethod to construct the vocabulary. + + + + Returns a training set of descriptors. + + + + + + Returns the count of all descriptors stored in the training set. + + + + + + + + + + + Clusters train descriptors. + + + + + + Clusters train descriptors. + + Descriptors to cluster. Each row of the descriptors matrix is a descriptor. Descriptors are not added to the inner train descriptor set. + The vocabulary consists of cluster centers. So, this method returns the vocabulary. In the first variant of the method, train descriptors stored in the object + are clustered.In the second variant, input descriptors are clustered. + + + + + BRISK implementation + + + + + + + + + Construct from native cv::Ptr<T>* + + + + + + The BRISK constructor + + AGAST detection threshold score. + detection octaves. Use 0 to do single scale. + apply this scale to the pattern used for sampling the neighbourhood of a keypoint. + + + + The BRISK constructor for a custom pattern + + defines the radii (in pixels) where the samples around a keypoint are taken (for keypoint scale 1). + defines the number of sampling points on the sampling circle. Must be the same size as radiusList.. + threshold for the short pairings used for descriptor formation (in pixels for keypoint scale 1). + threshold for the long pairings used for orientation determination (in pixels for keypoint scale 1). + index remapping of the bits. + + + + + The BRISK constructor for a custom pattern, detection threshold and octaves + + AGAST detection threshold score. + detection octaves. Use 0 to do single scale. + defines the radii (in pixels) where the samples around a keypoint are taken (for keypoint scale 1). + defines the number of sampling points on the sampling circle. Must be the same size as radiusList.. + threshold for the short pairings used for descriptor formation (in pixels for keypoint scale 1). + threshold for the long pairings used for orientation determination (in pixels for keypoint scale 1). + index remapping of the bits. + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + Create descriptor matcher by type name. + + + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + Creates instance from raw pointer T* + + + + + + Releases managed resources + + + + + Add descriptors to train descriptor collection. + + Descriptors to add. Each descriptors[i] is a descriptors set from one image. + + + + Get train descriptors collection. + + + + + + Clear train descriptors collection. + + + + + Return true if there are not train descriptors in collection. + + + + + + Return true if the matcher supports mask in match methods. + + + + + + Train matcher (e.g. train flann index). + In all methods to match the method train() is run every time before matching. + Some descriptor matchers (e.g. BruteForceMatcher) have empty implementation + of this method, other matchers really train their inner structures + (e.g. FlannBasedMatcher trains flann::Index). So nonempty implementation + of train() should check the class object state and do traing/retraining + only if the state requires that (e.g. FlannBasedMatcher trains flann::Index + if it has not trained yet or if new descriptors have been added to the train collection). + + + + + Find one best match for each query descriptor (if mask is empty). + + + + + + + + + Find k best matches for each query descriptor (in increasing order of distances). + compactResult is used when mask is not empty. If compactResult is false matches + vector will have the same size as queryDescriptors rows. If compactResult is true + matches vector will not contain matches for fully masked out query descriptors. + + + + + + + + + + + Find best matches for each query descriptor which have distance less than + maxDistance (in increasing order of distances). + + + + + + + + + + + Find one best match for each query descriptor (if mask is empty). + + + + + + + + Find k best matches for each query descriptor (in increasing order of distances). + compactResult is used when mask is not empty. If compactResult is false matches + vector will have the same size as queryDescriptors rows. If compactResult is true + matches vector will not contain matches for fully masked out query descriptors. + + + + + + + + + + Find best matches for each query descriptor which have distance less than + maxDistance (in increasing order of distances). + + + + + + + + + + cv::AKAZE descriptor type + + + + + Upright descriptors, not invariant to rotation + + + + + + + + + + + + + + + Upright descriptors, not invariant to rotation + + + + + + + + + + Output image matrix will be created (Mat::create), + i.e. existing memory of output image may be reused. + Two source image, matches and single keypoints will be drawn. + For each keypoint only the center point will be drawn (without + the circle around keypoint with keypoint size and orientation). + + + + + Output image matrix will not be created (Mat::create). + Matches will be drawn on existing content of output image. + + + + + Single keypoints will not be drawn. + + + + + For each keypoint the circle around keypoint with keypoint size and + orientation will be drawn. + + + + + AGAST type one of the four neighborhoods as defined in the paper + + + + + cv::KAZE diffusivity type + + + + + + + + + + + + + + + + + + + + + + + + + cv::ORB score flags + + + + + + + + + + + + + + + Detects corners using FAST algorithm by E. Rosten + + + + + Constructor + + + + + Constructs FastFeatureDetector + + threshold on difference between intensity of the central pixel and pixels of a circle around this pixel. + if true, non-maximum suppression is applied to detected corners (keypoints). + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + Abstract base class for 2D image feature detectors and descriptor extractors + + + + + + + + + + + + + + + + + + + + + + + Return true if detector object is empty + + + + + + Detect keypoints in an image. + + The image. + Mask specifying where to look for keypoints (optional). + Must be a char matrix with non-zero values in the region of interest. + The detected keypoints. + + + + Detect keypoints in an image. + + The image. + Mask specifying where to look for keypoints (optional). + Must be a char matrix with non-zero values in the region of interest. + The detected keypoints. + + + + Detect keypoints in an image set. + + Image collection. + Masks for image set. masks[i] is a mask for images[i]. + Collection of keypoints detected in an input images. keypoints[i] is a set of keypoints detected in an images[i]. + + + + Compute the descriptors for a set of keypoints in an image. + + The image. + The input keypoints. Keypoints for which a descriptor cannot be computed are removed. + Computed descriptors. Row i is the descriptor for KeyPoint i.param> + + + + Compute the descriptors for a keypoints collection detected in image collection. + + Image collection. + Input keypoints collection. keypoints[i] is keypoints detected in images[i]. + Keypoints for which a descriptor cannot be computed are removed. + Descriptor collection. descriptors[i] are descriptors computed for set keypoints[i]. + + + + Detects keypoints and computes the descriptors + + + + + + + + + + + + + + + + + + + + + + + + + + + + Brute-force descriptor matcher. + For each descriptor in the first set, this matcher finds the closest descriptor in the second set by trying each one. + + + + + + + + + + + + Creates instance by cv::Ptr<T> + + + + + Creates instance by raw pointer T* + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + Releases managed resources + + + + + Releases managed resources + + + + + Return true if the matcher supports mask in match methods. + + + + + + Add descriptors to train descriptor collection. + + Descriptors to add. Each descriptors[i] is a descriptors set from one image. + + + + Clear train descriptors collection. + + + + + Train matcher (e.g. train flann index). + In all methods to match the method train() is run every time before matching. + Some descriptor matchers (e.g. BruteForceMatcher) have empty implementation + of this method, other matchers really train their inner structures + (e.g. FlannBasedMatcher trains flann::Index). So nonempty implementation + of train() should check the class object state and do traing/retraining + only if the state requires that (e.g. FlannBasedMatcher trains flann::Index + if it has not trained yet or if new descriptors have been added to the train collection). + + + + + Good Features To Track Detector + + + + + Construct GFTT processor + + + + + + + + + + + Constructor + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Class implementing the KAZE keypoint detector and descriptor extractor + + + + + Constructor + + + + + The KAZE constructor + + Set to enable extraction of extended (128-byte) descriptor. + Set to enable use of upright descriptors (non rotation-invariant). + Detector response threshold to accept point + Maximum octave evolution of the image + Default number of sublevels per scale level + Diffusivity type. DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT or DIFF_CHARBONNIER + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A class filters a vector of keypoints. + + + + + Remove keypoints within borderPixels of an image edge. + + + + + + + + + Remove keypoints of sizes out of range. + + + + + + + + + Remove keypoints from some image by mask for pixels of this image. + + + + + + + + Remove duplicated keypoints. + + + + + + + Remove duplicated keypoints and sort the remaining keypoints + + + + + + + Retain the specified number of the best keypoints (according to the response) + + + + + + + + Maximal Stable Extremal Regions class + + + + + Creates instance by raw pointer cv::MSER* + + + + + Creates MSER parameters + + delta, in the code, it compares (size_{i}-size_{i-delta})/size_{i-delta} + prune the area which smaller than min_area + prune the area which bigger than max_area + prune the area have simliar size to its children + trace back to cut off mser with diversity < min_diversity + for color image, the evolution steps + the area threshold to cause re-initialize + ignore too small margin + the aperture size for edge blur + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + Detect MSER regions + + input image (8UC1, 8UC3 or 8UC4, must be greater or equal than 3x3) + resulting list of point sets + resulting bounding boxes + + + + Class implementing the ORB (*oriented BRIEF*) keypoint detector and descriptor extractor. + + described in @cite RRKB11 . The algorithm uses FAST in pyramids to detect stable keypoints, selects + the strongest features using FAST or Harris response, finds their orientation using first-order + moments and computes the descriptors using BRIEF (where the coordinates of random point pairs (or + k-tuples) are rotated according to the measured orientation). + + + + + + + + + + The ORB constructor + + The maximum number of features to retain. + Pyramid decimation ratio, greater than 1. scaleFactor==2 means the classical + pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor + will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor + will mean that to cover certain scale range you will need more pyramid levels and so the speed will suffer. + The number of pyramid levels. The smallest level will have linear size equal to + input_image_linear_size/pow(scaleFactor, nlevels - firstLevel). + This is size of the border where the features are not detected. It should + roughly match the patchSize parameter. + The level of pyramid to put source image to. Previous layers are filled + with upscaled source image. + The number of points that produce each element of the oriented BRIEF descriptor. The + default value 2 means the BRIEF where we take a random point pair and compare their brightnesses, + so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3 + random points (of course, those point coordinates are random, but they are generated from the + pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel + rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such + output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, + denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each + bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3). + The default HARRIS_SCORE means that Harris algorithm is used to rank features + (the score is written to KeyPoint::score and is used to retain best nfeatures features); + FAST_SCORE is alternative value of the parameter that produces slightly less stable keypoints, + but it is a little faster to compute. + size of the patch used by the oriented BRIEF descriptor. Of course, on smaller + pyramid layers the perceived image area covered by a feature will be larger. + the fast threshold + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SIFT implementation. + + + + + Creates instance by raw pointer cv::SIFT* + + + + + The SIFT constructor. + + The number of best features to retain. + The features are ranked by their scores (measured in SIFT algorithm as the local contrast) + The number of layers in each octave. 3 is the value used in D. Lowe paper. + The number of octaves is computed automatically from the image resolution. + The contrast threshold used to filter out weak features in semi-uniform + (low-contrast) regions. The larger the threshold, the less features are produced by the detector. + The threshold used to filter out edge-like features. Note that the its meaning is + different from the contrastThreshold, i.e. the larger the edgeThreshold, the less features are filtered out (more features are retained). + The sigma of the Gaussian applied to the input image at the octave #0. + If your image is captured with a weak camera with soft lenses, you might want to reduce the number. + + + + Releases managed resources + + + + + Class for extracting blobs from an image. + + + + + SimpleBlobDetector parameters + + + + + + + + + + Constructor + + + + + Construct a SimpleBlobDetector instance + + + + + + Releases managed resources + + + + + The algorithm to use for selecting the initial centers when performing a k-means clustering step. + + + + + picks the initial cluster centers randomly + [flann_centers_init_t::CENTERS_RANDOM] + + + + + picks the initial centers using Gonzales’ algorithm + [flann_centers_init_t::CENTERS_GONZALES] + + + + + picks the initial centers using the algorithm suggested in [arthur_kmeanspp_2007] + [flann_centers_init_t::CENTERS_KMEANSPP] + + + + + The FLANN nearest neighbor index class. + + + + + Constructs a nearest neighbor search index for a given dataset. + + features – Matrix of type CV _ 32F containing the features(points) to index. The size of the matrix is num _ features x feature _ dimensionality. + Structure containing the index parameters. The type of index that will be constructed depends on the type of this parameter. + + + + + Releases unmanaged resources + + + + + Performs a K-nearest neighbor search for multiple query points. + + The query points, one per row + Indices of the nearest neighbors found + Distances to the nearest neighbors found + Number of nearest neighbors to search for + Search parameters + + + + Performs a K-nearest neighbor search for multiple query points. + + The query points, one per row + Indices of the nearest neighbors found + Distances to the nearest neighbors found + Number of nearest neighbors to search for + Search parameters + + + + Performs a K-nearest neighbor search for multiple query points. + + The query points, one per row + Indices of the nearest neighbors found + Distances to the nearest neighbors found + Number of nearest neighbors to search for + Search parameters + + + + Performs a radius nearest neighbor search for a given query point. + + The query point + Indices of the nearest neighbors found + Distances to the nearest neighbors found + Number of nearest neighbors to search for + + Search parameters + + + + Performs a radius nearest neighbor search for a given query point. + + The query point + Indices of the nearest neighbors found + Distances to the nearest neighbors found + Number of nearest neighbors to search for + + Search parameters + + + + Performs a radius nearest neighbor search for a given query point. + + The query point + Indices of the nearest neighbors found + Distances to the nearest neighbors found + Number of nearest neighbors to search for + + Search parameters + + + + Saves the index to a file. + + The file to save the index to + + + + hierarchical k-means tree. + + + + + + + Is a number between 0 and 1 specifying the percentage of the approximate nearest-neighbor searches that return the exact nearest-neighbor. + Using a higher value for this parameter gives more accurate results, but the search takes longer. The optimum value usually depends on the application. + Specifies the importance of the index build time raported to the nearest-neighbor search time. + In some applications it’s acceptable for the index build step to take a long time if the subsequent searches in the index can be performed very fast. + In other applications it’s required that the index be build as fast as possible even if that leads to slightly longer search times. + Is used to specify the tradeoff between time (index build time and search time) and memory used by the index. + A value less than 1 gives more importance to the time spent and a value greater than 1 gives more importance to the memory usage. + Is a number between 0 and 1 indicating what fraction of the dataset to use in the automatic parameter configuration algorithm. + Running the algorithm on the full dataset gives the most accurate results, but for very large datasets can take longer than desired. + In such case using just a fraction of the data helps speeding up this algorithm while still giving good approximations of the optimum parameters. + + + + + + + + + When using a parameters object of this type the index created combines the randomized kd-trees and the hierarchical k-means tree. + + + + + + + The number of parallel kd-trees to use. Good values are in the range [1..16] + The branching factor to use for the hierarchical k-means tree + The maximum number of iterations to use in the k-means clustering stage when building the k-means tree. A value of -1 used here means that the k-means clustering should be iterated until convergence + The algorithm to use for selecting the initial centers when performing a k-means clustering step. + This parameter (cluster boundary index) influences the way exploration is performed in the hierarchical kmeans tree. When cb_index is zero the next kmeans domain to be explored is choosen to be the one with the closest center. A value greater then zero also takes into account the size of the domain. + + + + + + + + + + + + + + + + + + + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + When passing an object of this type the index constructed will consist of a set + of randomized kd-trees which will be searched in parallel. + + + + + Constructor + + The number of parallel kd-trees to use. Good values are in the range [1..16] + + + + + + + + + When passing an object of this type the index constructed will be a hierarchical k-means tree. + + + + + Constructor + + The branching factor to use for the hierarchical k-means tree + The maximum number of iterations to use in the k-means clustering stage when building the k-means tree. A value of -1 used here means that the k-means clustering should be iterated until convergence + The algorithm to use for selecting the initial centers when performing a k-means clustering step. + This parameter (cluster boundary index) influences the way exploration is performed in the hierarchical kmeans tree. When cb_index is zero the next kmeans domain to be explored is choosen to be the one with the closest center. A value greater then zero also takes into account the size of the domain. + + + + + + + + + the index will perform a linear, brute-force search. + + + + + Constructor + + + + + + + + + + When using a parameters object of this type the index created uses multi-probe LSH (by Multi-Probe LSH: Efficient Indexing for High-Dimensional Similarity Search by Qin Lv, William Josephson, Zhe Wang, Moses Charikar, Kai Li., Proceedings of the 33rd International Conference on Very Large Data Bases (VLDB). Vienna, Austria. September 2007) + + + + + Constructor + + The number of hash tables to use (between 10 and 30 usually). + The size of the hash key in bits (between 10 and 20 usually). + The number of bits to shift to check for neighboring buckets (0 is regular LSH, 2 is recommended). + + + + + + + + + This object type is used for loading a previously saved index from the disk. + + + + + Constructor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Trackbar that is shown on OpenCV Window + + + + + Name of this trackbar + + + + + Name of parent window + + + + + + + + + + Gets or sets a numeric value that represents the current position of the scroll box on the track bar. + + + + + Result value of cv::createTrackbar + + + + + Constructor (value=0, max=100) + + Trackbar name + Window name + Callback handler + + + + Constructor + + Trackbar name + Window name + Initial slider position + The upper limit of the range this trackbar is working with. + Callback handler + + + + Releases unmanaged resources + + + + + Sets the trackbar maximum position. + The function sets the maximum position of the specified trackbar in the specified window. + + New maximum position. + + + + Sets the trackbar minimum position. + The function sets the minimum position of the specified trackbar in the specified window. + + New minimum position. + + + + Button type flags (cv::createButton) + + + + + The button will be a push button. + + + + + The button will be a checkbox button. + + + + + The button will be a radiobox button. The radiobox on the same buttonbar (same line) are exclusive; one on can be select at the time. + + + + + Mouse Event Flags see cv::MouseCallback + + + + + indicates that the left mouse button is down. + + + + + indicates that the right mouse button is down. + + + + + indicates that the middle mouse button is down. + + + + + indicates that CTRL Key is pressed. + + + + + indicates that SHIFT Key is pressed. + + + + + indicates that ALT Key is pressed. + + + + + Mouse Events + + + + + indicates that the mouse pointer has moved over the window. + + + + + indicates that the left mouse button is pressed. + + + + + indicates that the right mouse button is pressed. + + + + + indicates that the middle mouse button is pressed. + + + + + indicates that left mouse button is released. + + + + + indicates that right mouse button is released. + + + + + indicates that middle mouse button is released. + + + + + indicates that left mouse button is double clicked. + + + + + indicates that right mouse button is double clicked. + + + + + indicates that middle mouse button is double clicked. + + + + + positive and negative values mean forward and backward scrolling, respectively. + + + + + positive and negative values mean right and left scrolling, respectively. + + + + + Flags for cv::namedWindow + + + + + the user can resize the window (no constraint) / + also use to switch a fullscreen window to a normal size + + + + + the user cannot resize the window, the size is constrainted by the image displayed. + + + + + window with opengl support + + + + + change the window to fullscreen + + + + + the image expends as much as it can (no ratio constraint) + + + + + the ratio of the image is respected + + + + + status bar and tool bar + + + + + old fashious way + + + + + Property identifiers for cvGetWindowProperty/cvSetWindowProperty + + + + + fullscreen property (can be WINDOW_NORMAL or WINDOW_FULLSCREEN) + + + + + autosize property (can be WINDOW_NORMAL or WINDOW_AUTOSIZE) + + + + + window's aspect ration (can be set to WINDOW_FREERATIO or WINDOW_KEEPRATIO) + + + + + opengl support + + + + + checks whether the window exists and is visible + + + + + property to toggle normal window being topmost or not + + + + + Delegate to be called every time mouse event occurs in the specified window. + + one of MouseEventTypes + x-coordinates of mouse pointer in image coordinates + y-coordinates of mouse pointer in image coordinates + a combination of MouseEventFlags + + + + + Delegate to be called every time the slider changes the position. + + + + + + + + + + + + + Wrapper of HighGUI window + + + + + Creates a window with a random name + + + + + Creates a window + + Name of the window which is used as window identifier and appears in the window caption. + + + + Creates a window + + Name of the window which is used as window identifier and appears in the window caption. + Flags of the window. Currently the only supported flag is WindowMode.AutoSize. + If it is set, window size is automatically adjusted to fit the displayed image (see cvShowImage), while user can not change the window size manually. + + + + Creates a window + + Name of the window which is used as window identifier and appears in the window caption. + Image to be shown. + + + + Creates a window + + Name of the window which is used as window identifier and appears in the window caption. + Image to be shown. + Flags of the window. Currently the only supported flag is WindowMode.AutoSize. + If it is set, window size is automatically adjusted to fit the displayed image (see cvShowImage), while user can not change the window size manually. + + + + ウィンドウ名が指定されなかったときに、適当な名前を作成して返す. + + + + + + Releases managed resources + + + + + Destroys this window. + + + + + Destroys all the opened HighGUI windows. + + + + + Gets or sets an image to be shown + + + + + Gets window name + + + + + + + + + + Creates the trackbar and attaches it to this window + + Name of created trackbar. + the function to be called every time the slider changes the position. This function should be prototyped as void Foo(int); + + + + + Creates the trackbar and attaches it to this window + + Name of created trackbar. + The position of the slider + Maximal position of the slider. Minimal position is always 0. + the function to be called every time the slider changes the position. This function should be prototyped as void Foo(int); + + + + + Display text on the window's image as an overlay for delay milliseconds. This is not editing the image's data. The text is display on the top of the image. + + Overlay text to write on the window’s image + Delay to display the overlay text. If this function is called before the previous overlay text time out, the timer is restarted and the text updated. + If this value is zero, the text never disappears. + + + + + + Text to write on the window’s statusbar + Delay to display the text. If this function is called before the previous text time out, the timer is restarted and the text updated. If this value is zero, the text never disapers. + + + + Get Property of the window + + Property identifier + Value of the specified property + + + + Sets window position + + New x coordinate of top-left corner + New y coordinate of top-left corner + + + + Sets window size + + New width + New height + + + + Set Property of the window + + Property identifier + New value of the specified property + + + + Shows the image in this window + + Image to be shown. + + + + Shows the image in this window + + Image to be shown. + + + + get native window handle (HWND in case of Win32 and Widget in case of X Window) + + + + + Waits for a pressed key + + Delay in milliseconds. + Key code + + + + Waits for a pressed key. + Similar to #waitKey, but returns full key code. + Key code is implementation specific and depends on used backend: QT/GTK/Win32/etc + + Delay in milliseconds. 0 is the special value that means ”forever” + Returns the code of the pressed key or -1 if no key was pressed before the specified time had elapsed. + + + + + + + + + + + + + + + + + Retrieves a created window by name + + + + + + + Sets the callback function for mouse events occuting within the specified window. + + Reference to the function to be called every time mouse event occurs in the specified window. + + + + + + + + + + + + + + + + + + + + + + + + + Specifies colorness and Depth of the loaded image + + + + + If set, return the loaded image as is (with alpha channel, otherwise it gets cropped). + + + + + If set, always convert image to the single channel grayscale image. + + + + + If set, always convert image to the 3 channel BGR color image. + + + + + If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit. + + + + + If set, the image is read in any possible color format. + + + + + If set, use the gdal driver for loading the image. + + + + + If set, always convert image to the single channel grayscale image and the image size reduced 1/2. + + + + + If set, always convert image to the 3 channel BGR color image and the image size reduced 1/2. + + + + + If set, always convert image to the single channel grayscale image and the image size reduced 1/4. + + + + + If set, always convert image to the 3 channel BGR color image and the image size reduced 1/4. + + + + + If set, always convert image to the single channel grayscale image and the image size reduced 1/8. + + + + + If set, always convert image to the 3 channel BGR color image and the image size reduced 1/8. + + + + + If set, do not rotate the image according to EXIF's orientation flag. + + + + + + + + + + store as HALF (FP16) + + + + + store as FP32 (default) + + + + + The format type IDs for cv::imwrite and cv::inencode + + + + + For JPEG, it can be a quality from 0 to 100 (the higher is the better). Default value is 95. + + + + + Enable JPEG features, 0 or 1, default is False. + + + + + Enable JPEG features, 0 or 1, default is False. + + + + + JPEG restart interval, 0 - 65535, default is 0 - no restart. + + + + + Separate luma quality level, 0 - 100, default is 0 - don't use. + + + + + Separate chroma quality level, 0 - 100, default is 0 - don't use. + + + + + For PNG, it can be the compression level from 0 to 9. + A higher value means a smaller size and longer compression time. Default value is 3. + + + + + One of cv::ImwritePNGFlags, default is IMWRITE_PNG_StrategyDEFAULT. + + + + + Binary level PNG, 0 or 1, default is 0. + + + + + For PPM, PGM, or PBM, it can be a binary format flag, 0 or 1. Default value is 1. + + + + + [48] override EXR storage type (FLOAT (FP32) is default) + + + + + For WEBP, it can be a quality from 1 to 100 (the higher is the better). By default (without any parameter) and for quality above 100 the lossless compression is used. + + + + + For PAM, sets the TUPLETYPE field to the corresponding string value that is defined for the format + + + + + For TIFF, use to specify which DPI resolution unit to set; see libtiff documentation for valid values + + + + + For TIFF, use to specify the X direction DPI + + + + + For TIFF, use to specify the Y direction DPI + + + + + For TIFF, use to specify the image compression scheme. + See libtiff for integer constants corresponding to compression formats. + Note, for images whose depth is CV_32F, only libtiff's SGILOG compression scheme is used. + For other supported depths, the compression scheme can be specified by this flag; LZW compression is the default. + + + + + For JPEG2000, use to specify the target compression rate (multiplied by 1000). + The value can be from 0 to 1000. Default is 1000. + + + + + Imwrite PAM specific tupletype flags used to define the 'TUPETYPE' field of a PAM file. + + + + + Imwrite PNG specific flags used to tune the compression algorithm. + + These flags will be modify the way of PNG image compression and will be passed to the underlying zlib processing stage. + The effect of IMWRITE_PNG_StrategyFILTERED is to force more Huffman coding and less string matching; it is somewhat + intermediate between IMWRITE_PNG_StrategyDEFAULT and IMWRITE_PNG_StrategyHUFFMAN_ONLY. + IMWRITE_PNG_StrategyRLE is designed to be almost as fast as IMWRITE_PNG_StrategyHUFFMAN_ONLY, but give better compression for PNG + image data. The strategy parameter only affects the compression ratio but not the correctness of the compressed output even + if it is not set appropriately. IMWRITE_PNG_StrategyFIXED prevents the use of dynamic Huffman codes, allowing for a simpler + decoder for special applications. + + + + + Use this value for normal data. + + + + + Use this value for data produced by a filter (or predictor).Filtered data consists mostly of small values with a somewhat + random distribution. In this case, the compression algorithm is tuned to compress them better. + + + + + Use this value to force Huffman encoding only (no string match). + + + + + Use this value to limit match distances to one (run-length encoding). + + + + + Using this value prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications. + + + + + The format-specific save parameters for cv::imwrite and cv::imencode + + + + + format type ID + + + + + value of parameter + + + + + Constructor + + format type ID + value of parameter + + + + Contrast Limited Adaptive Histogram Equalization + + + + + cv::Ptr<CLAHE> + + + + + + + + + + Creates a predefined CLAHE object + + + + + + + + Releases managed resources + + + + + Equalizes the histogram of a grayscale image using Contrast Limited Adaptive Histogram Equalization. + + Source image of type CV_8UC1 or CV_16UC1. + Destination image. + + + + Gets or sets threshold for contrast limiting. + + + + + Gets or sets size of grid for histogram equalization. Input image will be divided into equally sized rectangular tiles. + + + + + + + + + + connected components that is returned from Cv2.ConnectedComponentsEx + + + + + All blobs + + + + + destination labeled value + + + + + The number of labels -1 + + + + + Constructor + + + + + + + + Filter a image with the specified label value. + + Source image. + Destination image. + Label value. + Filtered image. + + + + Filter a image with the specified label values. + + Source image. + Destination image. + Label values. + Filtered image. + + + + Filter a image with the specified blob object. + + Source image. + Destination image. + Blob value. + Filtered image. + + + + Filter a image with the specified blob objects. + + Source image. + Destination image. + Blob values. + Filtered image. + + + + Draws all blobs to the specified image. + + The target image to be drawn. + + + + Find the largest blob. + + the largest blob + + + + 指定したラベル値のところのみを非0で残したマスク画像を返す + + + + + + + One blob + + + + + Label value + + + + + Floating point centroid (x,y) + + + + + The leftmost (x) coordinate which is the inclusive start of the bounding box in the horizontal direction. + + + + + The topmost (y) coordinate which is the inclusive start of the bounding box in the vertical direction. + + + + + The horizontal size of the bounding box. + + + + + The vertical size of the bounding box. + + + + + The bounding box. + + + + + The total area (in pixels) of the connected component. + + + + + Adaptive thresholding algorithms + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L333 + + + + + It is a mean of block_size × block_size pixel neighborhood, subtracted by param1. + + + + + it is a weighted sum (Gaussian) of block_size × block_size pixel neighborhood, subtracted by param1. + + + + + Color conversion operation for cv::cvtColor + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L528 + + + + + GNU Octave/MATLAB equivalent colormaps + + + + + connected components algorithm + + + + + SAUF algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity + + + + + BBDT algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity + + + + + BBDT algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity + + + + + Spaghetti @cite Bolelli2019 algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity. + + + + + Same as CCL_WU. It is preferable to use the flag with the name of the algorithm (CCL_SAUF) rather than the one with the name of the first author (CCL_WU). + + + + + Same as CCL_GRANA. It is preferable to use the flag with the name of the algorithm (CCL_BBDT) rather than the one with the name of the first author (CCL_GRANA). + + + + + Same as CCL_BOLELLI. It is preferable to use the flag with the name of the algorithm (CCL_SPAGHETTI) rather than the one with the name of the first author (CCL_BOLELLI). + + + + + components algorithm output formats + + + + + The leftmost (x) coordinate which is the inclusive start of the bounding + box in the horizontal direction. + + + + + The topmost (y) coordinate which is the inclusive start of the bounding + box in the vertical direction. + + + + + The horizontal size of the bounding box + + + + + The vertical size of the bounding box + + + + + The total area (in pixels) of the connected component + + + + + Approximation method (for all the modes, except CV_RETR_RUNS, which uses built-in approximation). + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L431 + + + + + CHAIN_APPROX_NONE - translate all the points from the chain code into points; + + + + + CHAIN_APPROX_SIMPLE - compress horizontal, vertical, and diagonal segments, that is, the function leaves only their ending points; + + + + + CHAIN_APPROX_TC89_L1 - apply one of the flavors of Teh-Chin chain approximation algorithm. + + + + + CHAIN_APPROX_TC89_KCOS - apply one of the flavors of Teh-Chin chain approximation algorithm. + + + + + distanceTransform algorithm flags + + + + + each connected component of zeros in src + (as well as all the non-zero pixels closest to the connected component) + will be assigned the same label + + + + + each zero pixel (and all the non-zero pixels closest to it) gets its own label. + + + + + Mask size for distance transform + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L312 + + + + + 3 + + + + + 5 + + + + + + + + + + Type of distance for cvDistTransform + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L300 + + + + + User defined distance [CV_DIST_USER] + + + + + distance = |x1-x2| + |y1-y2| [CV_DIST_L1] + + + + + the simple euclidean distance [CV_DIST_L2] + + + + + distance = max(|x1-x2|,|y1-y2|) [CV_DIST_C] + + + + + L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1)) [CV_DIST_L12] + + + + + distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998 [CV_DIST_FAIR] + + + + + distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846 [CV_DIST_WELSCH] + + + + + distance = |x|<c ? x^2/2 : c(|x|-c/2), c=1.345 [CV_DIST_HUBER] + + + + + Specifies how to flip the array + + + + + means flipping around x-axis + + + + + means flipping around y-axis + + + + + means flipping around both axises + + + + + floodFill Operation flags. Lower bits contain a connectivity value, 4 (default) or 8, used within the function. Connectivity determines which neighbors of a pixel are considered. Upper bits can be 0 or a combination of the following flags: + + + + + 4-connected line. + [= 4] + + + + + 8-connected line. + [= 8] + + + + + If set, the difference between the current pixel and seed pixel is considered. Otherwise, the difference between neighbor pixels is considered (that is, the range is floating). + [CV_FLOODFILL_FIXED_RANGE] + + + + + If set, the function does not change the image ( newVal is ignored), but fills the mask. The flag can be used for the second variant only. + [CV_FLOODFILL_MASK_ONLY] + + + + + class of the pixel in GrabCut algorithm + + + + + an obvious background pixels + + + + + an obvious foreground (object) pixel + + + + + a possible background pixel + + + + + a possible foreground pixel + + + + + GrabCut algorithm flags + + + + + The function initializes the state and the mask using the provided rectangle. + After that it runs iterCount iterations of the algorithm. + + + + + The function initializes the state using the provided mask. + Note that GC_INIT_WITH_RECT and GC_INIT_WITH_MASK can be combined. + Then, all the pixels outside of the ROI are automatically initialized with GC_BGD . + + + + + The value means that the algorithm should just resume. + + + + + Comparison methods for cvCompareHist + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L497 + + + + + Correlation [CV_COMP_CORREL] + + + + + Chi-Square [CV_COMP_CHISQR] + + + + + Intersection [CV_COMP_INTERSECT] + + + + + Bhattacharyya distance [CV_COMP_BHATTACHARYYA] + + + + + Synonym for HISTCMP_BHATTACHARYYA + + + + + Alternative Chi-Square + \f[d(H_1,H_2) = 2 * \sum _I \frac{\left(H_1(I)-H_2(I)\right)^2}{H_1(I)+H_2(I)}\f] + This alternative formula is regularly used for texture comparison. See e.g. @cite Puzicha1997 + + + + + Kullback-Leibler divergence + \f[d(H_1,H_2) = \sum _I H_1(I) \log \left(\frac{H_1(I)}{H_2(I)}\right)\f] + + + + + Variants of a Hough transform + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L465 + + + + + classical or standard Hough transform. + Every line is represented by two floating-point numbers \f$(\rho, \theta)\f$ , + where \f$\rho\f$ is a distance between (0,0) point and the line, + and \f$\theta\f$ is the angle between x-axis and the normal to the line. + Thus, the matrix must be (the created sequence will be) of CV_32FC2 type + + + + + probabilistic Hough transform (more efficient in case if the picture contains + a few long linear segments). It returns line segments rather than the whole line. + Each segment is represented by starting and ending points, and the matrix must be + (the created sequence will be) of the CV_32SC4 type. + + + + + multi-scale variant of the classical Hough transform. + The lines are encoded the same way as HOUGH_STANDARD. + + + + + basically *21HT*, described in @cite Yuen90 + + + + + variation of HOUGH_GRADIENT to get better accuracy + + + + + Interpolation algorithm + + + + + Nearest-neighbor interpolation, + + + + + Bilinear interpolation (used by default) + + + + + Bicubic interpolation. + + + + + Resampling using pixel area relation. It is the preferred method for image decimation that gives moire-free results. In case of zooming it is similar to CV_INTER_NN method. + + + + + Lanczos interpolation over 8x8 neighborhood + + + + + Bit exact bilinear interpolation + + + + + mask for interpolation codes + + + + + Fill all the destination image pixels. If some of them correspond to outliers in the source image, they are set to fillval. + + + + + Indicates that matrix is inverse transform from destination image to source and, + thus, can be used directly for pixel interpolation. Otherwise, the function finds the inverse transform from map_matrix. + + + + + Variants of Line Segment %Detector + + + + + No refinement applied + + + + + Standard refinement is applied. E.g. breaking arches into smaller straighter line approximations. + + + + + Advanced refinement. Number of false alarms is calculated, lines are + refined through increase of precision, decrement in size, etc. + + + + + Type of the line + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L808 + + + + + 8-connected line. + + + + + 4-connected line. + + + + + Anti-aliased line. + + + + + Possible set of marker types used for the cv::drawMarker function + + + + + A crosshair marker shape + + + + + A 45 degree tilted crosshair marker shape + + + + + A star marker shape, combination of cross and tilted cross + + + + + A diamond marker shape + + + + + A square marker shape + + + + + An upwards pointing triangle marker shape + + + + + A downwards pointing triangle marker shape + + + + + Shape of the structuring element + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L231 + + + + + A rectangular element + + + + + A cross-shaped element + + + + + An elliptic element + + + + + Type of morphological operation + + + + + + + + + + + + + + + an opening operation + + + + + a closing operation + + + + + Morphological gradient + + + + + "Top hat" + + + + + "Black hat" + + + + + "hit and miss" + + + + + PixelConnectivity for LineIterator + + + + + Connectivity 4 (N,S,E,W) + + + + + Connectivity 8 (N,S,E,W,NE,SE,SW,NW) + + + + + types of intersection between rectangles + + + + + No intersection + + + + + There is a partial intersection + + + + + One of the rectangle is fully enclosed in the other + + + + + mode of the contour retrieval algorithm + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L414 + + + + + retrieves only the extreme outer contours. + It sets `hierarchy[i][2]=hierarchy[i][3]=-1` for all the contours. + + + + + retrieves all of the contours without establishing any hierarchical relationships. + + + + + retrieves all of the contours and organizes them into a two-level hierarchy. + At the top level, there are external boundaries of the components. + At the second level, there are boundaries of the holes. If there is another + contour inside a hole of a connected component, it is still put at the top level. + + + + + retrieves all of the contours and reconstructs a full hierarchy + of nested contours. + + + + + + + + + + Comparison methods for cv::matchShapes + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L453 + + + + + \f[I_1(A,B) = \sum _{i=1...7} \left | \frac{1}{m^A_i} - \frac{1}{m^B_i} \right |\f] + + + + + \f[I_2(A,B) = \sum _{i=1...7} \left | m^A_i - m^B_i \right |\f] + + + + + \f[I_3(A,B) = \max _{i=1...7} \frac{ \left| m^A_i - m^B_i \right| }{ \left| m^A_i \right| }\f] + + + + + Specifies the way the template must be compared with image regions + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/imgproc/include/opencv2/imgproc.hpp#L3672 + + + + + \f[R(x,y)= \sum _{x',y'} (T(x',y')-I(x+x',y+y'))^2\f] + + + + + \f[R(x,y)= \frac{\sum_{x',y'} (T(x',y')-I(x+x',y+y'))^2}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}}\f] + + + + + \f[R(x,y)= \sum _{x',y'} (T(x',y') \cdot I(x+x',y+y'))\f] + + + + + \f[R(x,y)= \frac{\sum_{x',y'} (T(x',y') \cdot I(x+x',y+y'))}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}}\f] + + + + + \f[R(x,y)= \sum _{x',y'} (T'(x',y') \cdot I'(x+x',y+y'))\f] + where + \f[\begin{array}{l} T'(x',y')=T(x',y') - 1/(w \cdot h) \cdot \sum _{x'',y''} T(x'',y'') \\ I'(x+x',y+y')=I(x+x',y+y') - 1/(w \cdot h) \cdot \sum _{x'',y''} I(x+x'',y+y'') \end{array}\f] + + + + + \f[R(x,y)= \frac{ \sum_{x',y'} (T'(x',y') \cdot I'(x+x',y+y')) }{ \sqrt{\sum_{x',y'}T'(x',y')^2 \cdot \sum_{x',y'} I'(x+x',y+y')^2} }\f] + + + + + Thresholding type + + + + + \f[\texttt{dst} (x,y) = \fork{\texttt{maxval}}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{0}{otherwise}\f] + + + + + \f[\texttt{dst} (x,y) = \fork{0}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{maxval}}{otherwise}\f] + + + + + \f[\texttt{dst} (x,y) = \fork{\texttt{threshold}}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{src}(x,y)}{otherwise}\f] + + + + + \f[\texttt{dst} (x,y) = \fork{\texttt{src}(x,y)}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{0}{otherwise}\f] + + + + + \f[\texttt{dst} (x,y) = \fork{0}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{src}(x,y)}{otherwise}\f] + + + + + + + + + + flag, use Otsu algorithm to choose the optimal threshold value + + + + + flag, use Triangle algorithm to choose the optimal threshold value + + + + + Specify the polar mapping mode + + + + + Remaps an image to/from polar space. + + + + + Remaps an image to/from semilog-polar space. + + + + + finds arbitrary template in the grayscale image using Generalized Hough Transform + + + + + Canny low threshold. + + + + + + Canny high threshold. + + + + + + Minimum distance between the centers of the detected objects. + + + + + + Inverse ratio of the accumulator resolution to the image resolution. + + + + + + Maximal size of inner buffers. + + + + + + set template to search + + + + + + + set template to search + + + + + + + + + find template on image + + + + + + + + find template on image + + + + + + + + + + Ballard, D.H. (1981). Generalizing the Hough transform to detect arbitrary shapes. + Pattern Recognition 13 (2): 111-122. + Detects position only without traslation and rotation + + + + + cv::Ptr<T> object + + + + + + + + + + Creates a predefined GeneralizedHoughBallard object + + + + + + Releases managed resources + + + + + R-Table levels. + + + + + + The accumulator threshold for the template centers at the detection stage. + The smaller it is, the more false positions may be detected. + + + + + + Guil, N., González-Linares, J.M. and Zapata, E.L. (1999). + Bidimensional shape detection using an invariant approach. + Pattern Recognition 32 (6): 1025-1038. + Detects position, translation and rotation + + + + + cv::Ptr<T> object + + + + + + + + + + Creates a predefined GeneralizedHoughBallard object + + + + + + Releases managed resources + + + + + Angle difference in degrees between two points in feature. + + + + + + Feature table levels. + + + + + + Maximal difference between angles that treated as equal. + + + + + + Minimal rotation angle to detect in degrees. + + + + + + Maximal rotation angle to detect in degrees. + + + + + + Angle step in degrees. + + + + + + Angle votes threshold. + + + + + + Minimal scale to detect. + + + + + + Maximal scale to detect. + + + + + + Scale step. + + + + + + Scale votes threshold. + + + + + + Position votes threshold. + + + + + + Intelligent Scissors image segmentation + + This class is used to find the path (contour) between two points + which can be used for image segmentation. + + Usage example: + @snippet snippets/imgproc_segmentation.cpp usage_example_intelligent_scissors + + Reference: Intelligent Scissors for Image Composition http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.138.3811&rep=rep1&type=pdf + algorithm designed by Eric N. Mortensen and William A. Barrett, Brigham Young University + @cite Mortensen95intelligentscissors + + + + + Constructor + + + + + Releases unmanaged resources + + + + + Specify weights of feature functions + + Consider keeping weights normalized (sum of weights equals to 1.0) + Discrete dynamic programming (DP) goal is minimization of costs between pixels. + + Specify cost of non-edge pixels (default: 0.43f) + Specify cost of gradient direction function (default: 0.43f) + Specify cost of gradient magnitude function (default: 0.14f) + + + + + Specify gradient magnitude max value threshold + + Zero limit value is used to disable gradient magnitude thresholding (default behavior, as described in original article). + Otherwize pixels with `gradient magnitude >= threshold` have zero cost. + + @note Thresholding should be used for images with irregular regions (to avoid stuck on parameters from high-contract areas, like embedded logos). + + Specify gradient magnitude max value threshold (default: 0, disabled) + + + + + Switch to "Laplacian Zero-Crossing" edge feature extractor and specify its parameters + + This feature extractor is used by default according to article. + + Implementation has additional filtering for regions with low-amplitude noise. + This filtering is enabled through parameter of minimal gradient amplitude (use some small value 4, 8, 16). + + @note Current implementation of this feature extractor is based on processing of grayscale images (color image is converted to grayscale image first). + + @note Canny edge detector is a bit slower, but provides better results (especially on color images): use setEdgeFeatureCannyParameters(). + + Minimal gradient magnitude value for edge pixels (default: 0, check is disabled) + + + + + Switch edge feature extractor to use Canny edge detector + Note: "Laplacian Zero-Crossing" feature extractor is used by default (following to original article) + + + + + + + + + + Specify input image and extract image features + + input image. Type is #CV_8UC1 / #CV_8UC3 + + + + + Specify custom features of imput image + Customized advanced variant of applyImage() call. + + Specify cost of non-edge pixels. Type is CV_8UC1. Expected values are `{0, 1}`. + Specify gradient direction feature. Type is CV_32FC2. Values are expected to be normalized: `x^2 + y^2 == 1` + Specify cost of gradient magnitude function: Type is CV_32FC1. Values should be in range `[0, 1]`. + Optional parameter. Must be specified if subset of features is specified (non-specified features are calculated internally) + + + + + Prepares a map of optimal paths for the given source point on the image + Note: applyImage() / applyImageFeatures() must be called before this call + + The source point used to find the paths + + + + Extracts optimal contour for the given target point on the image + Note: buildMap() must be called before this call + + The target point + contour The list of pixels which contains optimal path between the source and the target points of the image. + Type is CV_32SC2 (compatible with `std::vector<Point>`) + Flag to indicate reverse order of retrived pixels (use "true" value to fetch points from the target to the source point) + + + + Contrast Limited Adaptive Histogram Equalization + + + + + Constructor + + + + + + + + + + + Initializes the iterator + + + + + + Releases unmanaged resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LineIterator pixel data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Constructor + + + + + + + Line segment detector class + + + + + cv::Ptr<LineSegmentDetector> + + + + + + + + + + Creates a smart pointer to a LineSegmentDetector object and initializes it. + + The way found lines will be refined, see cv::LineSegmentDetectorModes + The scale of the image that will be used to find the lines. Range (0..1]. + Sigma for Gaussian filter. It is computed as sigma = _sigma_scale/_scale. + Bound to the quantization error on the gradient norm. + Gradient angle tolerance in degrees. + Detection threshold: -log10(NFA) \> log_eps. + Used only when advancent refinement is chosen. + Minimal density of aligned region points in the enclosing rectangle. + Number of bins in pseudo-ordering of gradient modulus. + + + + + Releases managed resources + + + + + Finds lines in the input image. + This is the output of the default parameters of the algorithm on the above shown image. + + A grayscale (CV_8UC1) input image. + A vector of Vec4i or Vec4f elements specifying the beginning and ending point of a line. + Where Vec4i/Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient. + Vector of widths of the regions, where the lines are found. E.g. Width of line. + Vector of precisions with which the lines are found. + Vector containing number of false alarms in the line region, + with precision of 10%. The bigger the value, logarithmically better the detection. + + + + Finds lines in the input image. + This is the output of the default parameters of the algorithm on the above shown image. + + A grayscale (CV_8UC1) input image. + A vector of Vec4i or Vec4f elements specifying the beginning and ending point of a line. + Where Vec4i/Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly oriented depending on the gradient. + Vector of widths of the regions, where the lines are found. E.g. Width of line. + Vector of precisions with which the lines are found. + Vector containing number of false alarms in the line region, + with precision of 10%. The bigger the value, logarithmically better the detection. + + + + Draws the line segments on a given image. + + The image, where the liens will be drawn. + Should be bigger or equal to the image, where the lines were found. + A vector of the lines that needed to be drawn. + + + + Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels. + + The size of the image, where lines1 and lines2 were found. + The first group of lines that needs to be drawn. It is visualized in blue color. + The second group of lines. They visualized in red color. + Optional image, where the lines will be drawn. + The image should be color(3-channel) in order for lines1 and lines2 to be drawn + in the above mentioned colors. + + + + + circle structure retrieved from cvHoughCircle + + + + + Center coordinate of the circle + + + + + Radius + + + + + Constructor + + center + radius + + + + Specifies whether this object contains the same members as the specified Object. + + The Object to test. + This method returns true if obj is the same type as this object and has the same members as this object. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + Specifies whether this object contains the same members as the specified Object. + + The Object to test. + This method returns true if obj is the same type as this object and has the same members as this object. + + + + Returns a hash code for this object. + + An integer value that specifies a hash value for this object. + + + + Converts this object to a human readable string. + + A string that represents this object. + + + + Information about the image topology for cv::findContours + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2-dimentional line vector + + + + + The X component of the normalized vector collinear to the line + + + + + The Y component of the normalized vector collinear to the line + + + + + X-coordinate of some point on the line + + + + + Y-coordinate of some point on the line + + + + + Initializes this object + + The X component of the normalized vector collinear to the line + The Y component of the normalized vector collinear to the line + Z-coordinate of some point on the line + Z-coordinate of some point on the line + + + + Initializes by cvFitLine output + + The returned value from cvFitLineparam> + + + + + + + + + + + + + + + + Returns the distance between this line and the specified point + + + + + + Returns the distance between this line and the specified point + + + + + + Returns the distance between this line and the specified point + + + + + + Returns the distance between this line and the specified point + + + + + + + Fits this line to the specified size (for drawing) + + Width of fit size + Height of fit size + 1st edge point of fitted line + 2nd edge point of fitted line + + + + A 3-dimensional line object + + + + + The X component of the normalized vector collinear to the line + + + + + The Y component of the normalized vector collinear to the line + + + + + The Z component of the normalized vector collinear to the line + + + + + X-coordinate of some point on the line + + + + + Y-coordinate of some point on the line + + + + + Z-coordinate of some point on the line + + + + + Initializes this object + + The X component of the normalized vector collinear to the line + The Y component of the normalized vector collinear to the line + The Z component of the normalized vector collinear to the line + Z-coordinate of some point on the line + Z-coordinate of some point on the line + Z-coordinate of some point on the line + + + + Initializes by cvFitLine output + + The returned value from cvFitLineparam> + + + + Perpendicular foot + + + + + + Perpendicular foot + + + + + + Perpendicular foot + + + + + + + + Returns the distance between this line and the specified point + + + + + + Returns the distance between this line and the specified point + + + + + + Returns the distance between this line and the specified point + + + + + + + + ベクトルの外積 + + + + + + + + ベクトルの長さ(原点からの距離) + + + + + + + 2点間(2ベクトル)の距離 + + + + + + + + Line segment structure retrieved from cvHoughLines2 + + + + + 1st Point + + + + + 2nd Point + + + + + Constructor + + 1st Point + 2nd Point + + + + Specifies whether this object contains the same members as the specified Object. + + The Object to test. + This method returns true if obj is the same type as this object and has the same members as this object. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + Specifies whether this object contains the same members as the specified Object. + + The Object to test. + This method returns true if obj is the same type as this object and has the same members as this object. + + + + Returns a hash code for this object. + + An integer value that specifies a hash value for this object. + + + + Converts this object to a human readable string. + + A string that represents this object. + + + + Calculates a intersection of the specified two lines + + + + + + + + Calculates a intersection of the specified two lines + + + + + + + Calculates a intersection of the specified two segments + + + + + + + + Calculates a intersection of the specified two segments + + + + + + + Returns a boolean value indicating whether the specified two segments intersect. + + + + + + + + Returns a boolean value indicating whether the specified two segments intersect. + + + + + + + Returns a boolean value indicating whether a line and a segment intersect. + + Line + Segment + + + + + Calculates a intersection of a line and a segment + + + + + + + + + + + + + + Translates the Point by the specified amount. + + The amount to offset the x-coordinate. + The amount to offset the y-coordinate. + + + + + Translates the Point by the specified amount. + + The Point used offset this CvPoint. + + + + + Polar line segment retrieved from cvHoughLines2 + + + + + Length of the line + + + + + Angle of the line (radian) + + + + + Constructor + + Length of the line + Angle of the line (radian) + + + + Specifies whether this object contains the same members as the specified Object. + + The Object to test. + This method returns true if obj is the same type as this object and has the same members as this object. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are equal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are equal; otherwise, false. + + + + Compares two CvPoint objects. The result specifies whether the members of each object are unequal. + + A Point to compare. + A Point to compare. + This operator returns true if the members of left and right are unequal; otherwise, false. + + + + Specifies whether this object contains the same members as the specified Object. + + The Object to test. + This method returns true if obj is the same type as this object and has the same members as this object. + + + + Returns a hash code for this object. + + An integer value that specifies a hash value for this object. + + + + Converts this object to a human readable string. + + A string that represents this object. + + + + Calculates a intersection of the specified two lines + + + + + + + + Calculates a intersection of the specified two lines + + + + + + + Convert To LineSegmentPoint + + + + + + + Converts to a line segment with the specified x coordinates at both ends + + + + + + + + Converts to a line segment with the specified y coordinates at both ends + + + + + + + + + + + + + + + + + + + + + + Raster image moments + + + + + spatial moments + + + + + spatial moments + + + + + spatial moments + + + + + spatial moments + + + + + spatial moments + + + + + spatial moments + + + + + spatial moments + + + + + spatial moments + + + + + spatial moments + + + + + spatial moments + + + + + central moments + + + + + central moments + + + + + central moments + + + + + central moments + + + + + central moments + + + + + central moments + + + + + central moments + + + + + central normalized moments + + + + + central normalized moments + + + + + central normalized moments + + + + + central normalized moments + + + + + central normalized moments + + + + + central normalized moments + + + + + central normalized moments + + + + + Default constructor. + All moment values are set to 0. + + + + + + + + + + + + + + + + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + A raster image (single-channel, 8-bit or floating-point + 2D array) or an array ( 1xN or Nx1 ) of 2D points ( Point or Point2f ) + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + A raster image (8-bit) 2D array + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + A raster image (floating-point) 2D array + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + Array of 2D points + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + Array of 2D points + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + Calculates all of the moments + up to the third order of a polygon or rasterized shape. + + A raster image (single-channel, 8-bit or floating-point + 2D array) or an array ( 1xN or Nx1 ) of 2D points ( Point or Point2f ) + If it is true, then all the non-zero image pixels are treated as 1’s + + + + + + + + + + + + + + + + + + + + computes 7 Hu invariants from the moments + + + + + + Planar Subdivision + + + + + Creates an empty Subdiv2D object. + To create a new empty Delaunay subdivision you need to use the #initDelaunay function. + + + + + Creates an empty Subdiv2D object. + + Rectangle that includes all of the 2D points that are to be added to the subdivision. + + + + Clean up any resources being used. + + + + + Releases unmanaged resources + + + + + Creates a new empty Delaunay subdivision + + Rectangle that includes all of the 2D points that are to be added to the subdivision. + + + + Insert a single point into a Delaunay triangulation. + + Point to insert. + + + + + Insert multiple points into a Delaunay triangulation. + + Points to insert. + + + + Returns the location of a point within a Delaunay triangulation. + + Point to locate. + Output edge that the point belongs to or is located to the right of it. + Optional output vertex the input point coincides with. + an integer which specify one of the following five cases for point location: + - The point falls into some facet. The function returns #PTLOC_INSIDE and edge will contain one of edges of the facet. + - The point falls onto the edge. The function returns #PTLOC_ON_EDGE and edge will contain this edge. + - The point coincides with one of the subdivision vertices. The function returns #PTLOC_VERTEX and vertex will contain a pointer to the vertex. + - The point is outside the subdivision reference rectangle. The function returns #PTLOC_OUTSIDE_RECT and no pointers are filled. + - One of input arguments is invalid. A runtime error is raised or, if silent or "parent" error processing mode is selected, #PTLOC_ERROR is returned. + + + + Finds the subdivision vertex closest to the given point. + + Input point. + Output subdivision vertex point. + vertex ID. + + + + Returns a list of all edges. + + Output vector. + + + + Returns a list of the leading edge ID connected to each triangle. + The function gives one edge ID for each triangle. + + Output vector. + + + + Returns a list of all triangles. + + Output vector. + + + + Returns a list of all Voronoi facets. + + Vector of vertices IDs to consider. For all vertices you can pass empty vector. + Output vector of the Voronoi facets. + Output vector of the Voronoi facets center points. + + + + Returns vertex location from vertex ID. + + vertex ID. + The first edge ID which is connected to the vertex. + vertex (x,y) + + + + Returns one of the edges related to the given edge. + + Subdivision edge ID. + Parameter specifying which of the related edges to return. + The following values are possible: + - NEXT_AROUND_ORG next around the edge origin ( eOnext on the picture below if e is the input edge) + - NEXT_AROUND_DST next around the edge vertex ( eDnext ) + - PREV_AROUND_ORG previous around the edge origin (reversed eRnext ) + - PREV_AROUND_DST previous around the edge destination (reversed eLnext ) + - NEXT_AROUND_LEFT next around the left facet ( eLnext ) + - NEXT_AROUND_RIGHT next around the right facet ( eRnext ) + - PREV_AROUND_LEFT previous around the left facet (reversed eOnext ) + - PREV_AROUND_RIGHT previous around the right facet (reversed eDnext ) + + + + + Subdivision edge ID. + + Subdivision edge ID. + an integer which is next edge ID around the edge origin: eOnext on the picture above if e is the input edge). + + + + Returns another edge of the same quad-edge. + + Subdivision edge ID. + Parameter specifying which of the edges of the same quad-edge as the input + one to return. The following values are possible: + - 0 - the input edge ( e on the picture below if e is the input edge) + - 1 - the rotated edge ( eRot ) + - 2 - the reversed edge (reversed e (in green)) + - 3 - the reversed rotated edge (reversed eRot (in green)) + one of the edges ID of the same quad-edge as the input edge. + + + + + + + + + + + Returns the edge origin. + + Subdivision edge ID. + Output vertex location. + vertex ID. + + + + Returns the edge destination. + + Subdivision edge ID. + Output vertex location. + vertex ID. + + + + Parameter for Subdiv2D.GetEdge() specifying which of the related edges to return. + + + + + next around the edge origin ( eOnext on the picture below if e is the input edge) + + + + + next around the edge vertex ( eDnext ) + + + + + previous around the edge origin (reversed eRnext ) + + + + + previous around the edge destination (reversed eLnext ) + + + + + next around the left facet ( eLnext ) + + + + + next around the right facet ( eRnext ) + + + + + previous around the left facet (reversed eOnext ) + + + + + previous around the right facet (reversed eDnext ) + + + + + + Computes average hash value of the input image. + This is a fast image hashing algorithm, but only work on simple case. For more details, + please refer to @cite lookslikeit + + + + + cv::Ptr<T> + + + + + + + + + + Constructor + + + + + + + Releases managed resources + + + + + + Image hash based on block mean. + + + + + cv::Ptr<T> + + + + + + + + + + Create BlockMeanHash object + + + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + Image hash based on color moments. + + + + + cv::Ptr<T> + + + + + + + + + + Constructor + + + + + + + Releases managed resources + + + + + + Computes color moment hash of the input, the algorithm is come from the paper "Perceptual Hashing for Color Images Using Invariant Moments" + + input image want to compute hash value, type should be CV_8UC4, CV_8UC3 or CV_8UC1. + 42 hash values with type CV_64F(double) + + + + + + + + + + use fewer block and generate 16*16/8 uchar hash value + + + + + use block blocks(step sizes/2), generate 31*31/8 + 1 uchar hash value + + + + + + The base class for image hash algorithms + + + + + Computes hash of the input image + + input image want to compute hash value + hash of the image + + + + + Compare the hash value between inOne and inTwo + + Hash value one + Hash value two + value indicate similarity between inOne and inTwo, the meaning of the value vary from algorithms to algorithms + + + + + Marr-Hildreth Operator Based Hash, slowest but more discriminative. + + + + + cv::Ptr<T> + + + + + + + + + + Create BlockMeanHash object + + int scale factor for marr wavelet (default=2). + int level of scale factor (default = 1) + + + + + + Releases managed resources + + + + + + + int scale factor for marr wavelet (default=2). + int level of scale factor (default = 1) + + + + int scale factor for marr wavelet (default=2). + + + + + int level of scale factor (default = 1) + + + + + + Computes average hash value of the input image + + input image want to compute hash value, type should be CV_8UC4, CV_8UC3, CV_8UC1. + Hash value of input, it will contain 16 hex decimal number, return type is CV_8U + + + + + + pHash: Slower than average_hash, but tolerant of minor modifications. + This algorithm can combat more variation than averageHash, for more details please refer to @cite lookslikeit + + + + + cv::Ptr<T> + + + + + + + + + + Constructor + + + + + + + Releases managed resources + + + + + + Computes pHash value of the input image + + input image want to compute hash value, type should be CV_8UC4, CV_8UC3, CV_8UC1. + Hash value of input, it will contain 8 uchar value + + + + + + Image hash based on Radon transform. + + + + + cv::Ptr<T> + + + + + + + + + + Create BlockMeanHash object + + Gaussian kernel standard deviation + The number of angles to consider + + + + + + Releases managed resources + + + + + Gaussian kernel standard deviation + + + + + The number of angles to consider + + + + + + Computes average hash value of the input image + + input image want to compute hash value, type should be CV_8UC4, CV_8UC3, CV_8UC1. + Hash value of input + + + + + A class to represent a line + + As aformentioned, it is been necessary to design a class that fully stores the information needed to + characterize completely a line and plot it on image it was extracted from, when required. + + *KeyLine* class has been created for such goal; it is mainly inspired to Feature2d's KeyPoint class, + since KeyLine shares some of* KeyPoint*'s fields, even if a part of them assumes a different + meaning, when speaking about lines.In particular: + + - the* class_id* field is used to gather lines extracted from different octaves which refer to + same line inside original image (such lines and the one they represent in original image share + the same* class_id* value) + - the* angle* field represents line's slope with respect to (positive) X axis + - the* pt* field represents line's midpoint + - the* response* field is computed as the ratio between the line's length and maximum between + image's width and height + - the* size* field is the area of the smallest rectangle containing line + + Apart from fields inspired to KeyPoint class, KeyLines stores information about extremes of line in + original image and in octave it was extracted from, about line's length and number of pixels it + covers. + + + + + orientation of the line + + + + + object ID, that can be used to cluster keylines by the line they represent + + + + + octave (pyramid layer), from which the keyline has been extracted + + + + + coordinates of the middlepoint + + + + + the response, by which the strongest keylines have been selected. + It's represented by the ratio between line's length and maximum between + image's width and height + + + + + minimum area containing line + + + + + lines' extremes in original image + + + + + lines' extremes in original image + + + + + lines' extremes in original image + + + + + lines' extremes in original image + + + + + line's extremes in image it was extracted from + + + + + line's extremes in image it was extracted from + + + + + line's extremes in image it was extracted from + + + + + line's extremes in image it was extracted from + + + + + the length of line + + + + + number of pixels covered by the line + + + + + Returns the start point of the line in the original image + + + + + Returns the end point of the line in the original image + + + + + Returns the start point of the line in the octave it was extracted from + + + + + Returns the end point of the line in the octave it was extracted from + + + + + Constructor + + + + + + + + + + + + + + + + + + + + + Artificial Neural Networks - Multi-Layer Perceptrons. + + + + + Creates instance by raw pointer cv::ml::ANN_MLP* + + + + + Creates the empty model. + + + + + + Loads and creates a serialized ANN from a file. + Use ANN::save to serialize and store an ANN to disk. + Load the ANN from this file again, by calling this function with the path to the file. + + path to serialized ANN + + + + + Loads algorithm from a String. + + he string variable containing the model you want to load. + + + + + Releases managed resources + + + + + Termination criteria of the training algorithm. + + + + + Strength of the weight gradient term. + The recommended value is about 0.1. Default value is 0.1. + + + + + Strength of the momentum term (the difference between weights on the 2 previous iterations). + This parameter provides some inertia to smooth the random fluctuations of the weights. + It can vary from 0 (the feature is disabled) to 1 and beyond. The value 0.1 or + so is good enough. Default value is 0.1. + + + + + Initial value Delta_0 of update-values Delta_{ij}. Default value is 0.1. + + + + + Increase factor eta^+. + It must be >1. Default value is 1.2. + + + + + Decrease factor eta^-. + It must be \>1. Default value is 0.5. + + + + + Update-values lower limit Delta_{min}. + It must be positive. Default value is FLT_EPSILON. + + + + + Update-values upper limit Delta_{max}. + It must be >1. Default value is 50. + + + + + Sets training method and common parameters. + + Default value is ANN_MLP::RPROP. See ANN_MLP::TrainingMethods. + passed to setRpropDW0 for ANN_MLP::RPROP and to setBackpropWeightScale for ANN_MLP::BACKPROP and to initialT for ANN_MLP::ANNEAL. + passed to setRpropDWMin for ANN_MLP::RPROP and to setBackpropMomentumScale for ANN_MLP::BACKPROP and to finalT for ANN_MLP::ANNEAL. + + + + Returns current training method + + + + + + Initialize the activation function for each neuron. + Currently the default and the only fully supported activation function is ANN_MLP::SIGMOID_SYM. + + The type of activation function. See ANN_MLP::ActivationFunctions. + The first parameter of the activation function, \f$\alpha\f$. Default value is 0. + The second parameter of the activation function, \f$\beta\f$. Default value is 0. + + + + Integer vector specifying the number of neurons in each layer including the input and output layers. + The very first element specifies the number of elements in the input layer. + The last element - number of elements in the output layer.Default value is empty Mat. + + + + + + Integer vector specifying the number of neurons in each layer including the input and output layers. + The very first element specifies the number of elements in the input layer. + The last element - number of elements in the output layer. + + + + + + possible activation functions + + + + + Identity function: $f(x)=x + + + + + Symmetrical sigmoid: f(x)=\beta*(1-e^{-\alpha x})/(1+e^{-\alpha x} + + + + + Gaussian function: f(x)=\beta e^{-\alpha x*x} + + + + + Train options + + + + + Update the network weights, rather than compute them from scratch. + In the latter case the weights are initialized using the Nguyen-Widrow algorithm. + + + + + Do not normalize the input vectors. + If this flag is not set, the training algorithm normalizes each input feature + independently, shifting its mean value to 0 and making the standard deviation + equal to 1. If the network is assumed to be updated frequently, the new + training data could be much different from original one. In this case, + you should take care of proper normalization. + + + + + Do not normalize the output vectors. If the flag is not set, + the training algorithm normalizes each output feature independently, + by transforming it to the certain range depending on the used activation function. + + + + + Available training methods + + + + + The back-propagation algorithm. + + + + + The RPROP algorithm. See @cite RPROP93 for details. + + + + + Boosted tree classifier derived from DTrees + + + + + Creates instance by raw pointer cv::ml::Boost* + + + + + Creates the empty model. + + + + + + Loads and creates a serialized model from a file. + + + + + + + Loads algorithm from a String. + + he string variable containing the model you want to load. + + + + + Releases managed resources + + + + + Type of the boosting algorithm. + See Boost::Types. Default value is Boost::REAL. + + + + + The number of weak classifiers. + Default value is 100. + + + + + A threshold between 0 and 1 used to save computational time. + Samples with summary weight \f$\leq 1 - weight_trim_rate + do not participate in the *next* iteration of training. + Set this parameter to 0 to turn off this functionality. Default value is 0.95. + + + + + Boosting type. + Gentle AdaBoost and Real AdaBoost are often the preferable choices. + + + + + Discrete AdaBoost. + + + + + Real AdaBoost. It is a technique that utilizes confidence-rated predictions + and works well with categorical data. + + + + + LogitBoost. It can produce good regression fits. + + + + + Gentle AdaBoost. It puts less weight on outlier data points and for that + reason is often good with regression data. + + + + + Decision tree + + + + + + + + + + Creates instance by raw pointer cv::ml::SVM* + + + + + Creates the empty model. + + + + + + Loads and creates a serialized model from a file. + + + + + + + Loads algorithm from a String. + + he string variable containing the model you want to load. + + + + + Releases managed resources + + + + + Cluster possible values of a categorical variable into + K < =maxCategories clusters to find a suboptimal split. + + + + + The maximum possible depth of the tree. + + + + + If the number of samples in a node is less than this parameter then the + node will not be split. Default value is 10. + + + + + If CVFolds \> 1 then algorithms prunes the built decision tree using K-fold + cross-validation procedure where K is equal to CVFolds. Default value is 10. + + + + + If true then surrogate splits will be built. + These splits allow to work with missing data and compute variable + importance correctly. Default value is false. + + + + + If true then a pruning will be harsher. + This will make a tree more compact and more resistant to the training + data noise but a bit less accurate. Default value is true. + + + + + If true then pruned branches are physically removed from the tree. + Otherwise they are retained and it is possible to get results from the + original unpruned (or pruned less aggressively) tree. Default value is true. + + + + + Termination criteria for regression trees. + If all absolute differences between an estimated value in a node and + values of train samples in this node are less than this parameter + then the node will not be split further. Default value is 0.01f. + + + + + The array of a priori class probabilities, sorted by the class label value. + + + + + Returns indices of root nodes + + + + + + Returns all the nodes. + all the node indices are indices in the returned vector + + + + + Returns all the splits. + all the split indices are indices in the returned vector + + + + + + Returns all the bitsets for categorical splits. + Split::subsetOfs is an offset in the returned vector + + + + + + The class represents a decision tree node. + + + + + Value at the node: a class label in case of classification or estimated + function value in case of regression. + + + + + Class index normalized to 0..class_count-1 range and assigned to the + node. It is used internally in classification trees and tree ensembles. + + + + + Index of the parent node + + + + + Index of the left child node + + + + + Index of right child node + + + + + Default direction where to go (-1: left or +1: right). It helps in the + case of missing values. + + + + + Index of the first split + + + + + The class represents split in a decision tree. + + + + + Index of variable on which the split is created. + + + + + If not 0, then the inverse split rule is used (i.e. left and right + branches are exchanged in the rule expressions below). + + + + + The split quality, a positive number. It is used to choose the best split. + + + + + Index of the next split in the list of splits for the node + + + + + The threshold value in case of split on an ordered variable. + + + + + Offset of the bitset used by the split on a categorical variable. + + + + + Sample types + + + + + each training sample is a row of samples + + + + + each training sample occupies a column of samples + + + + + K nearest neighbors classifier + + + + + Creates instance by raw pointer cv::ml::KNearest* + + + + + Creates the empty model + + + + + + Loads and creates a serialized model from a file. + + + + + + + Loads algorithm from a String. + + he string variable containing the model you want to load. + + + + + Releases managed resources + + + + + Default number of neighbors to use in predict method. + + + + + Whether classification or regression model should be trained. + + + + + Parameter for KDTree implementation + + + + + Algorithm type, one of KNearest::Types. + + + + + Finds the neighbors and predicts responses for input vectors. + + Input samples stored by rows. + It is a single-precision floating-point matrix of `[number_of_samples] * k` size. + Number of used nearest neighbors. Should be greater than 1. + Vector with results of prediction (regression or classification) for each + input sample. It is a single-precision floating-point vector with `[number_of_samples]` elements. + neighborResponses Optional output values for corresponding neighbors. + It is a single-precision floating-point matrix of `[number_of_samples] * k` size. + Optional output distances from the input vectors to the corresponding neighbors. + It is a single-precision floating-point matrix of `[number_of_samples] * k` size. + + + + + Implementations of KNearest algorithm + + + + + Implements Logistic Regression classifier. + + + + + Creates instance by raw pointer cv::ml::LogisticRegression* + + + + + Creates the empty model. + + + + + + Loads and creates a serialized model from a file. + + + + + + + Loads algorithm from a String. + + he string variable containing the model you want to load. + + + + + Releases managed resources + + + + + Learning rate + + + + + Number of iterations. + + + + + Kind of regularization to be applied. See LogisticRegression::RegKinds. + + + + + Kind of training method used. See LogisticRegression::Methods. + + + + + Specifies the number of training samples taken in each step of Mini-Batch Gradient. + Descent. Will only be used if using LogisticRegression::MINI_BATCH training algorithm. + It has to take values less than the total number of training samples. + + + + + Termination criteria of the training algorithm. + + + + + Predicts responses for input samples and returns a float type. + + The input data for the prediction algorithm. Matrix [m x n], + where each row contains variables (features) of one object being classified. + Should have data type CV_32F. + Predicted labels as a column matrix of type CV_32S. + Not used. + + + + + This function returns the trained parameters arranged across rows. + For a two class classification problem, it returns a row matrix. + It returns learnt parameters of the Logistic Regression as a matrix of type CV_32F. + + + + + + Regularization kinds + + + + + Regularization disabled + + + + + L1 norm + + + + + L2 norm + + + + + Training methods + + + + + + + + + + Set MiniBatchSize to a positive integer when using this method. + + + + + Bayes classifier for normally distributed data + + + + + Creates instance by raw pointer cv::ml::NormalBayesClassifier* + + + + + Creates empty model. + Use StatModel::train to train the model after creation. + + + + + + Loads and creates a serialized model from a file. + + + + + + + Loads algorithm from a String. + + he string variable containing the model you want to load. + + + + + Releases managed resources + + + + + Predicts the response for sample(s). + + + + + + + + The method estimates the most probable classes for input vectors. Input vectors (one or more) + are stored as rows of the matrix inputs. In case of multiple input vectors, there should be one + output vector outputs. The predicted class for a single input vector is returned by the method. + The vector outputProbs contains the output probabilities corresponding to each element of result. + + + + + The structure represents the logarithmic grid range of statmodel parameters. + + + + + Minimum value of the statmodel parameter. Default value is 0. + + + + + Maximum value of the statmodel parameter. Default value is 0. + + + + + Logarithmic step for iterating the statmodel parameter. + + + The grid determines the following iteration sequence of the statmodel parameter values: + \f[(minVal, minVal*step, minVal*{step}^2, \dots, minVal*{logStep}^n),\f] + where \f$n\f$ is the maximal index satisfying + \f[\texttt{minVal} * \texttt{logStep} ^n < \texttt{maxVal}\f] + The grid is logarithmic, so logStep must always be greater then 1. Default value is 1. + + + + + Constructor with parameters + + + + + + + + The class implements the random forest predictor. + + + + + Creates instance by raw pointer cv::ml::RTrees* + + + + + Creates the empty model. + + + + + + Loads and creates a serialized model from a file. + + + + + + + Loads algorithm from a String. + + he string variable containing the model you want to load. + + + + + Releases managed resources + + + + + If true then variable importance will be calculated and then + it can be retrieved by RTrees::getVarImportance. Default value is false. + + + + + The size of the randomly selected subset of features at each tree node + and that are used to find the best split(s). + + + + + The termination criteria that specifies when the training algorithm stops. + + + + + Returns the variable importance array. + The method returns the variable importance vector, computed at the training + stage when CalculateVarImportance is set to true. If this flag was set to false, + the empty matrix is returned. + + + + + + Base class for statistical models in ML + + + + + Returns the number of variables in training samples + + + + + + + + + + + + Returns true if the model is trained + + + + + + Returns true if the model is classifier + + + + + + Trains the statistical model + + training data that can be loaded from file using TrainData::loadFromCSV + or created with TrainData::create. + optional flags, depending on the model. Some of the models can be updated with the + new training samples, not completely overwritten (such as NormalBayesClassifier or ANN_MLP). + + + + + Trains the statistical model + + training samples + SampleTypes value + vector of responses associated with the training samples. + + + + + Computes error on the training or test dataset + + the training data + if true, the error is computed over the test subset of the data, + otherwise it's computed over the training subset of the data. Please note that if you + loaded a completely different dataset to evaluate already trained classifier, you will + probably want not to set the test subset at all with TrainData::setTrainTestSplitRatio + and specify test=false, so that the error is computed for the whole new set. Yes, this + sounds a bit confusing. + the optional output responses. + + + + + Predicts response(s) for the provided sample(s) + + The input samples, floating-point matrix + The optional output matrix of results. + The optional flags, model-dependent. + + + + + Predict options + + + + + makes the method return the raw results (the sum), not the class label + + + + + Support Vector Machines + + + + + Creates instance by raw pointer cv::ml::SVM* + + + + + Creates empty model. + Use StatModel::Train to train the model. + Since %SVM has several parameters, you may want to find the best + parameters for your problem, it can be done with SVM::TrainAuto. + + + + + + Loads and creates a serialized svm from a file. + Use SVM::save to serialize and store an SVM to disk. + Load the SVM from this file again, by calling this function with the path to the file. + + + + + + + Loads algorithm from a String. + + The string variable containing the model you want to load. + + + + + Releases managed resources + + + + + Type of a %SVM formulation. + Default value is SVM::C_SVC. + + + + + Parameter gamma of a kernel function. + For SVM::POLY, SVM::RBF, SVM::SIGMOID or SVM::CHI2. Default value is 1. + + + + + Parameter coef0 of a kernel function. + For SVM::POLY or SVM::SIGMOID. Default value is 0. + + + + + Parameter degree of a kernel function. + For SVM::POLY. Default value is 0. + + + + + Parameter C of a %SVM optimization problem. + For SVM::C_SVC, SVM::EPS_SVR or SVM::NU_SVR. Default value is 0. + + + + + Parameter nu of a %SVM optimization problem. + For SVM::NU_SVC, SVM::ONE_CLASS or SVM::NU_SVR. Default value is 0. + + + + + Parameter epsilon of a %SVM optimization problem. + For SVM::EPS_SVR. Default value is 0. + + + + + Optional weights in the SVM::C_SVC problem, assigned to particular classes. + + + They are multiplied by _C_ so the parameter _C_ of class _i_ becomes `classWeights(i) * C`. + Thus these weights affect the misclassification penalty for different classes. + The larger weight, the larger penalty on misclassification of data from the + corresponding class. Default value is empty Mat. + + + + + Termination criteria of the iterative SVM training procedure + which solves a partial case of constrained quadratic optimization problem. + + + You can specify tolerance and/or the maximum number of iterations. + Default value is `TermCriteria( TermCriteria::MAX_ITER + TermCriteria::EPS, 1000, FLT_EPSILON )`; + + + + + Type of a %SVM kernel. See SVM::KernelTypes. Default value is SVM::RBF. + + + + + Trains an %SVM with optimal parameters. + + the training data that can be constructed using + TrainData::create or TrainData::loadFromCSV. + Cross-validation parameter. The training set is divided into kFold subsets. + One subset is used to test the model, the others form the train set. So, the %SVM algorithm is + executed kFold times. + grid for C + grid for gamma + grid for p + grid for nu + grid for coeff + grid for degree + If true and the problem is 2-class classification then the method creates + more balanced cross-validation subsets that is proportions between classes in subsets are close + to such proportion in the whole train dataset. + + + + + Retrieves all the support vectors + + + + + + Retrieves the decision function + + i the index of the decision function. + If the problem solved is regression, 1-class or 2-class classification, then + there will be just one decision function and the index should always be 0. + Otherwise, in the case of N-class classification, there will be N(N-1)/2 decision functions. + alpha the optional output vector for weights, corresponding to + different support vectors. In the case of linear %SVM all the alpha's will be 1's. + the optional output vector of indices of support vectors + within the matrix of support vectors (which can be retrieved by SVM::getSupportVectors). + In the case of linear %SVM each decision function consists of a single "compressed" support vector. + + + + + Generates a grid for SVM parameters. + + SVM parameters IDs that must be one of the SVM::ParamTypes. + The grid is generated for the parameter with this ID. + + + + + SVM type + + + + + C-Support Vector Classification. n-class classification (n \f$\geq\f$ 2), + allows imperfect separation of classes with penalty multiplier C for outliers. + + + + + nu-Support Vector Classification. n-class classification with possible + imperfect separation. Parameter \f$\nu\f$ (in the range 0..1, the larger + the value, the smoother the decision boundary) is used instead of C. + + + + + Distribution Estimation (One-class %SVM). All the training data are from + the same class, %SVM builds a boundary that separates the class from the + rest of the feature space. + + + + + epsilon-Support Vector Regression. + The distance between feature vectors from the training set and the fitting + hyper-plane must be less than p. For outliers the penalty multiplier C is used. + + + + + nu-Support Vector Regression. \f$\nu\f$ is used instead of p. + See @cite LibSVM for details. + + + + + SVM kernel type + + + + + Returned by SVM::getKernelType in case when custom kernel has been set + + + + + Linear kernel. No mapping is done, linear discrimination (or regression) is + done in the original feature space. It is the fastest option. \f$K(x_i, x_j) = x_i^T x_j\f$. + + + + + Polynomial kernel: + \f$K(x_i, x_j) = (\gamma x_i^T x_j + coef0)^{degree}, \gamma > 0\f$. + + + + + Radial basis function (RBF), a good choice in most cases. + \f$K(x_i, x_j) = e^{-\gamma ||x_i - x_j||^2}, \gamma > 0\f$. + + + + + Sigmoid kernel: + \f$K(x_i, x_j) = \tanh(\gamma x_i^T x_j + coef0)\f$. + + + + + Exponential Chi2 kernel, similar to the RBF kernel: + \f$K(x_i, x_j) = e^{-\gamma \chi^2(x_i,x_j)}, \chi^2(x_i,x_j) = (x_i-x_j)^2/(x_i+x_j), \gamma > 0\f$. + + + + + Histogram intersection kernel. + A fast kernel. \f$K(x_i, x_j) = min(x_i,x_j)\f$. + + + + + SVM params type + + + + + + + + + + + + + + + The class implements the Expectation Maximization algorithm. + + + + + Creates instance by pointer cv::Ptr<EM> + + + + + Creates empty EM model. + + + + + + Loads and creates a serialized model from a file. + + + + + + + Loads algorithm from a String. + + he string variable containing the model you want to load. + + + + + Releases managed resources + + + + + The number of mixture components in the Gaussian mixture model. + Default value of the parameter is EM::DEFAULT_NCLUSTERS=5. + Some of EM implementation could determine the optimal number of mixtures + within a specified value range, but that is not the case in ML yet. + + + + + Constraint on covariance matrices which defines type of matrices. + + + + + The termination criteria of the %EM algorithm. + The EM algorithm can be terminated by the number of iterations + termCrit.maxCount (number of M-steps) or when relative change of likelihood + logarithm is less than termCrit.epsilon. + Default maximum number of iterations is EM::DEFAULT_MAX_ITERS=100. + + + + + Returns weights of the mixtures. + Returns vector with the number of elements equal to the number of mixtures. + + + + + + Returns the cluster centers (means of the Gaussian mixture). + Returns matrix with the number of rows equal to the number of mixtures and + number of columns equal to the space dimensionality. + + + + + + Returns covariation matrices. + Returns vector of covariation matrices. Number of matrices is the number of + gaussian mixtures, each matrix is a square floating-point matrix NxN, where N is the space dimensionality. + + + + + Estimate the Gaussian mixture parameters from a samples set. + + Samples from which the Gaussian mixture model will be estimated. It should be a + one-channel matrix, each row of which is a sample. If the matrix does not have CV_64F type + it will be converted to the inner matrix of such type for the further computing. + The optional output matrix that contains a likelihood logarithm value for + each sample. It has \f$nsamples \times 1\f$ size and CV_64FC1 type. + The optional output "class label" for each sample: + \f$\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\f$ (indices of the most probable + mixture component for each sample). It has \f$nsamples \times 1\f$ size and CV_32SC1 type. + The optional output matrix that contains posterior probabilities of each Gaussian + mixture component given the each sample. It has \f$nsamples \times nclusters\f$ size and CV_64FC1 type. + + + + + Estimate the Gaussian mixture parameters from a samples set. + + Samples from which the Gaussian mixture model will be estimated. It should be a + one-channel matrix, each row of which is a sample. If the matrix does not have CV_64F type + it will be converted to the inner matrix of such type for the further computing. + Initial means \f$a_k\f$ of mixture components. It is a one-channel matrix of + \f$nclusters \times dims\f$ size. If the matrix does not have CV_64F type it will be + converted to the inner matrix of such type for the further computing. + The vector of initial covariance matrices \f$S_k\f$ of mixture components. Each of + covariance matrices is a one-channel matrix of \f$dims \times dims\f$ size. If the matrices + do not have CV_64F type they will be converted to the inner matrices of such type for the further computing. + Initial weights \f$\pi_k\f$ of mixture components. It should be a one-channel + floating-point matrix with \f$1 \times nclusters\f$ or \f$nclusters \times 1\f$ size. + The optional output matrix that contains a likelihood logarithm value for + each sample. It has \f$nsamples \times 1\f$ size and CV_64FC1 type. + The optional output "class label" for each sample: + \f$\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\f$ (indices of the most probable + mixture component for each sample). It has \f$nsamples \times 1\f$ size and CV_32SC1 type. + The optional output matrix that contains posterior probabilities of each Gaussian + mixture component given the each sample. It has \f$nsamples \times nclusters\f$ size and CV_64FC1 type. + + + + Estimate the Gaussian mixture parameters from a samples set. + + Samples from which the Gaussian mixture model will be estimated. It should be a + one-channel matrix, each row of which is a sample. If the matrix does not have CV_64F type + it will be converted to the inner matrix of such type for the further computing. + the probabilities + The optional output matrix that contains a likelihood logarithm value for + each sample. It has \f$nsamples \times 1\f$ size and CV_64FC1 type. + The optional output "class label" for each sample: + \f$\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\f$ (indices of the most probable + mixture component for each sample). It has \f$nsamples \times 1\f$ size and CV_32SC1 type. + The optional output matrix that contains posterior probabilities of each Gaussian + mixture component given the each sample. It has \f$nsamples \times nclusters\f$ size and CV_64FC1 type. + + + + Predicts the response for sample + + A sample for classification. It should be a one-channel matrix of + \f$1 \times dims\f$ or \f$dims \times 1\f$ size. + Optional output matrix that contains posterior probabilities of each component + given the sample. It has \f$1 \times nclusters\f$ size and CV_64FC1 type. + + + + Type of covariation matrices + + + + + A scaled identity matrix \f$\mu_k * I\f$. + There is the only parameter \f$\mu_k\f$ to be estimated for each matrix. + The option may be used in special cases, when the constraint is relevant, + or as a first step in the optimization (for example in case when the data is + preprocessed with PCA). The results of such preliminary estimation may be + passed again to the optimization procedure, this time with covMatType=EM::COV_MAT_DIAGONAL. + + + + + A diagonal matrix with positive diagonal elements. + The number of free parameters is d for each matrix. + This is most commonly used option yielding good estimation results. + + + + + A symmetric positively defined matrix. The number of free parameters in each + matrix is about \f$d^2/2\f$. It is not recommended to use this option, unless + there is pretty accurate initial estimation of the parameters and/or a huge number + of training samples. + + + + + + + + + + The initial step the algorithm starts from + + + + + The algorithm starts with E-step. + At least, the initial values of mean vectors, CvEMParams.Means must be passed. + Optionally, the user may also provide initial values for weights (CvEMParams.Weights) + and/or covariation matrices (CvEMParams.Covs). + [CvEM::START_E_STEP] + + + + + The algorithm starts with M-step. The initial probabilities p_i,k must be provided. + [CvEM::START_M_STEP] + + + + + No values are required from the user, k-means algorithm is used to estimate initial mixtures parameters. + [CvEM::START_AUTO_STEP] + + + + + Cascade classifier class for object detection. + + + + + Default constructor + + + + + Loads a classifier from a file. + + Name of the file from which the classifier is loaded. + + + + Releases unmanaged resources + + + + + Checks whether the classifier has been loaded. + + + + + + Loads a classifier from a file. + + Name of the file from which the classifier is loaded. + The file may contain an old HAAR classifier trained by the haartraining application + or a new cascade classifier trained by the traincascade application. + + + + + Reads a classifier parameters from a file storage + + + + + + Detects objects of different sizes in the input image. The detected objects are returned as a list of rectangles. + + Matrix of the type CV_8U containing an image where objects are detected. + Parameter specifying how much the image size is reduced at each image scale. + Parameter specifying how many neighbors each candidate rectangle should have to retain it. + Parameter with the same meaning for an old cascade as in the function cvHaarDetectObjects. + It is not used for a new cascade. + Minimum possible object size. Objects smaller than that are ignored. + Maximum possible object size. Objects larger than that are ignored. + Vector of rectangles where each rectangle contains the detected object. + + + + Detects objects of different sizes in the input image. The detected objects are returned as a list of rectangles. + + Matrix of the type CV_8U containing an image where objects are detected. + + + Parameter specifying how much the image size is reduced at each image scale. + Parameter specifying how many neighbors each candidate rectangle should have to retain it. + Parameter with the same meaning for an old cascade as in the function cvHaarDetectObjects. + It is not used for a new cascade. + Minimum possible object size. Objects smaller than that are ignored. + Maximum possible object size. Objects larger than that are ignored. + + Vector of rectangles where each rectangle contains the detected object. + + + + + + + + + + + + + + + + + + + + + + Modes of operation for cvHaarDetectObjects + + + + + If it is set, the function uses Canny edge detector to reject some image regions that contain too few or too much edges and thus can not contain the searched object. + The particular threshold values are tuned for face detection and in this case the pruning speeds up the processing. + [CV_HAAR_DO_CANNY_PRUNING] + + + + + For each scale factor used the function will downscale the image rather than "zoom" the feature coordinates in the classifier cascade. + Currently, the option can only be used alone, i.e. the flag can not be set together with the others. + [CV_HAAR_SCALE_IMAGE] + + + + + If it is set, the function finds the largest object (if any) in the image. That is, the output sequence will contain one (or zero) element(s). + [CV_HAAR_FIND_BIGGEST_OBJECT] + + + + + It should be used only when FindBiggestObject is set and min_neighbors > 0. + If the flag is set, the function does not look for candidates of a smaller size + as soon as it has found the object (with enough neighbor candidates) at the current scale. + Typically, when min_neighbors is fixed, the mode yields less accurate (a bit larger) object rectangle + than the regular single-object mode (flags=FindBiggestObject), + but it is much faster, up to an order of magnitude. A greater value of min_neighbors may be specified to improve the accuracy. + [CV_HAAR_DO_ROUGH_SEARCH] + + + + + L2-Hys normalization method + + + + + [HOGDescriptor::L2Hys] + + + + + HOG (Histogram-of-Oriented-Gradients) Descriptor and Object Detector + + + + + + + + + + + + + + + Returns coefficients of the classifier trained for people detection (for default window size). + + + + + This field returns 1981 SVM coeffs obtained from daimler's base. + To use these coeffs the detection window size should be (48,96) + + + + + Default constructor + + + + + Creates the HOG descriptor and detector. + + Detection window size. Align to block size and block stride. + Block size in pixels. Align to cell size. Only (16,16) is supported for now. + Block stride. It must be a multiple of cell size. + Cell size. Only (8, 8) is supported for now. + Number of bins. Only 9 bins per cell are supported for now. + + Gaussian smoothing window parameter. + + L2-Hys normalization method shrinkage. + Flag to specify whether the gamma correction preprocessing is required or not. + Maximum number of detection window increases. + + + + Construct from a file containing HOGDescriptor properties and coefficients for the linear SVM classifier. + + The file name containing HOGDescriptor properties and coefficients for the linear SVM classifier. + + + + Releases unmanaged resources + + + + + Detection window size. Align to block size and block stride. Default value is Size(64,128). + + + + + Block size in pixels. Align to cell size. Default value is Size(16,16). + + + + + Block stride. It must be a multiple of cell size. Default value is Size(8,8). + + + + + Cell size. Default value is Size(8,8). + + + + + Number of bins used in the calculation of histogram of gradients. Default value is 9. + + + + + + + + + + Gaussian smoothing window parameter. + + + + + HistogramNormType + + + + + L2-Hys normalization method shrinkage. + + + + + Flag to specify whether the gamma correction preprocessing is required or not. + + + + + Maximum number of detection window increases. Default value is 64 + + + + + Indicates signed gradient will be used or not + + + + + Returns coefficients of the classifier trained for people detection (for default window size). + + + + + + This method returns 1981 SVM coeffs obtained from daimler's base. + To use these coeffs the detection window size should be (48,96) + + + + + + Sets coefficients for the linear SVM classifier. + + coefficients for the linear SVM classifier. + + + + loads HOGDescriptor parameters and coefficients for the linear SVM classifier from a file. + + Path of the file to read. + The optional name of the node to read (if empty, the first top-level node will be used). + + + + + saves HOGDescriptor parameters and coefficients for the linear SVM classifier to a file + + File name + Object name + + + + + + + + + + + + + + + + + + + + + + Computes HOG descriptors of given image. + + Matrix of the type CV_8U containing an image where HOG features will be calculated. + Window stride. It must be a multiple of block stride. + Padding + Vector of Point + Matrix of the type CV_32F + + + + Performs object detection without a multi-scale window. + + Source image. CV_8UC1 and CV_8UC4 types are supported for now. + Threshold for the distance between features and SVM classifying plane. + Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient). + But if the free coefficient is omitted (which is allowed), you can specify it manually here. + Window stride. It must be a multiple of block stride. + Mock parameter to keep the CPU interface compatibility. It must be (0,0). + + Left-top corner points of detected objects boundaries. + + + + Performs object detection without a multi-scale window. + + Source image. CV_8UC1 and CV_8UC4 types are supported for now. + + Threshold for the distance between features and SVM classifying plane. + Usually it is 0 and should be specfied in the detector coefficients (as the last free coefficient). + But if the free coefficient is omitted (which is allowed), you can specify it manually here. + Window stride. It must be a multiple of block stride. + Mock parameter to keep the CPU interface compatibility. It must be (0,0). + + Left-top corner points of detected objects boundaries. + + + + Performs object detection with a multi-scale window. + + Source image. CV_8UC1 and CV_8UC4 types are supported for now. + Threshold for the distance between features and SVM classifying plane. + Window stride. It must be a multiple of block stride. + Mock parameter to keep the CPU interface compatibility. It must be (0,0). + Coefficient of the detection window increase. + Coefficient to regulate the similarity threshold. + When detected, some objects can be covered by many rectangles. 0 means not to perform grouping. + Detected objects boundaries. + + + + Performs object detection with a multi-scale window. + + Source image. CV_8UC1 and CV_8UC4 types are supported for now. + + Threshold for the distance between features and SVM classifying plane. + Window stride. It must be a multiple of block stride. + Mock parameter to keep the CPU interface compatibility. It must be (0,0). + Coefficient of the detection window increase. + Coefficient to regulate the similarity threshold. + When detected, some objects can be covered by many rectangles. 0 means not to perform grouping. + Detected objects boundaries. + + + + Computes gradients and quantized gradient orientations. + + Matrix contains the image to be computed + Matrix of type CV_32FC2 contains computed gradients + Matrix of type CV_8UC2 contains quantized gradient orientations + Padding from top-left + Padding from bottom-right + + + + evaluate specified ROI and return confidence value for each location + + Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected. + Vector of Point + Vector of Point where each Point is detected object's top-left point. + confidences + Threshold for the distance between features and SVM classifying plane. Usually + it is 0 and should be specified in the detector coefficients (as the last free coefficient). But if + the free coefficient is omitted (which is allowed), you can specify it manually here + winStride + padding + + + + evaluate specified ROI and return confidence value for each location in multiple scales + + Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected. + Vector of rectangles where each rectangle contains the detected object. + Vector of DetectionROI + Threshold for the distance between features and SVM classifying plane. Usually it is 0 and should be specified + in the detector coefficients (as the last free coefficient). But if the free coefficient is omitted (which is allowed), you can specify it manually here. + Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + + + + Groups the object candidate rectangles. + + Input/output vector of rectangles. Output vector includes retained and grouped rectangles. (The Python list is not modified in place.) + Input/output vector of weights of rectangles. Output vector includes weights of retained and grouped rectangles. (The Python list is not modified in place.) + Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + Relative difference between sides of the rectangles to merge them into a group. + + + + struct for detection region of interest (ROI) + + + + + scale(size) of the bounding box + + + + + set of requested locations to be evaluated + + + + + vector that will contain confidence values for each location + + + + + Constructor + + + + + + + + + + + + + + + Releases unmanaged resources + + + + + sets the epsilon used during the horizontal scan of QR code stop marker detection. + + Epsilon neighborhood, which allows you to determine the horizontal pattern + of the scheme 1:1:3:1:1 according to QR code standard. + + + + sets the epsilon used during the vertical scan of QR code stop marker detection. + + Epsilon neighborhood, which allows you to determine the vertical pattern + of the scheme 1:1:3:1:1 according to QR code standard. + + + + Detects QR code in image and returns the quadrangle containing the code. + + grayscale or color (BGR) image containing (or not) QR code. + Output vector of vertices of the minimum-area quadrangle containing the code. + + + + + Decodes QR code in image once it's found by the detect() method. + Returns UTF8-encoded output string or empty string if the code cannot be decoded. + + grayscale or color (BGR) image containing QR code. + Quadrangle vertices found by detect() method (or some other algorithm). + The optional output image containing rectified and binarized QR code + + + + + Both detects and decodes QR code + + grayscale or color (BGR) image containing QR code. + optional output array of vertices of the found QR code quadrangle. Will be empty if not found. + The optional output image containing rectified and binarized QR code + + + + + Detects QR codes in image and returns the quadrangles containing the codes. + + grayscale or color (BGR) image containing (or not) QR code. + Output vector of vertices of the minimum-area quadrangle containing the codes. + + + + + Decodes QR codes in image once it's found by the detect() method. + Returns UTF8-encoded output string or empty string if the code cannot be decoded. + + grayscale or color (BGR) image containing QR code. + Quadrangle vertices found by detect() method (or some other algorithm). + UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded. + + + + + Decodes QR codes in image once it's found by the detect() method. + Returns UTF8-encoded output string or empty string if the code cannot be decoded. + + grayscale or color (BGR) image containing QR code. + Quadrangle vertices found by detect() method (or some other algorithm). + UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded. + The optional output image containing rectified and binarized QR code + + + + + Decodes QR codes in image once it's found by the detect() method. + Returns UTF8-encoded output string or empty string if the code cannot be decoded. + + grayscale or color (BGR) image containing QR code. + Quadrangle vertices found by detect() method (or some other algorithm). + UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded. + The optional output image containing rectified and binarized QR code + to output + + + + + Class for grouping object candidates, detected by Cascade Classifier, HOG etc. + instance of the class is to be passed to cv::partition (see cxoperations.hpp) + + + + + + + + + + + + + + cv::optflow functions + + + + + Updates motion history image using the current silhouette + + Silhouette mask that has non-zero pixels where the motion occurs. + Motion history image that is updated by the function (single-channel, 32-bit floating-point). + Current time in milliseconds or other units. + Maximal duration of the motion track in the same units as timestamp . + + + + Computes the motion gradient orientation image from the motion history image + + Motion history single-channel floating-point image. + Output mask image that has the type CV_8UC1 and the same size as mhi. + Its non-zero elements mark pixels where the motion gradient data is correct. + Output motion gradient orientation image that has the same type and the same size as mhi. + Each pixel of the image is a motion orientation, from 0 to 360 degrees. + Minimal (or maximal) allowed difference between mhi values within a pixel neighborhood. + Maximal (or minimal) allowed difference between mhi values within a pixel neighborhood. + That is, the function finds the minimum ( m(x,y) ) and maximum ( M(x,y) ) mhi values over 3x3 neighborhood of each pixel + and marks the motion orientation at (x, y) as valid only if: + min(delta1, delta2) <= M(x,y)-m(x,y) <= max(delta1, delta2). + + + + + Computes the global orientation of the selected motion history image part + + Motion gradient orientation image calculated by the function CalcMotionGradient() . + Mask image. It may be a conjunction of a valid gradient mask, also calculated by CalcMotionGradient() , + and the mask of a region whose direction needs to be calculated. + Motion history image calculated by UpdateMotionHistory() . + Timestamp passed to UpdateMotionHistory() . + Maximum duration of a motion track in milliseconds, passed to UpdateMotionHistory() . + + + + + Splits a motion history image into a few parts corresponding to separate independent motions + (for example, left hand, right hand). + + Motion history image. + Image where the found mask should be stored, single-channel, 32-bit floating-point. + Vector containing ROIs of motion connected components. + Current time in milliseconds or other units. + Segmentation threshold that is recommended to be equal to the interval between motion history “steps” or greater. + + + + computes dense optical flow using Simple Flow algorithm + + First 8-bit 3-channel image. + Second 8-bit 3-channel image + Estimated flow + Number of layers + Size of block through which we sum up when calculate cost function for pixel + maximal flow that we search at each level + + + + computes dense optical flow using Simple Flow algorithm + + First 8-bit 3-channel image. + Second 8-bit 3-channel image + Estimated flow + Number of layers + Size of block through which we sum up when calculate cost function for pixel + maximal flow that we search at each level + vector smooth spatial sigma parameter + vector smooth color sigma parameter + window size for postprocess cross bilateral filter + spatial sigma for postprocess cross bilateralf filter + color sigma for postprocess cross bilateral filter + threshold for detecting occlusions + window size for bilateral upscale operation + spatial sigma for bilateral upscale operation + color sigma for bilateral upscale operation + threshold to detect point with irregular flow - where flow should be recalculated after upscale + + + + Fast dense optical flow based on PyrLK sparse matches interpolation. + + first 8-bit 3-channel or 1-channel image. + second 8-bit 3-channel or 1-channel image of the same size as from + computed flow image that has the same size as from and CV_32FC2 type + stride used in sparse match computation. Lower values usually + result in higher quality but slow down the algorithm. + number of nearest-neighbor matches considered, when fitting a locally affine + model. Lower values can make the algorithm noticeably faster at the cost of some quality degradation. + parameter defining how fast the weights decrease in the locally-weighted affine + fitting. Higher values can help preserve fine details, lower values can help to get rid of the noise in the output flow. + defines whether the ximgproc::fastGlobalSmootherFilter() is used for post-processing after interpolation + see the respective parameter of the ximgproc::fastGlobalSmootherFilter() + see the respective parameter of the ximgproc::fastGlobalSmootherFilter() + + + + The base class for camera response calibration algorithms. + + + + + Recovers inverse camera response. + + vector of input images + 256x1 matrix with inverse camera response function + vector of exposure time values for each image + + + + CalibrateDebevec object + + + + + Creates instance by raw pointer cv::CalibrateDebevec* + + + + + Creates the empty model. + + number of pixel locations to use + smoothness term weight. Greater values produce smoother results, + but can alter the response. + if true sample pixel locations are chosen at random, + otherwise the form a rectangular grid. + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + CalibrateRobertson object + + + + + Creates instance by raw pointer cv::CalibrateRobertson* + + + + + Creates CalibrateRobertson object + + maximal number of Gauss-Seidel solver iterations. + target difference between results of two successive steps of the minimization. + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + Edge preserving filters + + + + + Recursive Filtering + + + + + Normalized Convolution Filtering + + + + + The inpainting method + + + + + Navier-Stokes based method. + + + + + The method by Alexandru Telea + + + + + The resulting HDR image is calculated as weighted average of the exposures considering exposure + values and camera response. + + For more information see @cite DM97 . + + + + + Creates instance by MergeDebevec* + + + + + Creates the empty model. + + + + + + Releases managed resources + + + + + The base class algorithms that can merge exposure sequence to a single image. + + + + + Merges images. + + vector of input images + result image + vector of exposure time values for each image + 256x1 matrix with inverse camera response function for each pixel value, it should have the same number of channels as images. + + + + Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combined using laplacian pyramids. + + The resulting image weight is constructed as weighted average of contrast, saturation and well-exposedness measures. + + The resulting image doesn't require tonemapping and can be converted to 8-bit image by multiplying by 255, + but it's recommended to apply gamma correction and/or linear tonemapping. + + For more information see @cite MK07 . + + + + + Creates instance by MergeMertens* + + + + + Creates the empty model. + + + + + + Short version of process, that doesn't take extra arguments. + + vector of input images + result image + + + + Releases managed resources + + + + + SeamlessClone method + + + + + The power of the method is fully expressed when inserting objects with + complex outlines into a new background. + + + + + The classic method, color-based selection and alpha masking might be time + consuming and often leaves an undesirable halo. Seamless cloning, even averaged + with the original image, is not effective. Mixed seamless cloning based on a + loose selection proves effective. + + + + + Feature exchange allows the user to easily replace certain features of one + object by alternative features. + + + + + Base class for tonemapping algorithms - tools that are used to map HDR image to 8-bit range. + + + + + Constructor used by Tonemap.Create + + + + + Constructor used by subclasses + + + + + Creates simple linear mapper with gamma correction + + positive value for gamma correction. + Gamma value of 1.0 implies no correction, gamma equal to 2.2f is suitable for most displays. + Generally gamma > 1 brightens the image and gamma < 1 darkens it. + + + + + Releases managed resources + + + + + Tonemaps image + + source image - CV_32FC3 Mat (float 32 bits 3 channels) + destination image - CV_32FC3 Mat with values in [0, 1] range + + + + Gets or sets positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma + equal to 2.2f is suitable for most displays. + Generally gamma > 1 brightens the image and gamma < 1 darkens it. + + + + + Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in logarithmic domain. + + Since it's a global operator the same function is applied to all the pixels, it is controlled by the bias parameter. + Optional saturation enhancement is possible as described in @cite FL02. For more information see @cite DM03. + + + + + Constructor + + + + + Creates TonemapDrago object + + positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma + equal to 2.2f is suitable for most displays. + Generally gamma > 1 brightens the image and gamma < 1 darkens it. + positive saturation enhancement value. 1.0 preserves saturation, values greater + than 1 increase saturation and values less than 1 decrease it. + value for bias function in [0, 1] range. Values from 0.7 to 0.9 usually give best + results, default value is 0.85. + + + + + Releases managed resources + + + + + Gets or sets positive saturation enhancement value. 1.0 preserves saturation, values greater + than 1 increase saturation and values less than 1 decrease it. + + + + + Gets or sets value for bias function in [0, 1] range. Values from 0.7 to 0.9 usually give best + results, default value is 0.85. + + + + + This algorithm transforms image to contrast using gradients on all levels of gaussian pyramid, + transforms contrast values to HVS response and scales the response. After this the image is + reconstructed from new contrast values. + + For more information see @cite MM06. + + + + + Constructor + + + + + Creates TonemapMantiuk object + + positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma + equal to 2.2f is suitable for most displays. + Generally gamma > 1 brightens the image and gamma < 1 darkens it. + contrast scale factor. HVS response is multiplied by this parameter, thus compressing + dynamic range. Values from 0.6 to 0.9 produce best results. + + + + + + Releases managed resources + + + + + Gets or sets contrast scale factor. HVS response is multiplied by this parameter, thus compressing + dynamic range. Values from 0.6 to 0.9 produce best results. + + + + + Gets or sets positive saturation enhancement value. 1.0 preserves saturation, values greater + than 1 increase saturation and values less than 1 decrease it. + + + + + This is a global tonemapping operator that models human visual system. + + Mapping function is controlled by adaptation parameter, that is computed using light adaptation and + color adaptation. For more information see @cite RD05. + + + + + Constructor + + + + + Creates TonemapReinhard object + + positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma + equal to 2.2f is suitable for most displays. + Generally gamma > 1 brightens the image and gamma < 1 darkens it. + result intensity in [-8, 8] range. Greater intensity produces brighter results. + light adaptation in [0, 1] range. If 1 adaptation is based only on pixel + value, if 0 it's global, otherwise it's a weighted mean of this two cases. + chromatic adaptation in [0, 1] range. If 1 channels are treated independently, + if 0 adaptation level is the same for each channel. + + + + + Releases managed resources + + + + + Gets or sets result intensity in [-8, 8] range. Greater intensity produces brighter results. + + + + + Gets or sets light adaptation in [0, 1] range. If 1 adaptation is based only on pixel + value, if 0 it's global, otherwise it's a weighted mean of this two cases. + + + + + Gets or sets chromatic adaptation in [0, 1] range. If 1 channels are treated independently, + if 0 adaptation level is the same for each channel. + + + + + Quality Base Class + + + + + Implements Algorithm::empty() + + + + + + Returns output quality map that was generated during computation, if supported by the algorithm + + + + + + Compute quality score per channel with the per-channel score in each element of the resulting cv::Scalar. + See specific algorithm for interpreting result scores + + comparison image, or image to evaluate for no-reference quality algorithms + + + + Implements Algorithm::clear() + + + + + BRISQUE (Blind/Referenceless Image Spatial Quality Evaluator) is a No Reference Image Quality Assessment (NR-IQA) algorithm. + BRISQUE computes a score based on extracting Natural Scene Statistics(https://en.wikipedia.org/wiki/Scene_statistics) + and calculating feature vectors. See Mittal et al. @cite Mittal2 for original paper and original implementation @cite Mittal2_software. + A trained model is provided in the /samples/ directory and is trained on the LIVE-R2 database @cite Sheikh as in the original implementation. + When evaluated against the TID2008 database @cite Ponomarenko, the SROCC is -0.8424 versus the SROCC of -0.8354 in the original implementation. + C++ code for the BRISQUE LIVE-R2 trainer and TID2008 evaluator are also provided in the /samples/ directory. + + + + + Creates instance by raw pointer + + + + + Create an object which calculates quality + + String which contains a path to the BRISQUE model data, eg. /path/to/brisque_model_live.yml + String which contains a path to the BRISQUE range data, eg. /path/to/brisque_range_live.yml + + + + + Create an object which calculates quality + + cv::ml::SVM* which contains a loaded BRISQUE model + cv::Mat which contains BRISQUE range data + + + + + static method for computing quality + + image for which to compute quality + String which contains a path to the BRISQUE model data, eg. /path/to/brisque_model_live.yml + cv::String which contains a path to the BRISQUE range data, eg. /path/to/brisque_range_live.yml + cv::Scalar with the score in the first element. The score ranges from 0 (best quality) to 100 (worst quality) + + + + static method for computing image features used by the BRISQUE algorithm + + image (BGR(A) or grayscale) for which to compute features + output row vector of features to cv::Mat or cv::UMat + + + + Releases managed resources + + + + + Full reference GMSD algorithm + + + + + Creates instance by raw pointer + + + + + Create an object which calculates quality + + input image to use as the source for comparison + + + + + static method for computing quality + + + + output quality map, or null + cv::Scalar with per-channel quality values. Values range from 0 (worst) to 1 (best) + + + + Releases managed resources + + + + + Full reference mean square error algorithm https://en.wikipedia.org/wiki/Mean_squared_error + + + + + Creates instance by raw pointer + + + + + Create an object which calculates quality + + input image to use as the source for comparison + + + + + static method for computing quality + + + + output quality map, or null + cv::Scalar with per-channel quality values. Values range from 0 (worst) to 1 (best) + + + + Releases managed resources + + + + + Full reference peak signal to noise ratio (PSNR) algorithm https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio + + + + + Creates instance by raw pointer + + + + + get or set the maximum pixel value used for PSNR computation + + + + + + Create an object which calculates quality + + input image to use as the source for comparison + maximum per-channel value for any individual pixel; eg 255 for uint8 image + + + + + static method for computing quality + + + + output quality map, or null + maximum per-channel value for any individual pixel; eg 255 for uint8 image + PSNR value, or double.PositiveInfinity if the MSE between the two images == 0 + + + + Releases managed resources + + + + + Full reference structural similarity algorithm https://en.wikipedia.org/wiki/Structural_similarity + + + + + Creates instance by raw pointer + + + + + Create an object which calculates quality + + input image to use as the source for comparison + + + + + static method for computing quality + + + + output quality map, or null + cv::Scalar with per-channel quality values. Values range from 0 (worst) to 1 (best) + + + + Releases managed resources + + + + + A simple Hausdorff distance measure between shapes defined by contours + + + according to the paper "Comparing Images using the Hausdorff distance." + by D.P. Huttenlocher, G.A. Klanderman, and W.J. Rucklidge. (PAMI 1993). : + + + + + + + + + + Complete constructor + + Flag indicating which norm is used to compute the Hausdorff distance (NORM_L1, NORM_L2). + fractional value (between 0 and 1). + + + + + Releases managed resources + + + + + Flag indicating which norm is used to compute the Hausdorff distance (NORM_L1, NORM_L2). + + + + + fractional value (between 0 and 1). + + + + + Implementation of the Shape Context descriptor and matching algorithm + + + proposed by Belongie et al. in "Shape Matching and Object Recognition Using Shape Contexts" + (PAMI2002). This implementation is packaged in a generic scheme, in order to allow + you the implementation of the common variations of the original pipeline. + + + + + + + + + + Complete constructor + + The number of angular bins in the shape context descriptor. + The number of radial bins in the shape context descriptor. + The value of the inner radius. + The value of the outer radius. + + + + + + Releases managed resources + + + + + The number of angular bins in the shape context descriptor. + + + + + The number of radial bins in the shape context descriptor. + + + + + The value of the inner radius. + + + + + The value of the outer radius. + + + + + + + + + + The weight of the shape context distance in the final distance value. + + + + + The weight of the appearance cost in the final distance value. + + + + + The weight of the Bending Energy in the final distance value. + + + + + + + + + + The value of the standard deviation for the Gaussian window for the image appearance cost. + + + + + Set the images that correspond to each shape. + This images are used in the calculation of the Image Appearance cost. + + Image corresponding to the shape defined by contours1. + Image corresponding to the shape defined by contours2. + + + + Get the images that correspond to each shape. + This images are used in the calculation of the Image Appearance cost. + + Image corresponding to the shape defined by contours1. + Image corresponding to the shape defined by contours2. + + + + Abstract base class for shape distance algorithms. + + + + + Compute the shape distance between two shapes defined by its contours. + + Contour defining first shape. + Contour defining second shape. + + + + + Features matcher similar to cv::detail::BestOf2NearestMatcher which + finds two best matches for each feature and leaves the best one only if the + ratio between descriptor distances is greater than the threshold match_conf. + + Unlike cv::detail::BestOf2NearestMatcher this matcher uses affine + transformation (affine transformation estimate will be placed in matches_info). + + + + + Constructs a "best of 2 nearest" matcher that expects affine transformation between images + + whether to use full affine transformation with 6 degress of freedom + or reduced transformation with 4 degrees of freedom using only rotation, translation and + uniform scaling + Should try to use GPU or not + Match distances ration threshold + Minimum number of matches required for the 2D affine transform + estimation used in the inliers classification step + + + + releases unmanaged resources + + + + + Features matcher which finds two best matches for each feature and leaves the best one only if the + ratio between descriptor distances is greater than the threshold match_conf + + + + + Constructs a "best of 2 nearest" matcher. + + Should try to use GPU or not + Match distances ration threshold + Minimum number of matches required for the 2D projective transform + estimation used in the inliers classification step + Minimum number of matches required for the 2D projective transform + re-estimation on inliers + + + + Constructor + + + + + + releases unmanaged resources + + + + + Frees unused memory allocated before if there is any. + + + + + cv::detail functions + + + + + + + + + + + + + + + + + + + + + Feature matchers base class. + + + + + Constructor + + + + + + Performs images matching. + + First image features + Second image features + Found matches + + + + Performs images matching. + + Features of the source images + Mask indicating which image pairs must be matched + Found pairwise matches + + + + True, if it's possible to use the same matcher instance in parallel, false otherwise + + + + + + Frees unused memory allocated before if there is any. + + + + + Structure containing image keypoints and descriptors. + + + + + Constructor + + + + + + + + + Destructor + + + + + + + + + + + + + Structure containing information about matches between two images. + + It's assumed that there is a transformation between those images. Transformation may be + homography or affine transformation based on selected matcher. + + + + + Images indices (optional) + + + + + Images indices (optional) + + + + + + + + + + Geometrically consistent matches mask + + + + + Number of geometrically consistent matches + + + + + Estimated transformation + + + + + Confidence two images are from the same panorama + + + + + Constructor + + + + + + + + + + + + Copy constructor + + + + + + Dispose H + + + + + High level image stitcher. + It's possible to use this class without being aware of the entire stitching + pipeline. However, to be able to achieve higher stitching stability and + quality of the final images at least being familiar with the theory is recommended + + + + + Status code + + + + + Mode for creating photo panoramas. Expects images under perspective + transformation and projects resulting pano to sphere. + + + + + Mode for composing scans. Expects images under affine transformation does + not compensate exposure by default. + + + + + Constructor + + cv::Stitcher* + + + + Creates a Stitcher configured in one of the stitching modes. + + Scenario for stitcher operation. This is usually determined by source of images + to stitch and their transformation.Default parameters will be chosen for operation in given scenario. + + + + Releases managed resources + + + + + Try to stitch the given images. + + Input images. + Final pano. + Status code. + + + + Try to stitch the given images. + + Input images. + Final pano. + Status code. + + + + Try to stitch the given images. + + Input images. + Region of interest rectangles. + Final pano. + Status code. + + + + Try to stitch the given images. + + Input images. + Region of interest rectangles. + Final pano. + Status code. + + + + + + + + + + + + + + + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clear all inner buffers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + Releases managed resources + + + + + + + + + + + + + + + + + + + + Base class for Super Resolution algorithms. + + + + + Constructor + + + + + Creates instance from cv::Ptr<T> . + ptr is disposed when the wrapper disposes. + + + + + + + Releases managed resources + + + + + Create Bilateral TV-L1 Super Resolution. + + + + + + Create Bilateral TV-L1 Super Resolution. + + + + + + Set input frame source for Super Resolution algorithm. + + Input frame source + + + + Process next frame from input and return output result. + + Output result + + + + + + + + Clear all inner buffers. + + + + + + + + + + + + + + + + Scale factor + + + + + Iterations count + + + + + Asymptotic value of steepest descent method + + + + + Weight parameter to balance data term and smoothness term + + + + + Parameter of spacial distribution in Bilateral-TV + + + + + Kernel size of Bilateral-TV filter + + + + + Gaussian blur kernel size + + + + + Gaussian blur sigma + + + + + Radius of the temporal search area + + + + + base class BaseOCR declares a common API that would be used in a typical text recognition scenario + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cv::text functions + + + + + Applies the Stroke Width Transform operator followed by filtering of connected components of similar Stroke Widths to + return letter candidates. It also chain them by proximity and size, saving the result in chainBBs. + + input the input image with 3 channels. + a boolean value signifying whether the text is darker or lighter than the background, + it is observed to reverse the gradient obtained from Scharr operator, and significantly affect the result. + an optional Mat of type CV_8UC3 which visualises the detected letters using bounding boxes. + an optional parameter which chains the letter candidates according to heuristics in the + paper and returns all possible regions where text is likely to occur. + a vector of resulting bounding boxes where probability of finding text is high + + + + Recognize text using the tesseract-ocr API. + + Takes image on input and returns recognized text in the output_text parameter. + Optionallyprovides also the Rects for individual text elements found(e.g.words), + and the list of those text elements with their confidence values. + + + + + Constructor + + + + + + Creates an instance of the OCRTesseract class. Initializes Tesseract. + + datapath the name of the parent directory of tessdata ended with "/", or null to use the system's default directory. + an ISO 639-3 code or NULL will default to "eng". + specifies the list of characters used for recognition. + null defaults to "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ". + tesseract-ocr offers different OCR Engine Modes (OEM), + by deffault tesseract::OEM_DEFAULT is used.See the tesseract-ocr API documentation for other possible values. + tesseract-ocr offers different Page Segmentation Modes (PSM) tesseract::PSM_AUTO (fully automatic layout analysis) is used. + See the tesseract-ocr API documentation for other possible values. + + + + Releases managed resources + + + + + Recognize text using the tesseract-ocr API. + Takes image on input and returns recognized text in the output_text parameter. + Optionally provides also the Rects for individual text elements found(e.g.words), + and the list of those text elements with their confidence values. + + Input image CV_8UC1 or CV_8UC3 + Output text of the tesseract-ocr. + If provided the method will output a list of Rects for the individual + text elements found(e.g.words or text lines). + If provided the method will output a list of text strings for the + recognition of individual text elements found(e.g.words or text lines). + If provided the method will output a list of confidence values + for the recognition of individual text elements found(e.g.words or text lines). + OCR_LEVEL_WORD (by default), or OCR_LEVEL_TEXT_LINE. + + + + Recognize text using the tesseract-ocr API. + Takes image on input and returns recognized text in the output_text parameter. + Optionally provides also the Rects for individual text elements found(e.g.words), + and the list of those text elements with their confidence values. + + Input image CV_8UC1 or CV_8UC3 + + Output text of the tesseract-ocr. + If provided the method will output a list of Rects for the individual + text elements found(e.g.words or text lines). + If provided the method will output a list of text strings for the + recognition of individual text elements found(e.g.words or text lines). + If provided the method will output a list of confidence values + for the recognition of individual text elements found(e.g.words or text lines). + OCR_LEVEL_WORD (by default), or OCR_LEVEL_TEXT_LINE. + + + + + + + + + + An abstract class providing interface for text detection algorithms + + + + + Method that provides a quick and simple interface to detect text inside an image + + an image to process + a vector of Rect that will store the detected word bounding box + a vector of float that will be updated with the confidence the classifier has for the selected bounding box + + + + TextDetectorCNN class provides the functionality of text bounding box detection. + + + This class is representing to find bounding boxes of text words given an input image. + This class uses OpenCV dnn module to load pre-trained model described in @cite LiaoSBWL17. + The original repository with the modified SSD Caffe version: https://github.com/MhLiao/TextBoxes. + Model can be downloaded from[DropBox](https://www.dropbox.com/s/g8pjzv2de9gty8g/TextBoxes_icdar13.caffemodel?dl=0). + Modified.prototxt file with the model description can be found in `opencv_contrib/modules/text/samples/textbox.prototxt`. + + + + + cv::Ptr<T> + + + + + Creates an instance of the TextDetectorCNN class using the provided parameters. + + the relative or absolute path to the prototxt file describing the classifiers architecture. + the relative or absolute path to the file containing the pretrained weights of the model in caffe-binary form. + a list of sizes for multiscale detection. The values`[(300,300),(700,500),(700,300),(700,700),(1600,1600)]` + are recommended in @cite LiaoSBWL17 to achieve the best quality. + + + + + Creates an instance of the TextDetectorCNN class using the provided parameters. + + the relative or absolute path to the prototxt file describing the classifiers architecture. + the relative or absolute path to the file containing the pretrained weights of the model in caffe-binary form. + + + + + Releases managed resources + + + + + Method that provides a quick and simple interface to detect text inside an image + + an image to process + a vector of Rect that will store the detected word bounding box + a vector of float that will be updated with the confidence the classifier has for the selected bounding box + + + + + the CSRT tracker + The implementation is based on @cite Lukezic_IJCV2018 Discriminative Correlation Filter with Channel and Spatial Reliability + + + + + + + + + + Constructor + + + + + + Constructor + + CSRT parameters + + + + + + + + + + + CSRT Params + + + + + Window function: "hann", "cheb", "kaiser" + + + + + we lost the target, if the psr is lower than this. + + + + + + KCF is a novel tracking framework that utilizes properties of circulant matrix to enhance the processing speed. + * This tracking method is an implementation of @cite KCF_ECCV which is extended to KFC with color-names features(@cite KCF_CN). + * The original paper of KCF is available at [http://www.robots.ox.ac.uk/~joao/publications/henriques_tpami2015.pdf] + * as well as the matlab implementation.For more information about KCF with color-names features, please refer to + * [http://www.cvl.isy.liu.se/research/objrec/visualtracking/colvistrack/index.html]. + + + + + + + + + + Constructor + + + + + + Constructor + + KCF parameters TrackerKCF::Params + + + + + + + + + detection confidence threshold + + + + + gaussian kernel bandwidth + + + + + regularization + + + + + linear interpolation factor for adaptation + + + + + spatial bandwidth (proportional to target) + + + + + compression learning rate + + + + + activate the resize feature to improve the processing speed + + + + + split the training coefficients into two matrices + + + + + wrap around the kernel values + + + + + activate the pca method to compress the features + + + + + threshold for the ROI size + + + + + feature size after compression + + + + + compressed descriptors of TrackerKCF::MODE + + + + + non-compressed descriptors of TrackerKCF::MODE + + + + + channel indices for multi-head camera live streams + + + + + Depth values in mm (CV_16UC1) + + + + + XYZ in meters (CV_32FC3) + + + + + Disparity in pixels (CV_8UC1) + + + + + Disparity in pixels (CV_32FC1) + + + + + CV_8UC1 + + + + + Position in relative units + + + + + Start of the file + + + + + End of the file + + + + + Capture type of CvCapture (Camera or AVI file) + + + + + Captures from an AVI file + + + + + Captures from digital camera + + + + + + + + + + Video Acceleration type + Used as value in #CAP_PROP_HW_ACCELERATION and #VIDEOWRITER_PROP_HW_ACCELERATION + note In case of FFmpeg backend, it translated to enum AVHWDeviceType (https://github.com/FFmpeg/FFmpeg/blob/master/libavutil/hwcontext.h) + + + + + Do not require any specific H/W acceleration, prefer software processing. + Reading of this value means that special H/W accelerated handling is not added or not detected by OpenCV. + + + + + Prefer to use H/W acceleration. If no one supported, then fallback to software processing. + note H/W acceleration may require special configuration of used environment. + note Results in encoding scenario may differ between software and hardware accelerated encoders. + + + + + DirectX 11 + + + + + VAAPI + + + + + libmfx (Intel MediaSDK/oneVPL) + + + + + Camera device types + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/videoio/include/opencv2/videoio.hpp#L89 + + + + + Auto detect == 0 + + + + + V4L/V4L2 capturing support + + + + + Same as CAP_V4L + + + + + IEEE 1394 drivers + + + + + Same value as CAP_FIREWIRE + + + + + Same value as CAP_FIREWIRE + + + + + Same value as CAP_FIREWIRE + + + + + Same value as CAP_FIREWIRE + + + + + DirectShow (via videoInput) + + + + + PvAPI, Prosilica GigE SDK + + + + + OpenNI (for Kinect) + + + + + OpenNI (for Asus Xtion) + + + + + Android - not used + + + + + XIMEA Camera API + + + + + AVFoundation framework for iOS (OS X Lion will have the same API) + + + + + Smartek Giganetix GigEVisionSDK + + + + + Microsoft Media Foundation (via videoInput) + + + + + Microsoft Windows Runtime using Media Foundation + + + + + RealSense (former Intel Perceptual Computing SDK) + + + + + Synonym for CAP_INTELPERC + + + + + OpenNI2 (for Kinect) + + + + + OpenNI2 (for Asus Xtion and Occipital Structure sensors) + + + + + gPhoto2 connection + + + + + GStreamer + + + + + Open and record video file or stream using the FFMPEG library + + + + + OpenCV Image Sequence (e.g. img_%02d.jpg) + + + + + Aravis SDK + + + + + Built-in OpenCV MotionJPEG codec + + + + + Intel MediaSDK + + + + + XINE engine (Linux) + + + + + uEye Camera API + + + + + Parameters of VideoCature for hardware acceleration + Please check the link below for current HW acceleration types support matrix + https://github.com/opencv/opencv/wiki/Video-IO-hardware-acceleration + + + + + Used as value in #CAP_PROP_HW_ACCELERATION and #VIDEOWRITER_PROP_HW_ACCELERATION + note In case of FFmpeg backend, it translated to enum AVHWDeviceType (https://github.com/FFmpeg/FFmpeg/blob/master/libavutil/hwcontext.h) + + + + + Hardware device index (select GPU if multiple available). Device enumeration is acceleration type specific. + + + + + Constructor, parameter of VideoCature for hardware acceleration + + + + + Constructor, parameter of VideoCature for hardware acceleration + + Video Acceleration type + Hardware device index + + + + Get parameters of VideoCature for hardware acceleration + + + + + Property identifiers for CvCapture + + + https://github.com/opencv/opencv/blob/d3bc563c6e01c2bc153f23e7393322a95c7d3974/modules/videoio/include/opencv2/videoio.hpp#L133 + + + + + Position in milliseconds from the file beginning + + + + + Position in frames (only for video files) + + + + + Position in relative units (0 - start of the file, 1 - end of the file) + + + + + Width of frames in the video stream (only for cameras) + + + + + Height of frames in the video stream (only for cameras) + + + + + Frame rate (only for cameras) + + + + + 4-character code of codec (only for cameras). + + + + + Number of frames in the video stream + + + + + The format of the Mat objects returned by retrieve() + + + + + A backend-specific value indicating the current capture mode + + + + + Brightness of image (only for cameras) + + + + + contrast of image (only for cameras) + + + + + Saturation of image (only for cameras) + + + + + hue of image (only for cameras) + + + + + Gain of the image (only for cameras) + + + + + Exposure (only for cameras) + + + + + Boolean flags indicating whether images should be converted to RGB + + + + + + + + + + TOWRITE (note: only supported by DC1394 v 2.x backend currently) + + + + + + + + + + + + + + + exposure control done by camera, + user can adjust refernce level using this feature + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pop up video/camera filter dialog (note: only supported by DSHOW backend currently. Property value is ignored) + + + + + + + + + + + + + + + Sample aspect ratio: num/den (num) + + + + + Sample aspect ratio: num/den (den) + + + + + Current backend (enum VideoCaptureAPIs). Read-only property + + + + + Video input or Channel Number (only for those cameras that support) + + + + + enable/ disable auto white-balance + + + + + white-balance color temperature + + + + + (read-only) codec's pixel format. 4-character code - see VideoWriter::fourcc . Subset of [AV_PIX_FMT_*](https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/raw.c) or -1 if unknown + + + + + (read-only) Video bitrate in kbits/s + + + + + (read-only) Frame rotation defined by stream meta (applicable for FFmpeg back-end only) + + + + + if true - rotates output frames of CvCapture considering video file's metadata (applicable for FFmpeg back-end only) (https://github.com/opencv/opencv/issues/15499) + + + + + (open-only) Hardware acceleration type (see VideoAccelerationType). + Setting supported only via params parameter in cv::VideoCapture constructor / .open() method. + Default value is backend-specific. + + + + + (open-only) Hardware device index (select GPU if multiple available). Device enumeration is acceleration type specific. + + + + + + + + + + in mm + + + + + in mm + + + + + in pixels + + + + + flag that synchronizes the remapping depth map to image map + by changing depth generator's view point (if the flag is "on") or + sets this view point to its normal one (if the flag is "off"). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default is 1 + + + + + ip for anable multicast master mode. 0 for disable multicast + + + + + Determines how a frame is initiated + + + + + Horizontal sub-sampling of the image + + + + + Vertical sub-sampling of the image + + + + + Horizontal binning factor + + + + + Vertical binning factor + + + + + Pixel format + + + + + Change image resolution by binning or skipping. + + + + + Output data format. + + + + + Horizontal offset from the origin to the area of interest (in pixels). + + + + + Vertical offset from the origin to the area of interest (in pixels). + + + + + Defines source of trigger. + + + + + Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE. + + + + + Selects general purpose input + + + + + Set general purpose input mode + + + + + Get general purpose level + + + + + Selects general purpose output + + + + + Set general purpose output mode + + + + + Selects camera signalling LED + + + + + Define camera signalling LED functionality + + + + + Calculates White Balance(must be called during acquisition) + + + + + Automatic white balance + + + + + Automatic exposure/gain + + + + + Exposure priority (0.5 - exposure 50%, gain 50%). + + + + + Maximum limit of exposure in AEAG procedure + + + + + Maximum limit of gain in AEAG procedure + + + + + Average intensity of output signal AEAG should achieve(in %) + + + + + Image capture timeout in milliseconds + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Capture only preview from liveview mode. + + + + + Readonly, returns (const char *). + + + + + Trigger, only by set. Reload camera settings. + + + + + Reload all settings on set. + + + + + Collect messages with details. + + + + + Readonly, returns (const char *). + + + + + Exposure speed. Can be readonly, depends on camera program. + + + + + Aperture. Can be readonly, depends on camera program. + + + + + Camera exposure program. + + + + + Enter liveview mode. + + + + + Parameters of VideoWriter for hardware acceleration + Please check the link below for current HW acceleration types support matrix + https://github.com/opencv/opencv/wiki/Video-IO-hardware-acceleration + + + + + Used as value in #CAP_PROP_HW_ACCELERATION and #VIDEOWRITER_PROP_HW_ACCELERATION + note In case of FFmpeg backend, it translated to enum AVHWDeviceType (https://github.com/FFmpeg/FFmpeg/blob/master/libavutil/hwcontext.h) + + + + + Hardware device index (select GPU if multiple available). Device enumeration is acceleration type specific. + + + + + Constructor, parameter of VideoWriter for hardware acceleration + + + + + Constructor, parameter of VideoWriter for hardware acceleration + + Video Acceleration type + Hardware device index + + + + Get parameters of VideoWriter for hardware acceleration + + + + + VideoWriter generic properties identifier. + + + + + Current quality (0..100%) of the encoded video stream. Can be adjusted dynamically in some codecs. + + + + + (Read-only): Size of just encoded video frame. Note that the encoding order may be different from representation order. + + + + + Number of stripes for parallel encoding. -1 for auto detection. + + + + + If it is not zero, the encoder will expect and encode color frames, otherwise it will work with grayscale frames. + + + + + Defaults to CV_8U. + + + + + (open-only) Hardware acceleration type (see VideoAccelerationType). + Setting supported only via params parameter in cv::VideoCapture constructor / .open() method. + Default value is backend-specific. + + + + + (open-only) Hardware device index (select GPU if multiple available). Device enumeration is acceleration type specific. + + + + + 4-character code of codec used to compress the frames. + + + + + int value + + + + + Constructor + + + + + + Create from four characters + + + + + + + + + + Create from string (length == 4) + + + + + + + implicit cast to int + + + + + + cast to int + + + + + + implicit cast from int + + + + + + cast from int + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Video capturing class + + + + + Capture type (File or Camera) + + + + + Initializes empty capture. + To use this, you should call Open. + + + + + + Opens a camera for video capturing + + id of the video capturing device to open. To open default camera using default backend just pass 0. + (to backward compatibility usage of camera_id + domain_offset (CAP_*) is valid when apiPreference is CAP_ANY) + preferred Capture API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_DSHOW or cv::CAP_MSMF or cv::CAP_V4L. + + + + + Opens a camera for video capturing with API Preference and parameters + + id of the video capturing device to open. To open default camera using default backend just pass 0. + (to backward compatibility usage of camera_id + domain_offset (CAP_*) is valid when apiPreference is CAP_ANY) + preferred Capture API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_DSHOW or cv::CAP_MSMF or cv::CAP_V4L. + The `params` parameter allows to specify extra parameters encoded as pairs `(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)`. + See cv::VideoCaptureProperties + + + + + Opens a camera for video capturing with API Preference and parameters + + id of the video capturing device to open. To open default camera using default backend just pass 0. + (to backward compatibility usage of camera_id + domain_offset (CAP_*) is valid when apiPreference is CAP_ANY) + preferred Capture API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_DSHOW or cv::CAP_MSMF or cv::CAP_V4L. + Parameters of VideoCature for hardware acceleration + + + + + Opens a camera for video capturing + + id of the video capturing device to open. To open default camera using default backend just pass 0. + (to backward compatibility usage of camera_id + domain_offset (CAP_*) is valid when apiPreference is CAP_ANY) + preferred Capture API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_DSHOW or cv::CAP_MSMF or cv::CAP_V4L. + + + + + Opens a video file or a capturing device or an IP video stream for video capturing with API Preference + + it can be: + - name of video file (eg. `video.avi`) + - or image sequence (eg. `img_%02d.jpg`, which will read samples like `img_00.jpg, img_01.jpg, img_02.jpg, ...`) + - or URL of video stream (eg. `protocol://host:port/script_name?script_params|auth`). + Note that each video stream or IP camera feed has its own URL scheme. Please refer to the + documentation of source stream to know the right URL. + apiPreference preferred Capture API backends to use. Can be used to enforce a specific reader + implementation if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. + + + + + Opens a video file or a capturing device or an IP video stream for video capturing with API Preference + + it can be: + - name of video file (eg. `video.avi`) + - or image sequence (eg. `img_%02d.jpg`, which will read samples like `img_00.jpg, img_01.jpg, img_02.jpg, ...`) + - or URL of video stream (eg. `protocol://host:port/script_name?script_params|auth`). + Note that each video stream or IP camera feed has its own URL scheme. Please refer to the + documentation of source stream to know the right URL. + apiPreference preferred Capture API backends to use. Can be used to enforce a specific reader + implementation if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. + The `params` parameter allows to specify extra parameters encoded as pairs `(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)`. + See cv::VideoCaptureProperties + + + + + Opens a video file or a capturing device or an IP video stream for video capturing with API Preference + + it can be: + - name of video file (eg. `video.avi`) + - or image sequence (eg. `img_%02d.jpg`, which will read samples like `img_00.jpg, img_01.jpg, img_02.jpg, ...`) + - or URL of video stream (eg. `protocol://host:port/script_name?script_params|auth`). + Note that each video stream or IP camera feed has its own URL scheme. Please refer to the + documentation of source stream to know the right URL. + apiPreference preferred Capture API backends to use. Can be used to enforce a specific reader + implementation if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. + Parameters of VideoCature for hardware acceleration + + + + + Opens a video file or a capturing device or an IP video stream for video capturing with API Preference + + it can be: + - name of video file (eg. `video.avi`) + - or image sequence (eg. `img_%02d.jpg`, which will read samples like `img_00.jpg, img_01.jpg, img_02.jpg, ...`) + - or URL of video stream (eg. `protocol://host:port/script_name?script_params|auth`). + Note that each video stream or IP camera feed has its own URL scheme. Please refer to the + documentation of source stream to know the right URL. + apiPreference preferred Capture API backends to use. Can be used to enforce a specific reader + implementation if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. + + + + + Initializes from native pointer + + CvCapture* + + + + Releases unmanaged resources + + + + + Gets the capture type (File or Camera) + + + + + Gets or sets film current position in milliseconds or video capture timestamp + + + + + Gets or sets 0-based index of the frame to be decoded/captured next + + + + + Gets or sets relative position of video file + + + + + Gets or sets width of frames in the video stream + + + + + Gets or sets height of frames in the video stream + + + + + Gets or sets frame rate + + + + + Gets or sets 4-character code of codec + + + + + Gets number of frames in video file + + + + + Gets or sets brightness of image (only for cameras) + + + + + Gets or sets contrast of image (only for cameras) + + + + + Gets or sets saturation of image (only for cameras) + + + + + Gets or sets hue of image (only for cameras) + + + + + The format of the Mat objects returned by retrieve() + + + + + A backend-specific value indicating the current capture mode + + + + + Gain of the image (only for cameras) + + + + + Exposure (only for cameras) + + + + + Boolean flags indicating whether images should be converted to RGB + + + + + + + + + + TOWRITE (note: only supported by DC1394 v 2.x backend currently) + + + + + + + + + + + + + + + exposure control done by camera, + user can adjust refernce level using this feature + [CV_CAP_PROP_AUTO_EXPOSURE] + + + + + + + + + + + [CV_CAP_PROP_TEMPERATURE] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [CV_CAP_PROP_OPENNI_OUTPUT_MODE] + + + + + in mm + [CV_CAP_PROP_OPENNI_FRAME_MAX_DEPTH] + + + + + in mm + [CV_CAP_PROP_OPENNI_BASELINE] + + + + + in pixels + [CV_CAP_PROP_OPENNI_FOCAL_LENGTH] + + + + + flag that synchronizes the remapping depth map to image map + by changing depth generator's view point (if the flag is "on") or + sets this view point to its normal one (if the flag is "off"). + [CV_CAP_PROP_OPENNI_REGISTRATION] + + + + + + [CV_CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE] + + + + + + [CV_CAP_OPENNI_DEPTH_GENERATOR_BASELINE] + + + + + + [CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH] + + + + + + [CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON] + + + + + default is 1 + [CV_CAP_GSTREAMER_QUEUE_LENGTH] + + + + + ip for anable multicast master mode. 0 for disable multicast + [CV_CAP_PROP_PVAPI_MULTICASTIP] + + + + + Change image resolution by binning or skipping. + [CV_CAP_PROP_XI_DOWNSAMPLING] + + + + + Output data format. + [CV_CAP_PROP_XI_DATA_FORMAT] + + + + + Horizontal offset from the origin to the area of interest (in pixels). + [CV_CAP_PROP_XI_OFFSET_X] + + + + + Vertical offset from the origin to the area of interest (in pixels). + [CV_CAP_PROP_XI_OFFSET_Y] + + + + + Defines source of trigger. + [CV_CAP_PROP_XI_TRG_SOURCE] + + + + + Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE. + [CV_CAP_PROP_XI_TRG_SOFTWARE] + + + + + Selects general purpose input + [CV_CAP_PROP_XI_GPI_SELECTOR] + + + + + Set general purpose input mode + [CV_CAP_PROP_XI_GPI_MODE] + + + + + Get general purpose level + [CV_CAP_PROP_XI_GPI_LEVEL] + + + + + Selects general purpose output + [CV_CAP_PROP_XI_GPO_SELECTOR] + + + + + Set general purpose output mode + [CV_CAP_PROP_XI_GPO_MODE] + + + + + Selects camera signalling LED + [CV_CAP_PROP_XI_LED_SELECTOR] + + + + + Define camera signalling LED functionality + [CV_CAP_PROP_XI_LED_MODE] + + + + + Calculates White Balance(must be called during acquisition) + [CV_CAP_PROP_XI_MANUAL_WB] + + + + + Automatic white balance + [CV_CAP_PROP_XI_AUTO_WB] + + + + + Automatic exposure/gain + [CV_CAP_PROP_XI_AEAG] + + + + + Exposure priority (0.5 - exposure 50%, gain 50%). + [CV_CAP_PROP_XI_EXP_PRIORITY] + + + + + Maximum limit of exposure in AEAG procedure + [CV_CAP_PROP_XI_AE_MAX_LIMIT] + + + + + Maximum limit of gain in AEAG procedure + [CV_CAP_PROP_XI_AG_MAX_LIMIT] + + + + + default is 1 + [CV_CAP_PROP_XI_AEAG_LEVEL] + + + + + default is 1 + [CV_CAP_PROP_XI_TIMEOUT] + + + + + Opens a video file or a capturing device or an IP video stream for video capturing. + + it can be: + - name of video file (eg. `video.avi`) + - or image sequence (eg. `img_%02d.jpg`, which will read samples like `img_00.jpg, img_01.jpg, img_02.jpg, ...`) + - or URL of video stream (eg. `protocol://host:port/script_name?script_params|auth`). + Note that each video stream or IP camera feed has its own URL scheme. Please refer to the + documentation of source stream to know the right URL. + apiPreference preferred Capture API backends to use. Can be used to enforce a specific reader + implementation if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. + `true` if the file has been successfully opened + + + + Opens a camera for video capturing + + id of the video capturing device to open. To open default camera using default backend just pass 0. + (to backward compatibility usage of camera_id + domain_offset (CAP_*) is valid when apiPreference is CAP_ANY) + preferred Capture API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_DSHOW or cv::CAP_MSMF or cv::CAP_V4L. + `true` if the file has been successfully opened + + + + Returns true if video capturing has been initialized already. + + + + + + Closes video file or capturing device. + + + + + + Grabs the next frame from video file or capturing device. + + The method/function grabs the next frame from video file or camera and returns true (non-zero) in the case of success. + + The primary use of the function is in multi-camera environments, especially when the cameras do not + have hardware synchronization. That is, you call VideoCapture::grab() for each camera and after that + call the slower method VideoCapture::retrieve() to decode and get frame from each camera. This way + the overhead on demosaicing or motion jpeg decompression etc. is eliminated and the retrieved frames + from different cameras will be closer in time. + + Also, when a connected camera is multi-head (for example, a stereo camera or a Kinect device), the + correct way of retrieving data from it is to call VideoCapture::grab() first and then call + VideoCapture::retrieve() one or more times with different values of the channel parameter. + + `true` (non-zero) in the case of success. + + + + Decodes and returns the grabbed video frame. + + The method decodes and returns the just grabbed frame. If no frames has been grabbed + (camera has been disconnected, or there are no more frames in video file), the method returns false + and the function returns an empty image (with %cv::Mat, test it with Mat::empty()). + + the video frame is returned here. If no frames has been grabbed the image will be empty. + it could be a frame index or a driver specific flag + + + + + Decodes and returns the grabbed video frame. + + The method decodes and returns the just grabbed frame. If no frames has been grabbed + (camera has been disconnected, or there are no more frames in video file), the method returns false + and the function returns an empty image (with %cv::Mat, test it with Mat::empty()). + + the video frame is returned here. If no frames has been grabbed the image will be empty. + non-zero streamIdx is only valid for multi-head camera live streams + + + + + Decodes and returns the grabbed video frame. + + The method decodes and returns the just grabbed frame. If no frames has been grabbed + (camera has been disconnected, or there are no more frames in video file), the method returns false + and the function returns an empty image (with %cv::Mat, test it with Mat::empty()). + + the video frame is returned here. If no frames has been grabbed the image will be empty. + it could be a frame index or a driver specific flag + + + + + Decodes and returns the grabbed video frame. + + The method decodes and returns the just grabbed frame. If no frames has been grabbed + (camera has been disconnected, or there are no more frames in video file), the method returns false + and the function returns an empty image (with %cv::Mat, test it with Mat::empty()). + + the video frame is returned here. If no frames has been grabbed the image will be empty. + non-zero streamIdx is only valid for multi-head camera live streams + + + + + Decodes and returns the grabbed video frame. + + The method decodes and returns the just grabbed frame. If no frames has been grabbed + (camera has been disconnected, or there are no more frames in video file), the method returns false + and the function returns an empty image (with %cv::Mat, test it with Mat::empty()). + + the video frame is returned here. If no frames has been grabbed the image will be empty. + + + + Grabs, decodes and returns the next video frame. + + The method/function combines VideoCapture::grab() and VideoCapture::retrieve() in one call. This is the + most convenient method for reading video files or capturing data from decode and returns the just + grabbed frame. If no frames has been grabbed (camera has been disconnected, or there are no more + frames in video file), the method returns false and the function returns empty image (with %cv::Mat, test it with Mat::empty()). + + `false` if no frames has been grabbed + + + + Grabs, decodes and returns the next video frame. + + The method/function combines VideoCapture::grab() and VideoCapture::retrieve() in one call. This is the + most convenient method for reading video files or capturing data from decode and returns the just + grabbed frame. If no frames has been grabbed (camera has been disconnected, or there are no more + frames in video file), the method returns false and the function returns empty image (with %cv::Mat, test it with Mat::empty()). + + `false` if no frames has been grabbed + + + + Sets a property in the VideoCapture. + + Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) + or one from @ref videoio_flags_others + Value of the property. + `true` if the property is supported by backend used by the VideoCapture instance. + + + + Sets a property in the VideoCapture. + + Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) + or one from @ref videoio_flags_others + Value of the property. + `true` if the property is supported by backend used by the VideoCapture instance. + + + + Returns the specified VideoCapture property + + Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) + or one from @ref videoio_flags_others + Value for the specified property. Value 0 is returned when querying a property that is not supported by the backend used by the VideoCapture instance. + + + + Returns the specified VideoCapture property + + Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) + or one from @ref videoio_flags_others + Value for the specified property. Value 0 is returned when querying a property that is not supported by the backend used by the VideoCapture instance. + + + + Returns used backend API name. + Note that stream should be opened. + + + + + + Switches exceptions mode. + methods raise exceptions if not successful instead of returning an error code + + + + + + query if exception mode is active + + + + + + Wait for ready frames from VideoCapture. + + The primary use of the function is in multi-camera environments. + The method fills the ready state vector, grabs video frame, if camera is ready. + + After this call use VideoCapture::retrieve() to decode and fetch frame data. + + input video streams + stream indexes with grabbed frames (ready to use .retrieve() to fetch actual frame) + number of nanoseconds (0 - infinite) + Exception %Exception on stream errors (check .isOpened() + to filter out malformed streams) or VideoCapture type is not supported + `true if streamReady is not empty + + + + For accessing each byte of Int32 value + + + + + AVI Video File Writer + + + + + + + + + + Creates video writer structure. + + Name of the output video file. + 4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. + Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. + Frame rate of the created video stream. + Size of video frames. + If it is true, the encoder will expect and encode color frames, otherwise it will work with grayscale frames (the flag is currently supported on Windows only). + + + + + Creates video writer structure. + + Name of the output video file. + allows to specify API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_GSTREAMER. + 4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. + Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. + Frame rate of the created video stream. + Size of video frames. + If it is true, the encoder will expect and encode color frames, otherwise it will work with grayscale frames (the flag is currently supported on Windows only). + + + + + Creates video writer structure. + + Name of the output video file. + 4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. + Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. + Frame rate of the created video stream. + Size of video frames. + The `params` parameter allows to specify extra encoder parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ... .) + see cv::VideoWriterProperties + + + + + Creates video writer structure. + + Name of the output video file. + 4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. + Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. + Frame rate of the created video stream. + Size of video frames. + Parameters of VideoWriter for hardware acceleration + + + + + Creates video writer structure. + + Name of the output video file. + allows to specify API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_GSTREAMER. + 4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. + Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. + Frame rate of the created video stream. + Size of video frames. + The `params` parameter allows to specify extra encoder parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ... .) + see cv::VideoWriterProperties + + + + + Creates video writer structure. + + Name of the output video file. + allows to specify API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_GSTREAMER. + 4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. + Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. + Frame rate of the created video stream. + Size of video frames. + Parameters of VideoWriter for hardware acceleration + + + + + Initializes from native pointer + + CvVideoWriter* + + + + Releases unmanaged resources + + + + + Get output video file name + + + + + Frames per second of the output video + + + + + Get size of frame image + + + + + Get whether output frames is color or not + + + + + Creates video writer structure. + + Name of the output video file. + 4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. + Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. + Frame rate of the created video stream. + Size of video frames. + If it is true, the encoder will expect and encode color frames, otherwise it will work with grayscale frames (the flag is currently supported on Windows only). + + + + + Creates video writer structure. + + Name of the output video file. + allows to specify API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_GSTREAMER. + 4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. + Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. + Frame rate of the created video stream. + Size of video frames. + If it is true, the encoder will expect and encode color frames, otherwise it will work with grayscale frames (the flag is currently supported on Windows only). + + + + + Returns true if video writer has been successfully initialized. + + + + + + + + + + + + Writes/appends one frame to video file. + + the written frame. + + + + + Sets a property in the VideoWriter. + + Property identifier from cv::VideoWriterProperties (eg. cv::VIDEOWRITER_PROP_QUALITY) or one of @ref videoio_flags_others + Value of the property. + `true` if the property is supported by the backend used by the VideoWriter instance. + + + + Returns the specified VideoWriter property + + Property identifier from cv::VideoWriterProperties (eg. cv::VIDEOWRITER_PROP_QUALITY) or one of @ref videoio_flags_others + Value for the specified property. Value 0 is returned when querying a property that is not supported by the backend used by the VideoWriter instance. + + + + Concatenates 4 chars to a fourcc code. + This static method constructs the fourcc code of the codec to be used in + the constructor VideoWriter::VideoWriter or VideoWriter::open. + + + + + Concatenates 4 chars to a fourcc code. + This static method constructs the fourcc code of the codec to be used in + the constructor VideoWriter::VideoWriter or VideoWriter::open. + + + + + + + Returns used backend API name. + Note that stream should be opened. + + + + + + The Base Class for Background/Foreground Segmentation. + The class is only used to define the common interface for + the whole family of background/foreground segmentation algorithms. + + + + + the update operator that takes the next video frame and returns the current foreground mask as 8-bit binary image. + + + + + + + + computes a background image + + + + + + K nearest neigbours algorithm + + + + + cv::Ptr<T> + + + + + Creates KNN Background Subtractor + + Length of the history. + Threshold on the squared distance between the pixel and the sample to decide + whether a pixel is close to that sample. This parameter does not affect the background update. + If true, the algorithm will detect shadows and mark them. It decreases the + speed a bit, so if you do not need this feature, set the parameter to false. + + + + + Releases managed resources + + + + + Gets or sets the number of last frames that affect the background model. + + + + + Gets or sets the number of data samples in the background model + + + + + Gets or sets the threshold on the squared distance between the pixel and the sample. + The threshold on the squared distance between the pixel and the sample to decide whether a pixel is close to a data sample. + + + + + Returns the number of neighbours, the k in the kNN. + K is the number of samples that need to be within dist2Threshold in order to decide that that + pixel is matching the kNN background model. + + + + + Returns the shadow detection flag. + If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorKNN for details. + + + + + Gets or sets the shadow value. + Shadow value is the value used to mark shadows in the foreground mask. Default value is 127. + Value 0 in the mask always means background, 255 means foreground. + + + + + Gets or sets the shadow threshold. + A shadow is detected if pixel is a darker version of the background. The shadow threshold (Tau in + the paper) is a threshold defining how much darker the shadow can be. Tau= 0.5 means that if a pixel + is more than twice darker then it is not shadow. See Prati, Mikic, Trivedi and Cucchiara, + *Detecting Moving Shadows...*, IEEE PAMI,2003. + + + + + The Base Class for Background/Foreground Segmentation. + The class is only used to define the common interface for + the whole family of background/foreground segmentation algorithms. + + + + + cv::Ptr<T> + + + + + Creates MOG2 Background Subtractor. + + Length of the history. + Threshold on the squared Mahalanobis distance between the pixel and the model + to decide whether a pixel is well described by the background model. This parameter does not affect the background update. + If true, the algorithm will detect shadows and mark them. It decreases the speed a bit, + so if you do not need this feature, set the parameter to false. + + + + + Releases managed resources + + + + + Gets or sets the number of last frames that affect the background model. + + + + + Gets or sets the number of gaussian components in the background model. + + + + + Gets or sets the "background ratio" parameter of the algorithm. + If a foreground pixel keeps semi-constant value for about backgroundRatio\*history frames, it's + considered background and added to the model as a center of a new component. It corresponds to TB + parameter in the paper. + + + + + Gets or sets the variance threshold for the pixel-model match. + The main threshold on the squared Mahalanobis distance to decide if the sample is well described by + the background model or not. Related to Cthr from the paper. + + + + + Gets or sets the variance threshold for the pixel-model match used for new mixture component generation. + Threshold for the squared Mahalanobis distance that helps decide when a sample is close to the + existing components (corresponds to Tg in the paper). If a pixel is not close to any component, it + is considered foreground or added as a new component. 3 sigma =\> Tg=3\*3=9 is default. A smaller Tg + value generates more components. A higher Tg value may result in a small number of components but they can grow too large. + + + + + Gets or sets the initial variance of each gaussian component. + + + + + + + + + + + + + + + Gets or sets the complexity reduction threshold. + This parameter defines the number of samples needed to accept to prove the component exists. CT=0.05 + is a default value for all the samples. By setting CT=0 you get an algorithm very similar to the standard Stauffer&Grimson algorithm. + + + + + Gets or sets the shadow detection flag. + If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorKNN for details. + + + + + Gets or sets the shadow value. + Shadow value is the value used to mark shadows in the foreground mask. Default value is 127. + Value 0 in the mask always means background, 255 means foreground. + + + + + Gets or sets the shadow threshold. + A shadow is detected if pixel is a darker version of the background. The shadow threshold (Tau in + the paper) is a threshold defining how much darker the shadow can be. Tau= 0.5 means that if a pixel + is more than twice darker then it is not shadow. See Prati, Mikic, Trivedi and Cucchiara, + *Detecting Moving Shadows...*, IEEE PAMI,2003. + + + + + [findTransformECC] specifying the type of motion + + + + + sets a translational motion model; warpMatrix is \f$2\times 3\f$ with + the first \f$2\times 2\f$ part being the unity matrix and the rest two parameters being estimated. + + + + + sets a Euclidean (rigid) transformation as motion model; three parameters are estimated; warpMatrix is \f$2\times 3\f$. + + + + + sets an affine motion model (DEFAULT); six parameters are estimated; warpMatrix is \f$2\times 3\f$. + + + + + sets a homography as a motion model; eight parameters are estimated;\`warpMatrix\` is \f$3\times 3\f$. + + + + + cv::calcOpticalFlowPyrLK flags + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kalman filter. + The class implements standard Kalman filter \url{http://en.wikipedia.org/wiki/Kalman_filter}. + However, you can modify KalmanFilter::transitionMatrix, KalmanFilter::controlMatrix and + KalmanFilter::measurementMatrix to get the extended Kalman filter functionality. + + + + + the default constructor + + + + + the full constructor taking the dimensionality of the state, of the measurement and of the control vector + + + + + + + + + Releases unmanaged resources + + + + + predicted state (x'(k)): x(k)=A*x(k-1)+B*u(k) + + + + + corrected state (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k)) + + + + + state transition matrix (A) + + + + + control matrix (B) (not used if there is no control) + + + + + measurement matrix (H) + + + + + process noise covariance matrix (Q) + + + + + measurement noise covariance matrix (R) + + + + + priori error estimate covariance matrix (P'(k)): P'(k)=A*P(k-1)*At + Q)*/ + + + + + Kalman gain matrix (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R) + + + + + posteriori error estimate covariance matrix (P(k)): P(k)=(I-K(k)*H)*P'(k) + + + + + re-initializes Kalman filter. The previous content is destroyed. + + + + + + + + + computes predicted state + + + + + + + updates the predicted state from the measurement + + + + + + + Base abstract class for the long-term tracker + + + + + + + + + + + Releases managed resources + + + + + Initialize the tracker with a know bounding box that surrounding the target + + The initial frame + The initial bounding box + + + + + Update the tracker, find the new most likely bounding box for the target + + The current frame + The bounding box that represent the new target location, if true was returned, not modified otherwise + True means that target was located and false means that tracker cannot locate target in + current frame.Note, that latter *does not* imply that tracker has failed, maybe target is indeed + missing from the frame (say, out of sight) + + + + + GOTURN (@cite GOTURN) is kind of trackers based on Convolutional Neural Networks (CNN). + + + * While taking all advantages of CNN trackers, GOTURN is much faster due to offline training without online fine-tuning nature. + * GOTURN tracker addresses the problem of single target tracking: given a bounding box label of an object in the first frame of the video, + + * we track that object through the rest of the video.NOTE: Current method of GOTURN does not handle occlusions; however, it is fairly + * robust to viewpoint changes, lighting changes, and deformations. + + * Inputs of GOTURN are two RGB patches representing Target and Search patches resized to 227x227. + * Outputs of GOTURN are predicted bounding box coordinates, relative to Search patch coordinate system, in format X1, Y1, X2, Y2. + * Original paper is here: [http://davheld.github.io/GOTURN/GOTURN.pdf] + * As long as original authors implementation: [https://github.com/davheld/GOTURN#train-the-tracker] + * Implementation of training algorithm is placed in separately here due to 3d-party dependencies: + * [https://github.com/Auron-X/GOTURN_Training_Toolkit] + * GOTURN architecture goturn.prototxt and trained model goturn.caffemodel are accessible on opencv_extra GitHub repository. + + + + + + + + + + Constructor + + + + + + Constructor + + GOTURN parameters + + + + + + + + + + + The MIL algorithm trains a classifier in an online manner to separate the object from the background. + Multiple Instance Learning avoids the drift problem for a robust tracking.The implementation is based on @cite MIL. + Original code can be found here [http://vision.ucsd.edu/~bbabenko/project_miltrack.shtml] + + + + + + + + + + Constructor + + + + + + Constructor + + MIL parameters + + + + + + + + + radius for gathering positive instances during init + + + + + # negative samples to use during init + + + + + size of search window + + + + + radius for gathering positive instances during tracking + + + + + # positive samples to use during tracking + + + + + # negative samples to use during tracking + + + + + # features + + + + + WeChat QRCode includes two CNN-based models: + A object detection model and a super resolution model. + Object detection model is applied to detect QRCode with the bounding box. + super resolution model is applied to zoom in QRCode when it is small. + + + + + Initialize the WeChatQRCode. + It includes two models, which are packaged with caffe format. + Therefore, there are prototxt and caffe models (In total, four paramenters). + + prototxt file path for the detector + caffe model file path for the detector + prototxt file path for the super resolution model + caffe file path for the super resolution model + + + + + + Both detects and decodes QR code. + To simplify the usage, there is a only API: detectAndDecode + + supports grayscale or color(BGR) image. + optional output array of vertices of the found QR code quadrangle.Will be empty if not found. + list of decoded string. + + + + + + + BRIEF Descriptor + + + + + cv::Ptr<T> + + + + + + + + + + Constructor + + + + + + bytes is a length of descriptor in bytes. It can be equal 16, 32 or 64 bytes. + + + + + + Releases managed resources + + + + + FREAK implementation + + + + + + + + + + Constructor + + enable orientation normalization + enable scale normalization + scaling of the description pattern + number of octaves covered by the detected keypoints + (optional) user defined selected pairs + + + + Releases managed resources + + + + + LATCH Descriptor. + + latch Class for computing the LATCH descriptor. + If you find this code useful, please add a reference to the following paper in your work: + Gil Levi and Tal Hassner, "LATCH: Learned Arrangements of Three Patch Codes", arXiv preprint arXiv:1501.03719, 15 Jan. 2015. + + Note: a complete example can be found under /samples/cpp/tutorial_code/xfeatures2D/latch_match.cpp + + + + + + + + + + Constructor + + the size of the descriptor - can be 64, 32, 16, 8, 4, 2 or 1 + whether or not the descriptor should compansate for orientation changes. + the size of half of the mini-patches size. For example, if we would like to compare triplets of patches of size 7x7x + then the half_ssd_size should be (7-1)/2 = 3. + sigma value for GaussianBlur smoothing of the source image. Source image will be used without smoothing in case sigma value is 0. + Note: the descriptor can be coupled with any keypoint extractor. The only demand is that if you use set rotationInvariance = True then + you will have to use an extractor which estimates the patch orientation (in degrees). Examples for such extractors are ORB and SIFT. + + + + Releases managed resources + + + + + Class implementing the locally uniform comparison image descriptor, described in @cite LUCID. + + An image descriptor that can be computed very fast, while being + about as robust as, for example, SURF or BRIEF. + @note It requires a color image as input. + + + + + + + + + + Constructor + + kernel for descriptor construction, where 1=3x3, 2=5x5, 3=7x7 and so forth + kernel for blurring image prior to descriptor construction, where 1=3x3, 2=5x5, 3=7x7 and so forth + + + + Releases managed resources + + + + + The "Star" Detector + + + + + + + + + + Constructor + + + + + + + + + + Releases managed resources + + + + + Class for extracting Speeded Up Robust Features from an image. + + + + + Creates instance by raw pointer cv::SURF* + + + + + The SURF constructor. + + Only features with keypoint.hessian larger than that are extracted. + The number of a gaussian pyramid octaves that the detector uses. It is set to 4 by default. + If you want to get very large features, use the larger value. If you want just small features, decrease it. + The number of images within each octave of a gaussian pyramid. It is set to 2 by default. + false means basic descriptors (64 elements each), true means extended descriptors (128 elements each) + false means that detector computes orientation of each feature. + true means that the orientation is not computed (which is much, much faster). + + + + Releases managed resources + + + + + Threshold for the keypoint detector. Only features, whose hessian is larger than hessianThreshold + are retained by the detector. Therefore, the larger the value, the less keypoints you will get. + A good default value could be from 300 to 500, depending from the image contrast. + + + + + The number of a gaussian pyramid octaves that the detector uses. It is set to 4 by default. + If you want to get very large features, use the larger value. If you want just small features, decrease it. + + + + + The number of images within each octave of a gaussian pyramid. It is set to 2 by default. + + + + + false means that the basic descriptors (64 elements each) shall be computed. + true means that the extended descriptors (128 elements each) shall be computed + + + + + false means that detector computes orientation of each feature. + true means that the orientation is not computed (which is much, much faster). + For example, if you match images from a stereo pair, or do image stitching, the matched features + likely have very similar angles, and you can speed up feature extraction by setting upright=true. + + + + + cv::ximgproc functions + + + + + Strategy for the selective search segmentation algorithm. + + + + + Create a new color-based strategy + + + + + + Create a new size-based strategy + + + + + + Create a new size-based strategy + + + + + + Create a new fill-based strategy + + + + + + Create a new multiple strategy + + + + + + Create a new multiple strategy and set one subtrategy + + The first strategy + + + + + Create a new multiple strategy and set one subtrategy + + The first strategy + The second strategy + + + + + Create a new multiple strategy and set one subtrategy + + The first strategy + The second strategy + The third strategy + + + + + Create a new multiple strategy and set one subtrategy + + The first strategy + The second strategy + The third strategy + The forth strategy + + + + + run_length_morphology.hpp + + + + + Applies a fixed-level threshold to each array element. + + input array (single-channel). + resulting run length encoded image. + threshold value. + thresholding type (only cv::THRESH_BINARY and cv::THRESH_BINARY_INV are supported) + + + + Dilates an run-length encoded binary image by using a specific structuring element. + + input image + result + kernel + position of the anchor within the element; default value (0, 0) is usually the element center. + + + + Erodes an run-length encoded binary image by using a specific structuring element. + + input image + result + kernel + indicates whether pixel outside the image boundary are assumed to be on + (True: works in the same way as the default of cv::erode, False: is a little faster) + position of the anchor within the element; default value (0, 0) + is usually the element center. + + + + Returns a run length encoded structuring element of the specified size and shape. + + Element shape that can be one of cv::MorphShapes + Size of the structuring element. + + + + + Paint run length encoded binary image into an image. + + image to paint into (currently only single channel images). + run length encoded image + all foreground pixel of the binary image are set to this value + + + + Check whether a custom made structuring element can be used with run length morphological operations. + (It must consist of a continuous array of single runs per row) + + + + + + + Creates a run-length encoded image from a vector of runs (column begin, column end, row) + + vector of runs + result + image size (to be used if an "on" boundary should be used in erosion, using the default + means that the size is computed from the extension of the input) + + + + Applies a morphological operation to a run-length encoded binary image. + + input image + result + all operations supported by cv::morphologyEx (except cv::MORPH_HITMISS) + kernel + indicates whether pixel outside the image boundary are assumed + to be on for erosion operations (True: works in the same way as the default of cv::erode, False: is a little faster) + position of the anchor within the element; default value (0, 0) is usually the element center. + + + + Applies Niblack thresholding to input image. + + T(x, y)\)}{0}{otherwise}\f] + - ** THRESH_BINARY_INV** + \f[dst(x, y) = \fork{0}{if \(src(x, y) > T(x, y)\)}{\texttt{maxValue}}{otherwise}\f] + where \f$T(x, y)\f$ is a threshold calculated individually for each pixel. + The threshold value \f$T(x, y)\f$ is the mean minus \f$ delta \f$ times standard deviation + of \f$\texttt{blockSize} \times\texttt{blockSize}\f$ neighborhood of \f$(x, y)\f$. + The function can't process the image in-place. + ]]> + Source 8-bit single-channel image. + Destination image of the same size and the same type as src. + Non-zero value assigned to the pixels for which the condition is satisfied, + used with the THRESH_BINARY and THRESH_BINARY_INV thresholding types. + Thresholding type, see cv::ThresholdTypes. + Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on. + The user-adjustable parameter used by Niblack and inspired techniques.For Niblack, + this is normally a value between 0 and 1 that is multiplied with the standard deviation and subtracted from the mean. + Binarization method to use. By default, Niblack's technique is used. + Other techniques can be specified, see cv::ximgproc::LocalBinarizationMethods. + The user-adjustable parameter used by Sauvola's technique. This is the dynamic range of standard deviation. + + + + Applies a binary blob thinning operation, to achieve a skeletization of the input image. + The function transforms a binary blob image into a skeletized form using the technique of Zhang-Suen. + + Source 8-bit single-channel image, containing binary blobs, with blobs having 255 pixel values. + Destination image of the same size and the same type as src. The function can work in-place. + Value that defines which thinning algorithm should be used. + + + + Performs anisotropic diffusian on an image. + The function applies Perona-Malik anisotropic diffusion to an image. + + Grayscale Source image. + Destination image of the same size and the same number of channels as src. + The amount of time to step forward by on each iteration (normally, it's between 0 and 1). + sensitivity to the edges + The number of iterations + + + + + + + + + + + + + + creates a quaternion image. + + Source 8-bit, 32-bit or 64-bit image, with 3-channel image. + result CV_64FC4 a quaternion image( 4 chanels zero channel and B,G,R). + + + + calculates conjugate of a quaternion image. + + quaternion image. + conjugate of qimg + + + + divides each element by its modulus. + + quaternion image. + conjugate of qimg + + + + Calculates the per-element quaternion product of two arrays + + quaternion image. + quaternion image. + product dst(I)=src1(I) . src2(I) + + + + Performs a forward or inverse Discrete quaternion Fourier transform of a 2D quaternion array. + + quaternion image. + quaternion image in dual space. + quaternion image in dual space. only DFT_INVERSE flags is supported + true the hypercomplex exponential is to be multiplied on the left (false on the right ). + + + + Compares a color template against overlapped color image regions. + + Image where the search is running. It must be 3 channels image + Searched template. It must be not greater than the source image and have 3 channels + Map of comparison results. It must be single-channel 64-bit floating-point + + + + Applies Y Deriche filter to an image. + + Source 8-bit or 16bit image, 1-channel or 3-channel image. + result CV_32FC image with same number of channel than _op. + double see paper + double see paper + + + + Applies X Deriche filter to an image. + + Source 8-bit or 16bit image, 1-channel or 3-channel image. + result CV_32FC image with same number of channel than _op. + double see paper + double see paper + + + + Creates a EdgeBoxes + + step size of sliding window search. + nms threshold for object proposals. + adaptation rate for nms threshold. + min score of boxes to detect. + max number of boxes to detect. + edge min magnitude. Increase to trade off accuracy for speed. + edge merge threshold. Increase to trade off accuracy for speed. + cluster min magnitude. Increase to trade off accuracy for speed. + max aspect ratio of boxes. + minimum area of boxes. + affinity sensitivity. + scale sensitivity. + + + + + Factory method, create instance of DTFilter and produce initialization routines. + + guided image (used to build transformed distance, which describes edge structure of + guided image). + sigma_H parameter in the original article, it's similar to the sigma in the + coordinate space into bilateralFilter. + sigma_r parameter in the original article, it's similar to the sigma in the + color space into bilateralFilter. + one form three modes DTF_NC, DTF_RF and DTF_IC which corresponds to three modes for + filtering 2D signals in the article. + optional number of iterations used for filtering, 3 is quite enough. + + + + + Simple one-line Domain Transform filter call. If you have multiple images to filter with the same + guided image then use DTFilter interface to avoid extra computations on initialization stage. + + guided image (also called as joint image) with unsigned 8-bit or floating-point 32-bit + depth and up to 4 channels. + filtering image with unsigned 8-bit or floating-point 32-bit depth and up to 4 channels. + destination image + sigma_H parameter in the original article, it's similar to the sigma in the + coordinate space into bilateralFilter. + sigma_r parameter in the original article, it's similar to the sigma in the + color space into bilateralFilter. + one form three modes DTF_NC, DTF_RF and DTF_IC which corresponds to three modes for + filtering 2D signals in the article. + optional number of iterations used for filtering, 3 is quite enough. + + + + Factory method, create instance of GuidedFilter and produce initialization routines. + + guided image (or array of images) with up to 3 channels, if it have more then 3 + channels then only first 3 channels will be used. + radius of Guided Filter. + regularization term of Guided Filter. eps^2 is similar to the sigma in the color + space into bilateralFilter. + + + + + Simple one-line Guided Filter call. + + If you have multiple images to filter with the same guided image then use GuidedFilter interface to + avoid extra computations on initialization stage. + + guided image (or array of images) with up to 3 channels, if it have more then 3 + channels then only first 3 channels will be used. + filtering image with any numbers of channels. + output image. + radius of Guided Filter. + regularization term of Guided Filter. eps^2 is similar to the sigma in the color + space into bilateralFilter. + optional depth of the output image. + + + + Factory method, create instance of AdaptiveManifoldFilter and produce some initialization routines. + + spatial standard deviation. + color space standard deviation, it is similar to the sigma in the color space into + bilateralFilter. + optional, specify perform outliers adjust operation or not, (Eq. 9) in the + original paper. + + + + + Simple one-line Adaptive Manifold Filter call. + + joint (also called as guided) image or array of images with any numbers of channels. + filtering image with any numbers of channels. + output image. + spatial standard deviation. + color space standard deviation, it is similar to the sigma in the color space into + bilateralFilter. + optional, specify perform outliers adjust operation or not, (Eq. 9) in the + original paper. + + + + Applies the joint bilateral filter to an image. + + Joint 8-bit or floating-point, 1-channel or 3-channel image. + Source 8-bit or floating-point, 1-channel or 3-channel image with the same depth as joint image. + Destination image of the same size and type as src. + Diameter of each pixel neighborhood that is used during filtering. If it is non-positive, + it is computed from sigmaSpace. + Filter sigma in the color space. A larger value of the parameter means that + farther colors within the pixel neighborhood(see sigmaSpace) will be mixed together, resulting in + larger areas of semi-equal color. + Filter sigma in the coordinate space. A larger value of the parameter means that + farther pixels will influence each other as long as their colors are close enough(see sigmaColor). + When d\>0 , it specifies the neighborhood size regardless of sigmaSpace.Otherwise, d is + proportional to sigmaSpace. + + + + + Applies the bilateral texture filter to an image. It performs structure-preserving texture filter. + For more details about this filter see @cite Cho2014. + + Source image whose depth is 8-bit UINT or 32-bit FLOAT + Destination image of the same size and type as src. + Radius of kernel to be used for filtering. It should be positive integer + Number of iterations of algorithm, It should be positive integer + Controls the sharpness of the weight transition from edges to smooth/texture regions, where + a bigger value means sharper transition.When the value is negative, it is automatically calculated. + Range blur parameter for texture blurring. Larger value makes result to be more blurred. When the + value is negative, it is automatically calculated as described in the paper. + + + + Applies the rolling guidance filter to an image. + + 8-bit or floating-point, 1-channel or 3-channel image. + Destination image of the same size and type as src. + Diameter of each pixel neighborhood that is used during filtering. If it is non-positive, + it is computed from sigmaSpace. + Filter sigma in the color space. A larger value of the parameter means that + farther colors within the pixel neighborhood(see sigmaSpace) will be mixed together, resulting in + larger areas of semi-equal color. + Filter sigma in the coordinate space. A larger value of the parameter means that + farther pixels will influence each other as long as their colors are close enough(see sigmaColor). + When d\>0 , it specifies the neighborhood size regardless of sigmaSpace.Otherwise, d is + proportional to sigmaSpace. + Number of iterations of joint edge-preserving filtering applied on the source image. + + + + + Simple one-line Fast Bilateral Solver filter call. If you have multiple images to filter with the same + guide then use FastBilateralSolverFilter interface to avoid extra computations. + + image serving as guide for filtering. It should have 8-bit depth and either 1 or 3 channels. + source image for filtering with unsigned 8-bit or signed 16-bit or floating-point 32-bit depth and up to 4 channels. + confidence image with unsigned 8-bit or floating-point 32-bit confidence and 1 channel. + destination image. + parameter, that is similar to spatial space sigma (bandwidth) in bilateralFilter. + parameter, that is similar to luma space sigma (bandwidth) in bilateralFilter. + parameter, that is similar to chroma space sigma (bandwidth) in bilateralFilter. + smoothness strength parameter for solver. + number of iterations used for solver, 25 is usually enough. + convergence tolerance used for solver. + + + + Factory method, create instance of FastGlobalSmootherFilter and execute the initialization routines. + + image serving as guide for filtering. It should have 8-bit depth and either 1 or 3 channels. + parameter defining the amount of regularization + parameter, that is similar to color space sigma in bilateralFilter. + internal parameter, defining how much lambda decreases after each iteration. Normally, + it should be 0.25. Setting it to 1.0 may lead to streaking artifacts. + number of iterations used for filtering, 3 is usually enough. + + + + + Simple one-line Fast Global Smoother filter call. If you have multiple images to filter with the same + guide then use FastGlobalSmootherFilter interface to avoid extra computations. + + image serving as guide for filtering. It should have 8-bit depth and either 1 or 3 channels. + source image for filtering with unsigned 8-bit or signed 16-bit or floating-point 32-bit depth and up to 4 channels. + destination image. + parameter defining the amount of regularization + parameter, that is similar to color space sigma in bilateralFilter. + internal parameter, defining how much lambda decreases after each iteration. Normally, + it should be 0.25. Setting it to 1.0 may lead to streaking artifacts. + number of iterations used for filtering, 3 is usually enough. + + + + Global image smoothing via L0 gradient minimization. + + source image for filtering with unsigned 8-bit or signed 16-bit or floating-point depth. + destination image. + parameter defining the smooth term weight. + parameter defining the increasing factor of the weight of the gradient data term. + + + + Smoothes an image using the Edge-Preserving filter. + + Source 8-bit 3-channel image. + Destination image of the same size and type as src. + Diameter of each pixel neighborhood that is used during filtering. Must be greater or equal 3. + Threshold, which distinguishes between noise, outliers, and data. + + + + Computes the estimated covariance matrix of an image using the sliding window forumlation. + + + The window size parameters control the accuracy of the estimation. + The sliding window moves over the entire image from the top-left corner + to the bottom right corner.Each location of the window represents a sample. + If the window is the size of the image, then this gives the exact covariance matrix. + For all other cases, the sizes of the window will impact the number of samples + and the number of elements in the estimated covariance matrix. + + The source image. Input image must be of a complex type. + The destination estimated covariance matrix. Output matrix will be size (windowRows*windowCols, windowRows*windowCols). + The number of rows in the window. + The number of cols in the window. + + + + Calculates 2D Fast Hough transform of an image. + + The source (input) image. + The destination image, result of transformation. + The depth of destination image + The part of Hough space to calculate, see cv::AngleRangeOption + The operation to be applied, see cv::HoughOp + Specifies to do or not to do image skewing, see cv::HoughDeskewOption + + + + Calculates coordinates of line segment corresponded by point in Hough space. + + + If rules parameter set to RO_STRICT then returned line cut along the border of source image. + If rules parameter set to RO_WEAK then in case of point, which belongs + the incorrect part of Hough image, returned line will not intersect source image. + + Point in Hough space. + The source (input) image of Hough transform. + The part of Hough space where point is situated, see cv::AngleRangeOption + Specifies to do or not to do image skewing, see cv::HoughDeskewOption + Specifies strictness of line segment calculating, see cv::RulesOption + Coordinates of line segment corresponded by point in Hough space. + + + + Creates a smart pointer to a FastLineDetector object and initializes it + + Segment shorter than this will be discarded + A point placed from a hypothesis line segment farther than + this will be regarded as an outlier + First threshold for hysteresis procedure in Canny() + Second threshold for hysteresis procedure in Canny() + Aperture size for the sobel operator in Canny() + If true, incremental merging of segments will be performed + + + + + Class implementing the LSC (Linear Spectral Clustering) superpixels. + + The function initializes a SuperpixelLSC object for the input image. It sets the parameters of + superpixel algorithm, which are: region_size and ruler.It preallocate some buffers for future + computing iterations over the given image.An example of LSC is illustrated in the following picture. + For enhanced results it is recommended for color images to preprocess image with little gaussian blur + with a small 3 x 3 kernel and additional conversion into CieLAB color space. + + image Image to segment + Chooses an average superpixel size measured in pixels + Chooses the enforcement of superpixel compactness factor of superpixel + + + + + Applies Paillou filter to an image. + + Source CV_8U(S) or CV_16U(S), 1-channel or 3-channels image. + Result CV_32F image with same number of channel than op. + double see paper + double see paper + + + + Applies Paillou filter to an image. + + Source CV_8U(S) or CV_16U(S), 1-channel or 3-channels image. + Result CV_32F image with same number of channel than op. + double see paper + double see paper + + + + Calculates an affine transformation that normalize given image using Pei&Lin Normalization. + + Given transformed image. + Transformation matrix corresponding to inversed image transformation + + + + Calculates an affine transformation that normalize given image using Pei&Lin Normalization. + + Given transformed image. + Inversed image transformation. + + + + Initializes a SuperpixelSEEDS object. + + The function initializes a SuperpixelSEEDS object for the input image. It stores the parameters of + the image: image_width, image_height and image_channels.It also sets the parameters of the SEEDS + superpixel algorithm, which are: num_superpixels, num_levels, use_prior, histogram_bins and + double_step. + + The number of levels in num_levels defines the amount of block levels that the algorithm use in the + optimization.The initialization is a grid, in which the superpixels are equally distributed through + the width and the height of the image.The larger blocks correspond to the superpixel size, and the + levels with smaller blocks are formed by dividing the larger blocks into 2 x 2 blocks of pixels, + recursively until the smaller block level. An example of initialization of 4 block levels is + illustrated in the following figure. + + Image width. + Image height. + Number of channels of the image. + Desired number of superpixels. Note that the actual number may be smaller + due to restrictions(depending on the image size and num_levels). Use getNumberOfSuperpixels() to + get the actual number. + Number of block levels. The more levels, the more accurate is the segmentation, + but needs more memory and CPU time. + enable 3x3 shape smoothing term if \>0. A larger value leads to smoother shapes. prior + must be in the range[0, 5]. + Number of histogram bins. + If true, iterate each block level twice for higher accuracy. + + + + + Creates a RFFeatureGetter + + + + + + Creates a StructuredEdgeDetection + + name of the file where the model is stored + optional object inheriting from RFFeatureGetter. + You need it only if you would like to train your own forest, pass null otherwise + + + + + Applies weighted median filter to an image. + + + For more details about this implementation, please see @cite zhang2014100+ + + Joint 8-bit, 1-channel or 3-channel image. + Source 8-bit or floating-point, 1-channel or 3-channel image. + Destination image. + Radius of filtering kernel, should be a positive integer. + Filter range standard deviation for the joint image. + The type of weight definition, see WMFWeightType + A 0-1 mask that has the same size with I. This mask is used to ignore the effect of some pixels. If the pixel value on mask is 0, + the pixel will be ignored when maintaining the joint-histogram.This is useful for applications like optical flow occlusion handling. + + + + Class implementing EdgeBoxes algorithm from @cite ZitnickECCV14edgeBoxes + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Creates a EdgeBoxes + + step size of sliding window search. + nms threshold for object proposals. + adaptation rate for nms threshold. + min score of boxes to detect. + max number of boxes to detect. + edge min magnitude. Increase to trade off accuracy for speed. + edge merge threshold. Increase to trade off accuracy for speed. + cluster min magnitude. Increase to trade off accuracy for speed. + max aspect ratio of boxes. + minimum area of boxes. + affinity sensitivity. + scale sensitivity. + + + + + Gets or sets the step size of sliding window search. + + + + + Gets or sets the nms threshold for object proposals. + + + + + Gets or sets adaptation rate for nms threshold. + + + + + Gets or sets the min score of boxes to detect. + + + + + Gets or sets the max number of boxes to detect. + + + + + Gets or sets the edge min magnitude. + + + + + Gets or sets the edge merge threshold. + + + + + Gets or sets the cluster min magnitude. + + + + + Gets or sets the max aspect ratio of boxes. + + + + + Gets or sets the minimum area of boxes. + + + + + Gets or sets the affinity sensitivity. + + + + + Gets or sets the scale sensitivity. + + + + + Returns array containing proposal boxes. + + edge image. + orientation map. + proposal boxes. + + + + Interface for Adaptive Manifold Filter realizations. + + Below listed optional parameters which may be set up with Algorithm::set function. + - member double sigma_s = 16.0 + Spatial standard deviation. + - member double sigma_r = 0.2 + Color space standard deviation. + - member int tree_height = -1 + Height of the manifold tree (default = -1 : automatically computed). + - member int num_pca_iterations = 1 + Number of iterations to computed the eigenvector. + - member bool adjust_outliers = false + Specify adjust outliers using Eq. 9 or not. + - member bool use_RNG = true + Specify use random number generator to compute eigenvector or not. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Factory method, create instance of AdaptiveManifoldFilter and produce some initialization routines. + + spatial standard deviation. + color space standard deviation, it is similar to the sigma in the color space into + bilateralFilter. + optional, specify perform outliers adjust operation or not, (Eq. 9) in the + original paper. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Apply high-dimensional filtering using adaptive manifolds. + + filtering image with any numbers of channels. + output image. + optional joint (also called as guided) image with any numbers of channels. + + + + Interface for realizations of Domain Transform filter. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Factory method, create instance of DTFilter and produce initialization routines. + + guided image (used to build transformed distance, which describes edge structure of + guided image). + sigma_H parameter in the original article, it's similar to the sigma in the + coordinate space into bilateralFilter. + sigma_r parameter in the original article, it's similar to the sigma in the + color space into bilateralFilter. + one form three modes DTF_NC, DTF_RF and DTF_IC which corresponds to three modes for + filtering 2D signals in the article. + optional number of iterations used for filtering, 3 is quite enough. + + + + + Simple one-line Domain Transform filter call. If you have multiple images to filter with the same + guided image then use DTFilter interface to avoid extra computations on initialization stage. + + + + + + + + Interface for implementations of Fast Bilateral Solver. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Factory method, create instance of FastBilateralSolverFilter and execute the initialization routines. + + image serving as guide for filtering. It should have 8-bit depth and either 1 or 3 channels. + parameter, that is similar to spatial space sigma (bandwidth) in bilateralFilter. + parameter, that is similar to luma space sigma (bandwidth) in bilateralFilter. + parameter, that is similar to chroma space sigma (bandwidth) in bilateralFilter. + smoothness strength parameter for solver. + number of iterations used for solver, 25 is usually enough. + convergence tolerance used for solver. + + + + + Apply smoothing operation to the source image. + + source image for filtering with unsigned 8-bit or signed 16-bit or floating-point 32-bit depth and up to 3 channels. + confidence image with unsigned 8-bit or floating-point 32-bit confidence and 1 channel. + destination image. + + + + Interface for implementations of Fast Global Smoother filter. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Factory method, create instance of FastGlobalSmootherFilter and execute the initialization routines. + + image serving as guide for filtering. It should have 8-bit depth and either 1 or 3 channels. + parameter defining the amount of regularization + parameter, that is similar to color space sigma in bilateralFilter. + internal parameter, defining how much lambda decreases after each iteration. Normally, + it should be 0.25. Setting it to 1.0 may lead to streaking artifacts. + number of iterations used for filtering, 3 is usually enough. + + + + + Apply smoothing operation to the source image. + + source image for filtering with unsigned 8-bit or signed 16-bit or floating-point 32-bit depth and up to 4 channels. + destination image. + + + + Interface for realizations of Guided Filter. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Factory method, create instance of GuidedFilter and produce initialization routines. + + guided image (or array of images) with up to 3 channels, if it have more then 3 + channels then only first 3 channels will be used. + radius of Guided Filter. + regularization term of Guided Filter. eps^2 is similar to the sigma in the color + space into bilateralFilter. + + + + + Apply Guided Filter to the filtering image. + + filtering image with any numbers of channels. + output image. + optional depth of the output image. dDepth can be set to -1, which will be equivalent to src.depth(). + + + + Specifies the part of Hough space to calculate + + + The enum specifies the part of Hough space to calculate. + Each member specifies primarily direction of lines(horizontal or vertical) + and the direction of angle changes. + Direction of angle changes is from multiples of 90 to odd multiples of 45. + The image considered to be written top-down and left-to-right. + Angles are started from vertical line and go clockwise. + Separate quarters and halves are written in orientation they should be in full Hough space. + + + + + Vertical primarily direction and clockwise angle changes + + + + + Horizontal primarily direction and counterclockwise angle changes + + + + + Horizontal primarily direction and clockwise angle changes + + + + + Vertical primarily direction and counterclockwise angle changes + + + + + Vertical primarily direction + + + + + Horizontal primarily direction + + + + + Full set of directions + + + + + 90 +/- atan(0.5), interval approximately from 64.5 to 116.5 degrees. + It is used for calculating Fast Hough Transform for images skewed by atan(0.5). + + + + + +/- atan(0.5), interval approximately from 333.5(-26.5) to 26.5 degrees + It is used for calculating Fast Hough Transform for images skewed by atan(0.5). + + + + + one form three modes DTF_NC, DTF_RF and DTF_IC which corresponds to three modes for + filtering 2D signals in the article. + + + + + Specifies to do or not to do skewing of Hough transform image + + + The enum specifies to do or not to do skewing of Hough transform image + so it would be no cycling in Hough transform image through borders of image. + + + + + Use raw cyclic image + + + + + Prepare deskewed image + + + + + Specifies binary operations. + + + The enum specifies binary operations, that is such ones which involve + two operands. Formally, a binary operation @f$ f @f$ on a set @f$ S @f$ + is a binary relation that maps elements of the Cartesian product + @f$ S \times S @f$ to @f$ S @f$: + @f[ f: S \times S \to S @f] + + + + + Binary minimum operation. The constant specifies the binary minimum operation + @f$ f @f$ that is defined as follows: @f[ f(x, y) = \min(x, y) @f] + + + + + Binary maximum operation. The constant specifies the binary maximum operation + @f$ f @f$ that is defined as follows: @f[ f(x, y) = \max(x, y) @f] + + + + + Binary addition operation. The constant specifies the binary addition operation + @f$ f @f$ that is defined as follows: @f[ f(x, y) = x + y @f] + + + + + Binary average operation. The constant specifies the binary average operation + @f$ f @f$ that is defined as follows: @f[ f(x, y) = \frac{x + y}{2} @f] + + + + + Specifies the binarization method to use in cv::ximgproc::niBlackThreshold + + + + + Classic Niblack binarization. See @cite Niblack1985 . + + + + + Sauvola's technique. See @cite Sauvola1997 . + + + + + Wolf's technique. See @cite Wolf2004 . + + + + + NICK technique. See @cite Khurshid2009 . + + + + + Specifies the degree of rules validation. + + + The enum specifies the degree of rules validation. This can be used, for example, to choose a proper way of input arguments validation. + + + + + Validate each rule in a proper way. + + + + + Skip validations of image borders. + + + + + The algorithm variant to use for SuperpixelSLIC: + SLIC segments image using a desired region_size, and in addition SLICO will optimize using adaptive compactness factor, + while MSLIC will optimize using manifold methods resulting in more content-sensitive superpixels. + + + + + SLIC(Simple Linear Iterative Clustering) clusters pixels using pixel channels and image plane space + to efficiently generate compact, nearly uniform superpixels.The simplicity of approach makes it + extremely easy to use a lone parameter specifies the number of superpixels and the efficiency of + the algorithm makes it very practical. + + + + + SLICO stands for "Zero parameter SLIC" and it is an optimization of baseline SLIC described in @cite Achanta2012. + + + + + MSLIC stands for "Manifold SLIC" and it is an optimization of baseline SLIC described in @cite Liu_2017_IEEE. + + + + + thinning algorithm + + + + + Thinning technique of Zhang-Suen + + + + + Thinning technique of Guo-Hall + + + + + Specifies weight types of weighted median filter. + + + + + \f$exp(-|I1-I2|^2/(2*sigma^2))\f$ + + + + + \f$(|I1-I2|+sigma)^-1\f$ + + + + + \f$(|I1-I2|^2+sigma^2)^-1\f$ + + + + + \f$dot(I1,I2)/(|I1|*|I2|)\f$ + + + + + \f$(min(r1,r2)+min(g1,g2)+min(b1,b2))/(max(r1,r2)+max(g1,g2)+max(b1,b2))\f$ + + + + + unweighted + + + + + Class implementing the FLD (Fast Line Detector) algorithm described in @cite Lee14. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Creates a smart pointer to a FastLineDetector object and initializes it + + Segment shorter than this will be discarded + A point placed from a hypothesis line segment farther than + this will be regarded as an outlier + First threshold for hysteresis procedure in Canny() + Second threshold for hysteresis procedure in Canny() + Aperturesize for the sobel operator in Canny() + If true, incremental merging of segments will be perfomred + + + + + Finds lines in the input image. + This is the output of the default parameters of the algorithm on the above shown image. + + A grayscale (CV_8UC1) input image. If only a roi needs to be + selected, use: `fld_ptr-\>detect(image(roi), lines, ...); + lines += Scalar(roi.x, roi.y, roi.x, roi.y);` + A vector of Vec4f elements specifying the beginning + and ending point of a line. Where Vec4f is (x1, y1, x2, y2), + point 1 is the start, point 2 - end.Returned lines are directed so that the + brighter side is on their left. + + + + Finds lines in the input image. + This is the output of the default parameters of the algorithm on the above shown image. + + A grayscale (CV_8UC1) input image. If only a roi needs to be + selected, use: `fld_ptr-\>detect(image(roi), lines, ...); + lines += Scalar(roi.x, roi.y, roi.x, roi.y);` + A vector of Vec4f elements specifying the beginning + and ending point of a line. Where Vec4f is (x1, y1, x2, y2), + point 1 is the start, point 2 - end.Returned lines are directed so that the + brighter side is on their left. + + + + Draws the line segments on a given image. + + The image, where the lines will be drawn. Should be bigger or equal to the image, where the lines were found. + A vector of the lines that needed to be drawn. + If true, arrow heads will be drawn. + + + + Draws the line segments on a given image. + + The image, where the lines will be drawn. Should be bigger or equal to the image, where the lines were found. + A vector of the lines that needed to be drawn. + If true, arrow heads will be drawn. + + + + Helper class for training part of [P. Dollar and C. L. Zitnick. Structured Forests for Fast Edge Detection, 2013]. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Creates a RFFeatureGetter + + + + + + Extracts feature channels from src. + Than StructureEdgeDetection uses this feature space to detect edges. + + source image to extract features + output n-channel floating point feature matrix. + gradientNormalizationRadius + gradientSmoothingRadius + shrinkNumber + numberOfOutputChannels + numberOfGradientOrientations + + + + Graph Based Segmentation Algorithm. + The class implements the algorithm described in @cite PFF2004. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Creates a graph based segmentor + + The sigma parameter, used to smooth image + The k parameter of the algorithm + The minimum size of segments + + + + + + + + + + + + + + + + + + + + Segment an image and store output in dst + + The input image. Any number of channel (1 (Eg: Gray), 3 (Eg: RGB), 4 (Eg: RGB-D)) can be provided + The output segmentation. It's a CV_32SC1 Mat with the same number of cols and rows as input image, with an unique, sequential, id for each pixel. + + + + Selective search segmentation algorithm. + The class implements the algorithm described in @cite uijlings2013selective. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Create a new SelectiveSearchSegmentation class. + + + + + + Set a image used by switch* functions to initialize the class + + The image + + + + Initialize the class with the 'Single stragegy' parameters describled in @cite uijlings2013selective. + + The k parameter for the graph segmentation + The sigma parameter for the graph segmentation + + + + Initialize the class with the 'Selective search fast' parameters describled in @cite uijlings2013selective. + + The k parameter for the first graph segmentation + The increment of the k parameter for all graph segmentations + The sigma parameter for the graph segmentation + + + + Initialize the class with the 'Selective search fast' parameters describled in @cite uijlings2013selective. + + The k parameter for the first graph segmentation + The increment of the k parameter for all graph segmentations + The sigma parameter for the graph segmentation + + + + Add a new image in the list of images to process. + + The image + + + + Clear the list of images to process + + + + + Add a new graph segmentation in the list of graph segementations to process. + + The graph segmentation + + + + Clear the list of graph segmentations to process + + + + + Add a new strategy in the list of strategy to process. + + The strategy + + + + Clear the list of strategy to process; + + + + + Based on all images, graph segmentations and stragies, computes all possible rects and return them + + The list of rects. The first ones are more relevents than the lasts ones. + + + + + Strategy for the selective search segmentation algorithm. + The class implements a generic stragery for the algorithm described in @cite uijlings2013selective. + + + + + + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Set a initial image, with a segementation. + + The input image. Any number of channel can be provided + A segementation of the image. The parameter must be the same size of img. + The sizes of different regions + If not set to -1, try to cache pre-computations. If the same set og (img, regions, size) is used, the image_id need to be the same. + + + + Return the score between two regions (between 0 and 1) + + The first region + The second region + + + + Inform the strategy that two regions will be merged + + The first region + The second region + + + + + Color-based strategy for the selective search segmentation algorithm. + The class is implemented from the algorithm described in @cite uijlings2013selective. + + + + + + Creates instance by raw pointer + + + + + Create a new color-based strategy + + + + + + + Size-based strategy for the selective search segmentation algorithm. + The class is implemented from the algorithm described in @cite uijlings2013selective. + + + + + + Creates instance by raw pointer + + + + + Create a new size-based strategy + + + + + + Texture-based strategy for the selective search segmentation algorithm. + The class is implemented from the algorithm described in @cite uijlings2013selective. + + + + + + Creates instance by raw pointer + + + + + Create a new size-based strategy + + + + + + Fill-based strategy for the selective search segmentation algorithm. + The class is implemented from the algorithm described in @cite uijlings2013selective. + + + + + + Creates instance by raw pointer + + + + + Create a new fill-based strategy + + + + + + + Regroup multiple strategies for the selective search segmentation algorithm + + + + + Creates instance by raw pointer + + + + + Set a initial image, with a segementation. + + The input image. Any number of channel can be provided + A segementation of the image. The parameter must be the same size of img. + The sizes of different regions + If not set to -1, try to cache pre-computations. If the same set og (img, regions, size) is used, the image_id need to be the same. + + + + Return the score between two regions (between 0 and 1) + + The first region + The second region + + + + Inform the strategy that two regions will be merged + + The first region + The second region + + + + Create a new multiple strategy + + + + + + Create a new multiple strategy and set one subtrategy + + The first strategy + + + + + Create a new multiple strategy and set one subtrategy + + The first strategy + The second strategy + + + + + Create a new multiple strategy and set one subtrategy + + The first strategy + The second strategy + The third strategy + + + + + Create a new multiple strategy and set one subtrategy + + The first strategy + The second strategy + The third strategy + The forth strategy + + + + + Class implementing edge detection algorithm from @cite Dollar2013 : + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Creates a StructuredEdgeDetection + + name of the file where the model is stored + optional object inheriting from RFFeatureGetter. + You need it only if you would like to train your own forest, pass null otherwise + + + + + Returns array containing proposal boxes. + + edge image. + orientation map. + proposal boxes. + + + + The function detects edges in src and draw them to dst. + The algorithm underlies this function is much more robust to texture presence, than common approaches, e.g.Sobel + + source image (RGB, float, in [0;1]) to detect edges + destination image (grayscale, float, in [0;1]) where edges are drawn + + + + The function computes orientation from edge image. + + edge image. + orientation image. + + + + The function edgenms in edge image and suppress edges where edge is stronger in orthogonal direction. + + edge image from detectEdges function. + orientation image from computeOrientation function. + suppressed image (grayscale, float, in [0;1]) + radius for NMS suppression. + radius for boundary suppression. + multiplier for conservative suppression. + enables/disables parallel computing. + + + + Class implementing the LSC (Linear Spectral Clustering) superpixels + algorithm described in @cite LiCVPR2015LSC. + + LSC(Linear Spectral Clustering) produces compact and uniform superpixels with low + computational costs.Basically, a normalized cuts formulation of the superpixel + segmentation is adopted based on a similarity metric that measures the color + similarity and space proximity between image pixels.LSC is of linear computational + complexity and high memory efficiency and is able to preserve global properties of images. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Class implementing the LSC (Linear Spectral Clustering) superpixels. + + The function initializes a SuperpixelLSC object for the input image. It sets the parameters of + superpixel algorithm, which are: region_size and ruler.It preallocate some buffers for future + computing iterations over the given image.An example of LSC is illustrated in the following picture. + For enhanced results it is recommended for color images to preprocess image with little gaussian blur + with a small 3 x 3 kernel and additional conversion into CieLAB color space. + + image Image to segment + Chooses an average superpixel size measured in pixels + Chooses the enforcement of superpixel compactness factor of superpixel + + + + + Calculates the actual amount of superpixels on a given segmentation computed and stored in SuperpixelLSC object. + + + + + + Calculates the superpixel segmentation on a given image with the initialized + parameters in the SuperpixelLSC object. + + This function can be called again without the need of initializing the algorithm with + createSuperpixelLSC(). This save the computational cost of allocating memory for all the + structures of the algorithm. + + The function computes the superpixels segmentation of an image with the parameters initialized + with the function createSuperpixelLSC(). The algorithms starts from a grid of superpixels and + then refines the boundaries by proposing updates of edges boundaries. + + Number of iterations. Higher number improves the result. + + + + Returns the segmentation labeling of the image. + Each label represents a superpixel, and each pixel is assigned to one superpixel label. + + The function returns an image with the labels of the superpixel segmentation.The labels are in + the range [0, getNumberOfSuperpixels()]. + + Return: A CV_32SC1 integer array containing the labels of the superpixel + segmentation.The labels are in the range[0, getNumberOfSuperpixels()]. + + + + Returns the mask of the superpixel segmentation stored in SuperpixelLSC object. + The function return the boundaries of the superpixel segmentation. + + Return: CV_8U1 image mask where -1 indicates that the pixel is a superpixel border, and 0 otherwise. + If false, the border is only one pixel wide, otherwise all pixels at the border are masked. + + + + Enforce label connectivity. + The function merge component that is too small, assigning the previously found adjacent label + to this component.Calling this function may change the final number of superpixels. + + The minimum element size in percents that should be absorbed into a bigger + superpixel.Given resulted average superpixel size valid value should be in 0-100 range, 25 means + that less then a quarter sized superpixel should be absorbed, this is default. + + + + Class implementing the SEEDS (Superpixels Extracted via Energy-Driven Sampling) superpixels + algorithm described in @cite VBRV14. + + The algorithm uses an efficient hill-climbing algorithm to optimize the superpixels' energy + function that is based on color histograms and a boundary term, which is optional.The energy + function encourages superpixels to be of the same color, and if the boundary term is activated, the + superpixels have smooth boundaries and are of similar shape. In practice it starts from a regular + grid of superpixels and moves the pixels or blocks of pixels at the boundaries to refine the + solution.The algorithm runs in real-time using a single CPU. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Initializes a SuperpixelSEEDS object. + + The function initializes a SuperpixelSEEDS object for the input image. It stores the parameters of + the image: image_width, image_height and image_channels.It also sets the parameters of the SEEDS + superpixel algorithm, which are: num_superpixels, num_levels, use_prior, histogram_bins and + double_step. + + The number of levels in num_levels defines the amount of block levels that the algorithm use in the + optimization.The initialization is a grid, in which the superpixels are equally distributed through + the width and the height of the image.The larger blocks correspond to the superpixel size, and the + levels with smaller blocks are formed by dividing the larger blocks into 2 x 2 blocks of pixels, + recursively until the smaller block level. An example of initialization of 4 block levels is + illustrated in the following figure. + + Image width. + Image height. + Number of channels of the image. + Desired number of superpixels. Note that the actual number may be smaller + due to restrictions(depending on the image size and num_levels). Use getNumberOfSuperpixels() to + get the actual number. + Number of block levels. The more levels, the more accurate is the segmentation, + but needs more memory and CPU time. + enable 3x3 shape smoothing term if \>0. A larger value leads to smoother shapes. prior + must be in the range[0, 5]. + Number of histogram bins. + If true, iterate each block level twice for higher accuracy. + + + + + Calculates the superpixel segmentation on a given image stored in SuperpixelSEEDS object. + + The function computes the superpixels segmentation of an image with the parameters initialized + with the function createSuperpixelSEEDS(). + + + + + + Input image. Supported formats: CV_8U, CV_16U, CV_32F. Image size & number of + channels must match with the initialized image size & channels with the function + createSuperpixelSEEDS(). It should be in HSV or Lab color space.Lab is a bit better, but also slower. + + Supported formats: CV_8U, CV_16U, CV_32F. Image size & number of + channels must match with the initialized image size & channels with the function + createSuperpixelSEEDS(). It should be in HSV or Lab color space.Lab is a bit better, but also slower. + Number of pixel level iterations. Higher number improves the result. + + + + Returns the segmentation labeling of the image. + Each label represents a superpixel, and each pixel is assigned to one superpixel label. + + The function returns an image with ssthe labels of the superpixel segmentation. The labels are in + the range[0, getNumberOfSuperpixels()]. + + Return: A CV_32UC1 integer array containing the labels of the superpixel + segmentation.The labels are in the range[0, getNumberOfSuperpixels()]. + + + + Returns the mask of the superpixel segmentation stored in SuperpixelSEEDS object. + The function return the boundaries of the superpixel segmentation. + + Return: CV_8U1 image mask where -1 indicates that the pixel is a superpixel border, and 0 otherwise. + If false, the border is only one pixel wide, otherwise all pixels at the border are masked. + + + + Class implementing the SLIC (Simple Linear Iterative Clustering) superpixels + algorithm described in @cite Achanta2012. + + + + + Creates instance by raw pointer + + + + + Releases managed resources + + + + + Initialize a SuperpixelSLIC object. + + The function initializes a SuperpixelSLIC object for the input image. It sets the parameters of chosen + superpixel algorithm, which are: region_size and ruler.It preallocate some buffers for future + computing iterations over the given image.For enanched results it is recommended for color images to + preprocess image with little gaussian blur using a small 3 x 3 kernel and additional conversion into + CieLAB color space.An example of SLIC versus SLICO and MSLIC is ilustrated in the following picture. + + Image to segment + Chooses the algorithm variant to use: + SLIC segments image using a desired region_size, and in addition SLICO will optimize using adaptive compactness factor, + while MSLIC will optimize using manifold methods resulting in more content-sensitive superpixels. + Chooses an average superpixel size measured in pixels + Chooses the enforcement of superpixel smoothness factor of superpixel + + + + + Calculates the actual amount of superpixels on a given segmentation computed + and stored in SuperpixelSLIC object. + + + + + + Calculates the superpixel segmentation on a given image with the initialized + parameters in the SuperpixelSLIC object. + + This function can be called again without the need of initializing the algorithm with + createSuperpixelSLIC(). This save the computational cost of allocating memory for all the + structures of the algorithm. + + The function computes the superpixels segmentation of an image with the parameters initialized + with the function createSuperpixelSLIC(). The algorithms starts from a grid of superpixels and + then refines the boundaries by proposing updates of edges boundaries. + + Number of iterations. Higher number improves the result. + + + + Returns the segmentation labeling of the image. + Each label represents a superpixel, and each pixel is assigned to one superpixel label. + + The function returns an image with the labels of the superpixel segmentation. The labels are in + the range[0, getNumberOfSuperpixels()]. + + + + + + Returns the mask of the superpixel segmentation stored in SuperpixelSLIC object. + The function return the boundaries of the superpixel segmentation. + + Return: CV_8U1 image mask where -1 indicates that the pixel is a superpixel border, and 0 otherwise. + If false, the border is only one pixel wide, otherwise all pixels at the border are masked. + + + + Enforce label connectivity. + + The function merge component that is too small, assigning the previously found adjacent label + to this component.Calling this function may change the final number of superpixels. + + The minimum element size in percents that should be absorbed into a bigger + superpixel.Given resulted average superpixel size valid value should be in 0-100 range, 25 means + that less then a quarter sized superpixel should be absorbed, this is default. + + + + Applies Ridge Detection Filter to an input image. + + Implements Ridge detection similar to the one in [Mathematica](http://reference.wolfram.com/language/ref/RidgeFilter.html) + using the eigen values from the Hessian Matrix of the input image using Sobel Derivatives. + Additional refinement can be done using Skeletonization and Binarization. Adapted from @cite segleafvein and @cite M_RF + + + + + Constructor + + + + + Create pointer to the Ridge detection filter. + + Specifies output image depth. Defualt is CV_32FC1 + Order of derivative x, default is 1 + Order of derivative y, default is 1 + Sobel kernel size , default is 3 + Converted format for output, default is CV_8UC1 + Optional scale value for derivative values, default is 1 + Optional bias added to output, default is 0 + Pixel extrapolation method, default is BORDER_DEFAULT + + + + + Releases managed resources + + + + + Apply Ridge detection filter on input image. + + InputArray as supported by Sobel. img can be 1-Channel or 3-Channels. + OutputAray of structure as RidgeDetectionFilter::ddepth. Output image with ridges. + + + + cv::xphoto functions + + + + + Performs image denoising using the Block-Matching and 3D-filtering algorithm + (http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf) with several computational + optimizations.Noise expected to be a gaussian white noise. + + Input 8-bit or 16-bit 1-channel image. + Output image of the first step of BM3D with the same size and type as src. + Output image of the second step of BM3D with the same size and type as src. + Parameter regulating filter strength. Big h value perfectly removes noise but also + removes image details, smaller h value preserves details but also preserves some noise. + Size in pixels of the template patch that is used for block-matching. Should be power of 2. + Size in pixels of the window that is used to perform block-matching. + Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. + Block matching threshold for the first step of BM3D (hard thresholding), + i.e.maximum distance for which two blocks are considered similar.Value expressed in euclidean distance. + Block matching threshold for the second step of BM3D (Wiener filtering), + i.e.maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. + Maximum size of the 3D group for collaborative filtering. + Sliding step to process every next reference block. + Kaiser window parameter that affects the sidelobe attenuation of the transform of the + window.Kaiser window is used in order to reduce border effects.To prevent usage of the window, set beta to zero. + Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results. + Step of BM3D to be executed. Allowed are only BM3D_STEP1 and BM3D_STEPALL. + BM3D_STEP2 is not allowed as it requires basic estimate to be present. + Type of the orthogonal transform used in collaborative filtering step. + Currently only Haar transform is supported. + + + + Performs image denoising using the Block-Matching and 3D-filtering algorithm + (http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf) with several computational optimizations.Noise expected to be a gaussian white noise. + + Input 8-bit or 16-bit 1-channel image. + Output image with the same size and type as src. + Parameter regulating filter strength. Big h value perfectly removes noise but also + removes image details, smaller h value preserves details but also preserves some noise. + Size in pixels of the template patch that is used for block-matching. Should be power of 2. + Size in pixels of the window that is used to perform block-matching. + Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. + Block matching threshold for the first step of BM3D (hard thresholding), + i.e.maximum distance for which two blocks are considered similar.Value expressed in euclidean distance. + Block matching threshold for the second step of BM3D (Wiener filtering), + i.e.maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. + Maximum size of the 3D group for collaborative filtering. + Sliding step to process every next reference block. + Kaiser window parameter that affects the sidelobe attenuation of the transform of the + window.Kaiser window is used in order to reduce border effects.To prevent usage of the window, set beta to zero. + Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results. + Step of BM3D to be executed. Allowed are only BM3D_STEP1 and BM3D_STEPALL. + BM3D_STEP2 is not allowed as it requires basic estimate to be present. + Type of the orthogonal transform used in collaborative filtering step. + Currently only Haar transform is supported. + + + + The function implements simple dct-based denoising + + + http://www.ipol.im/pub/art/2011/ys-dct/ + + source image + destination image + expected noise standard deviation + size of block side where dct is computed + + + + The function implements different single-image inpainting algorithms. + + source image, it could be of any type and any number of channels from 1 to 4. In case of 3- and 4-channels images the function expect them in CIELab colorspace or similar one, where first color component shows intensity, while second and third shows colors. Nonetheless you can try any colorspaces. + mask (CV_8UC1), where non-zero pixels indicate valid image area, while zero pixels indicate area to be inpainted + destination image + see OpenCvSharp.XPhoto.InpaintTypes + + + + oilPainting. + See the book @cite Holzmann1988 for details. + + Input three-channel or one channel image (either CV_8UC3 or CV_8UC1) + Output image of the same size and type as src. + neighbouring size is 2-size+1 + image is divided by dynRatio before histogram processing + color space conversion code(see ColorConversionCodes). Histogram will used only first plane + + + + Implements an efficient fixed-point approximation for applying channel gains, + which is the last step of multiple white balance algorithms. + + Input three-channel image in the BGR color space (either CV_8UC3 or CV_16UC3) + Output image of the same size and type as src. + gain for the B channel + gain for the G channel + gain for the R channel + + + + Creates an instance of GrayworldWB + + + + + + Creates an instance of LearningBasedWB + + Path to a .yml file with the model. If not specified, the default model is used + + + + + Creates an instance of SimpleWB + + + + + + BM3D algorithm steps + + + + + Execute all steps of the algorithm + + + + + Execute only first step of the algorithm + + + + + Execute only second step of the algorithm + + + + + various inpainting algorithms + + + + + This algorithm searches for dominant correspondences(transformations) of image patches + and tries to seamlessly fill-in the area to be inpainted using this transformations inpaint + + + + + Performs Frequency Selective Reconstruction (FSR). + One of the two quality profiles BEST and FAST can be chosen, depending on the time available for reconstruction. + See @cite GenserPCS2018 and @cite SeilerTIP2015 for details. + + The algorithm may be utilized for the following areas of application: + 1. %Error Concealment (Inpainting). + The sampling mask indicates the missing pixels of the distorted input + image to be reconstructed. + 2. Non-Regular Sampling. + For more information on how to choose a good sampling mask, please review + @cite GroscheICIP2018 and @cite GroscheIST2018. + + 1-channel grayscale or 3-channel BGR image are accepted. + + Conventional accepted ranges: + - 0-255 for CV_8U + - 0-65535 for CV_16U + - 0-1 for CV_32F/CV_64F. + + + + + See #INPAINT_FSR_BEST + + + + + BM3D transform types + + + + + Un-normalized Haar transform + + + + + Gray-world white balance algorithm. + + + + + Constructor + + + + + Creates an instance of GrayworldWB + + + + + + + + + Maximum saturation for a pixel to be included in the gray-world assumption. + + + + + Applies white balancing to the input image. + + Input image + White balancing result + + + + More sophisticated learning-based automatic white balance algorithm. + + + + + Constructor + + + + + Creates an instance of LearningBasedWB + + Path to a .yml file with the model. If not specified, the default model is used + + + + + + + + Defines the size of one dimension of a three-dimensional RGB histogram that is used internally by the algorithm. It often makes sense to increase the number of bins for images with higher bit depth (e.g. 256 bins for a 12 bit image). + + + + + Maximum possible value of the input image (e.g. 255 for 8 bit images, 4095 for 12 bit images) + + + + + Threshold that is used to determine saturated pixels, i.e. pixels where at least one of the channels exceeds + + + + + Applies white balancing to the input image. + + Input image + White balancing result + + + + Implements the feature extraction part of the algorithm. + + Input three-channel image (BGR color space is assumed). + An array of four (r,g) chromaticity tuples corresponding to the features listed above. + + + + A simple white balance algorithm that works by independently stretching each of the input image channels to the specified range. For increased robustness it ignores the top and bottom p% of pixel values. + + + + + Constructor + + + + + Creates an instance of SimpleWB + + + + + + Releases managed resources + + + + + Input image range maximum value. + + + + + Input image range minimum value. + + + + + Output image range maximum value. + + + + + Output image range minimum value. + + + + + Percent of top/bottom values to ignore. + + + + + Applies white balancing to the input image. + + Input image + White balancing result + + + + This algorithm decomposes image into two layers: base layer and detail layer using bilateral filter + and compresses contrast of the base layer thus preserving all the details. + + This implementation uses regular bilateral filter from OpenCV. + + Saturation enhancement is possible as in cv::TonemapDrago. + + For more information see @cite DD02 . + + + + + Constructor + + + + + Creates TonemapDurand object + + positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma + equal to 2.2f is suitable for most displays. + Generally gamma > 1 brightens the image and gamma < 1 darkens it. + resulting contrast on logarithmic scale, i. e. log(max / min), where max and min + positive saturation enhancement value. 1.0 preserves saturation, values greater + than 1 increase saturation and values less than 1 decrease it. + bilateral filter sigma in coordinate space + bilateral filter sigma in color space + + + + + Releases managed resources + + + + + Gets or sets positive saturation enhancement value. 1.0 preserves saturation, values greater + than 1 increase saturation and values less than 1 decrease it. + + + + + Gets or sets resulting contrast on logarithmic scale, i. e. log(max / min), where max and min + + + + + Gets or sets bilateral filter sigma in coordinate space + + + + + Gets or sets bilateral filter sigma in color space + + + + + The base class for auto white balance algorithms. + + + + + Applies white balancing to the input image. + + Input image + White balancing result + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/S7.Net.xml b/LeatherProject/GeBoShi/bin/Debug/S7.Net.xml new file mode 100644 index 0000000..69b7c6f --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/S7.Net.xml @@ -0,0 +1,1853 @@ + + + + S7.Net + + + + + Conversion methods to convert from Siemens numeric format to C# and back + + + + + Converts a binary string to Int32 value + + + + + + + Converts a binary string to a byte. Can return null. + + + + + + + Converts the value to a binary string + + + + + + + Helper to get a bit value given a byte and the bit index. + Example: DB1.DBX0.5 -> var bytes = ReadBytes(DB1.DBW0); bool bit = bytes[0].SelectBit(5); + + + + + + + + Converts from ushort value to short value; it's used to retrieve negative values from words + + + + + + + Converts from short value to ushort value; it's used to pass negative values to DWs + + + + + + + Converts from UInt32 value to Int32 value; it's used to retrieve negative values from DBDs + + + + + + + Converts from Int32 value to UInt32 value; it's used to pass negative values to DBDs + + + + + + + Converts from float to DWord (DBD) + + + + + + + Converts from DWord (DBD) to float + + + + + + + COTP Protocol functions and types + + + + + Describes a COTP TPDU (Transport protocol data unit) + + + + + Reads COTP TPDU (Transport protocol data unit) from the network stream + See: https://tools.ietf.org/html/rfc905 + + The socket to read from + A cancellation token that can be used to cancel the asynchronous operation. + COTP DPDU instance + + + + Describes a COTP TSDU (Transport service data unit). One TSDU consist of 1 ore more TPDUs + + + + + Reads the full COTP TSDU (Transport service data unit) + See: https://tools.ietf.org/html/rfc905 + + The stream to read from + A cancellation token that can be used to cancel the asynchronous operation. + Data in TSDU + + + + Types of S7 cpu supported by the library + + + + + S7 200 cpu type + + + + + Siemens Logo 0BA8 + + + + + S7 200 Smart + + + + + S7 300 cpu type + + + + + S7 400 cpu type + + + + + S7 1200 cpu type + + + + + S7 1500 cpu type + + + + + Types of error code that can be set after a function is called + + + + + The function has been executed correctly + + + + + Wrong type of CPU error + + + + + Connection error + + + + + Ip address not available + + + + + Wrong format of the variable + + + + + Wrong number of received bytes + + + + + Error on send data + + + + + Error on read data + + + + + Error on write data + + + + + Types of memory area that can be read + + + + + Input area memory + + + + + Output area memory + + + + + Merkers area memory (M0, M0.0, ...) + + + + + DB area memory (DB1, DB2, ...) + + + + + Timer area memory(T1, T2, ...) + + + + + Counter area memory (C1, C2, ...) + + + + + Types + + + + + S7 Bit variable type (bool) + + + + + S7 Byte variable type (8 bits) + + + + + S7 Word variable type (16 bits, 2 bytes) + + + + + S7 DWord variable type (32 bits, 4 bytes) + + + + + S7 Int variable type (16 bits, 2 bytes) + + + + + DInt variable type (32 bits, 4 bytes) + + + + + Real variable type (32 bits, 4 bytes) + + + + + LReal variable type (64 bits, 8 bytes) + + + + + Char Array / C-String variable type (variable) + + + + + S7 String variable type (variable) + + + + + S7 WString variable type (variable) + + + + + Timer variable type + + + + + Counter variable type + + + + + DateTIme variable type + + + + + DateTimeLong variable type + + + + + Helper function to write to whole content of the given byte array to a memory stream. + + Writes all bytes in value from 0 to value.Length to the memory stream. + + + + + + + Helper function to write the whole content of the given byte span to a memory stream. + + + + + + + Creates an instance of S7.Net driver + + + Creates an instance of S7.Net driver + + + + + The default port for the S7 protocol. + + + + + The default timeout (in milliseconds) used for and . + + + + + IP address of the PLC + + + + + PORT Number of the PLC, default is 102 + + + + + The TSAP addresses used during the connection request. + + + + + CPU type of the PLC + + + + + Rack of the PLC + + + + + Slot of the CPU of the PLC + + + + + Max PDU size this cpu supports + + + + Gets or sets the amount of time that a read operation blocks waiting for data from PLC. + A that specifies the amount of time, in milliseconds, that will elapse before a read operation fails. The default value, , specifies that the read operation does not time out. + + + Gets or sets the amount of time that a write operation blocks waiting for data to PLC. + A that specifies the amount of time, in milliseconds, that will elapse before a write operation fails. The default value, , specifies that the write operation does not time out. + + + + Gets a value indicating whether a connection to the PLC has been established. + + + The property gets the connection state of the Client socket as + of the last I/O operation. When it returns false, the Client socket was either + never connected, or is no longer connected. + + + Because the property only reflects the state of the connection + as of the most recent operation, you should attempt to send or receive a message to + determine the current state. After the message send fails, this property no longer + returns true. Note that this behavior is by design. You cannot reliably test the + state of the connection because, in the time between the test and a send/receive, the + connection could have been lost. Your code should assume the socket is connected, and + gracefully handle failed transmissions. + + + + + + Creates a PLC object with all the parameters needed for connections. + For S7-1200 and S7-1500, the default is rack = 0 and slot = 0. + You need slot > 0 if you are connecting to external ethernet card (CP). + For S7-300 and S7-400 the default is rack = 0 and slot = 2. + + CpuType of the PLC (select from the enum) + Ip address of the PLC + rack of the PLC, usually it's 0, but check in the hardware configuration of Step7 or TIA portal + slot of the CPU of the PLC, usually it's 2 for S7300-S7400, 0 for S7-1200 and S7-1500. + If you use an external ethernet card, this must be set accordingly. + + + + Creates a PLC object with all the parameters needed for connections. + For S7-1200 and S7-1500, the default is rack = 0 and slot = 0. + You need slot > 0 if you are connecting to external ethernet card (CP). + For S7-300 and S7-400 the default is rack = 0 and slot = 2. + + CpuType of the PLC (select from the enum) + Ip address of the PLC + Port number used for the connection, default 102. + rack of the PLC, usually it's 0, but check in the hardware configuration of Step7 or TIA portal + slot of the CPU of the PLC, usually it's 2 for S7300-S7400, 0 for S7-1200 and S7-1500. + If you use an external ethernet card, this must be set accordingly. + + + + Creates a PLC object with all the parameters needed for connections. + For S7-1200 and S7-1500, the default is rack = 0 and slot = 0. + You need slot > 0 if you are connecting to external ethernet card (CP). + For S7-300 and S7-400 the default is rack = 0 and slot = 2. + + Ip address of the PLC + The TSAP addresses used for the connection request. + + + + Creates a PLC object with all the parameters needed for connections. Use this constructor + if you want to manually override the TSAP addresses used during the connection request. + + Ip address of the PLC + Port number used for the connection, default 102. + The TSAP addresses used for the connection request. + + + + Close connection to PLC + + + + + Dispose Plc Object + + + + + + Connects to the PLC and performs a COTP ConnectionRequest and S7 CommunicationSetup. + + The token to monitor for cancellation requests. The default value is None. + Please note that the cancellation will not affect opening the socket in any way and only affects data transfers for configuring the connection after the socket connection is successfully established. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous open operation. + + + + Reads a number of bytes from a DB starting from a specified index. This handles more than 200 bytes with multiple requests. + If the read was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + Byte count, if you want to read 120 bytes, set this to 120. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + Returns the bytes in an array + + + + Reads a number of bytes from a DB starting from a specified index. This handles more than 200 bytes with multiple requests. + If the read was not successful, check LastErrorCode or LastErrorString. + + Buffer to receive the read bytes. The determines the number of bytes to read. + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + Returns the bytes in an array + + + + Read and decode a certain number of bytes of the "VarType" provided. + This can be used to read multiple consecutive variables of the same type (Word, DWord, Int, etc). + If the read was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + Type of the variable/s that you are reading + Address of bit. If you want to read DB1.DBX200.6, set 6 to this parameter. + + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + + + + Reads a single variable from the PLC, takes in input strings like "DB1.DBX0.0", "DB20.DBD200", "MB20", "T45", etc. + If the read was not successful, check LastErrorCode or LastErrorString. + + Input strings like "DB1.DBX0.0", "DB20.DBD200", "MB20", "T45", etc. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + Returns an object that contains the value. This object must be cast accordingly. + + + + Reads all the bytes needed to fill a struct in C#, starting from a certain address, and return an object that can be casted to the struct. + + Type of the struct to be readed (es.: TypeOf(MyStruct)). + Address of the DB. + Start byte address. If you want to read DB1.DBW200, this is 200. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + Returns a struct that must be cast. + + + + Reads all the bytes needed to fill a struct in C#, starting from a certain address, and returns the struct or null if nothing was read. + + The struct type + Address of the DB. + Start byte address. If you want to read DB1.DBW200, this is 200. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + Returns a nulable struct. If nothing was read null will be returned. + + + + Reads all the bytes needed to fill a class in C#, starting from a certain address, and set all the properties values to the value that are read from the PLC. + This reads only properties, it doesn't read private variable or public variable without {get;set;} specified. + + Instance of the class that will store the values + Index of the DB; es.: 1 is for DB1 + Start byte address. If you want to read DB1.DBW200, this is 200. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + The number of read bytes + + + + Reads all the bytes needed to fill a class in C#, starting from a certain address, and set all the properties values to the value that are read from the PLC. + This reads only properties, it doesn't read private variable or public variable without {get;set;} specified. To instantiate the class defined by the generic + type, the class needs a default constructor. + + The class that will be instantiated. Requires a default constructor + Index of the DB; es.: 1 is for DB1 + Start byte address. If you want to read DB1.DBW200, this is 200. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + An instance of the class with the values read from the PLC. If no data has been read, null will be returned + + + + Reads all the bytes needed to fill a class in C#, starting from a certain address, and set all the properties values to the value that are read from the PLC. + This reads only properties, it doesn't read private variable or public variable without {get;set;} specified. + + The class that will be instantiated + Function to instantiate the class + Index of the DB; es.: 1 is for DB1 + Start byte address. If you want to read DB1.DBW200, this is 200. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + An instance of the class with the values read from the PLC. If no data has been read, null will be returned + + + + Reads multiple vars in a single request. + You have to create and pass a list of DataItems and you obtain in response the same list with the values. + Values are stored in the property "Value" of the dataItem and are already converted. + If you don't want the conversion, just create a dataItem of bytes. + The number of DataItems as well as the total size of the requested data can not exceed a certain limit (protocol restriction). + + List of dataitems that contains the list of variables that must be read. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + + + + Read the current status from the PLC. A value of 0x08 indicates the PLC is in run status, regardless of the PLC type. + + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous operation, with it's result set to the current PLC status on completion. + + + + Write a number of bytes from a DB starting from a specified index. This handles more than 200 bytes with multiple requests. + If the write was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to write DB1.DBW200, this is 200. + Bytes to write. If more than 200, multiple requests will be made. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous write operation. + + + + Write a number of bytes from a DB starting from a specified index. This handles more than 200 bytes with multiple requests. + If the write was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to write DB1.DBW200, this is 200. + Bytes to write. If more than 200, multiple requests will be made. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous write operation. + + + + Write a single bit from a DB with the specified index. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to write DB1.DBW200, this is 200. + The address of the bit. (0-7) + Bytes to write. If more than 200, multiple requests will be made. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous write operation. + + + + Write a single bit from a DB with the specified index. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to write DB1.DBW200, this is 200. + The address of the bit. (0-7) + Bytes to write. If more than 200, multiple requests will be made. + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous write operation. + + + + Takes in input an object and tries to parse it to an array of values. This can be used to write many data, all of the same type. + You must specify the memory area type, memory are address, byte start address and bytes count. + If the read was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + Bytes to write. The lenght of this parameter can't be higher than 200. If you need more, use recursion. + The address of the bit. (0-7) + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous write operation. + + + + Writes a single variable from the PLC, takes in input strings like "DB1.DBX0.0", "DB20.DBD200", "MB20", "T45", etc. + + Input strings like "DB1.DBX0.0", "DB20.DBD200", "MB20", "T45", etc. + Value to be written to the PLC + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous write operation. + + + + Writes a C# struct to a DB in the PLC + + The struct to be written + Db address + Start bytes on the PLC + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous write operation. + + + + Writes a C# class to a DB in the PLC + + The class to be written + Db address + Start bytes on the PLC + The token to monitor for cancellation requests. The default value is None. + Please note that cancellation is advisory/cooperative and will not lead to immediate cancellation in all cases. + A task that represents the asynchronous write operation. + + + + Write DataItem(s) to the PLC. Throws an exception if the response is invalid + or when the PLC reports errors for item(s) written. + + The DataItem(s) to write to the PLC. + Task that completes when response from PLC is parsed. + + + + Writes up to 200 bytes to the PLC. You must specify the memory area type, memory are address, byte start address and bytes count. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + Bytes to write. The lenght of this parameter can't be higher than 200. If you need more, use recursion. + A cancellation token that can be used to cancel the asynchronous operation. + A task that represents the asynchronous write operation. + + + + Creates the header to read bytes from the PLC. + + The stream to write to. + The number of items to read. + + + + Create the bytes-package to request data from the PLC. You have to specify the memory type (dataType), + the address of the memory, the address of the byte and the bytes count. + + The stream to write the read data request to. + MemoryType (DB, Timer, Counter, etc.) + Address of the memory to be read + Start address of the byte + Number of bytes to be read + + + + + Given a S7 variable type (Bool, Word, DWord, etc.), it converts the bytes in the appropriate C# format. + + + + + + + + + + Given a S7 (Bool, Word, DWord, etc.), it returns how many bytes to read. + + + + Byte lenght of variable + + + + Connects to the PLC and performs a COTP ConnectionRequest and S7 CommunicationSetup. + + + + + Reads a number of bytes from a DB starting from a specified index. This handles more than 200 bytes with multiple requests. + If the read was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + Byte count, if you want to read 120 bytes, set this to 120. + Returns the bytes in an array + + + + Reads a number of bytes from a DB starting from a specified index. This handles more than 200 bytes with multiple requests. + If the read was not successful, check LastErrorCode or LastErrorString. + + Buffer to receive the read bytes. The determines the number of bytes to read. + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + Returns the bytes in an array + + + + Read and decode a certain number of bytes of the "VarType" provided. + This can be used to read multiple consecutive variables of the same type (Word, DWord, Int, etc). + If the read was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + Type of the variable/s that you are reading + Address of bit. If you want to read DB1.DBX200.6, set 6 to this parameter. + + + + + Reads a single variable from the PLC, takes in input strings like "DB1.DBX0.0", "DB20.DBD200", "MB20", "T45", etc. + If the read was not successful, check LastErrorCode or LastErrorString. + + Input strings like "DB1.DBX0.0", "DB20.DBD200", "MB20", "T45", etc. + Returns an object that contains the value. This object must be cast accordingly. If no data has been read, null will be returned + + + + Reads all the bytes needed to fill a struct in C#, starting from a certain address, and return an object that can be casted to the struct. + + Type of the struct to be readed (es.: TypeOf(MyStruct)). + Address of the DB. + Start byte address. If you want to read DB1.DBW200, this is 200. + Returns a struct that must be cast. If no data has been read, null will be returned + + + + Reads all the bytes needed to fill a struct in C#, starting from a certain address, and returns the struct or null if nothing was read. + + The struct type + Address of the DB. + Start byte address. If you want to read DB1.DBW200, this is 200. + Returns a nullable struct. If nothing was read null will be returned. + + + + Reads all the bytes needed to fill a class in C#, starting from a certain address, and set all the properties values to the value that are read from the PLC. + This reads only properties, it doesn't read private variable or public variable without {get;set;} specified. + + Instance of the class that will store the values + Index of the DB; es.: 1 is for DB1 + Start byte address. If you want to read DB1.DBW200, this is 200. + The number of read bytes + + + + Reads all the bytes needed to fill a class in C#, starting from a certain address, and set all the properties values to the value that are read from the PLC. + This reads only properties, it doesn't read private variable or public variable without {get;set;} specified. To instantiate the class defined by the generic + type, the class needs a default constructor. + + The class that will be instantiated. Requires a default constructor + Index of the DB; es.: 1 is for DB1 + Start byte address. If you want to read DB1.DBW200, this is 200. + An instance of the class with the values read from the PLC. If no data has been read, null will be returned + + + + Reads all the bytes needed to fill a class in C#, starting from a certain address, and set all the properties values to the value that are read from the PLC. + This reads only properties, it doesn't read private variable or public variable without {get;set;} specified. + + The class that will be instantiated + Function to instantiate the class + Index of the DB; es.: 1 is for DB1 + Start byte address. If you want to read DB1.DBW200, this is 200. + An instance of the class with the values read from the PLC. If no data has been read, null will be returned + + + + Write a number of bytes from a DB starting from a specified index. This handles more than 200 bytes with multiple requests. + If the write was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to write DB1.DBW200, this is 200. + Bytes to write. If more than 200, multiple requests will be made. + + + + Write a number of bytes from a DB starting from a specified index. This handles more than 200 bytes with multiple requests. + If the write was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to write DB1.DBW200, this is 200. + Bytes to write. If more than 200, multiple requests will be made. + + + + Write a single bit from a DB with the specified index. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to write DB1.DBW200, this is 200. + The address of the bit. (0-7) + Bytes to write. If more than 200, multiple requests will be made. + + + + Write a single bit to a DB with the specified index. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to write DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to write DB1.DBW200, this is 200. + The address of the bit. (0-7) + Value to write (0 or 1). + + + + Takes in input an object and tries to parse it to an array of values. This can be used to write many data, all of the same type. + You must specify the memory area type, memory are address, byte start address and bytes count. + If the read was not successful, check LastErrorCode or LastErrorString. + + Data type of the memory area, can be DB, Timer, Counter, Merker(Memory), Input, Output. + Address of the memory area (if you want to read DB1, this is set to 1). This must be set also for other memory area types: counters, timers,etc. + Start byte address. If you want to read DB1.DBW200, this is 200. + Bytes to write. The lenght of this parameter can't be higher than 200. If you need more, use recursion. + The address of the bit. (0-7) + + + + Writes a single variable from the PLC, takes in input strings like "DB1.DBX0.0", "DB20.DBD200", "MB20", "T45", etc. + + Input strings like "DB1.DBX0.0", "DB20.DBD200", "MB20", "T45", etc. + Value to be written to the PLC + + + + Writes a C# struct to a DB in the PLC + + The struct to be written + Db address + Start bytes on the PLC + + + + Writes a C# class to a DB in the PLC + + The class to be written + Db address + Start bytes on the PLC + + + + Write DataItem(s) to the PLC. Throws an exception if the response is invalid + or when the PLC reports errors for item(s) written. + + The DataItem(s) to write to the PLC. + + + + Reads multiple vars in a single request. + You have to create and pass a list of DataItems and you obtain in response the same list with the values. + Values are stored in the property "Value" of the dataItem and are already converted. + If you don't want the conversion, just create a dataItem of bytes. + The number of DataItems as well as the total size of the requested data can not exceed a certain limit (protocol restriction). + + List of dataitems that contains the list of variables that must be read. + + + + Read the current status from the PLC. A value of 0x08 indicates the PLC is in run status, regardless of the PLC type. + + The current PLC status. + + + + Represents an area of memory in the PLC + + + + + Memory area to read + + + + + Address of memory area to read (example: for DB1 this value is 1, for T45 this value is 45) + + + + + Address of the first byte to read + + + + + Length of data to read + + + + + Provides a representation of the Transport Service Access Point, or TSAP in short. TSAP's are used + to specify a client and server address. For most PLC types a default TSAP is available that allows + connection from any IP and can be calculated using the rack and slot numbers. + + + + + First byte of the TSAP. + + + + + Second byte of the TSAP. + + + + + Initializes a new instance of the class using the specified values. + + The first byte of the TSAP. + The second byte of the TSAP. + + + + Implements a pair of TSAP addresses used to connect to a PLC. + + + + + The local . + + + + + The remote + + + + + Initializes a new instance of the class using the specified local and + remote TSAP. + + The local TSAP. + The remote TSAP. + + + + Builds a that can be used to connect to a PLC using the default connection + addresses. + + + The remote TSAP is constructed using new Tsap(0x03, (byte) ((rack << 5) | slot)). + + The CPU type of the PLC. + The rack of the PLC's network card. + The slot of the PLC's network card. + A TSAP pair that matches the given parameters. + The is invalid. + + -or- + + The parameter is less than 0. + + -or- + + The parameter is greater than 15. + + -or- + + The parameter is less than 0. + + -or- + + The parameter is greater than 15. + + + + Extensions for Streams + + + + + Reads bytes from the stream into the buffer until exactly the requested number of bytes (or EOF) have been read + + the Stream to read from + the buffer to read into + the offset in the buffer to read into + the amount of bytes to read into the buffer + returns the amount of read bytes + + + + Reads bytes from the stream into the buffer until exactly the requested number of bytes (or EOF) have been read + + the Stream to read from + the buffer to read into + the offset in the buffer to read into + the amount of bytes to read into the buffer + A cancellation token that can be used to cancel the asynchronous operation. + returns the amount of read bytes + + + + Describes a TPKT Packet + + + + + Reads a TPKT from the socket Async + + The stream to read from + A cancellation token that can be used to cancel the asynchronous operation. + Task TPKT Instace + + + + Contains the conversion methods to convert Bit from S7 plc to C#. + + + + + Converts a Bit to bool + + + + + Converts an array of bytes to a BitArray. + + The bytes to convert. + A BitArray with the same number of bits and equal values as . + + + + Converts an array of bytes to a BitArray. + + The bytes to convert. + The number of bits to return. + A BitArray with bits. + + + + Contains the methods to read, set and reset bits inside bytes + + + + + Returns the value of a bit in a bit, given the address of the bit + + + + + Sets the value of a bit to 1 (true), given the address of the bit. Returns + a copy of the value with the bit set. + + The input value to modify. + The index (zero based) of the bit to set. + The modified value with the bit at index set. + + + + Sets the value of a bit to 1 (true), given the address of the bit. + + The value to modify. + The index (zero based) of the bit to set. + + + + Resets the value of a bit to 0 (false), given the address of the bit. Returns + a copy of the value with the bit cleared. + + The input value to modify. + The index (zero based) of the bit to clear. + The modified value with the bit at index cleared. + + + + Resets the value of a bit to 0 (false), given the address of the bit + + The input value to modify. + The index (zero based) of the bit to clear. + + + + Contains the methods to convert from bytes to byte arrays + + + + + Converts a byte to byte array + + + + + Converts a byte array to byte + + + + + + + Contains the methods to convert a C# class to S7 data types + + + + + Gets the size of the class in bytes. + + An instance of the class + The offset of the current field. + if this property belongs to a class being serialized as member of the class requested for serialization; otherwise, . + the number of bytes + + + + Sets the object's values with the given array of bytes + + The object to fill in the given array of bytes + The array of bytes + The offset for the current field. + if this class is the type of a member of the class to be serialized; otherwise, . + + + + Creates a byte array depending on the struct type. + + The struct object. + The target byte array. + The offset for the current field. + A byte array or null if fails. + + + + Contains the conversion methods to convert Counter from S7 plc to C# ushort (UInt16). + + + + + Converts a Counter (2 bytes) to ushort (UInt16) + + + + + Converts a ushort (UInt16) to word (2 bytes) + + + + + Converts an array of ushort (UInt16) to an array of bytes + + + + + Converts an array of bytes to an array of ushort + + + + + Create an instance of a memory block that can be read by using ReadMultipleVars + + + + + Memory area to read + + + + + Type of data to be read (default is bytes) + + + + + Address of memory area to read (example: for DB1 this value is 1, for T45 this value is 45) + + + + + Address of the first byte to read + + + + + Addess of bit to read from StartByteAdr + + + + + Number of variables to read + + + + + Contains the value of the memory area after the read has been executed + + + + + Create an instance of DataItem + + + + + Create an instance of from the supplied address. + + The address to create the DataItem for. + A new instance with properties parsed from . + The property is not parsed from the address. + + + + Create an instance of from the supplied address and value. + + The address to create the DataItem for. + The value to be applied to the DataItem. + A new instance with properties parsed from and the supplied value set. + + + + Contains the methods to convert between and S7 representation of datetime values. + + + + + The minimum value supported by the specification. + + + + + The maximum value supported by the specification. + + + + + Parses a value from bytes. + + Input bytes read from PLC. + A object representing the value read from PLC. + Thrown when the length of + is not 8 or any value in + is outside the valid range of values. + + + + Parses an array of values from bytes. + + Input bytes read from PLC. + An array of objects representing the values read from PLC. + Thrown when the length of + is not a multiple of 8 or any value in + is outside the valid range of values. + + + + Converts a value to a byte array. + + The DateTime value to convert. + A byte array containing the S7 date time representation of . + Thrown when the value of + is before + or after . + + + + Converts an array of values to a byte array. + + The DateTime values to convert. + A byte array containing the S7 date time representations of . + Thrown when any value of + is before + or after . + + + + Contains the methods to convert between and S7 representation of DateTimeLong (DTL) values. + + + + + The minimum value supported by the specification. + + + + + The maximum value supported by the specification. + + + + + Parses a value from bytes. + + Input bytes read from PLC. + A object representing the value read from PLC. + + Thrown when the length of + is not 12 or any value in + is outside the valid range of values. + + + + + Parses an array of values from bytes. + + Input bytes read from PLC. + An array of objects representing the values read from PLC. + + Thrown when the length of + is not a multiple of 12 or any value in + is outside the valid range of values. + + + + + Converts a value to a byte array. + + The DateTime value to convert. + A byte array containing the S7 DateTimeLong representation of . + + Thrown when the value of + is before + or after . + + + + + Converts an array of values to a byte array. + + The DateTime values to convert. + A byte array containing the S7 DateTimeLong representations of . + + Thrown when any value of + is before + or after . + + + + + Contains the conversion methods to convert DInt from S7 plc to C# int (Int32). + + + + + Converts a S7 DInt (4 bytes) to int (Int32) + + + + + Converts a int (Int32) to S7 DInt (4 bytes) + + + + + Converts an array of int (Int32) to an array of bytes + + + + + Converts an array of S7 DInt to an array of int (Int32) + + + + + Contains the conversion methods to convert Real from S7 plc to C# double. + + + + + Converts a S7 Real (4 bytes) to double + + + + + Converts a S7 DInt to double + + + + + Converts a S7 DWord to double + + + + + Converts a double to S7 Real (4 bytes) + + + + + Converts an array of double to an array of bytes + + + + + Converts an array of S7 Real to an array of double + + + + + Contains the conversion methods to convert DWord from S7 plc to C#. + + + + + Converts a S7 DWord (4 bytes) to uint (UInt32) + + + + + Converts 4 bytes to DWord (UInt32) + + + + + Converts a uint (UInt32) to S7 DWord (4 bytes) + + + + + Converts an array of uint (UInt32) to an array of S7 DWord (4 bytes) + + + + + Converts an array of S7 DWord to an array of uint (UInt32) + + + + + Contains the conversion methods to convert Int from S7 plc to C#. + + + + + Converts a S7 Int (2 bytes) to short (Int16) + + + + + Converts a short (Int16) to a S7 Int byte array (2 bytes) + + + + + Converts an array of short (Int16) to a S7 Int byte array (2 bytes) + + + + + Converts an array of S7 Int to an array of short (Int16) + + + + + Converts a C# int value to a C# short value, to be used as word. + + + + + + + Contains the conversion methods to convert Real from S7 plc to C# double. + + + + + Converts a S7 LReal (8 bytes) to double + + + + + Converts a double to S7 LReal (8 bytes) + + + + + Converts an array of double to an array of bytes + + + + + Converts an array of S7 LReal to an array of double + + + + + Contains the conversion methods to convert Real from S7 plc to C# double. + + + + + Converts a S7 Real (4 bytes) to float + + + + + Converts a float to S7 Real (4 bytes) + + + + + Converts an array of float to an array of bytes + + + + + Converts an array of S7 Real to an array of float + + + + + Contains the methods to convert from S7 strings to C# strings + An S7 String has a preceeding 2 byte header containing its capacity and length + + + + + The Encoding used when serializing and deserializing S7String (Encoding.ASCII by default) + + StringEncoding must not be null + + + + Converts S7 bytes to a string + + + + + + + Converts a to S7 string with 2-byte header. + + The string to convert to byte array. + The length (in characters) allocated in PLC for the string. + A containing the string header and string value with a maximum length of + 2. + + + + Initializes a new instance of the class. + + The string type. + Reserved length of the string in characters. + Please use a valid value for the string type + + + + Gets the type of the string. + + + The string type. + + + + + Gets the reserved length of the string in characters. + + + The reserved length of the string in characters. + + + + + Gets the reserved length in bytes. + + + The reserved length in bytes. + + + + + String type. + + + + + ASCII string. + + + + + Unicode string. + + + + + Contains the methods to convert from S7 wstrings to C# strings + An S7 WString has a preceding 4 byte header containing its capacity and length + + + + + Converts S7 bytes to a string + + + + + + + Converts a to S7 wstring with 4-byte header. + + The string to convert to byte array. + The length (in characters) allocated in PLC for the string. + A containing the string header and string value with a maximum length of + 4. + + + + Contains the conversion methods to convert Real from S7 plc to C# float. + + + + + Converts a S7 Real (4 bytes) to float + + + + + Converts a S7 DInt to float + + + + + Converts a S7 DWord to float + + + + + Converts a double to S7 Real (4 bytes) + + + + + Converts an array of float to an array of bytes + + + + + Converts an array of S7 Real to an array of float + + + + + Contains the methods to convert from S7 Array of Chars (like a const char[N] C-String) to C# strings + + + + + Converts a string to of bytes, padded with 0-bytes if required. + + The string to write to the PLC. + The amount of bytes reserved for the in the PLC. + + + + Converts S7 bytes to a string + + + + + + + + + + + + + + + + Contains the method to convert a C# struct to S7 data types + + + + + Gets the size of the struct in bytes. + + the type of the struct + the number of bytes + + + + Creates a struct of a specified type by an array of bytes. + + The struct type + The array of bytes + The object depending on the struct type or null if fails(array-length != struct-length + + + + Creates a byte array depending on the struct type. + + The struct object + A byte array or null if fails. + + + + Converts the Timer data type to C# data type + + + + + Converts the timer bytes to a double + + + + + Converts a ushort (UInt16) to an array of bytes formatted as time + + + + + Converts an array of ushorts (Uint16) to an array of bytes formatted as time + + + + + Converts an array of bytes formatted as time to an array of doubles + + + + + + + Converts an array of T to an array of bytes + + + + + Converts an array of T repesented as S7 binary data to an array of T + + + + + Contains the conversion methods to convert Words from S7 plc to C#. + + + + + Converts a word (2 bytes) to ushort (UInt16) + + + + + Converts 2 bytes to ushort (UInt16) + + + + + Converts a ushort (UInt16) to word (2 bytes) + + + + + Converts an array of ushort (UInt16) to an array of bytes + + + + + Converts an array of bytes to an array of ushort + + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/Service.dll.config b/LeatherProject/GeBoShi/bin/Debug/Service.dll.config new file mode 100644 index 0000000..b4842ae --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/Service.dll.config @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/bin/Debug/System.Buffers.xml b/LeatherProject/GeBoShi/bin/Debug/System.Buffers.xml new file mode 100644 index 0000000..8a52c11 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/System.Buffers.xml @@ -0,0 +1,38 @@ + + + System.Buffers + + + + Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/bin/Debug/System.IO.Pipelines.xml b/LeatherProject/GeBoShi/bin/Debug/System.IO.Pipelines.xml new file mode 100644 index 0000000..79207a5 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/System.IO.Pipelines.xml @@ -0,0 +1,341 @@ + + + + System.IO.Pipelines + + + + Result returned by call. + + + Initializes a new instance of struct setting the and flags. + + to indicate the current operation that produced this was canceled by ; otherwise, . + + to indicate the reader is no longer reading data written to the . + + + Gets a value that indicates whether the current operation was canceled. + + if the current operation was canceled; otherwise, . + + + Gets a value that indicates the reader is no longer reading data written to the . + + if the reader is no longer reading data written to the ; otherwise, . + + + Defines a class that provides a duplex pipe from which data can be read from and written to. + + + Gets the half of the duplex pipe. + + + Gets the half of the duplex pipe. + + + The default and implementation. + + + Initializes a new instance of the class using as options. + + + Initializes a new instance of the class with the specified options. + The set of options for this pipe. + + + Resets the pipe. + + + Gets the for this pipe. + A instance for this pipe. + + + Gets the for this pipe. + A instance for this pipe. + + + Represents a set of options. + + + Initializes a new instance of the class with the specified parameters. + The pool of memory blocks to be used for buffer management. + The to be used to execute callbacks and async continuations. + The used to execute callbacks and async continuations. + The number of bytes in the before starts blocking. A value of zero prevents from ever blocking, effectively making the number of bytes in the unlimited. + The number of bytes in the when stops blocking. + The minimum size of the segment requested from . + + if asynchronous continuations should be executed on the they were captured on; otherwise. This takes precedence over the schedulers specified in and . + + + Gets the default instance of . + A object initialized with default parameters. + + + Gets the minimum size of the segment requested from the . + The minimum size of the segment requested from the . + + + Gets the number of bytes in the when starts blocking. + The number of bytes in the when starts blocking. + + + Gets the object used for buffer management. + A pool of memory blocks used for buffer management. + + + Gets the used to execute callbacks and async continuations. + A that is used to execute callbacks and async continuations. + + + Gets the number of bytes in the when stops blocking. + The number of bytes in the when stops blocking. + + + Gets a value that determines if asynchronous callbacks and continuations should be executed on the they were captured on. This takes precedence over the schedulers specified in and . + + if asynchronous callbacks and continuations should be executed on the they were captured on; otherwise, . + + + Gets the used to execute callbacks and async continuations. + A object used to execute callbacks and async continuations. + + + Defines a class that provides access to a read side of pipe. + + + Initializes a new instance of the class. + + + Moves forward the pipeline's read cursor to after the consumed data, marking the data as processed. + Marks the extent of the data that has been successfully processed. + + + Moves forward the pipeline's read cursor to after the consumed data, marking the data as processed, read and examined. + Marks the extent of the data that has been successfully processed. + Marks the extent of the data that has been read and examined. + + + Returns a representation of the . + An optional flag that indicates whether disposing the returned leaves open () or completes (). + A stream that represents the . + + + Cancels to currently pending or if none is pending next call to , without completing the . + + + Signals to the producer that the consumer is done reading. + Optional indicating a failure that's causing the pipeline to complete. + + + Marks the current pipe reader instance as being complete, meaning no more data will be read from it. + An optional exception that indicates the failure that caused the reader to complete. + A value task that represents the asynchronous complete operation. + + + Asynchronously reads the bytes from the and writes them to the specified , using a specified buffer size and cancellation token. + The pipe writer to which the contents of the current stream will be copied. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous copy operation. + + + Asynchronously reads the bytes from the and writes them to the specified stream, using a specified cancellation token. + The stream to which the contents of the current stream will be copied. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous copy operation. + + + Creates a wrapping the specified . + The stream that the pipe reader will wrap. + The options to configure the pipe reader. + A that wraps the . + + + Registers a callback that executes when the side of the pipe is completed. + The callback to register. + The state object to pass to when it's invoked. + + + Asynchronously reads a sequence of bytes from the current . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous read operation. + + + Attempts to synchronously read data the . + When this method returns , this value is set to a instance that represents the result of the read call; otherwise, this value is set to . + + if data was available, or if the call was canceled or the writer was completed; otherwise, . + + + Abstraction for running and callbacks and continuations. + + + Initializes new a instance. + + + Requests to be run on scheduler with being passed in. + The single-parameter action delegate to schedule. + The parameter to pass to the delegate. + + + The implementation that runs callbacks inline. + A instance that runs callbacks inline. + + + The implementation that queues callbacks to the thread pool. + A instance that queues callbacks to the thread pool. + + + Defines a class that provides a pipeline to which data can be written. + + + Initializes a new instance of the class. + + + Notifies the that bytes were written to the output or . You must request a new buffer after calling to continue writing more data; you cannot write to a previously acquired buffer. + The number of bytes written to the or . + + + Returns a representation of the . + An optional flag that indicates whether disposing the returned leaves open () or completes (). + A stream that represents the . + + + Cancels the pending operation. If there is none, cancels next operation, without completing the . + + + Marks the as being complete, meaning no more items will be written to it. + Optional indicating a failure that's causing the pipeline to complete. + + + Marks the current pipe writer instance as being complete, meaning no more data will be written to it. + An optional exception that indicates the failure that caused the pipeline to complete. + A value task that represents the asynchronous complete operation. + + + Asynchronously reads the bytes from the specified stream and writes them to the . + The stream from which the contents will be copied. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous copy operation. + + + Creates a wrapping the specified . + The stream that the pipe writer will wrap. + The options to configure the pipe writer. + A that wraps the . + + + Makes bytes written available to and runs continuation. + The token to monitor for cancellation requests. The default value is . + A task that represents and wraps the asynchronous flush operation. + + + Returns a to write to that is at least the requested size, as specified by the parameter. + The minimum length of the returned . If 0, a non-empty memory buffer of arbitrary size is returned. + The requested buffer size is not available. + A memory buffer of at least bytes. If is 0, returns a non-empty buffer of arbitrary size. + + + Returns a to write to that is at least the requested size, as specified by the parameter. + The minimum length of the returned . If 0, a non-empty buffer of arbitrary size is returned. + The requested buffer size is not available. + A buffer of at least bytes. If is 0, returns a non-empty buffer of arbitrary size. + + + Registers a callback that executes when the side of the pipe is completed. + The callback to register. + The state object to pass to when it's invoked. + + + Writes the specified byte memory range to the pipe and makes data accessible to the . + The read-only byte memory region to write. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous write operation, and wraps the flush asynchronous operation. + + + Represents the result of a call. + + + Creates a new instance of setting and flags. + The read-only sequence containing the bytes of data that were read in the call. + A flag that indicates if the operation that produced this was canceled by . + A flag that indicates whether the end of the data stream has been reached. + + + Gets the that was read. + A read-only sequence containing the bytes of data that were read in the call. + + + Gets a value that indicates whether the current operation was canceled. + + if the operation that produced this was canceled by ; otherwise, . + + + Gets a value that indicates whether the end of the data stream has been reached. + + if the end of the data stream has been reached; otherwise, . + + + Provides extension methods for that support read and write operations directly into pipes. + + + Asynchronously reads the bytes from the and writes them to the specified , using a cancellation token. + The stream from which the contents of the current stream will be copied. + The writer to which the contents of the source stream will be copied. + The token to monitor for cancellation requests. The default value is . + A task that represents the asynchronous copy operation. + + + Represents a set of options for controlling the creation of the . + + + Initializes a instance, optionally specifying a memory pool, a minimum buffer size, a minimum read size, and whether the underlying stream should be left open after the completes. + The memory pool to use when allocating memory. The default value is . + The minimum buffer size to use when renting memory from the . The default value is 4096. + The threshold of remaining bytes in the buffer before a new buffer is allocated. The default value is 1024. + + to leave the underlying stream open after the completes; to close it. The default is . + + + Gets the minimum buffer size to use when renting memory from the . + The buffer size. + + + Gets the value that indicates if the underlying stream should be left open after the completes. + + if the underlying stream should be left open after the completes; otherwise, . + + + Gets the threshold of remaining bytes in the buffer before a new buffer is allocated. + The minimum read size. + + + Gets the to use when allocating memory. + A memory pool instance. + + + Represents a set of options for controlling the creation of the . + + + Initializes a instance, optionally specifying a memory pool, a minimum buffer size, and whether the underlying stream should be left open after the completes. + The memory pool to use when allocating memory. The default value is . + The minimum buffer size to use when renting memory from the . The default value is 4096. + + to leave the underlying stream open after the completes; to close it. The default is . + + + Gets the value that indicates if the underlying stream should be left open after the completes. + + if the underlying stream should be left open after the completes; otherwise, . + + + Gets the minimum buffer size to use when renting memory from the . + An integer representing the minimum buffer size. + + + Gets the to use when allocating memory. + A memory pool instance. + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/bin/Debug/System.Memory.xml b/LeatherProject/GeBoShi/bin/Debug/System.Memory.xml new file mode 100644 index 0000000..de9af89 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/bin/Debug/System.Numerics.Vectors.xml b/LeatherProject/GeBoShi/bin/Debug/System.Numerics.Vectors.xml new file mode 100644 index 0000000..3d093a1 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + + Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml b/LeatherProject/GeBoShi/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..de129b8 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,291 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + Determines if a given reference to a value of type is a null reference. + The reference to check. + The type of the reference. + + if is a null reference; otherwise, . + + + Returns a reference to a value of type that is a null reference. + The type of the reference. + A reference to a value of type that is a null reference. + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/bin/Debug/System.Threading.Tasks.Extensions.xml b/LeatherProject/GeBoShi/bin/Debug/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..1ee5def --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + + Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/bin/Debug/System.ValueTuple.xml b/LeatherProject/GeBoShi/bin/Debug/System.ValueTuple.xml new file mode 100644 index 0000000..59fd818 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/System.ValueTuple.xml @@ -0,0 +1,8 @@ + + + + System.ValueTuple + + + + diff --git a/LeatherProject/GeBoShi/bin/Debug/SystemDefault.ini b/LeatherProject/GeBoShi/bin/Debug/SystemDefault.ini new file mode 100644 index 0000000..0574568 --- /dev/null +++ b/LeatherProject/GeBoShi/bin/Debug/SystemDefault.ini @@ -0,0 +1,3 @@ +#SystemDefault.ini +[SystemDefault] +MySqlCode=123456 diff --git a/LeatherProject/GeBoShi/obj/Debug/GeBoShi.Main.resources b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.Main.resources new file mode 100644 index 0000000..1b4d02f Binary files /dev/null and b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.Main.resources differ diff --git a/LeatherProject/GeBoShi/obj/Debug/GeBoShi.Properties.Resources.resources b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.Properties.Resources.resources new file mode 100644 index 0000000..772893f Binary files /dev/null and b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.Properties.Resources.resources differ diff --git a/LeatherProject/GeBoShi/obj/Debug/GeBoShi.UI.Load.InitFrm.resources b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.UI.Load.InitFrm.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.UI.Load.InitFrm.resources differ diff --git a/LeatherProject/GeBoShi/obj/Debug/GeBoShi.UI.SysSet.SysSetFrm.resources b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.UI.SysSet.SysSetFrm.resources new file mode 100644 index 0000000..2b05fed Binary files /dev/null and b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.UI.SysSet.SysSetFrm.resources differ diff --git a/LeatherProject/GeBoShi/obj/Debug/GeBoShi.csproj.CopyComplete b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/GeBoShi/obj/Debug/GeBoShi.csproj.FileListAbsolute.txt b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..6a220d2 --- /dev/null +++ b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.csproj.FileListAbsolute.txt @@ -0,0 +1,83 @@ +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\GeBoShi.exe.config +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\GeBoShi.exe +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\GeBoShi.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\CSkin.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MaiMuControl.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\S7.Net.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MQTTnet.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\ImageBox.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\halcondotnet.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\OpenCvSharp.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Yolo5.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Newtonsoft.Json.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\BouncyCastle.Crypto.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\SqlSugar.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MySql.Data.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MySqlBackup.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\ControllerDllCSharp.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Automation.BDaq4.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MvCameraControl.Net.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\IKapC.NET.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\IKapBoardClassLibrary.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\AdvMotAPI.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Memory.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Buffers.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\OpenCvSharp.Extensions.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Google.Protobuf.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\ZstdSharp.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\K4os.Compression.LZ4.Streams.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Threading.Tasks.Extensions.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Numerics.Vectors.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\K4os.Compression.LZ4.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.IO.Pipelines.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\K4os.Hash.xxHash.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MaiMuControl.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MaiMuControl.dll.config +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\S7.Net.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MQTTnet.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\ImageBox.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\ImageBox.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\ImageBox.dll.config +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\OpenCvSharp.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Newtonsoft.Json.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\BouncyCastle.Crypto.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\MySql.Data.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Memory.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Buffers.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Google.Protobuf.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Google.Protobuf.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\K4os.Compression.LZ4.Streams.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Threading.Tasks.Extensions.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Numerics.Vectors.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\K4os.Compression.LZ4.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.IO.Pipelines.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\K4os.Hash.xxHash.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.csproj.AssemblyReference.cache +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.csproj.SuggestedBindingRedirects.cache +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.exe.config +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.Main.resources +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.Properties.Resources.resources +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.csproj.GenerateResource.cache +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.csproj.CoreCompileInputs.cache +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.csproj.CopyComplete +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.exe +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\BarTenderPrint.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\HZH_Controls.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Service.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Seagull.BarTender.Print.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Models.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Seagull.Services.PrintScheduler.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Seagull.Services.PrintScheduler.Contracts.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\BarTenderPrint.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Service.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Service.dll.config +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\Models.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.UI.Load.InitFrm.resources +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.Drawing.Common.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.ValueTuple.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\OpenCvSharp.Extensions.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\bin\Debug\System.ValueTuple.xml +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\GeBoShi\obj\Debug\GeBoShi.UI.SysSet.SysSetFrm.resources diff --git a/LeatherProject/GeBoShi/obj/Debug/GeBoShi.exe.config b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.exe.config new file mode 100644 index 0000000..71c499a --- /dev/null +++ b/LeatherProject/GeBoShi/obj/Debug/GeBoShi.exe.config @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LeatherProject/GeBoShi/packages.config b/LeatherProject/GeBoShi/packages.config new file mode 100644 index 0000000..e1f67ec --- /dev/null +++ b/LeatherProject/GeBoShi/packages.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/LeatherProject/LeatherApp/Device/DefectLib.cs b/LeatherProject/LeatherApp/Device/DefectLib.cs index 9741be1..8a18768 100644 --- a/LeatherProject/LeatherApp/Device/DefectLib.cs +++ b/LeatherProject/LeatherApp/Device/DefectLib.cs @@ -421,7 +421,7 @@ namespace LeatherApp.Device for (int i = 0; i < cut_count; i++) { liStep = i * 100; - task.resultInfo += $"第 {i}/{cut_count} 张小图(大图索引{task.photoIndex}): 缺陷数 = {task.output_num[i]}\n"; + //task.resultInfo += $"第 {i}/{cut_count} 张小图(大图索引{task.photoIndex}): 缺陷数 = {task.output_num[i]}\n"; //task.resultInfo +=$"大图({task.tag})[{task.bmp.Width}*{task.bmp.Height}],第 {i + 1}/{cut_count} 张小图[{task.bmps_cut[i].Width}*{task.bmps_cut[i].Height}]: 瑕疵output_num = {output_num[i]}\n"; #region 检测信息汇总 for (int j = 0; j < task.output_num[i]; j++)//缺陷数 @@ -445,7 +445,7 @@ namespace LeatherApp.Device var cmW = Math.Round(w * task.widthRatio / Config.cm2px_x, 2); var cmH = Math.Round(h * task.widthRatio / Config.cm2px_y, 2); // 打印输出信息 - task.resultInfo += $"----{i}----col:{i % colNum}/{colNum} row:{i / colNum}/{colNum}-----------\n目标:{j + 1} 类别ID:{classId} 置信度:{confidence} 对比度:{contrast} 坐标:({x},{y})-({x + w},{y + h}) 宽高:w={w},h={h}; \n"; + //task.resultInfo += $"----{i}----col:{i % colNum}/{colNum} row:{i / colNum}/{colNum}-----------\n目标:{j + 1} 类别ID:{classId} 置信度:{confidence} 对比度:{contrast} 坐标:({x},{y})-({x + w},{y + h}) 宽高:w={w},h={h}; \n"; DefectLabelInfoList.Add(new DefectLabelInfo() { @@ -585,18 +585,21 @@ namespace LeatherApp.Device #region 结果过滤 //降序排序,先得到是否有接头检出 List DefectLabelInfoListByClassID = DefectLabelInfoList.OrderByDescending(t => t.classId).ToList();//降序 - for (int q = 0; q < DefectLabelInfoList.Count; q++) + for (int q = 0; q < DefectLabelInfoListByClassID.Count; q++) { //是否满足此产品标准 if (task.qualifiedLimitList != null && task.qualifiedLimitList.Count > 0) { - qualifiedLimit = task.qualifiedLimitList.FirstOrDefault(m => m.Code == Config.getDefectCode(DefectLabelInfoList[q].classId)); + qualifiedLimit = task.qualifiedLimitList.FirstOrDefault(m => m.Code == Config.getDefectCode(DefectLabelInfoListByClassID[q].classId)); if (qualifiedLimit != null) { + // 打印输出信息 + task.resultInfo += $"----{DefectLabelInfoListByClassID[q].i}----col:{DefectLabelInfoListByClassID[q].i % colNum}/{colNum} row:{DefectLabelInfoListByClassID[q].i / colNum}/{colNum}-----------\n目标:{DefectLabelInfoListByClassID[q].j + 1} 类别ID:{DefectLabelInfoListByClassID[q].classId} 置信度:{DefectLabelInfoListByClassID[q].confidence} 对比度:{DefectLabelInfoListByClassID[q].contrast}\n"; + //if ((qualifiedLimit.ZXD > 0 && qualifiedLimit.ZXD > confidence) // || (qualifiedLimit.ContrastTop + qualifiedLimit.ContrastLower > 0 && x> qualifiedLimit.ContrastLower && x < qualifiedLimit.ContrastTop) // || (qualifiedLimit.Area > 0 && qualifiedLimit.Area > cmW * cmH)) - if (DefectLabelInfoList[q].confidence <= qualifiedLimit.ZXD)//confidence > qualifiedLimit.ZXD 是瑕疵 才继续判断下面的两个条件 + if (DefectLabelInfoListByClassID[q].confidence <= qualifiedLimit.ZXD)//confidence > qualifiedLimit.ZXD 是瑕疵 才继续判断下面的两个条件 { task.resultInfo += $" 置信度不满足此产品瑕疵标准,跳过! \n"; continue; @@ -607,8 +610,8 @@ namespace LeatherApp.Device if (qualifiedLimit.IsOR) { if (!( - (qualifiedLimit.Area <= 0 || DefectLabelInfoList[q].cmW * DefectLabelInfoList[q].cmH >= qualifiedLimit.Area) || - (ContrastTotal <= 0 || (DefectLabelInfoList[q].contrast < qualifiedLimit.ContrastLower || DefectLabelInfoList[q].contrast > qualifiedLimit.ContrastTop)))) + (qualifiedLimit.Area <= 0 || DefectLabelInfoListByClassID[q].cmW * DefectLabelInfoListByClassID[q].cmH >= qualifiedLimit.Area) || + (ContrastTotal <= 0 || (DefectLabelInfoListByClassID[q].contrast < qualifiedLimit.ContrastLower || DefectLabelInfoListByClassID[q].contrast > qualifiedLimit.ContrastTop)))) { task.resultInfo += $" 不满足此产品瑕疵标准,跳过! \n"; //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"判断不是瑕疵:类别ID:{classId}; 置信度({confidence},[{qualifiedLimit.ZXD}]); isOr({qualifiedLimit.IsOR}); 面积({cmW * cmH},[{ qualifiedLimit.Area}]); 对比度({contrast},[{qualifiedLimit.ContrastLower}-{qualifiedLimit.ContrastTop}])"); @@ -618,17 +621,17 @@ namespace LeatherApp.Device else { if (!( - (qualifiedLimit.Area <= 0 || DefectLabelInfoList[q].cmW * DefectLabelInfoList[q].cmH >= qualifiedLimit.Area) && - (ContrastTotal <= 0 || (DefectLabelInfoList[q].contrast < qualifiedLimit.ContrastLower || DefectLabelInfoList[q].contrast > qualifiedLimit.ContrastTop)))) + (qualifiedLimit.Area <= 0 || DefectLabelInfoListByClassID[q].cmW * DefectLabelInfoListByClassID[q].cmH >= qualifiedLimit.Area) && + (ContrastTotal <= 0 || (DefectLabelInfoListByClassID[q].contrast < qualifiedLimit.ContrastLower || DefectLabelInfoListByClassID[q].contrast > qualifiedLimit.ContrastTop)))) { task.resultInfo += $" 不满足此产品瑕疵标准,跳过! \n"; //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"判断不是瑕疵:类别ID:{classId}; 置信度({confidence},[{qualifiedLimit.ZXD}]); isOr({qualifiedLimit.IsOR}); 面积({cmW * cmH},[{ qualifiedLimit.Area}]); 对比度({contrast},[{qualifiedLimit.ContrastLower}-{qualifiedLimit.ContrastTop}])"); continue; } } - if (Config.getDefectCode(DefectLabelInfoList[q].classId) == "jietou") + if (Config.getDefectCode(DefectLabelInfoListByClassID[q].classId) == "jietou") haveJieTou = true; - if(haveJieTou && (Config.getDefectCode(DefectLabelInfoList[q].classId) == "hengdang")) + if(haveJieTou && (Config.getDefectCode(DefectLabelInfoListByClassID[q].classId) == "hengdang")) { task.resultInfo += $" 判断为接头处横档,跳过! \n"; continue; @@ -638,31 +641,31 @@ namespace LeatherApp.Device } liStep++;//1 //打标 - var point1 = new OpenCvSharp.Point((DefectLabelInfoList[q].i % colNum) * image_width + DefectLabelInfoList[q].x, (DefectLabelInfoList[q].i / colNum) * image_hight + DefectLabelInfoList[q].y); - var point2 = new OpenCvSharp.Point(point1.X + DefectLabelInfoList[q].w, point1.Y + DefectLabelInfoList[q].h); + var point1 = new OpenCvSharp.Point((DefectLabelInfoListByClassID[q].i % colNum) * image_width + DefectLabelInfoListByClassID[q].x, (DefectLabelInfoListByClassID[q].i / colNum) * image_hight + DefectLabelInfoListByClassID[q].y); + var point2 = new OpenCvSharp.Point(point1.X + DefectLabelInfoListByClassID[q].w, point1.Y + DefectLabelInfoListByClassID[q].h); liStep++;//2 - task.resultInfo += $" 转换到大图坐标(px):p1={point1.X},{point1.Y}; p2={point2.X},{point2.Y}\n"; + //task.resultInfo += $" 转换到大图坐标(px):p1={point1.X},{point1.Y}; p2={point2.X},{point2.Y}\n"; Cv2.Rectangle(task.bmpTag, point1, point2, new Scalar(0.0, 0.0, 255.0), 1);//画打标点 //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"保存第 {count} 行缺陷信息;"); var cmX = Math.Round(point1.X * task.widthRatio / Config.cm2px_x, 2); - var cmY = Math.Round((task.bmp.Height - point1.Y - DefectLabelInfoList[q].h) * task.widthRatio / Config.cm2px_y, 2);//外面计Y从右下角为原点 + var cmY = Math.Round((task.bmp.Height - point1.Y - DefectLabelInfoListByClassID[q].h) * task.widthRatio / Config.cm2px_y, 2);//外面计Y从右下角为原点 liStep++;//3 - task.resultInfo += $" 转换到大图坐标(cm)[widthRatio={task.widthRatio}]:x={cmX},y={cmY}; w={DefectLabelInfoList[q].cmW},h={DefectLabelInfoList[q].cmH}\n"; - task.excelTable.Rows.Add($"{task.photoIndex}", cmX, cmY, DefectLabelInfoList[q].cmW, DefectLabelInfoList[q].cmH, DefectLabelInfoList[q].j + 1, DefectLabelInfoList[q].classId, DefectLabelInfoList[q].confidence, DefectLabelInfoList[q].contrast); + //task.resultInfo += $" 转换到大图坐标(cm)[widthRatio={task.widthRatio}]:x={cmX},y={cmY}; w={DefectLabelInfoList[q].cmW},h={DefectLabelInfoList[q].cmH}\n"; + task.excelTable.Rows.Add($"{task.photoIndex}", cmX, cmY, DefectLabelInfoListByClassID[q].cmW, DefectLabelInfoListByClassID[q].cmH, DefectLabelInfoListByClassID[q].j + 1, DefectLabelInfoListByClassID[q].classId, DefectLabelInfoListByClassID[q].confidence, DefectLabelInfoListByClassID[q].contrast); liStep++;//4 //切缺陷小图 //WarningEvent?.Invoke(DateTime.Now,WarningEnum.Low, $"保存第 {count} 个缺陷小图;"); int left, top, decX, decY; - decX = (DefectLabelInfoList[q].w > 236 ? 20 : 256 - DefectLabelInfoList[q].w) / 2; - decY = (DefectLabelInfoList[q].h > 236 ? 20 : 256 - DefectLabelInfoList[q].h) / 2; + decX = (DefectLabelInfoListByClassID[q].w > 236 ? 20 : 256 - DefectLabelInfoListByClassID[q].w) / 2; + decY = (DefectLabelInfoListByClassID[q].h > 236 ? 20 : 256 - DefectLabelInfoListByClassID[q].h) / 2; left = point1.X - decX; top = point1.Y - decY; if (left < 0) left = 0; if (top < 0) top = 0; - int width = DefectLabelInfoList[q].w + decX * 2; - int height = DefectLabelInfoList[q].h + decY * 2; + int width = DefectLabelInfoListByClassID[q].w + decX * 2; + int height = DefectLabelInfoListByClassID[q].h + decY * 2; if (left + width > task.bmp.Width - 1) width = task.bmp.Width - left - 1; if (top + height > task.bmp.Height - 1) height = task.bmp.Height - top - 1; liStep++;//5 @@ -670,8 +673,8 @@ namespace LeatherApp.Device liStep++;//6 if (height < 1 || width < 1) { - task.resultInfo += $" 打标到大图坐标Rect(px):left={left},top={top}; width={width},height={height}\n"; - task.resultInfo += $" test point1.Y={point1.Y},h={DefectLabelInfoList[q].h}; top={top},mat.Height={task.bmp.Height}\n================\n"; + //task.resultInfo += $" 打标到大图坐标Rect(px):left={left},top={top}; width={width},height={height}\n"; + //task.resultInfo += $" test point1.Y={point1.Y},h={DefectLabelInfoList[q].h}; top={top},mat.Height={task.bmp.Height}\n================\n"; WarningEvent?.Invoke(DateTime.Now, WarningEnum.Normal, task.resultInfo); } diff --git a/LeatherProject/LeatherApp/FrmVerList.resx b/LeatherProject/LeatherApp/FrmVerList.resx index 5ed0178..4c7c55b 100644 --- a/LeatherProject/LeatherApp/FrmVerList.resx +++ b/LeatherProject/LeatherApp/FrmVerList.resx @@ -118,8 +118,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - v1.0.2.4 (2024-03-15) + v1.0.2.4 (2024-03-15:03-19) 1、更新车用革情况,接头处过滤横档缺陷; +2、更新无瑕疵时报错问题; v1.0.2.3 (2024-02-8) 1、更新报表导出高度单位cm; 2、更新还在处理过程中,按停止按钮崩溃问题; diff --git a/LeatherProject/LeatherApp/Page/FHome.Designer.cs b/LeatherProject/LeatherApp/Page/FHome.Designer.cs index 61ab850..fbdc376 100644 --- a/LeatherProject/LeatherApp/Page/FHome.Designer.cs +++ b/LeatherProject/LeatherApp/Page/FHome.Designer.cs @@ -58,10 +58,36 @@ this.btnEnd = new Sunny.UI.UISymbolButton(); this.btnStart = new Sunny.UI.UISymbolButton(); this.uiTitlePanel2 = new Sunny.UI.UITitlePanel(); - this.ucColorListDefect = new LeatherApp.UIExtend.UCColorList(); this.lineChartDefect = new Sunny.UI.UILineChart(); this.uiTitlePanel3 = new Sunny.UI.UITitlePanel(); this.uiDataGridView1 = new Sunny.UI.UIDataGridView(); + this.uiMiniPagination1 = new Sunny.UI.UIMiniPagination(); + this.uiTitlePanel4 = new Sunny.UI.UITitlePanel(); + this.lineChartFaceWidth = new Sunny.UI.UILineChart(); + this.uiTitlePanel5 = new Sunny.UI.UITitlePanel(); + this.lstboxLog = new Sunny.UI.UIListBox(); + this.uiTitlePanel6 = new Sunny.UI.UITitlePanel(); + this.uiPanel3 = new Sunny.UI.UIPanel(); + this.pnlScannerImg = new Sunny.UI.UITitlePanel(); + this.picScanner2 = new System.Windows.Forms.PictureBox(); + this.picScanner1 = new System.Windows.Forms.PictureBox(); + this.tcbarLightValue = new Sunny.UI.UITrackBar(); + this.uiTitlePanel7 = new Sunny.UI.UITitlePanel(); + this.lblScanner2Cache = new Sunny.UI.UILabel(); + this.uiLabel13 = new Sunny.UI.UILabel(); + this.lblScanner1Cache = new Sunny.UI.UILabel(); + this.uiLabel11 = new Sunny.UI.UILabel(); + this.lblDefectQueue2 = new Sunny.UI.UILabel(); + this.lblDefectQueue1 = new Sunny.UI.UILabel(); + this.lblDefectQueue0 = new Sunny.UI.UILabel(); + this.lblWaitImageCount = new Sunny.UI.UILabel(); + this.swcDefectPauseForUser = new Sunny.UI.UISwitch(); + this.uiLabel9 = new Sunny.UI.UILabel(); + this.uiLabel8 = new Sunny.UI.UILabel(); + this.uiLabel7 = new Sunny.UI.UILabel(); + this.uiLabel6 = new Sunny.UI.UILabel(); + this.picDefectImage = new LeatherApp.UIExtend.UCImageView(); + this.ucColorListDefect = new LeatherApp.UIExtend.UCColorList(); this.colUid = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colIndex = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -73,32 +99,6 @@ this.colArea = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colZXD = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colTarget = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.uiMiniPagination1 = new Sunny.UI.UIMiniPagination(); - this.uiTitlePanel4 = new Sunny.UI.UITitlePanel(); - this.lineChartFaceWidth = new Sunny.UI.UILineChart(); - this.uiTitlePanel5 = new Sunny.UI.UITitlePanel(); - this.lstboxLog = new Sunny.UI.UIListBox(); - this.uiTitlePanel6 = new Sunny.UI.UITitlePanel(); - this.uiPanel3 = new Sunny.UI.UIPanel(); - this.picDefectImage = new LeatherApp.UIExtend.UCImageView(); - this.pnlScannerImg = new Sunny.UI.UITitlePanel(); - this.picScanner2 = new System.Windows.Forms.PictureBox(); - this.picScanner1 = new System.Windows.Forms.PictureBox(); - this.tcbarLightValue = new Sunny.UI.UITrackBar(); - this.uiTitlePanel7 = new Sunny.UI.UITitlePanel(); - this.lblDefectQueue2 = new Sunny.UI.UILabel(); - this.lblDefectQueue1 = new Sunny.UI.UILabel(); - this.lblDefectQueue0 = new Sunny.UI.UILabel(); - this.lblWaitImageCount = new Sunny.UI.UILabel(); - this.swcDefectPauseForUser = new Sunny.UI.UISwitch(); - this.uiLabel9 = new Sunny.UI.UILabel(); - this.uiLabel8 = new Sunny.UI.UILabel(); - this.uiLabel7 = new Sunny.UI.UILabel(); - this.uiLabel6 = new Sunny.UI.UILabel(); - this.lblScanner1Cache = new Sunny.UI.UILabel(); - this.uiLabel11 = new Sunny.UI.UILabel(); - this.lblScanner2Cache = new Sunny.UI.UILabel(); - this.uiLabel13 = new Sunny.UI.UILabel(); this.uiPanel1.SuspendLayout(); this.uiTitlePanel1.SuspendLayout(); this.uiPanel2.SuspendLayout(); @@ -227,7 +227,7 @@ this.uiLabel5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel5.Location = new System.Drawing.Point(8, 205); this.uiLabel5.Name = "uiLabel5"; - this.uiLabel5.Size = new System.Drawing.Size(110, 31); + this.uiLabel5.Size = new System.Drawing.Size(74, 21); this.uiLabel5.Style = Sunny.UI.UIStyle.Custom; this.uiLabel5.StyleCustomMode = true; this.uiLabel5.TabIndex = 0; @@ -270,7 +270,7 @@ this.uiLabel4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel4.Location = new System.Drawing.Point(8, 166); this.uiLabel4.Name = "uiLabel4"; - this.uiLabel4.Size = new System.Drawing.Size(110, 31); + this.uiLabel4.Size = new System.Drawing.Size(74, 21); this.uiLabel4.Style = Sunny.UI.UIStyle.Custom; this.uiLabel4.StyleCustomMode = true; this.uiLabel4.TabIndex = 0; @@ -343,7 +343,7 @@ this.uiLabel3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel3.Location = new System.Drawing.Point(8, 127); this.uiLabel3.Name = "uiLabel3"; - this.uiLabel3.Size = new System.Drawing.Size(110, 31); + this.uiLabel3.Size = new System.Drawing.Size(74, 21); this.uiLabel3.Style = Sunny.UI.UIStyle.Custom; this.uiLabel3.StyleCustomMode = true; this.uiLabel3.TabIndex = 0; @@ -357,7 +357,7 @@ this.uiLabel2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel2.Location = new System.Drawing.Point(8, 88); this.uiLabel2.Name = "uiLabel2"; - this.uiLabel2.Size = new System.Drawing.Size(110, 31); + this.uiLabel2.Size = new System.Drawing.Size(74, 21); this.uiLabel2.Style = Sunny.UI.UIStyle.Custom; this.uiLabel2.StyleCustomMode = true; this.uiLabel2.TabIndex = 0; @@ -404,7 +404,7 @@ this.uiLabel1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel1.Location = new System.Drawing.Point(8, 49); this.uiLabel1.Name = "uiLabel1"; - this.uiLabel1.Size = new System.Drawing.Size(110, 31); + this.uiLabel1.Size = new System.Drawing.Size(74, 21); this.uiLabel1.Style = Sunny.UI.UIStyle.Custom; this.uiLabel1.StyleCustomMode = true; this.uiLabel1.TabIndex = 0; @@ -631,29 +631,6 @@ this.uiTitlePanel2.TitleColor = System.Drawing.Color.White; this.uiTitlePanel2.TitleForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); // - // ucColorListDefect - // - this.ucColorListDefect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.ucColorListDefect.ColorChanged = null; - this.ucColorListDefect.FillColor = System.Drawing.Color.White; - this.ucColorListDefect.FillColor2 = System.Drawing.Color.White; - this.ucColorListDefect.FillDisableColor = System.Drawing.Color.White; - this.ucColorListDefect.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.ucColorListDefect.Location = new System.Drawing.Point(1, 38); - this.ucColorListDefect.MinimumSize = new System.Drawing.Size(1, 1); - this.ucColorListDefect.Name = "ucColorListDefect"; - this.ucColorListDefect.RadiusSides = Sunny.UI.UICornerRadiusSides.None; - this.ucColorListDefect.RectColor = System.Drawing.Color.White; - this.ucColorListDefect.RectDisableColor = System.Drawing.Color.White; - this.ucColorListDefect.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom; - this.ucColorListDefect.Size = new System.Drawing.Size(121, 42); - this.ucColorListDefect.Style = Sunny.UI.UIStyle.Custom; - this.ucColorListDefect.StyleCustomMode = true; - this.ucColorListDefect.TabIndex = 1; - this.ucColorListDefect.Text = "ucColorList1"; - this.ucColorListDefect.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter; - // // lineChartDefect // this.lineChartDefect.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -735,7 +712,7 @@ dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle6.BackColor = System.Drawing.Color.White; dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); + dataGridViewCellStyle6.ForeColor = System.Drawing.Color.White; dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238))))); dataGridViewCellStyle6.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; @@ -775,107 +752,6 @@ this.uiDataGridView1.StyleCustomMode = true; this.uiDataGridView1.TabIndex = 1; // - // colUid - // - this.colUid.HeaderText = "uid"; - this.colUid.MinimumWidth = 8; - this.colUid.Name = "colUid"; - this.colUid.ReadOnly = true; - this.colUid.Visible = false; - this.colUid.Width = 150; - // - // colCode - // - this.colCode.HeaderText = "Code"; - this.colCode.MinimumWidth = 8; - this.colCode.Name = "colCode"; - this.colCode.Visible = false; - this.colCode.Width = 150; - // - // colIndex - // - this.colIndex.DataPropertyName = "Index"; - this.colIndex.HeaderText = "图号"; - this.colIndex.MinimumWidth = 8; - this.colIndex.Name = "colIndex"; - this.colIndex.Width = 50; - // - // colDefectName - // - this.colDefectName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.colDefectName.DataPropertyName = "Name"; - this.colDefectName.HeaderText = "名称"; - this.colDefectName.MinimumWidth = 50; - this.colDefectName.Name = "colDefectName"; - this.colDefectName.ReadOnly = true; - // - // colX - // - this.colX.DataPropertyName = "X"; - dataGridViewCellStyle3.Format = "N1"; - dataGridViewCellStyle3.NullValue = null; - this.colX.DefaultCellStyle = dataGridViewCellStyle3; - this.colX.HeaderText = "X(cm)"; - this.colX.MinimumWidth = 8; - this.colX.Name = "colX"; - this.colX.ReadOnly = true; - this.colX.Width = 80; - // - // colY - // - this.colY.DataPropertyName = "Y"; - dataGridViewCellStyle4.Format = "N2"; - dataGridViewCellStyle4.NullValue = null; - this.colY.DefaultCellStyle = dataGridViewCellStyle4; - this.colY.HeaderText = "Y(米)"; - this.colY.MinimumWidth = 8; - this.colY.Name = "colY"; - this.colY.ReadOnly = true; - this.colY.Width = 80; - // - // colW - // - this.colW.HeaderText = "宽(cm)"; - this.colW.MinimumWidth = 8; - this.colW.Name = "colW"; - this.colW.Width = 70; - // - // colH - // - this.colH.HeaderText = "高(cm)"; - this.colH.MinimumWidth = 8; - this.colH.Name = "colH"; - this.colH.Width = 70; - // - // colArea - // - dataGridViewCellStyle5.Format = "N2"; - dataGridViewCellStyle5.NullValue = null; - this.colArea.DefaultCellStyle = dataGridViewCellStyle5; - this.colArea.HeaderText = "面积(cm)"; - this.colArea.MinimumWidth = 8; - this.colArea.Name = "colArea"; - this.colArea.ReadOnly = true; - this.colArea.Width = 80; - // - // colZXD - // - this.colZXD.DataPropertyName = "ZXD"; - this.colZXD.HeaderText = "置信度"; - this.colZXD.MinimumWidth = 8; - this.colZXD.Name = "colZXD"; - this.colZXD.ReadOnly = true; - this.colZXD.Width = 67; - // - // colTarget - // - this.colTarget.DataPropertyName = "Contrast"; - this.colTarget.HeaderText = "对比度"; - this.colTarget.MinimumWidth = 8; - this.colTarget.Name = "colTarget"; - this.colTarget.ReadOnly = true; - this.colTarget.Width = 67; - // // uiMiniPagination1 // this.uiMiniPagination1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) @@ -1045,15 +921,6 @@ this.uiPanel3.Text = null; this.uiPanel3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter; // - // picDefectImage - // - this.picDefectImage.Dock = System.Windows.Forms.DockStyle.Fill; - this.picDefectImage.Location = new System.Drawing.Point(0, 0); - this.picDefectImage.Margin = new System.Windows.Forms.Padding(0); - this.picDefectImage.Name = "picDefectImage"; - this.picDefectImage.Size = new System.Drawing.Size(350, 226); - this.picDefectImage.TabIndex = 1; - // // pnlScannerImg // this.pnlScannerImg.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -1162,6 +1029,62 @@ this.uiTitlePanel7.TitleColor = System.Drawing.Color.White; this.uiTitlePanel7.TitleForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); // + // lblScanner2Cache + // + this.lblScanner2Cache.AutoSize = true; + this.lblScanner2Cache.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblScanner2Cache.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); + this.lblScanner2Cache.Location = new System.Drawing.Point(323, 134); + this.lblScanner2Cache.Name = "lblScanner2Cache"; + this.lblScanner2Cache.Size = new System.Drawing.Size(19, 21); + this.lblScanner2Cache.Style = Sunny.UI.UIStyle.Custom; + this.lblScanner2Cache.StyleCustomMode = true; + this.lblScanner2Cache.TabIndex = 18; + this.lblScanner2Cache.Text = "0"; + this.lblScanner2Cache.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // uiLabel13 + // + this.uiLabel13.AutoSize = true; + this.uiLabel13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.uiLabel13.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); + this.uiLabel13.Location = new System.Drawing.Point(190, 134); + this.uiLabel13.Name = "uiLabel13"; + this.uiLabel13.Size = new System.Drawing.Size(99, 21); + this.uiLabel13.Style = Sunny.UI.UIStyle.Custom; + this.uiLabel13.StyleCustomMode = true; + this.uiLabel13.TabIndex = 19; + this.uiLabel13.Text = "相机2缓存:"; + this.uiLabel13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lblScanner1Cache + // + this.lblScanner1Cache.AutoSize = true; + this.lblScanner1Cache.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblScanner1Cache.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); + this.lblScanner1Cache.Location = new System.Drawing.Point(141, 134); + this.lblScanner1Cache.Name = "lblScanner1Cache"; + this.lblScanner1Cache.Size = new System.Drawing.Size(19, 21); + this.lblScanner1Cache.Style = Sunny.UI.UIStyle.Custom; + this.lblScanner1Cache.StyleCustomMode = true; + this.lblScanner1Cache.TabIndex = 16; + this.lblScanner1Cache.Text = "0"; + this.lblScanner1Cache.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // uiLabel11 + // + this.uiLabel11.AutoSize = true; + this.uiLabel11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.uiLabel11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); + this.uiLabel11.Location = new System.Drawing.Point(8, 134); + this.uiLabel11.Name = "uiLabel11"; + this.uiLabel11.Size = new System.Drawing.Size(99, 21); + this.uiLabel11.Style = Sunny.UI.UIStyle.Custom; + this.uiLabel11.StyleCustomMode = true; + this.uiLabel11.TabIndex = 17; + this.uiLabel11.Text = "相机1缓存:"; + this.uiLabel11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // // lblDefectQueue2 // this.lblDefectQueue2.AutoSize = true; @@ -1169,7 +1092,7 @@ this.lblDefectQueue2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.lblDefectQueue2.Location = new System.Drawing.Point(323, 169); this.lblDefectQueue2.Name = "lblDefectQueue2"; - this.lblDefectQueue2.Size = new System.Drawing.Size(28, 31); + this.lblDefectQueue2.Size = new System.Drawing.Size(19, 21); this.lblDefectQueue2.Style = Sunny.UI.UIStyle.Custom; this.lblDefectQueue2.StyleCustomMode = true; this.lblDefectQueue2.TabIndex = 0; @@ -1183,7 +1106,7 @@ this.lblDefectQueue1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); this.lblDefectQueue1.Location = new System.Drawing.Point(292, 169); this.lblDefectQueue1.Name = "lblDefectQueue1"; - this.lblDefectQueue1.Size = new System.Drawing.Size(28, 31); + this.lblDefectQueue1.Size = new System.Drawing.Size(19, 21); this.lblDefectQueue1.Style = Sunny.UI.UIStyle.Custom; this.lblDefectQueue1.StyleCustomMode = true; this.lblDefectQueue1.TabIndex = 0; @@ -1197,7 +1120,7 @@ this.lblDefectQueue0.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.lblDefectQueue0.Location = new System.Drawing.Point(261, 169); this.lblDefectQueue0.Name = "lblDefectQueue0"; - this.lblDefectQueue0.Size = new System.Drawing.Size(28, 31); + this.lblDefectQueue0.Size = new System.Drawing.Size(19, 21); this.lblDefectQueue0.Style = Sunny.UI.UIStyle.Custom; this.lblDefectQueue0.StyleCustomMode = true; this.lblDefectQueue0.TabIndex = 0; @@ -1211,7 +1134,7 @@ this.lblWaitImageCount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.lblWaitImageCount.Location = new System.Drawing.Point(117, 169); this.lblWaitImageCount.Name = "lblWaitImageCount"; - this.lblWaitImageCount.Size = new System.Drawing.Size(28, 31); + this.lblWaitImageCount.Size = new System.Drawing.Size(19, 21); this.lblWaitImageCount.Style = Sunny.UI.UIStyle.Custom; this.lblWaitImageCount.StyleCustomMode = true; this.lblWaitImageCount.TabIndex = 0; @@ -1237,7 +1160,7 @@ this.uiLabel9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel9.Location = new System.Drawing.Point(152, 169); this.uiLabel9.Name = "uiLabel9"; - this.uiLabel9.Size = new System.Drawing.Size(134, 31); + this.uiLabel9.Size = new System.Drawing.Size(90, 21); this.uiLabel9.Style = Sunny.UI.UIStyle.Custom; this.uiLabel9.StyleCustomMode = true; this.uiLabel9.TabIndex = 0; @@ -1251,7 +1174,7 @@ this.uiLabel8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel8.Location = new System.Drawing.Point(8, 169); this.uiLabel8.Name = "uiLabel8"; - this.uiLabel8.Size = new System.Drawing.Size(134, 31); + this.uiLabel8.Size = new System.Drawing.Size(90, 21); this.uiLabel8.Style = Sunny.UI.UIStyle.Custom; this.uiLabel8.StyleCustomMode = true; this.uiLabel8.TabIndex = 0; @@ -1265,7 +1188,7 @@ this.uiLabel7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel7.Location = new System.Drawing.Point(8, 82); this.uiLabel7.Name = "uiLabel7"; - this.uiLabel7.Size = new System.Drawing.Size(158, 31); + this.uiLabel7.Size = new System.Drawing.Size(106, 21); this.uiLabel7.Style = Sunny.UI.UIStyle.Custom; this.uiLabel7.StyleCustomMode = true; this.uiLabel7.TabIndex = 0; @@ -1279,68 +1202,145 @@ this.uiLabel6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); this.uiLabel6.Location = new System.Drawing.Point(8, 41); this.uiLabel6.Name = "uiLabel6"; - this.uiLabel6.Size = new System.Drawing.Size(62, 31); + this.uiLabel6.Size = new System.Drawing.Size(42, 21); this.uiLabel6.Style = Sunny.UI.UIStyle.Custom; this.uiLabel6.StyleCustomMode = true; this.uiLabel6.TabIndex = 0; this.uiLabel6.Text = "光源"; this.uiLabel6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // - // lblScanner1Cache + // picDefectImage // - this.lblScanner1Cache.AutoSize = true; - this.lblScanner1Cache.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.lblScanner1Cache.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); - this.lblScanner1Cache.Location = new System.Drawing.Point(141, 134); - this.lblScanner1Cache.Name = "lblScanner1Cache"; - this.lblScanner1Cache.Size = new System.Drawing.Size(28, 31); - this.lblScanner1Cache.Style = Sunny.UI.UIStyle.Custom; - this.lblScanner1Cache.StyleCustomMode = true; - this.lblScanner1Cache.TabIndex = 16; - this.lblScanner1Cache.Text = "0"; - this.lblScanner1Cache.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.picDefectImage.Dock = System.Windows.Forms.DockStyle.Fill; + this.picDefectImage.Location = new System.Drawing.Point(0, 0); + this.picDefectImage.Margin = new System.Windows.Forms.Padding(0); + this.picDefectImage.Name = "picDefectImage"; + this.picDefectImage.Size = new System.Drawing.Size(350, 226); + this.picDefectImage.TabIndex = 1; // - // uiLabel11 + // ucColorListDefect // - this.uiLabel11.AutoSize = true; - this.uiLabel11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.uiLabel11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); - this.uiLabel11.Location = new System.Drawing.Point(8, 134); - this.uiLabel11.Name = "uiLabel11"; - this.uiLabel11.Size = new System.Drawing.Size(148, 31); - this.uiLabel11.Style = Sunny.UI.UIStyle.Custom; - this.uiLabel11.StyleCustomMode = true; - this.uiLabel11.TabIndex = 17; - this.uiLabel11.Text = "相机1缓存:"; - this.uiLabel11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.ucColorListDefect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ucColorListDefect.ColorChanged = null; + this.ucColorListDefect.FillColor = System.Drawing.Color.White; + this.ucColorListDefect.FillColor2 = System.Drawing.Color.White; + this.ucColorListDefect.FillDisableColor = System.Drawing.Color.White; + this.ucColorListDefect.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ucColorListDefect.Location = new System.Drawing.Point(1, 38); + this.ucColorListDefect.MinimumSize = new System.Drawing.Size(1, 1); + this.ucColorListDefect.Name = "ucColorListDefect"; + this.ucColorListDefect.RadiusSides = Sunny.UI.UICornerRadiusSides.None; + this.ucColorListDefect.RectColor = System.Drawing.Color.White; + this.ucColorListDefect.RectDisableColor = System.Drawing.Color.White; + this.ucColorListDefect.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom; + this.ucColorListDefect.Size = new System.Drawing.Size(121, 42); + this.ucColorListDefect.Style = Sunny.UI.UIStyle.Custom; + this.ucColorListDefect.StyleCustomMode = true; + this.ucColorListDefect.TabIndex = 1; + this.ucColorListDefect.Text = "ucColorList1"; + this.ucColorListDefect.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter; // - // lblScanner2Cache + // colUid // - this.lblScanner2Cache.AutoSize = true; - this.lblScanner2Cache.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.lblScanner2Cache.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); - this.lblScanner2Cache.Location = new System.Drawing.Point(323, 134); - this.lblScanner2Cache.Name = "lblScanner2Cache"; - this.lblScanner2Cache.Size = new System.Drawing.Size(28, 31); - this.lblScanner2Cache.Style = Sunny.UI.UIStyle.Custom; - this.lblScanner2Cache.StyleCustomMode = true; - this.lblScanner2Cache.TabIndex = 18; - this.lblScanner2Cache.Text = "0"; - this.lblScanner2Cache.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.colUid.HeaderText = "uid"; + this.colUid.MinimumWidth = 8; + this.colUid.Name = "colUid"; + this.colUid.ReadOnly = true; + this.colUid.Visible = false; + this.colUid.Width = 150; // - // uiLabel13 + // colCode // - this.uiLabel13.AutoSize = true; - this.uiLabel13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.uiLabel13.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138))))); - this.uiLabel13.Location = new System.Drawing.Point(190, 134); - this.uiLabel13.Name = "uiLabel13"; - this.uiLabel13.Size = new System.Drawing.Size(148, 31); - this.uiLabel13.Style = Sunny.UI.UIStyle.Custom; - this.uiLabel13.StyleCustomMode = true; - this.uiLabel13.TabIndex = 19; - this.uiLabel13.Text = "相机2缓存:"; - this.uiLabel13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.colCode.HeaderText = "Code"; + this.colCode.MinimumWidth = 8; + this.colCode.Name = "colCode"; + this.colCode.Visible = false; + this.colCode.Width = 150; + // + // colIndex + // + this.colIndex.DataPropertyName = "Index"; + this.colIndex.HeaderText = "图号"; + this.colIndex.MinimumWidth = 8; + this.colIndex.Name = "colIndex"; + this.colIndex.Width = 50; + // + // colDefectName + // + this.colDefectName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.colDefectName.DataPropertyName = "Name"; + this.colDefectName.HeaderText = "名称"; + this.colDefectName.MinimumWidth = 50; + this.colDefectName.Name = "colDefectName"; + this.colDefectName.ReadOnly = true; + // + // colX + // + this.colX.DataPropertyName = "X"; + dataGridViewCellStyle3.Format = "N1"; + dataGridViewCellStyle3.NullValue = null; + this.colX.DefaultCellStyle = dataGridViewCellStyle3; + this.colX.HeaderText = "X(cm)"; + this.colX.MinimumWidth = 8; + this.colX.Name = "colX"; + this.colX.ReadOnly = true; + this.colX.Width = 80; + // + // colY + // + this.colY.DataPropertyName = "Y"; + dataGridViewCellStyle4.Format = "N2"; + dataGridViewCellStyle4.NullValue = null; + this.colY.DefaultCellStyle = dataGridViewCellStyle4; + this.colY.HeaderText = "Y(米)"; + this.colY.MinimumWidth = 8; + this.colY.Name = "colY"; + this.colY.ReadOnly = true; + this.colY.Width = 80; + // + // colW + // + this.colW.HeaderText = "宽(cm)"; + this.colW.MinimumWidth = 8; + this.colW.Name = "colW"; + this.colW.Width = 70; + // + // colH + // + this.colH.HeaderText = "高(cm)"; + this.colH.MinimumWidth = 8; + this.colH.Name = "colH"; + this.colH.Width = 70; + // + // colArea + // + dataGridViewCellStyle5.Format = "N2"; + dataGridViewCellStyle5.NullValue = null; + this.colArea.DefaultCellStyle = dataGridViewCellStyle5; + this.colArea.HeaderText = "面积(cm)"; + this.colArea.MinimumWidth = 8; + this.colArea.Name = "colArea"; + this.colArea.ReadOnly = true; + this.colArea.Width = 80; + // + // colZXD + // + this.colZXD.DataPropertyName = "ZXD"; + this.colZXD.HeaderText = "置信度"; + this.colZXD.MinimumWidth = 8; + this.colZXD.Name = "colZXD"; + this.colZXD.ReadOnly = true; + this.colZXD.Width = 67; + // + // colTarget + // + this.colTarget.DataPropertyName = "Contrast"; + this.colTarget.HeaderText = "对比度"; + this.colTarget.MinimumWidth = 8; + this.colTarget.Name = "colTarget"; + this.colTarget.ReadOnly = true; + this.colTarget.Width = 67; // // FHome // @@ -1434,6 +1434,11 @@ private Sunny.UI.UILabel uiLabel9; private System.Windows.Forms.Button button1; private Sunny.UI.UITextBox txtBarCodeName; + private Sunny.UI.UINumPadTextBox numErpLen; + private Sunny.UI.UILabel lblScanner2Cache; + private Sunny.UI.UILabel uiLabel13; + private Sunny.UI.UILabel lblScanner1Cache; + private Sunny.UI.UILabel uiLabel11; private System.Windows.Forms.DataGridViewTextBoxColumn colUid; private System.Windows.Forms.DataGridViewTextBoxColumn colCode; private System.Windows.Forms.DataGridViewTextBoxColumn colIndex; @@ -1445,10 +1450,5 @@ private System.Windows.Forms.DataGridViewTextBoxColumn colArea; private System.Windows.Forms.DataGridViewTextBoxColumn colZXD; private System.Windows.Forms.DataGridViewTextBoxColumn colTarget; - private Sunny.UI.UINumPadTextBox numErpLen; - private Sunny.UI.UILabel lblScanner2Cache; - private Sunny.UI.UILabel uiLabel13; - private Sunny.UI.UILabel lblScanner1Cache; - private Sunny.UI.UILabel uiLabel11; } } diff --git a/LeatherProject/LeatherApp/Page/FHome.cs b/LeatherProject/LeatherApp/Page/FHome.cs index b4df180..7bcafb6 100644 --- a/LeatherProject/LeatherApp/Page/FHome.cs +++ b/LeatherProject/LeatherApp/Page/FHome.cs @@ -882,242 +882,255 @@ namespace LeatherApp.Page /// private void callBackScanMatEvent(int num, Mat matone, int devIndex) //ScanEvent { - if(Config.Camer_Name== CamerDevNameEnum.埃科) + int errStep = 0; + try { - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"采集卡({devIndex}),图像({num})"); - Cv2.Flip(matone, matone, FlipMode.XY);//翻转 - Bitmap bitmap = BitmapConverter.ToBitmap(matone); - this.BeginInvoke(new Action(() => - { - //bitmap.Save($"d:\\{devIndex}_{num}.bmp", ImageFormat.Bmp); - //显示图片 - if (devIndex == 0) + if (Config.Camer_Name == CamerDevNameEnum.埃科) + { + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"采集卡({devIndex}),图像({num})"); + Cv2.Flip(matone, matone, FlipMode.XY);//翻转 + Bitmap bitmap = BitmapConverter.ToBitmap(matone); + this.BeginInvoke(new Action(() => { - picScanner2.Image = bitmap; - picScanner2.Refresh(); - } - else - { - picScanner1.Image = bitmap; - picScanner1.Refresh(); - } - })); - } - if (!devContainer.state || (currentState != CurrentStateEnum.运行中 && currentState != CurrentStateEnum.暂停)) - { - matone.Dispose(); - return; - } - - lock (lockCurrKey) - { - if (currKey == 0 || !htTask.ContainsKey(currKey)) - { - lock (lockScanPhoto) - { - if (scanPhotos[0] != null || scanPhotos[1] != null) - scanPhotos[0] = scanPhotos[1] = scanPhotos[2] = null; - } - matone.Dispose(); - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-未扫码,采集卡({devIndex}),图像丢弃!", WarningEnum.Low); - return; - } - } - Records curRecord = Hashtable.Synchronized(htTask)[currKey] as Records; - Device.PhotoLib.PhotoTask task; - Mat myMat = matone;//.Clone(); - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-采集卡({devIndex}),size:({myMat.Width}*{myMat.Height})({(myMat == null?"A":"B")})"); - //AddTextEvent(DateTime.Now,"拍照", $"Dev={devIndex},图像{num}-2"); - lock (lockScanPhoto)//多线程操作 - { - if(scanPhotos[2] != null && scanPhotos[2].photoIndex== num) - { - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"相机图像不同步,急停中止(需停机重新开始,不可继续)!!!", WarningEnum.High); - warning(WarningEnum.High); - //重置... - } - if(scanPhotos[devIndex]!=null) //添加一张容错 - { - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-采集卡({devIndex}) 容错一张图到队列!", WarningEnum.Low); - scanPhotos[2] = new ScanPhotoInfo(devIndex, num, myMat); - return; - } - - //-- - scanPhotos[devIndex] = new ScanPhotoInfo(devIndex, num, myMat); - if (scanPhotos[0] == null || scanPhotos[1] == null) - return; - // - //if (scanPhotos[0].photoIndex != scanPhotos[1].photoIndex) - //{ - // if (scanPhotos[0].photoIndex > scanPhotos[1].photoIndex) - // { - // AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-索引不一致),丢弃采集卡({scanPhotos[1].devIndex})中较小索引图像({scanPhotos[1].photoIndex})!", WarningEnum.High); - // scanPhotos[1] = null; - // } - // else - // { - // AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-索引不一致),丢弃采集卡({scanPhotos[0].devIndex})中较小索引图像({scanPhotos[0].photoIndex})!", WarningEnum.High); - // scanPhotos[0] = null; - // } - // if (num > 1) - // { - // AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"相机图像不同步,急停中止(需停机重新开始,不可继续)!!!", WarningEnum.High); - // warning(WarningEnum.High); - // //重置... - // } - // return; - //} - - //curRecord置新时,相机里最后一张图还是上次的计数器devIndex累计 - if (curRecord.ScannerPhotoCount == 0 && num>=1) - { - devContainer.devCamer1.resetScanIndex(); - devContainer.devCamer2.resetScanIndex(); - scanPhotos[0].photoIndex = scanPhotos[1].photoIndex = 0; - if (scanPhotos[2] != null) - scanPhotos[2].photoIndex = 1; - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"新任务开始,Dev={devIndex},图像({num})重置为图像(0)"); - } - task = new Device.PhotoLib.PhotoTask() - { - scanPhotos0 = scanPhotos[0], - scanPhotos1 = scanPhotos[1], - }; - scanPhotos[0] = scanPhotos[1] = null; - if (scanPhotos[2] != null)//容错图前移到正常位置 - { - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{scanPhotos[2].photoIndex})-采集卡({scanPhotos[2].devIndex}) 容错队列图前移。"); - scanPhotos[scanPhotos[2].photoIndex] = scanPhotos[2]; - scanPhotos[2] = null; - } - curRecord.ScannerPhotoCount++; - } - - //长度剩余提醒 - if (Config.residueWarnningLen > 0 && curRecord.ErpLen >0 && Config.residueWarnningLen >= curRecord.ErpLen - curRecord.Len) - { - AddTextEvent(DateTime.Now,$"告警{Thread.CurrentThread.ManagedThreadId}", $"已达剩余长度不足提醒!({curRecord.ErpLen - curRecord.Len}<={Config.residueWarnningLen})", WarningEnum.High); - } - - // - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"待处理图像队列:{curRecord.ScannerPhotoCount - curRecord.ScannerPhotoFinishCount}张"); - if (task.scanPhotos0 != null && task.scanPhotos1 != null) - { - var scanPhoto = task.scanPhotos0 as ScanPhotoInfo; - curRecord.dicPhoto_Defect.TryAdd(scanPhoto.photoIndex, false);//加入索引,默认无瑕疵 - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"图像索引:{scanPhoto.photoIndex},标识数:{curRecord.dicPhoto_Defect.Count}"); - //暂停:瑕疵二次判断 - if (this.defectPauseForUser) - { - int liPhotoIndex = scanPhoto.photoIndex - Config.defectPauseSkipPhotoCount; - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"Dev={devIndex},图像{scanPhoto.photoIndex} {liPhotoIndex}={scanPhoto.photoIndex}-{Config.defectPauseSkipPhotoCount};{JsonConvert.SerializeObject(curRecord.dicPhoto_Defect) }"); - if (liPhotoIndex >= 0 && curRecord.dicPhoto_Defect[liPhotoIndex]) - { - List lstEditDefect = curRecord.DefectInfoList.Where(m => m.PhotoIndex == liPhotoIndex).ToList(); - AddTextEvent(DateTime.Now,$"暂停{Thread.CurrentThread.ManagedThreadId}", $"(图像{liPhotoIndex})已达观察台,瑕疵二次判断=》({string.Join(",", lstEditDefect.Select(m => m.Code).ToArray())})是否包含在({string.Join(",", curRecord.ProductInfo.DefectPauseOption.ToArray())})中。"); - //瑕疵选项过滤 - if (curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0) + //bitmap.Save($"d:\\{devIndex}_{num}.bmp", ImageFormat.Bmp); + //显示图片 + if (devIndex == 0) { - AddTextEvent(DateTime.Now,$"暂停{Thread.CurrentThread.ManagedThreadId}", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。"); - if (!Config.StopPLC) - this.devContainer.devPlc.pauseDev(); - else if (!Config.StopIO && devContainer.devIOCard.IsInit) - { - //只是设备暂停,APP没暂停 - devContainer.io_output(CMDName.绿灯输出, false, true, 0); - devContainer.io_output(CMDName.黄灯输出); - devContainer.devIOCard.writeBitState(0, 1, true); - Task.Run(async () => - { - await Task.Delay(500); - this.devContainer.devIOCard.writeBitState(0, 1, false); - }); - } + picScanner2.Image = bitmap; + picScanner2.Refresh(); + } + else + { + picScanner1.Image = bitmap; + picScanner1.Refresh(); + } + })); + } + errStep = 1; + if (!devContainer.state || (currentState != CurrentStateEnum.运行中 && currentState != CurrentStateEnum.暂停)) + { + matone.Dispose(); + return; + } + errStep = 2; + lock (lockCurrKey) + { + if (currKey == 0 || !htTask.ContainsKey(currKey)) + { + lock (lockScanPhoto) + { + if (scanPhotos[0] != null || scanPhotos[1] != null) + scanPhotos[0] = scanPhotos[1] = scanPhotos[2] = null; + } + matone.Dispose(); + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-未扫码,采集卡({devIndex}),图像丢弃!", WarningEnum.Low); + return; + } + } + errStep = 3; + Records curRecord = Hashtable.Synchronized(htTask)[currKey] as Records; + Device.PhotoLib.PhotoTask task; + Mat myMat = matone;//.Clone(); + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-采集卡({devIndex}),size:({myMat.Width}*{myMat.Height})({(myMat == null ? "A" : "B")})"); + //AddTextEvent(DateTime.Now,"拍照", $"Dev={devIndex},图像{num}-2"); + lock (lockScanPhoto)//多线程操作 + { + if (scanPhotos[2] != null && scanPhotos[2].photoIndex == num) + { + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"相机图像不同步,急停中止(需停机重新开始,不可继续)!!!", WarningEnum.High); + warning(WarningEnum.High); + //重置... + } + if (scanPhotos[devIndex] != null) //添加一张容错 + { + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-采集卡({devIndex}) 容错一张图到队列!", WarningEnum.Low); + scanPhotos[2] = new ScanPhotoInfo(devIndex, num, myMat); + return; + } + errStep = 4; + //-- + scanPhotos[devIndex] = new ScanPhotoInfo(devIndex, num, myMat); + if (scanPhotos[0] == null || scanPhotos[1] == null) + return; + // + //if (scanPhotos[0].photoIndex != scanPhotos[1].photoIndex) + //{ + // if (scanPhotos[0].photoIndex > scanPhotos[1].photoIndex) + // { + // AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-索引不一致),丢弃采集卡({scanPhotos[1].devIndex})中较小索引图像({scanPhotos[1].photoIndex})!", WarningEnum.High); + // scanPhotos[1] = null; + // } + // else + // { + // AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{num})-索引不一致),丢弃采集卡({scanPhotos[0].devIndex})中较小索引图像({scanPhotos[0].photoIndex})!", WarningEnum.High); + // scanPhotos[0] = null; + // } + // if (num > 1) + // { + // AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"相机图像不同步,急停中止(需停机重新开始,不可继续)!!!", WarningEnum.High); + // warning(WarningEnum.High); + // //重置... + // } + // return; + //} - //不能使用同步Invoke方式,会使相机超时丢帧 - this.BeginInvoke(new System.Action(() => + //curRecord置新时,相机里最后一张图还是上次的计数器devIndex累计 + if (curRecord.ScannerPhotoCount == 0 && num >= 1) + { + devContainer.devCamer1.resetScanIndex(); + devContainer.devCamer2.resetScanIndex(); + scanPhotos[0].photoIndex = scanPhotos[1].photoIndex = 0; + if (scanPhotos[2] != null) + scanPhotos[2].photoIndex = 1; + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"新任务开始,Dev={devIndex},图像({num})重置为图像(0)"); + } + task = new Device.PhotoLib.PhotoTask() + { + scanPhotos0 = scanPhotos[0], + scanPhotos1 = scanPhotos[1], + }; + scanPhotos[0] = scanPhotos[1] = null; + if (scanPhotos[2] != null)//容错图前移到正常位置 + { + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"(图像{scanPhotos[2].photoIndex})-采集卡({scanPhotos[2].devIndex}) 容错队列图前移。"); + scanPhotos[scanPhotos[2].devIndex] = scanPhotos[2]; + scanPhotos[2] = null; + } + curRecord.ScannerPhotoCount++; + errStep = 5; + } + + //长度剩余提醒 + if (Config.residueWarnningLen > 0 && curRecord.ErpLen > 0 && Config.residueWarnningLen >= curRecord.ErpLen - curRecord.Len) + { + AddTextEvent(DateTime.Now, $"告警{Thread.CurrentThread.ManagedThreadId}", $"已达剩余长度不足提醒!({curRecord.ErpLen - curRecord.Len}<={Config.residueWarnningLen})", WarningEnum.High); + } + errStep = 6; + // + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"待处理图像队列:{curRecord.ScannerPhotoCount - curRecord.ScannerPhotoFinishCount}张"); + if (task.scanPhotos0 != null && task.scanPhotos1 != null) + { + var scanPhoto = task.scanPhotos0 as ScanPhotoInfo; + curRecord.dicPhoto_Defect.TryAdd(scanPhoto.photoIndex, false);//加入索引,默认无瑕疵 + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"图像索引:{scanPhoto.photoIndex},标识数:{curRecord.dicPhoto_Defect.Count}"); + errStep = 7; + //暂停:瑕疵二次判断 + if (this.defectPauseForUser) + { + int liPhotoIndex = scanPhoto.photoIndex - Config.defectPauseSkipPhotoCount; + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"Dev={devIndex},图像{scanPhoto.photoIndex} {liPhotoIndex}={scanPhoto.photoIndex}-{Config.defectPauseSkipPhotoCount};{JsonConvert.SerializeObject(curRecord.dicPhoto_Defect)}"); + if (liPhotoIndex >= 0 && curRecord.dicPhoto_Defect[liPhotoIndex]) + { + List lstEditDefect = curRecord.DefectInfoList.Where(m => m.PhotoIndex == liPhotoIndex).ToList(); + AddTextEvent(DateTime.Now, $"暂停{Thread.CurrentThread.ManagedThreadId}", $"(图像{liPhotoIndex})已达观察台,瑕疵二次判断=》({string.Join(",", lstEditDefect.Select(m => m.Code).ToArray())})是否包含在({string.Join(",", curRecord.ProductInfo.DefectPauseOption.ToArray())})中。"); + //瑕疵选项过滤 + if (curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0) { - int liDefectCount = lstEditDefect.Count; - FHome_Defect frmDefect = new FHome_Defect(lstEditDefect); - if (frmDefect.ShowDialog() == DialogResult.OK) + AddTextEvent(DateTime.Now, $"暂停{Thread.CurrentThread.ManagedThreadId}", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。"); + if (!Config.StopPLC) + this.devContainer.devPlc.pauseDev(); + else if (!Config.StopIO && devContainer.devIOCard.IsInit) { - string oldCode; - for (int i = 0; i < this.uiDataGridView1.Rows.Count; i++) + //只是设备暂停,APP没暂停 + devContainer.io_output(CMDName.绿灯输出, false, true, 0); + devContainer.io_output(CMDName.黄灯输出); + devContainer.devIOCard.writeBitState(0, 1, true); + Task.Run(async () => { - if ((int)this.uiDataGridView1.Rows[i].Cells["colIndex"].Value != liPhotoIndex) - continue; - - long uid = (long)this.uiDataGridView1.Rows[i].Cells["colUid"].Value; - foreach (var row in lstEditDefect) + await Task.Delay(500); + this.devContainer.devIOCard.writeBitState(0, 1, false); + }); + } + errStep = 8; + //不能使用同步Invoke方式,会使相机超时丢帧 + this.BeginInvoke(new System.Action(() => + { + int liDefectCount = lstEditDefect.Count; + FHome_Defect frmDefect = new FHome_Defect(lstEditDefect); + if (frmDefect.ShowDialog() == DialogResult.OK) + { + string oldCode; + for (int i = 0; i < this.uiDataGridView1.Rows.Count; i++) { - AddTextEvent(DateTime.Now,$"暂停{Thread.CurrentThread.ManagedThreadId}", $"修改第({i + 1})行瑕疵名称,{uid} {row.uid}"); - if (row.uid == uid) + if ((int)this.uiDataGridView1.Rows[i].Cells["colIndex"].Value != liPhotoIndex) + continue; + + long uid = (long)this.uiDataGridView1.Rows[i].Cells["colUid"].Value; + foreach (var row in lstEditDefect) { - oldCode = this.uiDataGridView1.Rows[i].Cells["colCode"].Value.ToString(); - AddTextEvent(DateTime.Now,$"暂停{Thread.CurrentThread.ManagedThreadId}", $"修改第({i + 1})行瑕疵名称 ({this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value})->({row.Name})"); - this.uiDataGridView1.Rows[i].Cells["colCode"].Value = row.Code; - this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value = row.Name; - //this.uiDataGridView1.Refresh(); - if (!string.IsNullOrWhiteSpace(row.TagFilePath)) - File.Move(row.TagFilePath, row.TagFilePath.Replace($"_类别{oldCode}", $"_类别{row.Code}"));// - break; + AddTextEvent(DateTime.Now, $"暂停{Thread.CurrentThread.ManagedThreadId}", $"修改第({i + 1})行瑕疵名称,{uid} {row.uid}"); + if (row.uid == uid) + { + oldCode = this.uiDataGridView1.Rows[i].Cells["colCode"].Value.ToString(); + AddTextEvent(DateTime.Now, $"暂停{Thread.CurrentThread.ManagedThreadId}", $"修改第({i + 1})行瑕疵名称 ({this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value})->({row.Name})"); + this.uiDataGridView1.Rows[i].Cells["colCode"].Value = row.Code; + this.uiDataGridView1.Rows[i].Cells["colDefectName"].Value = row.Name; + //this.uiDataGridView1.Refresh(); + if (!string.IsNullOrWhiteSpace(row.TagFilePath)) + File.Move(row.TagFilePath, row.TagFilePath.Replace($"_类别{oldCode}", $"_类别{row.Code}"));// + break; + } + } + foreach (var item in frmDefect.lstDel) + { + if (item.uid == uid) + { + this.uiDataGridView1.Rows.RemoveAt(i); + i--; + break; + } } } foreach (var item in frmDefect.lstDel) { - if (item.uid == uid) + curRecord.DefectInfoList.Remove(item); + //删除忽略瑕疵小图 + //if (!string.IsNullOrWhiteSpace(item.TagFilePath)) + // File.Delete(item.TagFilePath); + } + + //double len = (double)this.lblLen.Tag; + //this.reDrawDefectPoints(curRecord.DefectInfoList, new double[] { 0, Math.Round(curRecord.FaceWidthMax + 0.005f, 2) }, new double[] { 0, len }); + AddTextEvent(DateTime.Now, $"二次检测{Thread.CurrentThread.ManagedThreadId}", $"本次忽略{frmDefect.lstDel.Count}个瑕疵,本张图由{liDefectCount} -> {lstEditDefect.Count},总数{curRecord.DefectInfoList.Count}"); + } + this.uiMiniPagination1.TotalCount = curRecord.DefectTotalCount = curRecord.DefectInfoList.Count; + // + //double len = Math.Round((res.photoIndex + 1) * bmpHeight * 1.0d / Config.cm2px_y + 0.005f, 2); + this.reDrawDefectPoints(curRecord.DefectInfoList); + errStep = 9; + //自动继续运行设备(这里临时暂停后不能再急停,否则无法继续) + if (!Config.StopPLC) + this.devContainer.devPlc.runDev(); + else if (!Config.StopIO && devContainer.devIOCard.IsInit) + { + if (!compareIOInput(CMDName.暂停按钮)) + { + devContainer.io_output(CMDName.绿灯输出); + devContainer.io_output(CMDName.黄灯输出, false, true, 0); + this.devContainer.devIOCard.writeBitState(0, 0, true); + Task.Run(async () => { - this.uiDataGridView1.Rows.RemoveAt(i); - i--; - break; - } + await Task.Delay(500); + this.devContainer.devIOCard.writeBitState(0, 0, false); + }); } } - foreach (var item in frmDefect.lstDel) - { - curRecord.DefectInfoList.Remove(item); - //删除忽略瑕疵小图 - //if (!string.IsNullOrWhiteSpace(item.TagFilePath)) - // File.Delete(item.TagFilePath); - } - - //double len = (double)this.lblLen.Tag; - //this.reDrawDefectPoints(curRecord.DefectInfoList, new double[] { 0, Math.Round(curRecord.FaceWidthMax + 0.005f, 2) }, new double[] { 0, len }); - AddTextEvent(DateTime.Now,$"二次检测{Thread.CurrentThread.ManagedThreadId}", $"本次忽略{frmDefect.lstDel.Count}个瑕疵,本张图由{liDefectCount} -> {lstEditDefect.Count},总数{curRecord.DefectInfoList.Count}"); - } - this.uiMiniPagination1.TotalCount = curRecord.DefectTotalCount = curRecord.DefectInfoList.Count; - // - //double len = Math.Round((res.photoIndex + 1) * bmpHeight * 1.0d / Config.cm2px_y + 0.005f, 2); - this.reDrawDefectPoints(curRecord.DefectInfoList); - - //自动继续运行设备(这里临时暂停后不能再急停,否则无法继续) - if (!Config.StopPLC) - this.devContainer.devPlc.runDev(); - else if (!Config.StopIO && devContainer.devIOCard.IsInit) - { - if (!compareIOInput(CMDName.暂停按钮)) - { - devContainer.io_output(CMDName.绿灯输出); - devContainer.io_output(CMDName.黄灯输出, false, true, 0); - this.devContainer.devIOCard.writeBitState(0, 0, true); - Task.Run(async () => - { - await Task.Delay(500); - this.devContainer.devIOCard.writeBitState(0, 0, false); - }); - } - } - })); + })); + } } } + errStep = 10; + task.record = curRecord; + task.finishEvent = callBackPhotoEvent; + devContainer.libPhoto.add(task); + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"Dev={devIndex},图像{scanPhoto.photoIndex},已加入图像处理队列"); + errStep = 11; } - task.record = curRecord; - task.finishEvent = callBackPhotoEvent; - devContainer.libPhoto.add(task); - AddTextEvent(DateTime.Now,$"拍照{Thread.CurrentThread.ManagedThreadId}", $"Dev={devIndex},图像{scanPhoto.photoIndex},已加入图像处理队列"); } - + catch (Exception e) + { + AddTextEvent(DateTime.Now, $"拍照{Thread.CurrentThread.ManagedThreadId}", $"errStep:{errStep}-{e.Message}", WarningEnum.High); + } } private void callBackPhotoEvent(Device.PhotoLib.PhotoTask task) { @@ -1281,7 +1294,7 @@ namespace LeatherApp.Page { step = 1; AddTextEvent(DateTime.Now,$"检测完成{Thread.CurrentThread.ManagedThreadId}", $"(图像{res.photoIndex})-瑕疵检测完成,共{res.excelTable.Rows.Count}个瑕疵!各环节用时:{string.Join(",",res.stopwatch)}"); - //AddTextEvent(DateTime.Now,$"打标完成", $"第 ({res.tag}) 张照片,计算过程:{res.resultInfo}"); + //AddTextEvent(DateTime.Now,$"打标完成", $"第 ({res.photoIndex}) 张照片,计算过程:{res.resultInfo}"); if (!Config.IsSaveAllImage && Config.IsSaveDefectSourceImage) OpenCvSharp.Extensions.BitmapConverter.ToBitmap(res.bmp).Save($"{dirSourcePath}{res.photoIndex}.bmp", ImageFormat.Bmp); @@ -1459,7 +1472,10 @@ namespace LeatherApp.Page int count; foreach(GradeLimit item in gradeLimitList) { - count = model.DefectInfoList.Where(m => m.Code == item.Code).Count(); + if((model.DefectInfoList != null)&&(model.DefectInfoList.Count >0)) + count = model.DefectInfoList.Where(m => m.Code == item.Code).Count(); + else + count = 0; if (count <= item.A && model.Grade <= 1) model.Grade = 1; else if (count <= item.B && item.B > 0 && model.Grade <= 2) model.Grade = 2; else if (count <= item.C && item.C > 0 && model.Grade <= 3) model.Grade = 3; @@ -1480,8 +1496,10 @@ namespace LeatherApp.Page catch (Exception ex) { _isDefect = false; - if (model==null) AddTextEvent(DateTime.Now,"入库失败", $"记录({key})不存在{step}!" + ex.Message, WarningEnum.High); - else AddTextEvent(DateTime.Now,"入库失败", $"({key}) 批号({model.BatchId})检测完成,但保存检测记录失败{step}:" + ex.Message, WarningEnum.High); + if (model==null) + AddTextEvent(DateTime.Now,"入库失败", $"记录({key})不存在{step}!" + ex.Message, WarningEnum.High); + else + AddTextEvent(DateTime.Now,"入库失败", $"({key}) 批号({model.BatchId})检测完成,但保存检测记录失败{step}:" + ex.Message, WarningEnum.High); warning(WarningEnum.High, true);//暂停 } } @@ -1934,7 +1952,7 @@ namespace LeatherApp.Page { step = 1; AddTextEvent(DateTime.Now, $"检测完成{Thread.CurrentThread.ManagedThreadId}", $"(图像{res.photoIndex})-瑕疵检测完成,共{res.excelTable.Rows.Count}个瑕疵!各环节用时:{string.Join(",", res.stopwatch)}"); - //AddTextEvent(DateTime.Now,$"打标完成", $"第 ({res.tag}) 张照片,计算过程:{res.resultInfo}"); + //AddTextEvent(DateTime.Now,$"打标完成", $"第 ({res.photoIndex}) 张照片,计算过程:{res.resultInfo}"); } diff --git a/LeatherProject/LeatherApp/Utils/OpenCVUtil.cs b/LeatherProject/LeatherApp/Utils/OpenCVUtil.cs index baee3d4..f8d907e 100644 --- a/LeatherProject/LeatherApp/Utils/OpenCVUtil.cs +++ b/LeatherProject/LeatherApp/Utils/OpenCVUtil.cs @@ -318,7 +318,7 @@ namespace LeatherApp.Utils // 计算当前行的灰度直方图 Mat absolute_histo = new Mat(); Cv2.CalcHist(new Mat[] { smoothed_image }, new int[] { 0 }, new Mat(), absolute_histo, 1, new int[] { 256 }, new Rangef[] { new Rangef(0, 256) }); - Cv2.GaussianBlur(current_segment, smoothed_image, new Size(9, 1), 0); + Cv2.GaussianBlur(current_segment, smoothed_image, new Size(19, 1), 0); // 对图片进行分割i+1 //double otsu_threshold; @@ -326,7 +326,7 @@ namespace LeatherApp.Utils Cv2.Threshold(smoothed_image, smoothed_image, 0, 255, ThresholdTypes.Binary | ThresholdTypes.Otsu); // 使用形态学操作进行孔洞填充 - Mat kernel = Cv2.GetStructuringElement(MorphShapes.Rect, new Size(5, 1)); + Mat kernel = Cv2.GetStructuringElement(MorphShapes.Rect, new Size(25, 1)); Mat filled_image = new Mat(); Cv2.MorphologyEx(smoothed_image, filled_image, MorphTypes.Close, kernel); diff --git a/LeatherProject/LeatherApp/bin/Debug/MvCodeReaderSDK.Net.xml b/LeatherProject/LeatherApp/bin/Debug/MvCodeReaderSDK.Net.xml deleted file mode 100644 index 0a06100..0000000 --- a/LeatherProject/LeatherApp/bin/Debug/MvCodeReaderSDK.Net.xml +++ /dev/null @@ -1,3932 +0,0 @@ - - - - MvCodeReaderSDK.Net - - - - - ch:封装的接口类 | en:Encapsulated interface class - - - - - 相机信息大小 - - - - - 设备列表个数 - - - - - 静态IP类型 - - - - - DHCP类型 - - - - - LLA类型 - - - - - 枚举型最大数量 - - - - - 异常类型信息 - - - 设备断开连接 - - - - - SDK与驱动版本不匹配 - - - - - 设备访问模式 - - - 独占权限,其他APP只允许读CCP寄存器 - - - - - 可以从5模式下抢占权限,然后以独占权限打开 - - - - - 控制权限,其他APP允许读所有寄存器 - - - - - 可以从5的模式下抢占权限,然后以控制权限打开 - - - - - 以可被抢占的控制权限打开 - - - - - 可以从5的模式下抢占权限,然后以可被抢占的控制权限打开 - - - - - 读模式打开设备,适用于控制权限下 - - - - - 读码器Event事件名称最大长度 - - - - - 最大条码长度 - - - - - 扩展最大条码字符长度 - - - - - OCR字符长度 - - - - - 一次最多输出的条码个数 - - - - - 一次最多输出的条码个数扩展 - - - - - 结果数据缓存的上限 - - - - - 一次最多输出的抠图个数 - - - - - 一次最多输出的OCR行数 - - - - - 输出协议 - - - SamrtSDK协议 - - - - - TCPIP协议 - - - - - Serial协议 - - - - - 抠图参数定义 - - - 算法能力集,含面单提取[0x1],图像增强[0x2],码提取[0x4],Box拷贝模块[0x8],面单提取模块[0x10],模块最大编号[0x3F] - - - - - 算法最大宽度,默认默认5472,范围[0,65535] - - - - - 算法最大高度,默认默认3648,范围[0,65535] - - - - - 面单抠图输出的图片格式,默认Jpg,范围[1,2],1为Mono8,2为Jpg,3为Bmp - - - - - jpg编码质量,默认80,范围[1,100] - - - - - 图像增强使能,默认0,范围[0,1] - - - - - waybill最小宽, 宽是长边, 高是短边,默认100,范围[15,2592] - - - - - waybill最小高,默认100,范围[10,2048] - - - - - waybill最大宽, 宽是长边, 高是短边,默认3072,最小值15 - - - - - waybill最大高,默认2048,最小值10 - - - - - 膨胀次数,默认0,范围[0,10] - - - - - 面单上条码和字符灰度最小值,默认0,范围[0,255] - - - - - 面单上灰度中间值,用于区分条码和背景,默认70,范围[0,255] - - - - - 面单上背景灰度最大值,默认130,范围[0,255] - - - - - 自适应二值化,默认1,范围[0,1] - - - - - 面单抠图行方向扩边,默认10,范围[0,2000] - - - - - 面单抠图列方向扩边,默认11,范围[0,2000] - - - - - 最大面单和条码高度比例,默认20,范围[1,100] - - - - - 最大面单和条码宽度比例,默认5,范围[1,100] - - - - - 最小面单和条码高度比例,默认5,范围[1,100] - - - - - 最小面单和条码宽度比例,默认2,范围[1,100] - - - - - 增强方法,最小值/默认值/不进行增强[0x1],线性拉伸[0x2],直方图拉伸[0x3],直方图均衡化[0x4],亮度校正/最大值[0x5] - - - - - 增强拉伸低阈值比例,默认1,范围[0,100] - - - - - 增强拉伸高阈值比例,默认99,范围[0,100] - - - - - 对比度系数,默认100,范围[1,10000] - - - - - 锐化系数,默认0,范围[0,10000] - - - - - 锐化滤波核大小,默认3,范围[3,15] - - - - - 码单抠图行方向扩边,默认0,范围[0,2000] - - - - - 码单抠图列方向扩边,默认0,范围[0,2000] - - - - 正确码定义 - - 成功,无错误 - - - - 通用错误码定义:范围0x80020000-0x800200FF - - 错误或无效的句柄 - - - - - 不支持的功能 - - - - - 缓存已满 - - - - - 函数调用顺序错误 - - - - - 错误的参数 - - - - - 资源申请失败 - - - - - 无数据 - - - - - 前置条件有误,或运行环境已发生变化 - - - - - 版本不匹配 - - - - - 传入的内存空间不足 - - - - - 异常图像,可能是丢包导致图像不完整 - - - - - 动态导入DLL失败 - - - - - 没有可输出的缓存 - - - - - 文件路径错误 - - - - - 未知的错误 - - - - GenICam系列错误:范围0x80020100-0x800201FF - - 通用错误 - - - - - 参数非法 - - - - - 值超出范围 - - - - - 属性 - - - - - 运行环境有问题 - - - - - 逻辑错误 - - - - - 节点访问条件有误 - - - - - 超时 - - - - - 转换异常 - - - - - GenICam未知错误 - - - - GigE_STATUS对应的错误码:范围0x80020200-0x800202FF - - 命令不被设备支持 - - - - - 访问的目标地址不存在 - - - - - 目标地址不可写 - - - - - 设备无访问权限 - - - - - 设备忙,或网络断开 - - - - - 网络包数据错误 - - - - - 网络相关错误 - - - - GigE相机特有的错误码 - - 设备IP冲突 - - - - USB_STATUS对应的错误码:范围0x80020300-0x800203FF - - 读usb出错 - - - - - 写usb出错 - - - - - 设备异常 - - - - - GenICam相关错误 - - - - - 带宽不足 - - - - - 驱动不匹配或者未装驱动 - - - - - USB未知的错误 - - - - 升级时对应的错误码:范围0x80020400-0x800204FF - - 升级模块错误码最小值 - - - - - 升级固件不匹配 - - - - - 升级固件语言不匹配 - - - - - 升级冲突(设备已经在升级了再次请求升级即返回此错误) - - - - - 升级时相机内部出现错误 - - - - - 获取相机型号失败 - - - - - 复制FPGA文件失败 - - - - - ZIP文件解压失败 - - - - - DAV文件解压失败 - - - - - DAV文件压缩失败 - - - - - ZIP文件压缩失败 - - - - - 获取升级进度超时 - - - - - 发送进度查询指令失败 - - - - - 接收进度查询指令失败 - - - - - 获取查询进度失败 - - - - - 获得最大进度失败 - - - - - 文件验证失败 - - - - - FPGA程序升级失败 - - - - - 看门狗升级失败 - - - - - 裸相机升级失败 - - - - - 保留配置文件失败 - - - - - FPGA驱动升级失败 - - - - - SPI驱动升级失败 - - - - - 重新启动失败 - - - - - 升级服务升级失败 - - - - - 停止相关服务失败 - - - - - 设备类型不一致 - - - - - 读取加密信息失败 - - - - - 设备平台错误 - - - - - 相机型号错误 - - - - - 相机正在升级 - - - - - 升级包解压失败 - - - - - 巴枪蓝牙未连接 - - - - - 电量不足 - - - - - 巴枪未放在底座上 - - - - - APP升级失败 - - - - - L3升级失败 - - - - - MCU升级失败 - - - - - 升级时未知错误 - - - - 网络组件对应的错误码: 0x80020500-0x800205FF - - 创建Socket错误 - - - - - 绑定错误 - - - - - 连接错误 - - - - - 获取主机名错误 - - - - - 写入数据错误 - - - - - 读取数据错误 - - - - - Select错误 - - - - - 超时 - - - - - 接收错误 - - - - - 网络未知错误 - - - - 设备类型定义 - - ch:未知设备类型,保留意义 - - - - - ch:GigE设备 - - - - - ch:1394-a/b 设备 - - - - - ch:USB3.0 设备 - - - - - ch:CameraLink设备 - - - - - ch:构造函数 | en:Constructor - - - - - ch:析构函数 | en:Destructor - - - - - 获取SDK的版本号 - - 始终返回4字节版本号 |主 |次 |修正 | 测试| - - - - 创建设备句柄 - - 设备信息:MV_CODEREADER_DEVICE_INFO - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 通过序列号创建设备句柄 - - 设备序列号 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 销毁设备句柄 - - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 枚举设备 - - 设备列表信息 - 传输层协议类型 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 枚举指定系列设备 - - 设备列表信息 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 枚举特定系列设备,增加校验字段,防止被第三方软件占用的设备(依赖工业相机SDK 4.0版本支持) - - 设备信息列表 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设备是否可达 - - 设备信息 - 访问权限 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 打开设备 - - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 关闭设备 - - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 开始取流 - - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 停止取流 - - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 采用超时机制获取一帧图片,SDK内部等待直到有数据时返回 - - 一帧图像数据 - 图像信息:MV_CODEREADER_IMAGE_OUT_INFO - 超时时间 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 采用超时机制获取一帧图片,SDK内部等待直到有数据时返回 - - 一帧图像数据 - 图像信息(增加OCR信息):MV_CODEREADER_IMAGE_OUT_INFO_EX - 超时时间 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 采用超时机制获取一帧图片,SDK内部等待直到有数据时返回 - - 一帧图像数据 - 图像信息(扩展条码信息):MV_CODEREADER_IMAGE_OUT_INFO_EX2 - 超时时间 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 采用超时机制获取一路流通道一帧图片,SDK内部等待直到有数据时返回 - - 一帧图像数据 - 图像信息(包含二维码质量信息):MV_CODEREADER_IMAGE_OUT_INFO_EX2 - 流通道ID(单通道固件通道号为0, 多通道固件通道号为0/1(根据多通道sensor个数)) - 超时时间 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取设备信息 - - 设备信息 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取Integer属性值 - - 属性键值,如获取宽度信息则为"Width" - 返回给调用者有关相机属性结构体 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Integer型属性值 - - 属性键值,如宽度信息则为"Width" - 想要设置的相机的属性值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取Enum属性值 - - 属性键值,如获取像素格式信息则为"PixelFormat" - 返回给调用者有关相机属性结构体 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Enum型属性值 - - 属性键值,如获取像素格式信息则为"PixelFormat" - 想要设置的相机的属性值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Enum型属性值 - - 属性键值,如获取像素格式信息则为"PixelFormat" - 想要设置的相机的属性字符串 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取Float属性值 - - 属性键值 - 返回给调用者有关相机属性结构体 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Float属性值 - - 属性键值 - 想要设置的相机的属性值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取Boolean属性值 - - 属性键值 - 返回给调用者有关相机属性值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Boolean型属性值 - - 属性键值 - 想要设置的相机的属性值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取String属性值 - - 属性键值 - 返回给调用者有关相机属性结构体指针 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置String型属性值 - - 属性键值 - 想要设置的相机的属性值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Command型属性值 - - 属性键值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取最佳的packet size,该接口目前只支持GigE相机 - - 最佳packetsize - - - - 读内存 - - 作为返回值使用,保存读到的内存值 - 待读取的内存地址,该地址可以从设备的Camera.xml文件中获取,形如xxx_RegAddr的xml节点值 - 待读取的内存长度 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 写内存 - - 待写入的内存值 - 待写入的内存地址,该地址可以从设备的Camera.xml文件中获取,形如xxx_RegAddr的xml节点值 - 待写入的内存长度 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 强制IP设置 - - 设置的IP - 子网掩码 - 默认网关 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 配置IP方式 - - SI系列智能读码器不支持通过该接口设置IP配置类型, SI系列若设置STATIC则直接返回OK - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 从相机读取文件 - - 文件存取结构体 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 将文件写入相机 - - 文件存取结构体 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取文件存取的进度 - - 进度内容 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置抠图使能 - - 抠图使能 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取当前输入图像的面单信息(输入图像对应 MV_CODEREADER_IMAGE_OUT_INFO_EX 该结构体信息) - - 原始图像指针 - 图像信息结构体:MV_CODEREADER_IMAGE_OUT_INFO_EX - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取当前输入图像的面单信息(输入图像对应 MV_CODEREADER_IMAGE_OUT_INFO_EX2 该结构体信息) - - 原始图像指针 - 图像信息结构体:MV_CODEREADER_IMAGE_OUT_INFO_EX2 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置整型参数 - - 属性键值 - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取整型参数 - - 属性键值 - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 保存图片,支持Bmp和Jpeg.编码质量在50-99之间 - - 保存图片参数结构体 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册异常消息回调,在打开设备之后调用 - - 异常回调函数 - 用户自定义变量 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册全部事件回调,在打开设备之后调用(该接口需要固件支持) - - 事件回调函数 - 用户自定义变量 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册触发回调,在打开设备之后调用 - - 触发回调函数 - 用户自定义变量 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册图像数据回调 - - 图像回调函数 - 用户自定义参数 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册图像数据回调(包含OCR信息),开始取流之前调用 - - 图像回调函数 - 用户自定义参数 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册图像数据(数据包含二维码质量评级)回调 - - 图像回调函数 - 用户自定义参数 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册指定一路流通道图像数据(数据包含二维码质量评级)回调 - - 流通道号(单通道固件通道号为0, 多通道固件通道号为0/1(根据多通道sensor个数)) - 图像回调函数 - 用户自定义参数 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置GIGE设备超时时间 - - 超时时间(ms) - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取设备句柄 - - 返回设备句柄 - - - - 结构体转换函数 - - 缓存 - 类型 - 对象值 - - - 私有成员变量 - - 设备句柄 - - - - - 获取SDK版本号 - - 返回4字节版本号 - - - - 创建设备句柄(支持虚拟相机) - - 句柄 - 设备信息结构体: MV_CODEREADER_DEVICE_INFO - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 使用序列号创建设备句柄(支持虚拟相机) - - 句柄 - 设备序列号 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 销毁设备句柄(支持虚拟相机) - - 句柄 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 枚举设备(支持虚拟相机) - - 设备列表结构体: MV_CODEREADER_DEVICE_INFO_LIST - 传输层类型,默认为GIGE设备,具体请参考宏定义(设备类型) - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 枚举指定系列设备(虚拟相机可枚举,但bSelectDevice不生效,不可指定系列设备) - - 设备列表结构体: MV_CODEREADER_DEVICE_INFO_LIST - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 枚举读码设备 - - 设备列表结构体: MV_CODEREADER_DEVICE_INFO_LIST - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设备是否可达(虚拟相机可调用,不支持检验设备是否可达) - - 设备信息结构体:MV_CODEREADER_DEVICE_INFO - 访问权限,具体请参考宏定义(设备访问模式) - 可达,返回true;不可达,返回false - - - - 打开设备(支持虚拟相机) - - 句柄 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 关闭设备(支持虚拟相机) - - 句柄 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 开始取流(支持虚拟相机) - - 句柄 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 停止取流(支持虚拟相机) - - 句柄 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 采用超时机制获取一帧图片(图像信息以 MV_CODEREADER_IMAGE_OUT_INFO 结构体为准) - - 句柄 - 图像数据 - 图像信息 - 等待超时时间,以ms为单位 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 采用超时机制获取一帧图片(图像信息以 MV_CODEREADER_IMAGE_OUT_INFO_EX 结构体为准) - - 句柄 - 图像数据 - 图像信息 - 等待超时时间,以ms为单位 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 采用超时机制获取一帧图片(图像信息以 MV_CODEREADER_IMAGE_OUT_INFO_EX2 结构体为准) - - 句柄 - 图像数据 - 图像信息 - 等待超时时间,以ms为单位 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 采用超时机制获取指定流通道一帧图片 - - 句柄 - 图像数据 - 图像信息(包含二维码质量信息) - 流通道号(单通道固件通道号为0,多通道固件通道号为0/1/2,根据多通道sensor个数) - 等待超时时间,以ms为单位 - - - - - 获取设备信息(虚拟相机可调用,不支持返回设备信息,接口返回成功) - - 句柄 - 设备信息结构体:MV_CODEREADER_DEVICE_INFO - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取Int型属性值 - - 句柄 - 参数名称,如“Width” - 获取到的设备参数值列表,含最大值、最小值及当前值:MV_CODEREADER_INTVALUE_EX - - - - - 设置Int型属性值 - - 句柄 - 参数名称,如“Width” - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取Enum型属性值 - - 句柄 - 参数名称,如“LineSelector” - 获取到的设备参数值列表,含当前值及有效数据个数:MV_CODEREADER_ENUMVALUE - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Enum型属性值(属性值类型为int值类型) - - 句柄 - 参数名称,如“LineSelector” - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Enum型属性值(属性值类型为字符串类型) - - 句柄 - 参数名称,如“LineSelector” - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取Float型属性值 - - 句柄 - 参数名称,如“AcquisitionFrameRate” - 获取到的参数值列表,含最大值、最小值及当前值:MV_CODEREADER_FLOATVALUE - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Float型属性值 - - 句柄 - 参数名称,如“AcquisitionFrameRate” - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取Bool型属性值 - - 句柄 - 参数名称,如“EnableLight” - 获取到的参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Bool型属性值 - - 句柄 - 参数名称,如“HDREnable” - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取String型属性值 - - 句柄 - 参数名称,如“DeviceUserID” - 获取到的参数值:MV_CODEREADER_STRINGVALUE - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置String型属性值 - - 句柄 - 参数名称,如“DeviceUserID” - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置Command型属性值 - - 句柄 - 参数名称,如“DeviceReset” - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取最佳包大小 - - 句柄 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 读内存(虚拟相机不支持) - - 句柄 - 读到的内存值 - 待读取的内存地址(该地址可从设备的Camera.xml文件中获取,如xxx_RegAddr的xml节点值。Camera.xml文件会在设备打开之后自动生成在应用程序的当前目录下) - 待读取的内存长度 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 写内存(虚拟相机不支持) - - 句柄 - 待写入的内存值 - 待写入的内存地址(该地址可从设备的Camera.xml文件中获取,如xxx_RegAddr的xml节点值。Camera.xml文件会在设备打开之后自动生成在应用程序的当前目录下) - 待写入的内存长度 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 强制设置IP - - 句柄 - 设置的IP - 子网掩码 - 默认网关 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置设备IP配置类型 - - 句柄 - IP配置类型 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 从读码器读取文件 - - 句柄 - 文件存取:MV_CODEREADER_FILE_ACCESS - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 将文件写入读码器 - - 句柄 - 文件存取:MV_CODEREADER_FILE_ACCESS - - - - - 获取文件存取进度 - - 句柄 - 文件存取进度 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置抠图使能 - - 句柄 - 抠图使能 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取当前输入图像的面单信息(输入图像对应 MV_CODEREADER_IMAGE_OUT_INFO_EX 该结构体信息) - - 句柄 - 原始图像指针 - 图像信息 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取当前输入图像的面单信息(输入图像对应 MV_CODEREADER_IMAGE_OUT_INFO_EX2 该结构体信息) - - 句柄 - 原始图像指针 - 图像信息 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置算法整型参数 - - 句柄 - 参数名 - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取算法整型参数 - - 句柄 - 参数名 - 参数值 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 保存图像 - - 句柄 - 图像参数结构体:MV_CODEREADER_SAVE_IMAGE_PARAM_EX - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 获取设备异常信息(虚拟相机返回OK,但实际不支持,无效果) - - 句柄 - 用户注册异常回调函数 - 用户指针 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册全部事件回调,在打开设备之后调用(虚拟相机不支持) - - 句柄 - 用户注册事件回调函数 - 用户指针 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册图像数据回调(图像信息以 MV_CODEREADER_IMAGE_OUT_INFO 结构体为准) - - 句柄 - 用户注册图像回调函数 - 用户指针 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册图像扩展数据回调(图像信息以 MV_CODEREADER_IMAGE_OUT_INFO_EX 结构体为准) - - 句柄 - 用户注册图像回调函数 - 用户指针 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册图像扩展数据回调(图像信息以 MV_CODEREADER_IMAGE_OUT_INFO_EX2 结构体为准) - - 句柄 - 用户注册图像(图像信息包含二维码质量评级)回调函数 - 用户指针 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册指定一路流通道图像数据回调 - - 句柄 - 流通道号(单通道固件通道号位0,多通道固件通道号为0/1/2,根据多通道sensor个数) - 用户注册图像(图像信息包含二维码质量评级)回调函数 - 用户指针 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 注册触发模式回调函数 - - 句柄 - 用户注册触发模式回调函数 - 用户指针 - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - - 设置GIGE超时时间 - - 设备句柄 - 超时时间(ms) - 成功,返回MV_CODEREADER_OK;错误,返回错误码 - - - 回调函数声明 - - 异常回调函数 - - 异常事件类型:MV_CODEREADER_EXCEPTION_DEV_DISCONNECT(设备断开)/MV_CODEREADER_EXCEPTION_VERSION_CHECK(SDK与驱动版本不匹配) - 用户参数 - - - - 图像输出回调函数 - - 一帧图像数据 - 图像数据信息:MV_CODEREADER_IMAGE_OUT_INFO - 用户参数 - - - - 图像输出回调函数 - - 一帧图像数据 - 图像数据信息扩展:MV_CODEREADER_IMAGE_OUT_INFO_EX - 用户参数 - - - - 图像输出回调函数 - - 一帧图像数据 - 图像数据信息扩展:MV_CODEREADER_IMAGE_OUT_INFO_EX2 - 用户参数 - - - - 指定一路流通道图像数据(数据包含二维码质量评级)回调 - - 一帧图像数据 - 图像数据信息扩展:MV_CODEREADER_IMAGE_OUT_INFO_EX2 - 用户参数 - - - - 全部事件回调函数 - - 事件回调信息:MV_CODEREADER_EVENT_OUT_INFO - 用户参数 - - - - 触发信息回调函数 - - 相机触发信息:MV_CODEREADER_TRIGGER_INFO_DATA - 用户参数 - - - - 相机GIGE设备信息 - - - - - ip配置类型 - - - - - IP当前类型 - - - - - 当前IP地址 - - - - - Mask地址 - - - - - 默认网关 - - - - - 制造商名 - - - - - 设备型号 - - - - - 设备版本 - - - - - 制造商说明 - - - - - 设备序列号 - - - - - 设备型号 - - - - - 网口IP地址 - - - - - 当前占用设备的用户IP - - - - - 预留字段 - - - - - U3V相机设备信息 - - - - - 控制输入端点 - - - - - 控制输出端点 - - - - - 流端点 - - - - - 事件端点 - - - - - 供应商ID号 - - - - - 产品ID号 - - - - - 设备序列号 - - - - - 设备GUID号 - - - - - 供应商名字 - - - - - 型号名字 - - - - - 家族名字 - - - - - 设备版本号 - - - - - 制造商名字 - - - - - 序列号 - - - - - 用户自定义名字 - - - - - 支持的USB协议 - - - - - 保留字节 - - - - - 设备信息 - - - - - 设备主版本号 - - - - - 设备次版本号 - - - - - MAC 地址 - - - - - 设备MAC地址低位 - - - - - 设备传输层协议类型,e.g. MV_GIGE_DEVICE - - - - - 选择设备 - 是否为指定系列型号相机 - true -指定系列型号相机 false- 非指定系列型号相机 - - - - - 保留字节 - - - - - 设备信息 - - - - - 设备信息 - - - - - GigE设备信息 - - - - - U3V设备信息 - - - - - 设备列表信息 - - - - - 在线设备数量 - - - - - 支持最多256个设备 - - - - - 图像数据信息 - - - - - 图像宽 - - - - - 图像高 - - - - - 像素格式 - - - - - 帧号 - - - - - 时间戳高32位 - - - - - 时间戳低32位 - - - - - 保留,8字节对齐 - - - - - 主机生成的时间戳 - - - - - 当前帧数据大小 - - - - - 本帧丢包数 - - - - - 保留字节 - - - - - 图像数据信息扩展(包含水印信息) - - - - - 图像宽 - - - - - 图像高 - - - - - 像素格式 - - - - - 帧号 - - - - - 时间戳高32位 - - - - - 时间戳低32位 - - - - - 保留,8字节对齐 - - - - - 主机生成的时间戳 - - - - - 当前帧数据大小 - - - - 以下为chunk新增水印信息 - 设备水印时标 - - 秒数 - - - - - 循环计数 - - - - - 循环计数偏移量 - - - - - 增益 - - - - - 曝光时间 - - - - - ch:平均亮度 - - - - 白平衡相关 - - ch:红色数据 - - - - - ch:绿色数据 - - - - - ch:蓝色数据 - - - - - ch:图像数量计数 - - - - - ch:触发计数 - - - - Line 输入/输出 - - ch:输入 - - - - - ch:输出 - - - - ROI区域 - - ch:ROI X轴偏移 - - - - - ch:ROI Y轴偏移 - - - - - ch:Chunk宽度 - - - - - ch:Chunk高度 - - - - - ch:本帧丢包数 - - - - - ch:保留字节 - - - - - 图像显示信息 - - - - - 显示窗口句柄 - - - - - 图像数据 - - - - - 源图像数据长度 - - - - - 图像宽 - - - - - 图像高 - - - - - 像素格式 - - - - - 保留字节 - - - - - 保存图像格式信息 - - - - - 未定义格式 - - - - - Mono8格式 - - - - - Jpeg格式 - - - - - Bmp格式 - - - - - RGB24格式 - - - - - Png图像(暂不支持) - - - - - Tif图像(暂不支持) - - - - - 图像保存信息 - - - - - [IN] 输入数据缓存 - - - - - [IN] 输入数据大小 - - - - - [IN] 输入数据的像素格式 - - - - - [IN] 图像宽 - - - - - [IN] 图像高 - - - - - [OUT] 输出图片缓存 - - - - - [OUT] 输出图片大小 - - - - - [IN] 提供的输出缓冲区大小 - - - - - [IN] 输出图片格式 - - - - - 图像保存信息扩展 - - - - - [IN] 输入数据缓存 - - - - - [IN] 输入数据大小 - - - - - [IN] 输入数据的像素格式 - - - - - [IN] 图像宽 - - - - - [IN] 图像高 - - - - - [OUT] 输出图片缓存 - - - - - [OUT] 输出图片大小 - - - - - [IN] 提供的输出缓冲区大小 - - - - - [IN] 输出图片格式 - - - - - [IN] 编码质量, (50-99] - - - - - [IN] Bayer格式转为RGB24的插值方法 0-最近邻 1-双线性 2-Hamilton - - - - - 保留字节 - - - - - 触发模式 - - - - - 触发模式关闭 - - - - - 触发模式打开 - - - - - 触发源 - - - - - Line0 - - - - - Line1 - - - - - Line2 - - - - - Line3 - - - - - Line4 - - - - - 软触发 - - - - - 变频器触发 - - - - - 条码类型信息 - - - - - 无可识别条码 - - - - - DM码 - - - - - QR码 - - - - 一维码 - - EAN8码 - - - - - UPCE码 - - - - - UPCA码 - - - - - EAN13码 - - - - - ISBN13码 - - - - - 库德巴码 - - - - - 交叉25码 - - - - - Code 39 - - - - - Code 93 - - - - - Code 128 - - - - - PDF417码 - - - - - MATRIX25码 - - - - - MSI码 - - - - - code11 - - - - - industrial25 - - - - - 中国邮政码 - - - - - 交叉14码 - - - - - ECC140码制 - - - - - 节点访问模式 - - - - - 节点未实现 - - - - - 节点不可达 - - - - - 节点只写 - - - - - 节点只读 - - - - - 节点可读可写 - - - - - 节点未定义 - - - - - 节点需周期检测 - - - - - 每个节点对那个的接口类型 - - - - - Value类型值 - - - - - Base类型值 - - - - - Integer类型值 - - - - - Boolean类型值 - - - - - Command类型值 - - - - - Float类型值 - - - - - String类型值 - - - - - Register类型值 - - - - - Category类型值 - - - - - Enumeration类型值 - - - - - EnumEntry类型值 - - - - - Port类型值 - - - - - Event事件信息 - - - - - Event名称 - - - - - Event号 - - - - - 流通道序号 - - - - - 帧号高位 - - - - - 帧号低位 - - - - - 时间戳高位 - - - - - 时间戳低位 - - - - - Event数据 - - - - - Event数据长度 - - - - - 保留字节 - - - - - 文件存取 - - - - - 用户文件名 - - - - - 设备文件名 - - - - - 保留字节 - - - - - - 文件存取进度 - - - - - 已完成的长度 - - - - - 总长度 - - - - - 保留字节 - - - - - Int类型值(以unsigned int为类型值) - - - - - 当前值 - - - - - 最大值 - - - - - 最小值 - - - - - 增量值 - - - - - 保留字节 - - - - - Int类型值(以int64_t为类型值) - - - - - 当前值 - - - - - 最大值 - - - - - 最小值 - - - - - 增量值 - - - - - 保留字节 - - - - - Float类型值 - - - - - 当前值 - - - - - 最大值 - - - - - 最小值 - - - - - 保留字节 - - - - - Enum类型值 - - - - - 当前值 - - - - - 有效数据个数 - - - - - 支持的枚举类型 - - - - - 保留字节 - - - - - String类型值 - - - - - 当前值 - - - - - 最大长度 - - - - - 保留字节 - - - - - Int型坐标 - - - - - x坐标 - - - - - y坐标 - - - - - Float型坐标 - - - - - x坐标 - - - - - y坐标 - - - - - 条码信息结构体定义 - - - - - 条码ID - - - - - 字符 - - - - - 字符长度 - - - - - 条码类型 - - - - - 条码位置 - - - - - 条码角度(10倍)(0~3600) - - - - - 主包ID - - - - - 次包ID - - - - - 条码被识别的次数 - - - - - PPM(10倍) - - - - - 算法耗时 - - - - - 图像清晰度(10倍) - - - - - 条码质量 质量分5等[0,4], 越高等质量越好; 1D指一维码,2D指二维码) - - - - 等级 - - 总体质量评分(1D/2D公用) - - - - - 译码评分(1D/2D公用) - - - - - Symbol Contrast对比度质量评分(1D/2D公用) - - - - - modulation模块均匀性评分(1D/2D公用) - - - - 2D等级 - - fixed_pattern_damage评分 - - - - - axial_nonuniformity码轴规整性评分 - - - - - grid_nonuniformity基础grid均匀性质量评分 - - - - - unused_error_correction未使用纠错功能评分 - - - - - Print Growth Horizontal 打印伸缩(水平)评分 - - - - - Print Growth Veritical 打印伸缩(垂直)评分 - - - - 分数 - - Symbol Contrast对比度质量分数(1D/2D公用) - - - - - modulation模块均匀性分数(1D/2D公用) - - - - 2D分数 - - fixed_pattern_damage分数 - - - - - axial_nonuniformity码轴规整性分数 - - - - - grid_nonuniformity基础grid均匀性质量分数 - - - - - unused_error_correction未使用纠错功能分数 - - - - - Print Growth Horizontal 打印伸缩(水平)分数 - - - - - Print Growth Veritical 打印伸缩(垂直)分数 - - - - - reflectance margin反射率余量评分 - - - - - reflectance margin反射率余量分数 - - - - 1D等级 - - edge determination 边缘确定度质量等级 - - - - - minimum reflectance 最小反射率质量等级 - - - - - minimum edge contrast 最小边缘对比度质量等级 - - - - - decodability 可译码性质量等级 - - - - - defects 缺陷质量等级 - - - - - quiet zone 静区质量等级 - - - - 1D分数 - /// - edge determination 边缘确定度分数 - - - - - minimum reflectance 最小反射率分数 - - - - - minimum edge contrast 最小边缘对比度分数 - - - - - decodability 可译码性分数 - - - - - defects 缺陷分数 - - - - - quiet zone 静区分数 - - - - - 保留字节 - - - - - 带质量信息的BCR信息 - - - - - 条码ID - - - - - 字符 - - - - - 字符长度 - - - - - 条码类型 - - - - - 条码位置 - - - - - 条码质量评价 - - - - - 条码角度(10倍)(0~3600) - - - - - 主包ID - - - - - 次包ID - - - - - 条码被识别的次数 - - - - - PPM(10倍) - - - - - 算法耗时 - - - - - 图像清晰度(10倍) - - - - - 是否支持二维码质量评级 - - - - - 读码评分 - - - - - 是否支持一维码质量评级 - - - - - 从触发开始到APP输出时间统计(ms) - - - - - 保留字节 - - - - - 带质量信息且条码字符扩展的BCR信息 - - - - - 条码ID - - - - - 字符可识别长度扩展至4096 - - - - - 字符长度 - - - - - 条码类型 - - - - - 条码位置 - - - - - 条码质量评价 - - - - - 条码角度(10倍)(0~3600) - - - - - 主包ID - - - - - 次包ID - - - - - 条码被识别的次数 - - - - - PPM(10倍) - - - - - 算法耗时 - - - - - 图像清晰度(10倍) - - - - - 是否支持二维码质量评级 - - - - - 读码评分 - - - - - 是否支持一维码质量评级 - - - - - 从触发开始到APP输出时间统计(ms) - - - - - 保留字节 - - - - - ScResType_BCR 对应的结构体 - - - - - 条码数量 - - - - - 条码信息 - - - - - 保留字节 - - - - - 条码信息加条码质量列表 - - - - - 条码数量 - - - - - 条码信息 - - - - - 保留字节 - - - - - 条码信息字符扩展加条码质量列表 - - - - - 条码数量 - - - - - 条码信息 - - - - - 保留字节 - - - - - 输出帧信息结构体定义 - - - - - 图像宽 - - - - - 图像高 - - - - - 像素或图片格式 - - - - - 触发序号(仅在电平触发时有效) - - - - - 帧号 - - - - - 当前帧数据大小 - - - - - 时间戳高32位 - - - - - 时间戳低32位 - - - - - 输出的消息类型 - - - - - 条码位置 - - - - - 是否读到条码 - - - - - 面单图像 - - - - - 面单数据大小 - - - - - 面单图像类型 - - - - - 是否误触发 - - - - - 聚焦得分 - - - - - 对应stream通道序号 - - - - - 帧图像在相机内部的处理耗时 - - - - - 保留字节 - - - - - 面单信息结构体定义 - - - - 面单坐标信息 - - 中心点列坐标 - - - - - 中心点行坐标 - - - - - 矩形宽度,宽度为长半轴 - - - - - 矩形高度,高度为短半轴 - - - - - 矩形角度 - - - - - 置信度 - - - - - 面单图像 - - - - - 面单长度 - - - - - 当前面单内的ocr行数 - - - - - 保留字节 - - - - - 面单信息列表 - - - - - 面单数量 - - - - - 面单图像类型,可选择bmp、raw、jpg输出 - - - - - 条码位置 - - - - - 所有面单内的ocr总行数 面单1(ocr)+面单2(ocr)+... - - - - - 保留字节 - - - - - OCR基础信息 - - - - - OCR ID - - - - - OCR字符实际真实长度 - - - - - 识别到的OCR字符 - - - - - 字符行整体置信度 - - - - - 单行OCR中心点列坐标 - - - - - 单行OCR中心点行坐标 - - - - - 单行OCR矩形宽度,宽度为长半轴 - - - - - 单行OCR矩形高度,高度为短半轴 - - - - - 单行OCR矩形角度 - - - - - 单行OCR定位置信度 - - - - - OCR算法耗时 单位ms - - - - - 预留 - - - - - 保留字节 - - - - - OCR信息列表 - - - - - 所有面单内的OCR总行数 - - - - - OCR行基础信息 - - - - - 保留字节 - - - - - 输出帧信息结构体定义 - - - - - 图像宽 - - - - - 图像高 - - - - - 像素或图片格式 - - - - - 触发序号(仅在电平触发时有效) - - - - - 帧号 - - - - - 当前帧数据大小 - - - - - 时间戳高32位 - - - - - 时间戳低32位 - - - - - 是否误触发 - - - - - 聚焦得分 - - - - - 是否读到条码 - - - - - 条码信息结构体列表 - - - - - 面单信息 - - - - - 事件ID - - - - - 对应stream通道序号 - - - - - 帧图像在相机内部的处理耗时 - - - - - 保留字节 - - - - - OCR相关信息 对应结构体MV_CODEREADER_OCR_INFO_LIST - - - - - 输出帧信息结构体定义 - - - - - 图像宽 - - - - - 图像高 - - - - - 像素或图片格式 - - - - - 触发序号(仅在电平触发时有效) - - - - - 帧号 - - - - - 当前帧数据大小 - - - - - 时间戳高32位 - - - - - 时间戳低32位 - - - - - 是否误触发 - - - - - 聚焦得分 - - - - - 是否读到条码 - - - - - 条码信息和条码质量结构体列表 - - - - - 面单信息 - - - - - 事件ID - - - - - 对应stream通道序号 - - - - - 帧图像在相机内部的处理耗时 - - - - - 保留字节 - - - - - 条码信息(条码字符长度扩展)对应结构体MV_CODEREADER_RESULT_BCR_EX2 - - - - - OCR相关信息 对应结构体MV_CODEREADER_OCR_INFO_LIST - - - - - 输出信息类型 - - - - - 没有结果输出 - - - - - 输出信息为BCR (对应结构体 MV_SC_RESULT_BCR) - - - - - 触发信息 - - - - - 触发序号 即同步触发号 - - - - - 触发状态 (1开始 0结束) - - - - - 当前的触发状态对应的时间戳(分高、低位传输各4个字节) - - - 触发时间高4位 - - - - - 触发时间低4位 - - - - - 原生触发号(相机自带的触发号) - - - - - 是否强制结束(0--正常结束 1--强制结束 属于相机内部机制主动传输 上层无法设置生效) - - - - - 主从标记 1--主相机 0--从相机 - - - - - 主机生成的时间戳 - - - - - 保留字节 - - - - - 源图像像素格式 - - - - Undefined pixel type - - - Mono buffer format defines - - - Bayer buffer format defines - - - RGB Packed buffer format defines - - - YUV Packed buffer format defines - - - RGB Planar buffer format defines - - - 自定义的图片格式 - - - 3D coordinate A-C 32-bit floating point - - - diff --git a/LeatherProject/LeatherApp/bin/Debug/MvFGCtrlC.Net.xml b/LeatherProject/LeatherApp/bin/Debug/MvFGCtrlC.Net.xml deleted file mode 100644 index 7d58d3e..0000000 --- a/LeatherProject/LeatherApp/bin/Debug/MvFGCtrlC.Net.xml +++ /dev/null @@ -1,3781 +0,0 @@ - - - - MvFGCtrlC.Net - - - - - CSystem模块 - - - - - 获取SDK版本信息 - - 版本信息字符串 - 格式:“版本 + 类型 + 编译时间” - - - - 枚举采集卡 - - 采集卡类型,如要枚举多个类型可进行或操作 - 设备列表是否改变 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 进行采集卡操作之前必须调用该接口,只有在调用该接口时内部采集卡列表才会更新 - - - - 获取采集卡数量 - - 采集卡数量 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取采集卡信息 - - 采集卡索引 - 采集卡信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 打开采集卡 - - 采集卡索引 - 采集卡控制类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 打开采集卡,可指定权限 - - 采集卡索引 - 权限 - 采集卡控制类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 打开采集卡,导入配置文件 - - 采集卡索引 - 配置文件路径,用户需提供,为NULL时报错 - 采集卡控制类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 通过采集卡ID打开采集卡,可指定权限 - - 采集卡ID - 权限 - 采集卡控制类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 释放指定类型的采集卡资源 - - 采集卡资源类型 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 调用该接口之前必须关闭所有该类型的采集卡 - - - - 对齐申请内存 - - 内存大小 - 对齐长度 - 非托管内存 - - - - 释放内存 - - MV_MEM_Alloc函数申请的非托管内存 - - - - CDevice模块 - - - - - 定义 - - - - - 初始化 - - 设备句柄 - - - - 获取设备句柄 - - - - - 关闭设备 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取流通道数量 - - 流通道数量 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 打开流通道 - - 流通道索引 - 流通道类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - CBuffer模块 - - - - - 初始化 - - 缓存句柄 - - - - 获取缓存句柄 - - - - - 释放缓存句柄 - - - - - 通过缓存句柄获取缓存信息 - - 缓存信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 将队列外的缓存句柄放回输入队列 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - CCallback模块 - - - - - 初始化 - - - - - 初始化 - - 采集卡类 - - - - 初始化 - - 相机类 - - - - 初始化 - - 流类 - - - - 析构函数 - - - - - 注册事件回调函数 - - 事件名称 - 事件委托函数 - 用户自定义数据 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 注册异常信息回调函数 - - 异常委托函数 - 用户自定义数据 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 事件委托 - - 图像缓存信息 - 用户自定义数据 - - - - 异常委托 - - 异常类型 - 用户自定义数据 - - - - 附加模块 - - - - - byte数组转为指定类型的结构 - - Byte数组 - 结构类型 - 结构类型对象 - - - - CImageProcess模块 - - - - - 初始化 - - 相机类 - - - - 初始化 - - 采集卡类 - - - - 初始化 - - 流通道类 - - - - 显示一帧图像 - - 窗口句柄 - 显示的图像信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 在图像上绘制矩形框辅助线 - - 矩形辅助线的信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 在图像上绘制圆形辅助线 - - 圆形辅助线的信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 在图像上绘制线条 - - 线条辅助线信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 保存BMP图像 - - BMP图像信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 保存JPG图像 - - JPG图像信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 保存TIFF图像 - - TIFF图像信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 保存PNG图像 - - PNG图像信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 格式转换 - - 像素格式转换信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 无损解码 - - 无损解码参数 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - JPEG解码 - - JPEG解码参数 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 重组图像 - - 重组信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - CInterface模块 - - - - - 初始化 - - 采集卡句柄 - - - - 析构函数 - - - - - 获取采集卡句柄 - - - - - 关闭采集卡 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 更新指定采集卡下的设备列表 - - 设备列表是否改变 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 只有在调用该接口时内部设备列表才会更新 - - - - 获取设备数量 - - 设备数量 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取设备信息 - - 设备索引,从0开始 - 设备信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 打开设备 - - 设备索引,从0开始 - 设备类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 通过设备ID打开设备 - - 设备ID - 设备类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 错误码定义类 - - - - 成功,无错误 - - - 未知错误 - - - 未初始化 - - - 未实现 - - - 资源被占用 - - - 无权限 - - - 无效句柄 - - - 无效ID - - - 无数据 - - - 无效参数 - - - IO错误 - - - 超时 - - - 操作被中断 - - - 无效缓存 - - - 不可达 - - - 无效地址 - - - 缓存太小 - - - 无效索引 - - - 解析Chunk失败 - - - 无效的值 - - - 资源耗尽 - - - 内存申请失败 - - - 忙碌 - - - 动态库加载失败 - - - 函数调用错误 - - - 通用错误 - - - 参数错误 - - - 参数范围错误 - - - 属性错误 - - - 运行环境错误 - - - 逻辑错误 - - - 权限错误 - - - 超时 - - - 转换异常 - - - 未知错误 - - - 图像处理库句柄错误 - - - 图像处理库不支持 - - - 图像处理库参数错误 - - - 图像处理库内存溢出 - - - 图像处理库操作未初始化 - - - 图像处理库资源申请释放失败 - - - 图像加密错误 - - - 图像格式不正确或者不支持 - - - 图像宽高不正确或者超出范围 - - - 图像宽高与step参数不匹配 - - - 图像数据存储地址为空(某个分量) - - - 图像算法ABILITY存在无效参数 - - - 图像处理未知错误 - - - - 采集卡权限 - - - - - 权限未定义 - - - - - 只读权限,无法设置或者获取节点值 - - - - - 控制权限 - - - - - ch: CXP设备信息 | en: CXP interface information - - - - - 采集卡ID - - - - - 显示名称 - - - - - 序列号 - - - - - 采集卡的PCIE插槽信息 - - - - - 型号 - - - - - 厂商 - - - - - 版本号 - - - - - 自定义名称 - - - - - ch: GEV设备信息 | en: GEV interface information - - - - - 采集卡ID - - - - - 显示名称 - - - - - 序列号 - - - - - 采集卡的PCIE插槽信息 - - - - - 型号 - - - - - 厂商 - - - - - 版本号 - - - - - 自定义名称 - - - - - ch: CML设备信息 | en: CML interface information - - - - - 采集卡ID - - - - - 显示名称 - - - - - 序列号 - - - - - 采集卡的PCIE插槽信息 - - - - - 型号 - - - - - 厂商 - - - - - 版本号 - - - - - 自定义名称 - - - - - ch: XoF设备信息 | en: XoF interface information - - - - - 采集卡ID - - - - - 显示名称 - - - - - 序列号 - - - - - 采集卡的PCIE插槽信息 - - - - - 型号 - - - - - 厂商 - - - - - 版本号 - - - - - 自定义名称 - - - - - ch:卡信息 | en:Interface information - - - - - 采集卡类型 - - - - - 采集卡类型 - - - - - 特定采集卡信息 - - - - - ch:特定类型的设备信息 | en:Special devcie information - - - - - CXP采集卡信息 - - - - - GEV采集卡信息 - - - - - CameraLink采集卡信息 - - - - - XoF采集卡信息 - - - - - ch: CXP设备信息 | en: CXP device information - - - - - 供应商名字 - - - - - 型号名字 - - - - - 厂商信息 - - - - - 设备版本 - - - - - 序列号 - - - - - 用户自定义名字 - - - - - 设备ID - - - - - 保留字段 - - - - - ch: GEV设备信息 | en: GEV device information - - - - - 支持的IP配置 - - - - - 当前IP配置,参考支持的IP配置说明 - - - - - 当前IP地址 - - - - - 当前子网掩码 - - - - - 当前网关 - - - - - 网口IP地址 - - - - - MAC地址 - - - - - 供应商名字 - - - - - 型号名字 - - - - - 厂商信息 - - - - - 设备版本 - - - - - 序列号 - - - - - 用户自定义名字 - - - - - 设备ID - - - - - 当前端口 - - - - - 保留字段 - - - - - ch: CML设备信息 | en: CML device information - - - - - 供应商名字 - - - - - 型号名字 - - - - - 厂商信息 - - - - - 设备版本 - - - - - 序列号 - - - - - 用户自定义名字 - - - - - 设备ID - - - - - 保留字段 - - - - - ch: XoF设备信息 | en: XoF device information - - - - - 供应商名字 - - - - - 型号名字 - - - - - 厂商信息 - - - - - 设备版本 - - - - - 序列号 - - - - - 用户自定义名字 - - - - - 设备ID - - - - - 保留字段 - - - - - ch:相机信息 | en:Device information - - - - - 设备类型 - - - - - 保留字段 - - - - - 特定设备信息 - - - - - ch:特定类型的设备信息 | en:Special devcie information - - - - - CXP设备信息 - - - - - GEV设备信息 - - - - - CameraLink设备信息 - - - - - XoF设备信息 - - - - - 保留字段 - - - - - 缓存队列类型 - - - - - 将输入队列的BUFFER放到输出队列 - - - - - 放弃输出队列的BUFFER - - - - - 将所有的BUFFER(包括输出队列)放到输入队列 - - - - - 将未使用的BUFFER放到输入队列 - - - - - 放弃输入和输出队列中的BUFFER - - - - - 像素格式 - - - - - 未定义的格式 - - - - - Mono8 - - - - - Mono10 - - - - - Mono10_Packed - - - - - Mono12 - - - - - Mono12_Packed - - - - - Mono16 - - - - - BayerGR8 - - - - - BayerRG8 - - - - - BayerGB8 - - - - - BayerBG8 - - - - - BayerRBGG8 - - - - - BayerGR10 - - - - - BayerRG10 - - - - - BayerGB10 - - - - - BayerBG10 - - - - - BayerGR12 - - - - - BayerRG12 - - - - - BayerGB12 - - - - - BayerBG12 - - - - - BayerGR10_Packed - - - - - BayerRG10_Packed - - - - - BayerGB10_Packed - - - - - BayerBG10_Packed - - - - - BayerGR12_Packed - - - - - BayerRG12_Packed - - - - - BayerGB12_Packed - - - - - BayerBG12_Packed - - - - - BayerGR16 - - - - - BayerRG16 - - - - - BayerGB16 - - - - - BayerBG16 - - - - - RGB8_Packed - - - - - BGR8_Packed - - - - - RGBA8_Packed - - - - - BGRA8_Packed - - - - - RGB16_Packed - - - - - YUV422_Packed - - - - - YUV422_YUYV_Packed - - - - - Jpeg - - - - - HB_Mono8 - - - - - HB_Mono10 - - - - - HB_Mono10_Packed - - - - - HB_Mono12 - - - - - HB_Mono12_Packed - - - - - HB_Mono16 - - - - - HB_BayerGR8 - - - - - HB_BayerRG8 - - - - - HB_BayerGB8 - - - - - HB_BayerBG8 - - - - - HB_BayerRBGG8 - - - - - HB_BayerGR10 - - - - - HB_BayerRG10 - - - - - HB_BayerGB10 - - - - - HB_BayerBG10 - - - - - HB_BayerGR12 - - - - - HB_BayerRG12 - - - - - HB_BayerGB12 - - - - - HB_BayerBG12 - - - - - HB_BayerGR10_Packed - - - - - HB_BayerRG10_Packed - - - - - HB_BayerGB10_Packed - - - - - HB_BayerBG10_Packed - - - - - HB_BayerGR12_Packed - - - - - HB_BayerRG12_Packed - - - - - HB_BayerGB12_Packed - - - - - HB_BayerBG12_Packed - - - - - HB_RGB8_Packed - - - - - HB_BGR8_Packed - - - - - HB_RGBA8_Packed - - - - - HB_BGRA8_Packed - - - - - HB_RGB16_Packed - - - - - HB_YUV422_Packed - - - - - HB_YUV422_YUYV_Packed - - - - - 输出的帧缓存信息 - - - - - 图像缓存地址 - - - - - 地址大小 - - - - - 图像长度 - - - - - 私有数据 - - - - - 宽度 - - - - - 高度 - - - - - 像素格式 - - - - - 是否是新图像到来 - - - - - 是否在取图队列中 - - - - - 是否在取图 - - - - - 是否未完成 - - - - - 帧号 - - - - - 设备时间戳 - - - - - 主机时间戳 - - - - - Chunk个数 - - - - - Chunk负载长度 - - - - - 秒数(时标) - - - - - 周期数(时标) - - - - - 周期偏移量(时标) - - - - - 增益 - - - - - 曝光时间 - - - - - 平均亮度 - - - - - 总帧数 - - - - - 触发计数 - - - - - 输入 - - - - - 输出 - - - - - 红色(白平衡) - - - - - 绿色(白平衡) - - - - - 蓝色(白平衡) - - - - - 水平偏移量(ROI位置) - - - - - 垂直偏移量(ROI位置) - - - - - 宽度(ROI位置) - - - - - 高度(ROI位置) - - - - - 电平结束最后一帧 - - - - - 保留字段 - - - - - Chunk信息 - - - - - Chunk数据 - - - - - Chunk ID - - - - - Chunk的长度 - - - - - 保留字段 - - - - - 输入图像信息 - - - - - 宽度 - - - - - 高度 - - - - - 像素格式 - - - - - 图像缓存地址 - - - - - 图像长度 - - - - - 保留字段 - - - - - 图像信息 - - - - - 宽度 - - - - - 高度 - - - - - 像素格式 - - - - - 图像缓存地址 - - - - - 数据缓冲大小 - - - - - 图像长度 - - - - - 保留字段 - - - - - 插值方法 - - - - - 快速 - - - - - 均衡 - - - - - 最优 - - - - - 保存BMP图像结构体 - - - - - 输入图像信息 - - - - - BMP图像缓存 - - - - - 输出的缓冲区大小 - - - - - 输出的BMP图片长度 - - - - - 插值方法 - - - - - 保留字段 - - - - - 保存JPG图像结构体 - - - - - 输入图像信息 - - - - - JPEG图像缓存 - - - - - 输出的缓冲区大小 - - - - - 输出的JPEG图片长度 - - - - - 编码质量, (0-100] - - - - - 插值方法 - - - - - 保留字段 - - - - - 分辨率单位 - - - - - 无单位 - - - - - 英寸 - - - - - 厘米 - - - - - 保存Tiff图像信息 - - - - - 输入图像信息 - - - - - 输入文件路径 - - - - - 水平分辨率 - - - - - 垂直分辨率 - - - - - 分辨率单位 - - - - - 插值方法 - - - - - 保留字段 - - - - - 保存Png图像信息 - - - - - 输入图像信息 - - - - - 输入文件路径 - - - - - 编码压缩率, [0-9] - - - - - 插值方法 - - - - - 保留字段 - - - - - Gamma类型 - - - - - 不启用 - - - - - Gamma值 - - - - - Gamma曲线 - 8位,长度:256*sizeof(unsigned char) - 10位,长度:1024*sizeof(unsigned short) - 12位,长度:4096*sizeof(unsigned short) - 16位,长度:65536*sizeof(unsigned short) - - - - - linear RGB to sRGB - - - - - sRGB to linear RGB(仅色彩插值时支持,色彩校正时无效) - - - - - Gamma信息 - - - - - Gamma类型 - - - - - Gamma值[0.1,4.0] - - - - - Gamma曲线缓存 - - - - - Gamma曲线长度 - - - - - 预留字段 - - - - - CCM信息 - - - - - 是否启用CCM - - - - - CCM矩阵(-65536~65536) - - - - - 量化系数(2的整数幂,最大65536) - - - - - 预留字段 - - - - - 格式转换结构体 - - - - - 输入图像信息 - - - - - 输出图像信息 - - - - - 插值方法(在Bayer插值中起效) - - - - - 平滑使能(在Bayer插值中起效) - - - - - Gamma信息(在Bayer插值中起效) - - - - - CCM信息(在Bayer插值中起效) - - - - - 保留字段 - - - - - 水印信息 - - - - - 设备水印时标-秒数 - - - - - 设备水印时标-周期数 - - - - - 设备水印时标-周期偏移量 - - - - - 增益 - - - - - 曝光时间 - - - - - 平均亮度 - - - - - 白平衡-红色 - - - - - 白平衡-绿色 - - - - - 白平衡-蓝色 - - - - - 总帧数 - - - - - 触发计数 - - - - - 输入 - - - - - 输出 - - - - - ROI区域-水平偏移量 - - - - - ROI区域-垂直偏移量 - - - - - 水印宽 - - - - - 水印高 - - - - - 保留字段 - - - - - 无损解码参数 - - - - - 输入数据缓存 - - - - - 输入数据大小 - - - - - 输出图像信息 - - - - - 水印信息(暂不支持) - - - - - 保留字段 - - - - - JPEG解码参数 - - - - - 输入数据缓存 - - - - - 输入数据大小 - - - - - 输出图像信息 - - - - - 保留字段 - - - - - 重组方式 - - - - - 旋转90度 - - - - - 旋转180度 - - - - - 旋转270度 - - - - - 垂直翻转 - - - - - 水平翻转 - - - - - 按行拆分成2张图像 - - - - - 按行拆分成3张图像 - - - - - 按行拆分成4张图像 - - - - - 重组信息 - - - - - 输入图片信息 - - - - - 输出图片信息 - - - - - 重组方式 - - - - - 预留字段 - - - - - 构造函数 - - 输入任意数,因为不接受无参构造函数 - - - - 节点权限 - - - - - Value不可实现 - - - - - Value不可用 - - - - - Value只写 - - - - - Value只读 - - - - - Value读写 - - - - - Value未定义 - - - - - 节点类型 - - - - - Value - - - - - Base - - - - - Integer - - - - - Boolean - - - - - Command - - - - - Float - - - - - String - - - - - Register - - - - - Category - - - - - Enumeration - - - - - EnumEntry - - - - - Port - - - - - Int类型信息 - - - - - 当前值 - - - - - 最大值 - - - - - 最小值 - - - - - 步长 - - - - - 保留字段 - - - - - MV_FG_STR_INFO - - - - - strInfo - - - - - 枚举类型信息 - - - - - 当前值 - - - - - 当前值的符号名称 - - - - - 支持的枚举类型个数 - - - - - 支持的枚举类型的值 - - - - - 支持的枚举类型的符号名称 - - - - - 保留字段 - - - - - Float类型信息 - - - - - 当前值 - - - - - 最大值 - - - - - 最小值 - - - - - 保留字段 - - - - - String类型信息 - - - - - 当前值 - - - - - 最大长度 - - - - - 保留字段 - - - - - 文件存取 - - - - - 用户文件名 - - - - - 设备文件名 - - - - - 保留字段 - - - - - 配置指令 - - - - - 波特率,整型 - - - - 异常信息类型 - - - 温度上限 - - - 温度下限限 - - - DDR初始化失败 - - - 包缓存错误 - - - 响应包缓存错误 - - - Link0 流CRC校验错误 - - - Link0 流重发包 - - - Link0 控制包错误 - - - Link0 预处理缓存错误 - - - Link0 相机回包接收缓存错误 - - - Link0 相机回包发送缓存错误 - - - Link1 流CRC校验错误 - - - Link1 流重发包 - - - Link1 控制包错误 - - - Link1 预处理缓存错误 - - - Link1 相机回包接收缓存错误 - - - Link1 相机回包发送缓存错误 - - - Link2 流CRC校验错误 - - - Link2 流重发包 - - - Link2 控制包错误 - - - Link2 预处理缓存错误 - - - Link2 相机回包接收缓存错误 - - - Link2 相机回包发送缓存错误 - - - Link3 流CRC校验错误 - - - Link3 流重发包 - - - Link3 控制包错误 - - - Link3 预处理缓存错误 - - - Link3 相机回包接收缓存错误 - - - Link3 相机回包发送缓存错误 - - - STREAM0 卡端图像帧缓存丢弃 - - - STREAM0 接收图像(大小)计数异常 - - - STREAM0 卡端帧触发丢弃 - - - STREAM0 QUEUE缓存异常 - - - STREAM0 WDMA缓存异常 - - - STREAM0 RDMA缓存异常 - - - STREAM0 PACKET缓存异常 - - - STREAM0 WDMA长度异常 - - - STREAM0 RDMA长度异常 - - - STREAM1 卡端图像帧缓存丢弃 - - - STREAM1 接收图像(大小)计数异常 - - - STREAM1 卡端帧触发丢弃 - - - STREAM1 QUEUE缓存异常 - - - STREAM1 WDMA缓存异常 - - - STREAM1 RDMA缓存异常 - - - STREAM1 PACKET缓存异常 - - - STREAM1 WDMA长度异常 - - - STREAM1 RDMA长度异常 - - - STREAM2 卡端图像帧缓存丢弃 - - - STREAM2 接收图像(大小)计数异常 - - - STREAM2 卡端帧触发丢弃 - - - STREAM2 QUEUE缓存异常 - - - STREAM2 WDMA缓存异常 - - - STREAM2 RDMA缓存异常 - - - STREAM2 PACKET缓存异常 - - - STREAM2 WDMA长度异常 - - - STREAM2 RDMA长度异常 - - - STREAM3 卡端图像帧缓存丢弃 - - - STREAM3 接收图像(大小)计数异常 - - - STREAM3 卡端帧触发丢弃 - - - STREAM3 QUEUE缓存异常 - - - STREAM3 WDMA缓存异常 - - - STREAM3 RDMA缓存异常 - - - STREAM3 PACKET缓存异常 - - - STREAM3 WDMA长度异常 - - - STREAM3 RDMA长度异常 - - - 调度模块缓存异常 - - - 调度结果到异常值 - - - Link0 缓存Link的buffer异常 - - - Link0 控制包长度异常 - - - Link0 缓存Link的buffer异常 - - - Link0 控制包长度异常 - - - Link1 缓存Link的buffer异常 - - - Link1 控制包长度异常 - - - Link1 缓存Link的buffer异常 - - - Link1 控制包长度异常 - - - Link2 缓存Link的buffer异常 - - - Link2 控制包长度异常 - - - Link2 缓存Link的buffer异常 - - - Link2 控制包长度异常 - - - Link3 缓存Link的buffer异常 - - - Link3 控制包长度异常 - - - Link3 缓存Link的buffer异常 - - - Link3 控制包长度异常 - - - STREAM0 缓存Stream的fifo异常 - - - STREAM0 链表格式错误 - - - STREAM0 图像大小与内存不匹配 - - - STREAM1 缓存Stream的fifo异常 - - - STREAM1 链表格式错误 - - - STREAM1 图像大小与内存不匹配 - - - STREAM2 缓存Stream的fifo异常 - - - STREAM2 链表格式错误 - - - STREAM2 图像大小与内存不匹配 - - - STREAM3 缓存Stream的fifo异常 - - - STREAM3 链表格式错误 - - - STREAM3 图像大小与内存不匹配 - - - CAMERA 相机掉线错误 - - - - 事件信息 - - - - - 事件名称 - - - - - 事件号 - - - - - 帧号,流事件有效 - - - - - 时间戳 - - - - - 事件数据,内部缓存,需要及时进行数据处理 - - - - - 事件数据长度 - - - - - 保留字段 - - - - - 自定义点 - - - - - 该点距离图像左边缘距离,根据图像的相对位置,范围为[0.0 , 1.0] - - - - - 该点距离图像上边缘距离,根据图像的相对位置,范围为[0.0 , 1.0] - - - - - 保留字段 - - - - - 辅助线颜色 - - - - - 红色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 - - - - - 绿色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 - - - - - 蓝色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 - - - - - 透明度,根据像素颜色的相对透明度,范围为[0.0 , 1.0] (此参数功能暂不支持) - - - - - 保留字段 - - - - - 矩形框区域信息 - - - - - 矩形上边缘距离图像上边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] - - - - - 矩形下边缘距离图像下边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] - - - - - 矩形左边缘距离图像左边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] - - - - - 矩形右边缘距离图像右边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] - - - - - 辅助线颜色 - - - - - 辅助线宽度,宽度只能是1或2 - - - - - 保留字段 - - - - - 圆形框区域信息 - - - - - 圆心信息 - - - - - 宽向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错 - - - - - 高向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错 - - - - - 辅助线颜色 - - - - - 辅助线宽度,宽度只能是1或2 - - - - - 保留字段 - - - - - 线条辅助线信息 - - - - - 线条辅助线的起始点坐标 - - - - - 线条辅助线的终点坐标 - - - - - 辅助线颜色 - - - - - 辅助线宽度,宽度只能是1或2 - - - - - 保留字段 - - - - - 取流策略 - - - - - 从旧到新一帧一帧的获取图像 - - - - - 获取列表中最新的一帧图像 - - - - - 获取列表中最新的图像 - - - - - 等待下一帧图像 - - - - - 常量值定义 - - - - - GEV设备LLA使能标志位 - - - - - GEV设备DHCP使能标志位 - - - - - GEV设备静态IP使能标志位 - - - - - GEV设备能否处理PAUSE帧标志位 - - - - - GEV设备能否生成PAUSE帧标志位 - - - - - 9600 - - - - - 19200 - - - - - 38400 - - - - - 57600 - - - - - 115200 - - - - - 230400 - - - - - 460800 - - - - - 921600 - - - - - 最大值 - - - - - 网口采集卡 - - - - - U3V采集卡 - - - - - CameraLink采集卡 - - - - - CXP采集卡 - - - - - XoF采集卡 - - - - - 网口设备 - - - - - U3V设备 - - - - - CameraLink设备 - - - - - CXP设备 - - - - - XoF设备 - - - - - 函数原型:MV_FGCTRL_API int __stdcall MV_FG_SetBufferNum(IN STREAMHANDLE hStream, IN unsigned int nBufferNum); - - - - - 函数原型:MV_FGCTRL_API int __stdcall MV_FG_SetGrabStrategy(IN STREAMHANDLE hStream, IN MV_FG_GRAB_STRATEGY enGrabStrategy); - - - - - 函数原型:MV_FGCTRL_API int __stdcall MV_FG_RegisterFrameCallBack(IN STREAMHANDLE hStream, IN MV_FG_FrameCallBack cbFrame, IN void* pUser); - - - - - 函数原型:MV_FGCTRL_API int __stdcall MV_FG_RegisterFrameCallBackEx(IN STREAMHANDLE hStream, IN MV_FG_FrameCallBack cbFrame, IN void* pUser, IN bool8_t bBufferRelease); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_GetFrameBuffer(IN STREAMHANDLE hStream, OUT MV_FG_BUFFER_INFO* pstBufferInfo, IN unsigned int nTimeout); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_ReleaseFrameBuffer(IN STREAMHANDLE hStream, IN MV_FG_BUFFER_INFO* pstBufferInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_GetBufferChunkData(IN STREAMHANDLE hStream, IN MV_FG_BUFFER_INFO* pstBufferInfo, IN unsigned int nIndex, OUT MV_FG_CHUNK_DATA_INFO* pstChunkDataInfo); - - - - ************************************************************************/ - * 图像处理接口 */ - ************************************************************************/ - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_DisplayOneFrame(IN IMAGEHANDLE hImage, IN void* hWnd, IN MV_FG_DISPLAY_FRAME_INFO *pstDisplayFrameInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_DrawRect(IN IMAGEHANDLE hImage, IN MVFG_RECT_INFO* pRectInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_DrawCircle(IN IMAGEHANDLE hImage, IN MVFG_CIRCLE_INFO* pCircleInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_DrawLines(IN IMAGEHANDLE hImage, IN MVFG_LINES_INFO* pLinesInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_SaveBitmap(IN IMAGEHANDLE hImage, IN OUT MV_FG_SAVE_BITMAP_INFO *pstSaveBitmapInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_SaveJpeg(IN IMAGEHANDLE hImage, IN OUT MV_FG_SAVE_JPEG_INFO *pstSaveJpegInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_SaveTiffToFile(IN IMAGEHANDLE hImage, IN OUT MV_FG_SAVE_TIFF_TO_FILE_INFO *pstSaveTiffInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_SavePngToFile(IN IMAGEHANDLE hImage, IN OUT MV_FG_SAVE_PNG_TO_FILE_INFO *pstSavePngInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_ConvertPixelType(IN IMAGEHANDLE hImage, IN OUT MV_FG_CONVERT_PIXEL_INFO *pstConvertPixelInfo); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_HB_Decode(IN IMAGEHANDLE hImage, IN OUT MV_FG_HB_DECODE_PARAM* pstDecodeParam); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_DecodeJpeg(IN IMAGEHANDLE hImage, IN OUT MV_FG_DECODE_JPEG_PARAM* pstDecodeParam); - - - - - 函数原型: MV_FGCTRL_API int __stdcall MV_FG_ReconstructImage(IN IMAGEHANDLE hImage, IN OUT MV_FG_RECONSTRUCT_INFO *pstReconstructInfo); - - - - ************************************************************************/ - * XML解析树的生成 */ - ************************************************************************/ - - - - 函数原型:MV_FGCTRL_API int __stdcall MV_FG_RegisterEventCallBack(IN PORTHANDLE hPort, IN const char* strEventName, IN MV_FG_EventCallBack cbEvent, IN void* pUser); - - - - - 函数原型:MV_FGCTRL_API int __stdcall MV_FG_RegisterExceptionCallBack(IN PORTHANDLE hPort, IN MV_FG_ExceptionCallBack cbException, IN void* pUser); - - - - - CMultiBuffer模块 - - - - - 流通道的图像大小 - - - - - 缓存总数 - - - - - 构造函数 - - - - - 设置流通道类句柄 - - 流通道类 - - - - 初始化 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 向流通道中注册缓存 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 将缓存句柄放回输入队列 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 从流通道中撤销缓存 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 缓存类实例是否包含在缓存链表中 - - 缓存类 - 包含返回true;不包含返回false - - - - 获取缓存数组 - - 缓存数组 - - - - CStream模块 - - - - - 初始化 - - 流通道句柄 - - - - 析构函数 - - - - - 获取句柄 - - - - - 关闭流通道 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 设置SDK内部申请的缓存个数 - - 缓存数量 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 设置取流策略 - - 取流策略 - 是否使用垃圾缓存 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取图像(SDK内部申请缓存方式) - - 缓存信息 - 超时时间,以毫秒为单位 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 需要调用ReleaseFrameBuffer接口进行缓存信息的释放 - - - - 释放缓存信息(SDK内部申请缓存方式) - - 缓存信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取缓存内的ChunkData信息 - - 缓存信息 - ChunkData索引 - ChunkData信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 在获取到缓存信息之后,调用ReleaseFrameBuffer或者QueueBuffer之前调用该接口才能得到有效信息 - - - - 获取流通道的PayloadSize - - 流通道的图像大小 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 修改相机图像相关参数如宽高、像素格式等参数后需要重新获取流通道的图像大小 - - - - 注册缓存(必须在开始取流前注册缓存) - - 图像缓存地址 - 图像缓存大小 - 私有信息地址 - 缓存句柄 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 图像缓存大小通过GetPayloadSize接口获取;私有信息由用户自定义 - - - - 撤销缓存 - - 缓存句柄 - 图像缓存地址 - 私有信息地址 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 只能撤销未使用队列中的缓存,可通过FlushQueue接口将缓存放到未使用队列 - - - - 刷新缓存队列 - - 队列类型 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 取流过程中不支持MV_FG_BUFFER_QUEUE_INPUT_TO_OUTPUT、MV_FG_BUFFER_QUEUE_ALL_TO_INPUT、MV_FG_BUFFER_QUEUE_ALL_DISCARD - - - - 注册图像到来事件函数(SDK内部申请缓存方式) - - 图像到来事件委托函数 - 用户自定义数据 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - 在回调函数中处理耗时操作会阻塞后续帧信息获取。\n - 注册回调方式和GetFrameBuffer互斥。\n - 必须在调用MV_FG_StartAcquisition前注册回调函数。\n - - - - - 注册图像到来事件函数(SDK内部申请缓存方式) - - 图像到来事件委托函数 - 用户自定义数据 - 缓存回收标记,1:回调函数结束后内存自动被回收;0:回调函数结束后,需要调用MV_FG_ReleaseFrameBuffer才能回收 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - 在回调函数中处理耗时操作会阻塞后续帧信息获取。\n - 注册回调方式和GetFrameBuffer互斥。\n - 必须在调用MV_FG_StartAcquisition前注册回调函数。\n - 当bBufferRelease为0时,buffer不会自动释放,需要及时调用 MV_FG_ReleaseFrameBuffer 释放buffer。如果内部buffer用完,无法继续取流。 - - - - - 开始采集 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 停止采集 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取一帧图像(外部申请缓存注册到SDK时使用) - - 缓存句柄 - 超时时间,以毫秒为单位 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 通过GetBufferInfo接口根据缓存句柄获取图像信息 - - - - SDK内部申请缓存(每块缓存可保存多张图像,上下拼接) - - 每块缓存保存的图像个数 - 缓存类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 撤销缓存 - - 缓存类 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取图像(外部申请缓存注册到SDK时使用) - - 需要获取的图像数量 - 缓存类 - 超时时间,以毫秒为单位 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 图像到来事件委托类型 - - 图像缓存信息 - 用户自定义数据 - - - - CParam模块 - - - - - 初始化 - - - - - 初始化 - - 相机类 - - - - 初始化 - - 采集卡类 - - - - 获取XML文件 - - 存放XML文件的缓存 - 存放XML文件的缓存大小 - XML文件长度 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获得节点的访问模式 - - 节点名称 - 节点访问模式 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - 获取EnumEntry类型节点的访问模式,strName应传入EnumEntry_NodeName_EnumEntryName。\n - 如获取PixelFormat枚举类型下的EnumEntry节点Mono8,strName格式为“EnumEntry_PixelFormat_Mono8” - - - - - 获得节点的类型 - - 节点名称 - 节点类型 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取整型节点信息 - - 节点名称 - 整型节点信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 设置整型节点信息 - - 节点名称 - 要设置的值 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取枚举类型节点的信息 - - 节点名称 - 枚举类型节点信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 设置枚举类型节点的信息 - - 节点名称 - 要设置的值 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 通过字符串设置枚举类型节点的信息 - - 节点名称 - 要设置的值 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取单精度浮点型节点的信息 - - 节点名称 - 单精度浮点型节点信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 设置单精度浮点型节点的信息 - - 节点名称 - 设备信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取布尔型节点的信息 - - 节点名称 - 布尔型节点信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 设置布尔类型节点的信息 - - 节点名称 - 要设置的值 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 获取字符串型节点的信息 - - 节点名称 - 字符串型节点信息 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 设置字符串型节点的信息 - - 节点名称 - 要设置的值 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 执行命令型节点的命令 - - 节点名称 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 配置自定义的整型值 - - 配置指令 - 要配置的值 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - 只能使用设备句柄。\n - 仅支持CML相机 - - - - - 导入设备属性 - - 属性文件名,不支持中文路径 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 不支持CML相机 - - - - 保存设备属性 - - 属性文件名,不支持中文路径 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 不支持CML相机 - - - - 从设备读取文件 - - 文件存取结构体 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 可能因为文件操作权限的问题导致读失败 - - - - 将文件写入设备 - - 文件存取结构体 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 清除GenICam节点缓存 - - 成功,返回MV_FG_SUCCESS;失败返回错误码 - - - - 读取设备寄存器 - - 作为返回值使用,保存读到的内存值(注意根据设备类型区分大小端) - 读取的内存地址,该地址可以从设备的XML文件中获取,形如xxx_RegAddr的节点值 - 读取的内存长度 - 实际返回的内存长度 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 访问设备,读取某段寄存器的数据 - - - - 写入设备寄存器 - - 待写入的内存值(注意根据设备类型区分大小端) - 待写入的内存地址,该地址可以从设备的XML文件中获取,形如xxx_RegAddr的节点值 - 待写入的内存长度 - 实际写入的内存长度 - 成功,返回MV_FG_SUCCESS;失败返回错误码 - 访问设备,把一段数据写入某段寄存器 - - - diff --git a/LeatherProject/LeatherApp/obj/Debug/LeatherApp.FrmVerList.resources b/LeatherProject/LeatherApp/obj/Debug/LeatherApp.FrmVerList.resources index a1facd6..053767b 100644 Binary files a/LeatherProject/LeatherApp/obj/Debug/LeatherApp.FrmVerList.resources and b/LeatherProject/LeatherApp/obj/Debug/LeatherApp.FrmVerList.resources differ diff --git a/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt b/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt index 2777238..928530d 100644 --- a/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt +++ b/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt @@ -213,14 +213,11 @@ E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\b E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\ClosedXML.xml E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\DocumentFormat.OpenXml.xml E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\ExcelNumberFormat.xml -E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\MvCodeReaderSDK.Net.xml -E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\MvFGCtrlC.Net.xml E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\OpenCvSharp.Extensions.xml E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\S7.Net.xml E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\SixLabors.Fonts.xml E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Drawing.Common.xml E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.IO.Packaging.xml -E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\MySql.Data.xml E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\Interop.BDaqOcxLib.dll E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\AxInterop.BDaqOcxLib.dll E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\obj\Debug\LeatherApp.csproj.AssemblyReference.cache diff --git a/LeatherProject/Models/obj/Debug/Models.csproj.FileListAbsolute.txt b/LeatherProject/Models/obj/Debug/Models.csproj.FileListAbsolute.txt index 1c7986a..f618048 100644 --- a/LeatherProject/Models/obj/Debug/Models.csproj.FileListAbsolute.txt +++ b/LeatherProject/Models/obj/Debug/Models.csproj.FileListAbsolute.txt @@ -28,3 +28,11 @@ E:\CPL\迈沐智能项目\2023\革博士\交付资料\革博士项目交付资 E:\CPL\迈沐智能项目\2023\革博士\交付资料\革博士项目交付资料\LeatherProject\Models\obj\Debug\Models.csproj.CopyComplete E:\CPL\迈沐智能项目\2023\革博士\交付资料\革博士项目交付资料\LeatherProject\Models\obj\Debug\Models.dll E:\CPL\迈沐智能项目\2023\革博士\交付资料\革博士项目交付资料\LeatherProject\Models\obj\Debug\Models.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Models\bin\Debug\Models.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Models\bin\Debug\Models.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Models\bin\Debug\SqlSugar.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Models\obj\Debug\Models.csproj.AssemblyReference.cache +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Models\obj\Debug\Models.csproj.CoreCompileInputs.cache +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Models\obj\Debug\Models.csproj.CopyComplete +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Models\obj\Debug\Models.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Models\obj\Debug\Models.pdb diff --git a/LeatherProject/Service/obj/Debug/Service.csproj.FileListAbsolute.txt b/LeatherProject/Service/obj/Debug/Service.csproj.FileListAbsolute.txt index fb78572..8e132c9 100644 --- a/LeatherProject/Service/obj/Debug/Service.csproj.FileListAbsolute.txt +++ b/LeatherProject/Service/obj/Debug/Service.csproj.FileListAbsolute.txt @@ -95,3 +95,20 @@ E:\CPL\迈沐智能项目\2023\革博士\交付资料\革博士项目交付资 E:\CPL\迈沐智能项目\2023\革博士\交付资料\革博士项目交付资料\LeatherProject\Service\obj\Debug\Service.csproj.CopyComplete E:\CPL\迈沐智能项目\2023\革博士\交付资料\革博士项目交付资料\LeatherProject\Service\obj\Debug\Service.dll E:\CPL\迈沐智能项目\2023\革博士\交付资料\革博士项目交付资料\LeatherProject\Service\obj\Debug\Service.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\Service.dll.config +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\Service.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\Service.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\Models.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\Newtonsoft.Json.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\SqlSugar.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\System.Buffers.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\System.Memory.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\System.Numerics.Vectors.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\System.Threading.Tasks.Extensions.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\bin\Debug\Models.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\obj\Debug\Service.csproj.AssemblyReference.cache +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\obj\Debug\Service.csproj.CoreCompileInputs.cache +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\obj\Debug\Service.csproj.CopyComplete +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\obj\Debug\Service.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\Service\obj\Debug\Service.pdb diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/.signature.p7s b/LeatherProject/packages/System.Drawing.Common.5.0.3/.signature.p7s new file mode 100644 index 0000000..408b0cb Binary files /dev/null and b/LeatherProject/packages/System.Drawing.Common.5.0.3/.signature.p7s differ diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/Icon.png b/LeatherProject/packages/System.Drawing.Common.5.0.3/Icon.png new file mode 100644 index 0000000..a0f1fdb Binary files /dev/null and b/LeatherProject/packages/System.Drawing.Common.5.0.3/Icon.png differ diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/LICENSE.TXT b/LeatherProject/packages/System.Drawing.Common.5.0.3/LICENSE.TXT new file mode 100644 index 0000000..fa3121d --- /dev/null +++ b/LeatherProject/packages/System.Drawing.Common.5.0.3/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +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 +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. diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/System.Drawing.Common.5.0.3.nupkg b/LeatherProject/packages/System.Drawing.Common.5.0.3/System.Drawing.Common.5.0.3.nupkg new file mode 100644 index 0000000..e11b0b4 Binary files /dev/null and b/LeatherProject/packages/System.Drawing.Common.5.0.3/System.Drawing.Common.5.0.3.nupkg differ diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/THIRD-PARTY-NOTICES.TXT b/LeatherProject/packages/System.Drawing.Common.5.0.3/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..df6b6f1 --- /dev/null +++ b/LeatherProject/packages/System.Drawing.Common.5.0.3/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,884 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2020 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE 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 THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + 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 + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +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. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - 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. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +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. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +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. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +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. + +compress_fragment.c: +Copyright (c) 2011, 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 Inc. 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. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium 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: + + * 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 Inc. 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." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +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. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +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. + +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. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" +--------------------------------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, or Digital Equipment Corporation be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment +Corporation makes any representations about the suitability of +this software for any purpose. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +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: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +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 +CONTRIBUTORS 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 WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +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. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + 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. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 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: + + * 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 Inc. 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. + +License notice for xxHash +------------------------- + +xxHash Library +Copyright (c) 2012-2014, Yann Collet +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. + +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. + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. 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 University 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 REGENTS 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 REGENTS 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. + +License notice for Xorshift RNGs +-------------------------------- + +George Marsaglia +2003-07-04 +Journal of Statistical Software +License: http://creativecommons.org/licenses/by/3.0/ + +https://www.jstatsoft.org/article/view/v008i14 +https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf + +License notice for Xorshift (Wikipedia) +--------------------------------------- + +https://en.wikipedia.org/wiki/Xorshift +License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License + +License for fastmod (https://github.com/lemire/fastmod) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + 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. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +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 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. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +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. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +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. + +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. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +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. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +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. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +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. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +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. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +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. + diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/MonoAndroid10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/MonoTouch10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/netcoreapp3.0/System.Drawing.Common.xml b/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/netcoreapp3.0/System.Drawing.Common.xml new file mode 100644 index 0000000..99486f8 --- /dev/null +++ b/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/netcoreapp3.0/System.Drawing.Common.xml @@ -0,0 +1,12076 @@ + + + + System.Drawing.Common + + + + Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A is an object used to work with images defined by pixel data. + + + Initializes a new instance of the class from the specified existing image. + The from which to create the new . + + + Initializes a new instance of the class from the specified existing image, scaled to the specified size. + The from which to create the new . + The structure that represent the size of the new . + The operation failed. + + + Initializes a new instance of the class from the specified existing image, scaled to the specified size. + The from which to create the new . + The width, in pixels, of the new . + The height, in pixels, of the new . + The operation failed. + + + Initializes a new instance of the class with the specified size. + The width, in pixels, of the new . + The height, in pixels, of the new . + The operation failed. + + + Initializes a new instance of the class with the specified size and with the resolution of the specified object. + The width, in pixels, of the new . + The height, in pixels, of the new . + The object that specifies the resolution for the new . + + is . + + + Initializes a new instance of the class with the specified size and format. + The width, in pixels, of the new . + The height, in pixels, of the new . + The pixel format for the new . This must specify a value that begins with Format. + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + + + Initializes a new instance of the class with the specified size, pixel format, and pixel data. + The width, in pixels, of the new . + The height, in pixels, of the new . + Integer that specifies the byte offset between the beginning of one scan line and the next. This is usually (but not necessarily) the number of bytes in the pixel format (for example, 2 for 16 bits per pixel) multiplied by the width of the bitmap. The value passed to this parameter must be a multiple of four. + The pixel format for the new . This must specify a value that begins with Format. + Pointer to an array of bytes that contains the pixel data. + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + + + Initializes a new instance of the class from the specified data stream. + The data stream used to load the image. + + does not contain image data or is . + + -or- + + contains a PNG image file with a single dimension greater than 65,535 pixels. + + + Initializes a new instance of the class from the specified data stream. + The data stream used to load the image. + + to use color correction for this ; otherwise, . + + does not contain image data or is . + + -or- + + contains a PNG image file with a single dimension greater than 65,535 pixels. + + + Initializes a new instance of the class from the specified file. + The bitmap file name and path. + The specified file is not found. + + + Initializes a new instance of the class from the specified file. + The name of the bitmap file. + + to use color correction for this ; otherwise, . + + + Initializes a new instance of the class from a specified resource. + The class used to extract the resource. + The name of the resource. + + + Creates a copy of the section of this defined by structure and with a specified enumeration. + Defines the portion of this to copy. Coordinates are relative to this . + The pixel format for the new . This must specify a value that begins with Format. + + is outside of the source bitmap bounds. + The height or width of is 0. + + -or- + + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + The new that this method creates. + + + Creates a copy of the section of this defined with a specified enumeration. + Defines the portion of this to copy. + Specifies the enumeration for the destination . + + is outside of the source bitmap bounds. + The height or width of is 0. + The that this method creates. + + + Creates a from a Windows handle to an icon. + A handle to an icon. + The that this method creates. + + + Creates a from the specified Windows resource. + A handle to an instance of the executable file that contains the resource. + A string that contains the name of the resource bitmap. + The that this method creates. + + + Creates a GDI bitmap object from this . + The height or width of the bitmap is greater than . + The operation failed. + A handle to the GDI bitmap object that this method creates. + + + Creates a GDI bitmap object from this . + A structure that specifies the background color. This parameter is ignored if the bitmap is totally opaque. + The height or width of the bitmap is greater than . + The operation failed. + A handle to the GDI bitmap object that this method creates. + + + Returns the handle to an icon. + The operation failed. + A Windows handle to an icon with the same image as the . + + + Gets the color of the specified pixel in this . + The x-coordinate of the pixel to retrieve. + The y-coordinate of the pixel to retrieve. + + is less than 0, or greater than or equal to . + + -or- + + is less than 0, or greater than or equal to . + The operation failed. + A structure that represents the color of the specified pixel. + + + Locks a into system memory. + A structure that specifies the portion of the to lock. + An enumeration that specifies the access level (read/write) for the . + A enumeration that specifies the data format of this . + The is not a specific bits-per-pixel value. + + -or- + + The incorrect is passed in for a bitmap. + The operation failed. + A that contains information about this lock operation. + + + Locks a into system memory. + A rectangle structure that specifies the portion of the to lock. + One of the values that specifies the access level (read/write) for the . + One of the values that specifies the data format of the . + A that contains information about the lock operation. + + value is not a specific bits-per-pixel value. + + -or- + + The incorrect is passed in for a bitmap. + The operation failed. + A that contains information about the lock operation. + + + Makes the default transparent color transparent for this . + The image format of the is an icon format. + The operation failed. + + + Makes the specified color transparent for this . + The structure that represents the color to make transparent. + The image format of the is an icon format. + The operation failed. + + + Sets the color of the specified pixel in this . + The x-coordinate of the pixel to set. + The y-coordinate of the pixel to set. + A structure that represents the color to assign to the specified pixel. + The operation failed. + + + Sets the resolution for this . + The horizontal resolution, in dots per inch, of the . + The vertical resolution, in dots per inch, of the . + The operation failed. + + + Unlocks this from system memory. + A that specifies information about the lock operation. + The operation failed. + + + Specifies that, when interpreting declarations, the assembly should look for the indicated resources in the same assembly, but with the configuration value appended to the declared file name. + + + Initializes a new instance of the class. + + + Specifies that, when interpreting declarations, the assembly should look for the indicated resources in a satellite assembly, but with the configuration value appended to the declared file name. + + + Initializes a new instance of the class. + + + Defines objects used to fill the interiors of graphical shapes such as rectangles, ellipses, pies, polygons, and paths. + + + Initializes a new instance of the class. + + + When overridden in a derived class, creates an exact copy of this . + The new that this method creates. + + + Releases all resources used by this object. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + In a derived class, sets a reference to a GDI+ brush object. + A pointer to the GDI+ brush object. + + + Brushes for all the standard colors. This class cannot be inherited. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Provides a graphics buffer for double buffering. + + + Releases all resources used by the object. + + + Writes the contents of the graphics buffer to the default device. + + + Writes the contents of the graphics buffer to the specified object. + A object to which to write the contents of the graphics buffer. + + + Writes the contents of the graphics buffer to the device context associated with the specified handle. + An that points to the device context to which to write the contents of the graphics buffer. + + + Gets a object that outputs to the graphics buffer. + A object that outputs to the graphics buffer. + + + Provides methods for creating graphics buffers that can be used for double buffering. + + + Initializes a new instance of the class. + + + Creates a graphics buffer of the specified size using the pixel format of the specified . + The to match the pixel format for the new buffer to. + A indicating the size of the buffer to create. + A that can be used to draw to a buffer of the specified dimensions. + + + Creates a graphics buffer of the specified size using the pixel format of the specified . + An to a device context to match the pixel format of the new buffer to. + A indicating the size of the buffer to create. + A that can be used to draw to a buffer of the specified dimensions. + + + Releases all resources used by the . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Disposes of the current graphics buffer, if a buffer has been allocated and has not yet been disposed. + + + Gets or sets the maximum size of the buffer to use. + The height or width of the size is less than or equal to zero. + A indicating the maximum size of the buffer dimensions. + + + Provides access to the main buffered graphics context object for the application domain. + + + Gets the for the current application domain. + The for the current application domain. + + + Specifies a range of character positions within a string. + + + Initializes a new instance of the structure, specifying a range of character positions within a string. + The position of the first character in the range. For example, if is set to 0, the first position of the range is position 0 in the string. + The number of positions in the range. + + + Gets a value indicating whether this object is equivalent to the specified object. + The object to compare to for equality. + + to indicate the specified object is an instance with the same and value as this instance; otherwise, . + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + Compares two objects. Gets a value indicating whether the and values of the two objects are equal. + A to compare for equality. + A to compare for equality. + + to indicate the two objects have the same and values; otherwise, . + + + Compares two objects. Gets a value indicating whether the or values of the two objects are not equal. + A to compare for inequality. + A to compare for inequality. + + to indicate the either the or values of the two objects differ; otherwise, . + + + Gets or sets the position in the string of the first character of this . + The first position of this . + + + Gets or sets the number of positions in this . + The number of positions in this . + + + Specifies alignment of content on the drawing surface. + + + Content is vertically aligned at the bottom, and horizontally aligned at the center. + + + Content is vertically aligned at the bottom, and horizontally aligned on the left. + + + Content is vertically aligned at the bottom, and horizontally aligned on the right. + + + Content is vertically aligned in the middle, and horizontally aligned at the center. + + + Content is vertically aligned in the middle, and horizontally aligned on the left. + + + Content is vertically aligned in the middle, and horizontally aligned on the right. + + + Content is vertically aligned at the top, and horizontally aligned at the center. + + + Content is vertically aligned at the top, and horizontally aligned on the left. + + + Content is vertically aligned at the top, and horizontally aligned on the right. + + + Determines how the source color in a copy pixel operation is combined with the destination color to result in a final color. + + + The destination area is filled by using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.) + + + Windows that are layered on top of your window are included in the resulting image. By default, the image contains only your window. Note that this generally cannot be used for printing device contexts. + + + The destination area is inverted. + + + The colors of the source area are merged with the colors of the selected brush of the destination device context using the Boolean operator. + + + The colors of the inverted source area are merged with the colors of the destination area by using the Boolean operator. + + + The bitmap is not mirrored. + + + The inverted source area is copied to the destination. + + + The source and destination colors are combined using the Boolean operator, and then resultant color is then inverted. + + + The brush currently selected in the destination device context is copied to the destination bitmap. + + + The colors of the brush currently selected in the destination device context are combined with the colors of the destination are using the Boolean operator. + + + The colors of the brush currently selected in the destination device context are combined with the colors of the inverted source area using the Boolean operator. The result of this operation is combined with the colors of the destination area using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The source area is copied directly to the destination area. + + + The inverted colors of the destination area are combined with the colors of the source area using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The destination area is filled by using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.) + + + Represents a collection of category name strings. + + + Initializes a new instance of the class using the specified collection. + A that contains the names to initialize the collection values to. + + + Initializes a new instance of the class using the specified array of names. + An array of strings that contains the names of the categories to initialize the collection values to. + + + Indicates whether the specified category is contained in the collection. + The string to check for in the collection. + + if the specified category is contained in the collection; otherwise, . + + + Copies the collection elements to the specified array at the specified index. + The array to copy to. + The index of the destination array at which to begin copying. + + + Gets the index of the specified value. + The category name to retrieve the index of in the collection. + The index in the collection, or if the string does not exist in the collection. + + + Gets the category name at the specified index. + The index of the collection element to access. + The category name at the specified index. + + + Represents an adjustable arrow-shaped line cap. This class cannot be inherited. + + + Initializes a new instance of the class with the specified width and height. The arrow end caps created with this constructor are always filled. + The width of the arrow. + The height of the arrow. + + + Initializes a new instance of the class with the specified width, height, and fill property. Whether an arrow end cap is filled depends on the argument passed to the parameter. + The width of the arrow. + The height of the arrow. + + to fill the arrow cap; otherwise, . + + + Gets or sets whether the arrow cap is filled. + This property is if the arrow cap is filled; otherwise, . + + + Gets or sets the height of the arrow cap. + The height of the arrow cap. + + + Gets or sets the number of units between the outline of the arrow cap and the fill. + The number of units between the outline of the arrow cap and the fill of the arrow cap. + + + Gets or sets the width of the arrow cap. + The width, in units, of the arrow cap. + + + Defines a blend pattern for a object. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified number of factors and positions. + The number of elements in the and arrays. + + + Gets or sets an array of blend factors for the gradient. + An array of blend factors that specify the percentages of the starting color and the ending color to be used at the corresponding position. + + + Gets or sets an array of blend positions for the gradient. + An array of blend positions that specify the percentages of distance along the gradient line. + + + Defines arrays of colors and positions used for interpolating color blending in a multicolor gradient. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified number of colors and positions. + The number of colors and positions in this . + + + Gets or sets an array of colors that represents the colors to use at corresponding positions along a gradient. + An array of structures that represents the colors to use at corresponding positions along a gradient. + + + Gets or sets the positions along a gradient line. + An array of values that specify percentages of distance along the gradient line. + + + Specifies how different clipping regions can be combined. + + + Specifies that the existing region is replaced by the result of the existing region being removed from the new region. Said differently, the existing region is excluded from the new region. + + + Specifies that the existing region is replaced by the result of the new region being removed from the existing region. Said differently, the new region is excluded from the existing region. + + + Two clipping regions are combined by taking their intersection. + + + One clipping region is replaced by another. + + + Two clipping regions are combined by taking the union of both. + + + Two clipping regions are combined by taking only the areas enclosed by one or the other region, but not both. + + + Specifies how the source colors are combined with the background colors. + + + Specifies that when a color is rendered, it overwrites the background color. + + + Specifies that when a color is rendered, it is blended with the background color. The blend is determined by the alpha component of the color being rendered. + + + Specifies the quality level to use during compositing. + + + Assume linear values. + + + Default quality. + + + Gamma correction is used. + + + High quality, low speed compositing. + + + High speed, low quality. + + + Invalid quality. + + + Specifies the system to use when evaluating coordinates. + + + Specifies that coordinates are in the device coordinate context. On a computer screen the device coordinates are usually measured in pixels. + + + Specifies that coordinates are in the page coordinate context. Their units are defined by the property, and must be one of the elements of the enumeration. + + + Specifies that coordinates are in the world coordinate context. World coordinates are used in a nonphysical environment, such as a modeling environment. + + + Encapsulates a custom user-defined line cap. + + + Initializes a new instance of the class with the specified outline and fill. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + + + Initializes a new instance of the class from the specified existing enumeration with the specified outline and fill. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + The line cap from which to create the custom cap. + + + Initializes a new instance of the class from the specified existing enumeration with the specified outline, fill, and inset. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + The line cap from which to create the custom cap. + The distance between the cap and the line. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Releases all resources used by this object. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an to attempt to free resources and perform other cleanup operations before the is reclaimed by garbage collection. + + + Gets the caps used to start and end lines that make up this custom cap. + The enumeration used at the beginning of a line within this cap. + The enumeration used at the end of a line within this cap. + + + Sets the caps used to start and end lines that make up this custom cap. + The enumeration used at the beginning of a line within this cap. + The enumeration used at the end of a line within this cap. + + + Gets or sets the enumeration on which this is based. + The enumeration on which this is based. + + + Gets or sets the distance between the cap and the line. + The distance between the beginning of the cap and the end of the line. + + + Gets or sets the enumeration that determines how lines that compose this object are joined. + The enumeration this object uses to join lines. + + + Gets or sets the amount by which to scale this Class object with respect to the width of the object. + The amount by which to scale the cap. + + + Specifies the type of graphic shape to use on both ends of each dash in a dashed line. + + + Specifies a square cap that squares off both ends of each dash. + + + Specifies a circular cap that rounds off both ends of each dash. + + + Specifies a triangular cap that points both ends of each dash. + + + Specifies the style of dashed lines drawn with a object. + + + Specifies a user-defined custom dash style. + + + Specifies a line consisting of dashes. + + + Specifies a line consisting of a repeating pattern of dash-dot. + + + Specifies a line consisting of a repeating pattern of dash-dot-dot. + + + Specifies a line consisting of dots. + + + Specifies a solid line. + + + Specifies how the interior of a closed path is filled. + + + Specifies the alternate fill mode. + + + Specifies the winding fill mode. + + + Specifies whether commands in the graphics stack are terminated (flushed) immediately or executed as soon as possible. + + + Specifies that the stack of all graphics operations is flushed immediately. + + + Specifies that all graphics operations on the stack are executed as soon as possible. This synchronizes the graphics state. + + + Represents the internal data of a graphics container. This class is used when saving the state of a object using the and methods. This class cannot be inherited. + + + Represents a series of connected lines and curves. This class cannot be inherited. + + + Initializes a new instance of the class with a value of . + + + Initializes a new instance of the class with the specified enumeration. + The enumeration that determines how the interior of this is filled. + + + Initializes a new instance of the class with the specified and arrays. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + + + Initializes a new instance of the class with the specified and arrays and with the specified enumeration element. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Initializes a new instance of the array with the specified and arrays. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + + + Initializes a new instance of the array with the specified and arrays and with the specified enumeration element. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Appends an elliptical arc to the current figure. + A that represents the rectangular bounds of the ellipse from which the arc is taken. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + A that represents the rectangular bounds of the ellipse from which the arc is taken. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + The x-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The y-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The width of the rectangular region that defines the ellipse from which the arc is drawn. + The height of the rectangular region that defines the ellipse from which the arc is drawn. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + The x-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The y-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The width of the rectangular region that defines the ellipse from which the arc is drawn. + The height of the rectangular region that defines the ellipse from which the arc is drawn. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Adds a cubic Bézier curve to the current figure. + A that represents the starting point of the curve. + A that represents the first control point for the curve. + A that represents the second control point for the curve. + A that represents the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + A that represents the starting point of the curve. + A that represents the first control point for the curve. + A that represents the second control point for the curve. + A that represents the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point for the curve. + The y-coordinate of the first control point for the curve. + The x-coordinate of the second control point for the curve. + The y-coordinate of the second control point for the curve. + The x-coordinate of the endpoint of the curve. + The y-coordinate of the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point for the curve. + The y-coordinate of the first control point for the curve. + The x-coordinate of the second control point for the curve. + The y-coordinate of the second control point for the curve. + The x-coordinate of the endpoint of the curve. + The y-coordinate of the endpoint of the curve. + + + Adds a sequence of connected cubic Bézier curves to the current figure. + An array of structures that represents the points that define the curves. + + + Adds a sequence of connected cubic Bézier curves to the current figure. + An array of structures that represents the points that define the curves. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve. + + + Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + The index of the element in the array that is used as the first point in the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + The index of the element in the array that is used as the first point in the curve. + The number of segments used to draw the curve. A segment can be thought of as a line connecting two points. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds an ellipse to the current path. + A that represents the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + A that represents the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The width of the bounding rectangle that defines the ellipse. + The height of the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper left corner of the bounding rectangle that defines the ellipse. + The width of the bounding rectangle that defines the ellipse. + The height of the bounding rectangle that defines the ellipse. + + + Appends a line segment to this . + A that represents the starting point of the line. + A that represents the endpoint of the line. + + + Appends a line segment to this . + A that represents the starting point of the line. + A that represents the endpoint of the line. + + + Appends a line segment to the current figure. + The x-coordinate of the starting point of the line. + The y-coordinate of the starting point of the line. + The x-coordinate of the endpoint of the line. + The y-coordinate of the endpoint of the line. + + + Appends a line segment to this . + The x-coordinate of the starting point of the line. + The y-coordinate of the starting point of the line. + The x-coordinate of the endpoint of the line. + The y-coordinate of the endpoint of the line. + + + Appends a series of connected line segments to the end of this . + An array of structures that represents the points that define the line segments to add. + + + Appends a series of connected line segments to the end of this . + An array of structures that represents the points that define the line segments to add. + + + Appends the specified to this path. + The to add. + A Boolean value that specifies whether the first figure in the added path is part of the last figure in this path. A value of specifies that (if possible) the first figure in the added path is part of the last figure in this path. A value of specifies that the first figure in the added path is separate from the last figure in this path. + + + Adds the outline of a pie shape to this path. + A that represents the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds the outline of a pie shape to this path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The width of the bounding rectangle that defines the ellipse from which the pie is drawn. + The height of the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds the outline of a pie shape to this path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The width of the bounding rectangle that defines the ellipse from which the pie is drawn. + The height of the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds a polygon to this path. + An array of structures that defines the polygon to add. + + + Adds a polygon to this path. + An array of structures that defines the polygon to add. + + + Adds a rectangle to this path. + A that represents the rectangle to add. + + + Adds a rectangle to this path. + A that represents the rectangle to add. + + + Adds a series of rectangles to this path. + An array of structures that represents the rectangles to add. + + + Adds a series of rectangles to this path. + An array of structures that represents the rectangles to add. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the point where the text starts. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the point where the text starts. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the rectangle that bounds the text. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the rectangle that bounds the text. + A that specifies text formatting information, such as line spacing and alignment. + + + Clears all markers from this path. + + + Creates an exact copy of this path. + The this method creates, cast as an object. + + + Closes all open figures in this path and starts a new figure. It closes each open figure by connecting a line from its endpoint to its starting point. + + + Closes the current figure and starts a new figure. If the current figure contains a sequence of connected lines and curves, the method closes the loop by connecting a line from the endpoint to the starting point. + + + Releases all resources used by this . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Converts each curve in this path into a sequence of connected line segments. + + + Applies the specified transform and then converts each curve in this into a sequence of connected line segments. + A by which to transform this before flattening. + + + Converts each curve in this into a sequence of connected line segments. + A by which to transform this before flattening. + Specifies the maximum permitted error between the curve and its flattened approximation. A value of 0.25 is the default. Reducing the flatness value will increase the number of line segments in the approximation. + + + Returns a rectangle that bounds this . + A that represents a rectangle that bounds this . + + + Returns a rectangle that bounds this when this path is transformed by the specified . + The that specifies a transformation to be applied to this path before the bounding rectangle is calculated. This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle. + A that represents a rectangle that bounds this . + + + Returns a rectangle that bounds this when the current path is transformed by the specified and drawn with the specified . + The that specifies a transformation to be applied to this path before the bounding rectangle is calculated. This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle. + The with which to draw the . + A that represents a rectangle that bounds this . + + + Gets the last point in the array of this . + A that represents the last point in this . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + A that specifies the location to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + A that specifies the location to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + A that specifies the location to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + A that specifies the location to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within (under) the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within (under) the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this; otherwise, . + + + Indicates whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this , using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this in the visible clip region of the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Empties the and arrays and sets the to . + + + Reverses the order of points in the array of this . + + + Sets a marker on this . + + + Starts a new figure without closing the current figure. All subsequent points added to the path are added to this new figure. + + + Applies a transform matrix to this . + A that represents the transformation to apply. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that defines a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + A enumeration that specifies whether this warp operation uses perspective or bilinear mode. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + A enumeration that specifies whether this warp operation uses perspective or bilinear mode. + A value from 0 through 1 that specifies how flat the resulting path is. For more information, see the methods. + + + Adds an additional outline to the path. + A that specifies the width between the original outline of the path and the new outline this method creates. + + + Adds an additional outline to the . + A that specifies the width between the original outline of the path and the new outline this method creates. + A that specifies a transform to apply to the path before widening. + + + Replaces this with curves that enclose the area that is filled when this path is drawn by the specified pen. + A that specifies the width between the original outline of the path and the new outline this method creates. + A that specifies a transform to apply to the path before widening. + A value that specifies the flatness for curves. + + + Gets or sets a enumeration that determines how the interiors of shapes in this are filled. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Gets a that encapsulates arrays of points () and types () for this . + A that encapsulates arrays for both the points and types for this . + + + Gets the points in the path. + An array of objects that represent the path. + + + Gets the types of the corresponding points in the array. + An array of bytes that specifies the types of the corresponding points in the path. + + + Gets the number of elements in the or the array. + An integer that specifies the number of elements in the or the array. + + + Provides the ability to iterate through subpaths in a and test the types of shapes contained in each subpath. This class cannot be inherited. + + + Initializes a new instance of the class with the specified object. + The object for which this helper class is to be initialized. + + + Copies the property and property arrays of the associated into the two specified arrays. + Upon return, contains an array of structures that represents the points in the path. + Upon return, contains an array of bytes that represents the types of points in the path. + Specifies the starting index of the arrays. + Specifies the ending index of the arrays. + The number of points copied. + + + Releases all resources used by this object. + + + Copies the property and property arrays of the associated into the two specified arrays. + Upon return, contains an array of structures that represents the points in the path. + Upon return, contains an array of bytes that represents the types of points in the path. + The number of points copied. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Indicates whether the path associated with this contains a curve. + This method returns if the current subpath contains a curve; otherwise, . + + + This object has a object associated with it. The method increments the associated to the next marker in its path and copies all the points contained between the current marker and the next marker (or end of path) to a second object passed in to the parameter. + The object to which the points will be copied. + The number of points between this marker and the next. + + + Increments the to the next marker in the path and returns the start and stop indexes by way of the [out] parameters. + [out] The integer reference supplied to this parameter receives the index of the point that starts a subpath. + [out] The integer reference supplied to this parameter receives the index of the point that ends the subpath to which points. + The number of points between this marker and the next. + + + Gets the starting index and the ending index of the next group of data points that all have the same type. + [out] Receives the point type shared by all points in the group. Possible types can be retrieved from the enumeration. + [out] Receives the starting index of the group of points. + [out] Receives the ending index of the group of points. + This method returns the number of data points in the group. If there are no more groups in the path, this method returns 0. + + + Gets the next figure (subpath) from the associated path of this . + A that is to have its data points set to match the data points of the retrieved figure (subpath) for this iterator. + [out] Indicates whether the current subpath is closed. It is if the if the figure is closed, otherwise it is . + The number of data points in the retrieved figure (subpath). If there are no more figures to retrieve, zero is returned. + + + Moves the to the next subpath in the path. The start index and end index of the next subpath are contained in the [out] parameters. + [out] Receives the starting index of the next subpath. + [out] Receives the ending index of the next subpath. + [out] Indicates whether the subpath is closed. + The number of subpaths in the object. + + + Rewinds this to the beginning of its associated path. + + + Gets the number of points in the path. + The number of points in the path. + + + Gets the number of subpaths in the path. + The number of subpaths in the path. + + + Represents the state of a object. This object is returned by a call to the methods. This class cannot be inherited. + + + Defines a rectangular brush with a hatch style, a foreground color, and a background color. This class cannot be inherited. + + + Initializes a new instance of the class with the specified enumeration and foreground color. + One of the values that represents the pattern drawn by this . + The structure that represents the color of lines drawn by this . + + + Initializes a new instance of the class with the specified enumeration, foreground color, and background color. + One of the values that represents the pattern drawn by this . + The structure that represents the color of lines drawn by this . + The structure that represents the color of spaces between the lines drawn by this . + + + Creates an exact copy of this object. + The this method creates, cast as an object. + + + Gets the color of spaces between the hatch lines drawn by this object. + A structure that represents the background color for this . + + + Gets the color of hatch lines drawn by this object. + A structure that represents the foreground color for this . + + + Gets the hatch style of this object. + One of the values that represents the pattern of this . + + + Specifies the different patterns available for objects. + + + A pattern of lines on a diagonal from upper right to lower left. + + + Specifies horizontal and vertical lines that cross. + + + Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than, and are twice the width of . This hatch pattern is not antialiased. + + + Specifies horizontal lines that are spaced 50 percent closer together than and are twice the width of . + + + Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than , and are twice its width, but the lines are not antialiased. + + + Specifies vertical lines that are spaced 50 percent closer together than and are twice its width. + + + Specifies dashed diagonal lines, that slant to the right from top points to bottom points. + + + Specifies dashed horizontal lines. + + + Specifies dashed diagonal lines, that slant to the left from top points to bottom points. + + + Specifies dashed vertical lines. + + + Specifies a hatch that has the appearance of layered bricks that slant to the left from top points to bottom points. + + + A pattern of crisscross diagonal lines. + + + Specifies a hatch that has the appearance of divots. + + + Specifies forward diagonal and backward diagonal lines, each of which is composed of dots, that cross. + + + Specifies horizontal and vertical lines, each of which is composed of dots, that cross. + + + A pattern of lines on a diagonal from upper left to lower right. + + + A pattern of horizontal lines. + + + Specifies a hatch that has the appearance of horizontally layered bricks. + + + Specifies a hatch that has the appearance of a checkerboard with squares that are twice the size of . + + + Specifies a hatch that has the appearance of confetti, and is composed of larger pieces than . + + + Specifies the hatch style . + + + Specifies diagonal lines that slant to the right from top points to bottom points and are spaced 50 percent closer together than , but are not antialiased. + + + Specifies horizontal lines that are spaced 50 percent closer together than . + + + Specifies diagonal lines that slant to the left from top points to bottom points and are spaced 50 percent closer together than , but they are not antialiased. + + + Specifies vertical lines that are spaced 50 percent closer together than . + + + Specifies hatch style . + + + Specifies hatch style . + + + Specifies horizontal lines that are spaced 75 percent closer together than hatch style (or 25 percent closer together than ). + + + Specifies vertical lines that are spaced 75 percent closer together than hatch style (or 25 percent closer together than ). + + + Specifies forward diagonal and backward diagonal lines that cross but are not antialiased. + + + Specifies a 5-percent hatch. The ratio of foreground color to background color is 5:95. + + + Specifies a 10-percent hatch. The ratio of foreground color to background color is 10:90. + + + Specifies a 20-percent hatch. The ratio of foreground color to background color is 20:80. + + + Specifies a 25-percent hatch. The ratio of foreground color to background color is 25:75. + + + Specifies a 30-percent hatch. The ratio of foreground color to background color is 30:70. + + + Specifies a 40-percent hatch. The ratio of foreground color to background color is 40:60. + + + Specifies a 50-percent hatch. The ratio of foreground color to background color is 50:50. + + + Specifies a 60-percent hatch. The ratio of foreground color to background color is 60:40. + + + Specifies a 70-percent hatch. The ratio of foreground color to background color is 70:30. + + + Specifies a 75-percent hatch. The ratio of foreground color to background color is 75:25. + + + Specifies a 80-percent hatch. The ratio of foreground color to background color is 80:100. + + + Specifies a 90-percent hatch. The ratio of foreground color to background color is 90:10. + + + Specifies a hatch that has the appearance of a plaid material. + + + Specifies a hatch that has the appearance of diagonally layered shingles that slant to the right from top points to bottom points. + + + Specifies a hatch that has the appearance of a checkerboard. + + + Specifies a hatch that has the appearance of confetti. + + + Specifies horizontal and vertical lines that cross and are spaced 50 percent closer together than hatch style . + + + Specifies a hatch that has the appearance of a checkerboard placed diagonally. + + + Specifies a hatch that has the appearance of spheres laid adjacent to one another. + + + Specifies a hatch that has the appearance of a trellis. + + + A pattern of vertical lines. + + + Specifies horizontal lines that are composed of tildes. + + + Specifies a hatch that has the appearance of a woven material. + + + Specifies diagonal lines that slant to the right from top points to bottom points, have the same spacing as hatch style , and are triple its width, but are not antialiased. + + + Specifies diagonal lines that slant to the left from top points to bottom points, have the same spacing as hatch style , and are triple its width, but are not antialiased. + + + Specifies horizontal lines that are composed of zigzags. + + + The enumeration specifies the algorithm that is used when images are scaled or rotated. + + + Specifies bicubic interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 25 percent of its original size. + + + Specifies bilinear interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 50 percent of its original size. + + + Specifies default mode. + + + Specifies high quality interpolation. + + + Specifies high-quality, bicubic interpolation. Prefiltering is performed to ensure high-quality shrinking. This mode produces the highest quality transformed images. + + + Specifies high-quality, bilinear interpolation. Prefiltering is performed to ensure high-quality shrinking. + + + Equivalent to the element of the enumeration. + + + Specifies low quality interpolation. + + + Specifies nearest-neighbor interpolation. + + + Encapsulates a with a linear gradient. This class cannot be inherited. + + + Initializes a new instance of the class with the specified points and colors. + A structure that represents the starting point of the linear gradient. + A structure that represents the endpoint of the linear gradient. + A structure that represents the starting color of the linear gradient. + A structure that represents the ending color of the linear gradient. + + + Initializes a new instance of the class with the specified points and colors. + A structure that represents the starting point of the linear gradient. + A structure that represents the endpoint of the linear gradient. + A structure that represents the starting color of the linear gradient. + A structure that represents the ending color of the linear gradient. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and orientation. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + A enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + Set to to specify that the angle is affected by the transform associated with this ; otherwise, . + + + Creates a new instance of the based on a rectangle, starting and ending colors, and an orientation mode. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + A enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + Set to to specify that the angle is affected by the transform associated with this ; otherwise, . + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Multiplies the that represents the local geometric transform of this by the specified by prepending the specified . + The by which to multiply the geometric transform. + + + Multiplies the that represents the local geometric transform of this by the specified in the specified order. + The by which to multiply the geometric transform. + A that specifies in which order to multiply the two matrices. + + + Resets the property to identity. + + + Rotates the local geometric transform by the specified amount. This method prepends the rotation to the transform. + The angle of rotation. + + + Rotates the local geometric transform by the specified amount in the specified order. + The angle of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transform by the specified amounts. This method prepends the scaling matrix to the transform. + The amount by which to scale the transform in the x-axis direction. + The amount by which to scale the transform in the y-axis direction. + + + Scales the local geometric transform by the specified amounts in the specified order. + The amount by which to scale the transform in the x-axis direction. + The amount by which to scale the transform in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Creates a linear gradient with a center color and a linear falloff to a single color on both ends. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + + + Creates a linear gradient with a center color and a linear falloff to a single color on both ends. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + A value from 0 through1 that specifies how fast the colors falloff from the starting color to (ending color) + + + Creates a gradient falloff based on a bell-shaped curve. + A value from 0 through 1 that specifies the center of the gradient (the point where the starting color and ending color are blended equally). + + + Creates a gradient falloff based on a bell-shaped curve. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + A value from 0 through 1 that specifies how fast the colors falloff from the . + + + Translates the local geometric transform by the specified dimensions. This method prepends the translation to the transform. + The value of the translation in x. + The value of the translation in y. + + + Translates the local geometric transform by the specified dimensions in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets a that specifies positions and factors that define a custom falloff for the gradient. + A that represents a custom falloff for the gradient. + + + Gets or sets a value indicating whether gamma correction is enabled for this . + The value is if gamma correction is enabled for this ; otherwise, . + + + Gets or sets a that defines a multicolor linear gradient. + A that defines a multicolor linear gradient. + + + Gets or sets the starting and ending colors of the gradient. + An array of two structures that represents the starting and ending colors of the gradient. + + + Gets a rectangular region that defines the starting and ending points of the gradient. + A structure that specifies the starting and ending points of the gradient. + + + Gets or sets a copy that defines a local geometric transform for this . + A copy of the that defines a geometric transform that applies only to fills drawn with this . + + + Gets or sets a enumeration that indicates the wrap mode for this . + A that specifies how fills drawn with this are tiled. + + + Specifies the direction of a linear gradient. + + + Specifies a gradient from upper right to lower left. + + + Specifies a gradient from upper left to lower right. + + + Specifies a gradient from left to right. + + + Specifies a gradient from top to bottom. + + + Specifies the available cap styles with which a object can end a line. + + + Specifies a mask used to check whether a line cap is an anchor cap. + + + Specifies an arrow-shaped anchor cap. + + + Specifies a custom line cap. + + + Specifies a diamond anchor cap. + + + Specifies a flat line cap. + + + Specifies no anchor. + + + Specifies a round line cap. + + + Specifies a round anchor cap. + + + Specifies a square line cap. + + + Specifies a square anchor line cap. + + + Specifies a triangular line cap. + + + Specifies how to join consecutive line or curve segments in a figure (subpath) contained in a object. + + + Specifies a beveled join. This produces a diagonal corner. + + + Specifies a mitered join. This produces a sharp corner or a clipped corner, depending on whether the length of the miter exceeds the miter limit. + + + Specifies a mitered join. This produces a sharp corner or a beveled corner, depending on whether the length of the miter exceeds the miter limit. + + + Specifies a circular join. This produces a smooth, circular arc between the lines. + + + Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inherited. + + + Initializes a new instance of the class as the identity matrix. + + + Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points. + A structure that represents the rectangle to be transformed. + An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners. + + + Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points. + A structure that represents the rectangle to be transformed. + An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners. + + + Initializes a new instance of the class with the specified elements. + The value in the first row and first column of the new . + The value in the first row and second column of the new . + The value in the second row and first column of the new . + The value in the second row and second column of the new . + The value in the third row and first column of the new . + The value in the third row and second column of the new . + + + Creates an exact copy of this . + The that this method creates. + + + Releases all resources used by this . + + + Tests whether the specified object is a and is identical to this . + The object to test. + This method returns if is the specified identical to this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Returns a hash code. + The hash code for this . + + + Inverts this , if it is invertible. + + + Multiplies this by the matrix specified in the parameter, by prepending the specified . + The by which this is to be multiplied. + + + Multiplies this by the matrix specified in the parameter, and in the order specified in the parameter. + The by which this is to be multiplied. + The that represents the order of the multiplication. + + + Resets this to have the elements of the identity matrix. + + + Prepend to this a clockwise rotation, around the origin and by the specified angle. + The angle of the rotation, in degrees. + + + Applies a clockwise rotation of an amount specified in the parameter, around the origin (zero x and y coordinates) for this . + The angle (extent) of the rotation, in degrees. + A that specifies the order (append or prepend) in which the rotation is applied to this . + + + Applies a clockwise rotation to this around the point specified in the parameter, and by prepending the rotation. + The angle (extent) of the rotation, in degrees. + A that represents the center of the rotation. + + + Applies a clockwise rotation about the specified point to this in the specified order. + The angle of the rotation, in degrees. + A that represents the center of the rotation. + A that specifies the order (append or prepend) in which the rotation is applied. + + + Applies the specified scale vector to this by prepending the scale vector. + The value by which to scale this in the x-axis direction. + The value by which to scale this in the y-axis direction. + + + Applies the specified scale vector ( and ) to this using the specified order. + The value by which to scale this in the x-axis direction. + The value by which to scale this in the y-axis direction. + A that specifies the order (append or prepend) in which the scale vector is applied to this . + + + Applies the specified shear vector to this by prepending the shear transformation. + The horizontal shear factor. + The vertical shear factor. + + + Applies the specified shear vector to this in the specified order. + The horizontal shear factor. + The vertical shear factor. + A that specifies the order (append or prepend) in which the shear is applied. + + + Applies the geometric transform represented by this to a specified array of points. + An array of structures that represents the points to transform. + + + Applies the geometric transform represented by this to a specified array of points. + An array of structures that represents the points to transform. + + + Applies only the scale and rotate components of this to the specified array of points. + An array of structures that represents the points to transform. + + + Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored. + An array of structures that represents the points to transform. + + + Applies the specified translation vector ( and ) to this by prepending the translation vector. + The x value by which to translate this . + The y value by which to translate this . + + + Applies the specified translation vector to this in the specified order. + The x value by which to translate this . + The y value by which to translate this . + A that specifies the order (append or prepend) in which the translation is applied to this . + + + Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored. + An array of structures that represents the points to transform. + + + Gets an array of floating-point values that represents the elements of this . + An array of floating-point values that represents the elements of this . + + + Gets a value indicating whether this is the identity matrix. + This property is if this is identity; otherwise, . + + + Gets a value indicating whether this is invertible. + This property is if this is invertible; otherwise, . + + + Gets the x translation value (the dx value, or the element in the third row and first column) of this . + The x translation value of this . + + + Gets the y translation value (the dy value, or the element in the third row and second column) of this . + The y translation value of this . + + + Specifies the order for matrix transform operations. + + + The new operation is applied after the old operation. + + + The new operation is applied before the old operation. + + + Contains the graphical data that makes up a object. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Gets or sets an array of structures that represents the points through which the path is constructed. + An array of objects that represents the points through which the path is constructed. + + + Gets or sets the types of the corresponding points in the path. + An array of bytes that specify the types of the corresponding points in the path. + + + Encapsulates a object that fills the interior of a object with a gradient. This class cannot be inherited. + + + Initializes a new instance of the class with the specified path. + The that defines the area filled by this . + + + Initializes a new instance of the class with the specified points. + An array of structures that represents the points that make up the vertices of the path. + + + Initializes a new instance of the class with the specified points and wrap mode. + An array of structures that represents the points that make up the vertices of the path. + A that specifies how fills drawn with this are tiled. + + + Initializes a new instance of the class with the specified points. + An array of structures that represents the points that make up the vertices of the path. + + + Initializes a new instance of the class with the specified points and wrap mode. + An array of structures that represents the points that make up the vertices of the path. + A that specifies how fills drawn with this are tiled. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Updates the brush's transformation matrix with the product of brush's transformation matrix multiplied by another matrix. + The that will be multiplied by the brush's current transformation matrix. + + + Updates the brush's transformation matrix with the product of the brush's transformation matrix multiplied by another matrix. + The that will be multiplied by the brush's current transformation matrix. + A that specifies in which order to multiply the two matrices. + + + Resets the property to identity. + + + Rotates the local geometric transform by the specified amount. This method prepends the rotation to the transform. + The angle (extent) of rotation. + + + Rotates the local geometric transform by the specified amount in the specified order. + The angle (extent) of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transform by the specified amounts. This method prepends the scaling matrix to the transform. + The transform scale factor in the x-axis direction. + The transform scale factor in the y-axis direction. + + + Scales the local geometric transform by the specified amounts in the specified order. + The transform scale factor in the x-axis direction. + The transform scale factor in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Creates a gradient with a center color and a linear falloff to one surrounding color. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + + + Creates a gradient with a center color and a linear falloff to each surrounding color. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + A value from 0 through 1 that specifies the maximum intensity of the center color that gets blended with the boundary color. A value of 1 causes the highest possible intensity of the center color, and it is the default value. + + + Creates a gradient brush that changes color starting from the center of the path outward to the path's boundary. The transition from one color to another is based on a bell-shaped curve. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + + + Creates a gradient brush that changes color starting from the center of the path outward to the path's boundary. The transition from one color to another is based on a bell-shaped curve. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + A value from 0 through 1 that specifies the maximum intensity of the center color that gets blended with the boundary color. A value of 1 causes the highest possible intensity of the center color, and it is the default value. + + + Applies the specified translation to the local geometric transform. This method prepends the translation to the transform. + The value of the translation in x. + The value of the translation in y. + + + Applies the specified translation to the local geometric transform in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets a that specifies positions and factors that define a custom falloff for the gradient. + A that represents a custom falloff for the gradient. + + + Gets or sets the color at the center of the path gradient. + A that represents the color at the center of the path gradient. + + + Gets or sets the center point of the path gradient. + A that represents the center point of the path gradient. + + + Gets or sets the focus point for the gradient falloff. + A that represents the focus point for the gradient falloff. + + + Gets or sets a that defines a multicolor linear gradient. + A that defines a multicolor linear gradient. + + + Gets a bounding rectangle for this . + A that represents a rectangular region that bounds the path this fills. + + + Gets or sets an array of colors that correspond to the points in the path this fills. + An array of structures that represents the colors associated with each point in the path this fills. + + + Gets or sets a copy of the that defines a local geometric transform for this . + A copy of the that defines a geometric transform that applies only to fills drawn with this . + + + Gets or sets a that indicates the wrap mode for this . + A that specifies how fills drawn with this are tiled. + + + Specifies the type of point in a object. + + + A default Bézier curve. + + + A cubic Bézier curve. + + + The endpoint of a subpath. + + + The corresponding segment is dashed. + + + A line segment. + + + A path marker. + + + A mask point. + + + The starting point of a object. + + + Specifies the alignment of a object in relation to the theoretical, zero-width line. + + + Specifies that the object is centered over the theoretical line. + + + Specifies that the is positioned on the inside of the theoretical line. + + + Specifies the is positioned to the left of the theoretical line. + + + Specifies the is positioned on the outside of the theoretical line. + + + Specifies the is positioned to the right of the theoretical line. + + + Specifies the type of fill a object uses to fill lines. + + + Specifies a hatch fill. + + + Specifies a linear gradient fill. + + + Specifies a path gradient fill. + + + Specifies a solid fill. + + + Specifies a bitmap texture fill. + + + Specifies how pixels are offset during rendering. + + + Specifies the default mode. + + + Specifies that pixels are offset by -.5 units, both horizontally and vertically, for high speed antialiasing. + + + Specifies high quality, low speed rendering. + + + Specifies high speed, low quality rendering. + + + Specifies an invalid mode. + + + Specifies no pixel offset. + + + Specifies the overall quality when rendering GDI+ objects. + + + Specifies the default mode. + + + Specifies high quality, low speed rendering. + + + Specifies an invalid mode. + + + Specifies low quality, high speed rendering. + + + Encapsulates the data that makes up a object. This class cannot be inherited. + + + Gets or sets an array of bytes that specify the object. + An array of bytes that specify the object. + + + Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas. + + + Specifies antialiased rendering. + + + Specifies no antialiasing. + + + Specifies antialiased rendering. + + + Specifies no antialiasing. + + + Specifies an invalid mode. + + + Specifies no antialiasing. + + + Specifies the type of warp transformation applied in a method. + + + Specifies a bilinear warp. + + + Specifies a perspective warp. + + + Specifies how a texture or gradient is tiled when it is smaller than the area being filled. + + + The texture or gradient is not tiled. + + + Tiles the gradient or texture. + + + Reverses the texture or gradient horizontally and then tiles the texture or gradient. + + + Reverses the texture or gradient horizontally and vertically and then tiles the texture or gradient. + + + Reverses the texture or gradient vertically and then tiles the texture or gradient. + + + Defines a particular format for text, including font face, size, and style attributes. This class cannot be inherited. + + + Initializes a new that uses the specified existing and enumeration. + The existing from which to create the new . + The to apply to the new . Multiple values of the enumeration can be combined with the operator. + + + Initializes a new using a specified size. + The of the new . + The em-size, in points, of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size and style. + The of the new . + The em-size, in points, of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, and unit. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, unit, and character set. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a + + GDI character set to use for the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, unit, and character set. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a + + GDI character set to use for this font. + A Boolean value indicating whether the new font is derived from a GDI vertical font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is + + + Initializes a new using a specified size and unit. Sets the style to . + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + + is . + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size. + A string representation of the for the new . + The em-size, in points, of the new font. + + is less than or equal to 0, evaluates to infinity or is not a valid number. + + + Initializes a new using a specified size and style. + A string representation of the for the new . + The em-size, in points, of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size, style, and unit. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity or is not a valid number. + + + Initializes a new using a specified size, style, unit, and character set. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a GDI character set to use for this font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using the specified size, style, unit, and character set. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a GDI character set to use for this font. + A Boolean value indicating whether the new is derived from a GDI vertical font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size and unit. The style is set to . + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Creates an exact copy of this . + The this method creates, cast as an . + + + Releases all resources used by this . + + + Indicates whether the specified object is a and has the same , , , , , and property values as this . + The object to test. + + if the parameter is a and has the same , , , , , and property values as this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates a from the specified Windows handle to a device context. + A handle to a device context. + The font for the specified device context is not a TrueType font. + The this method creates. + + + Creates a from the specified Windows handle. + A Windows handle to a GDI font. + + points to an object that is not a TrueType font. + The this method creates. + + + Creates a from the specified GDI logical font (LOGFONT) structure. + An that represents the GDI structure from which to create the . + The that this method creates. + + + Creates a from the specified GDI logical font (LOGFONT) structure. + An that represents the GDI structure from which to create the . + A handle to a device context that contains additional information about the structure. + The font is not a TrueType font. + The that this method creates. + + + Gets the hash code for this . + The hash code for this . + + + Returns the line spacing, in pixels, of this font. + The line spacing, in pixels, of this font. + + + Returns the line spacing, in the current unit of a specified , of this font. + A that holds the vertical resolution, in dots per inch, of the display device as well as settings for page unit and page scale. + + is . + The line spacing, in pixels, of this font. + + + Returns the height, in pixels, of this when drawn to a device with the specified vertical resolution. + The vertical resolution, in dots per inch, used to calculate the height of the font. + The height, in pixels, of this . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Returns a handle to this . + The operation was unsuccessful. + A Windows handle to this . + + + Creates a GDI logical font (LOGFONT) structure from this . + An to represent the structure that this method creates. + + + Creates a GDI logical font (LOGFONT) structure from this . + An to represent the structure that this method creates. + A that provides additional information for the structure. + + is . + + + Returns a human-readable string representation of this . + A string that represents this . + + + Gets a value that indicates whether this is bold. + + if this is bold; otherwise, . + + + Gets the associated with this . + The associated with this . + + + Gets a byte value that specifies the GDI character set that this uses. + A byte value that specifies the GDI character set that this uses. The default is 1. + + + Gets a Boolean value that indicates whether this is derived from a GDI vertical font. + + if this is derived from a GDI vertical font; otherwise, . + + + Gets the line spacing of this font. + The line spacing, in pixels, of this font. + + + Gets a value indicating whether the font is a member of . + + if the font is a member of ; otherwise, . The default is . + + + Gets a value that indicates whether this font has the italic style applied. + + to indicate this font has the italic style applied; otherwise, . + + + Gets the face name of this . + A string representation of the face name of this . + + + Gets the name of the font originally specified. + The string representing the name of the font originally specified. + + + Gets the em-size of this measured in the units specified by the property. + The em-size of this . + + + Gets the em-size, in points, of this . + The em-size, in points, of this . + + + Gets a value that indicates whether this specifies a horizontal line through the font. + + if this has a horizontal line through it; otherwise, . + + + Gets style information for this . + A enumeration that contains style information for this . + + + Gets the name of the system font if the property returns . + The name of the system font, if returns ; otherwise, an empty string (""). + + + Gets a value that indicates whether this is underlined. + + if this is underlined; otherwise, . + + + Gets the unit of measure for this . + A that represents the unit of measure for this . + + + Converts objects from one data type to another. + + + Initializes a new object. + + + Determines whether this converter can convert an object in the specified source type to the native type of the converter. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + The type you want to convert from. + This method returns if this object can perform the conversion. + + + Gets a value indicating whether this converter can convert an object to the given destination type using the context. + An object that provides a format context. + A object that represents the type you want to convert to. + This method returns if this converter can perform the conversion; otherwise, . + + + Converts the specified object to the native type of the converter. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies the culture used to represent the font. + The object to convert. + The conversion could not be performed. + The converted object. + + + Converts the specified object to another type. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies the culture used to represent the object. + The object to convert. + The data type to convert the object to. + The conversion was not successful. + The converted object. + + + Creates an object of this type by using a specified set of property values for the object. + A type descriptor through which additional context can be provided. + A dictionary of new property values. The dictionary contains a series of name-value pairs, one for each property returned from the method. + The newly created object, or if the object could not be created. The default implementation returns . + + useful for creating non-changeable objects that have changeable properties. + + + Determines whether changing a value on this object should require a call to the method to create a new value. + A type descriptor through which additional context can be provided. + This method returns if the object should be called when a change is made to one or more properties of this object; otherwise, . + + + Retrieves the set of properties for this type. By default, a type does not have any properties to return. + A type descriptor through which additional context can be provided. + The value of the object to get the properties for. + An array of objects that describe the properties. + The set of properties that should be exposed for this data type. If no properties should be exposed, this may return . The default implementation always returns . + + An easy implementation of this method can call the method for the correct data type. + + + Determines whether this object supports properties. The default is . + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find the properties of this object; otherwise, . + + + + is a type converter that is used to convert a font name to and from various other representations. + + + Initializes a new instance of the class. + + + Determines if this converter can convert an object in the given source type to the native type of the converter. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + The type you wish to convert from. + + if the converter can perform the conversion; otherwise, . + + + Converts the given object to the converter's native type. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + A to use to perform the conversion + The object to convert. + The conversion cannot be completed. + The converted object. + + + Retrieves a collection containing a set of standard values for the data type this converter is designed for. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + A collection containing a standard set of valid values, or . The default is . + + + Determines if the list of standard values returned from the method is an exclusive list. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + + if the collection returned from is an exclusive list of possible values; otherwise, . The default is . + + + Determines if this object supports a standard set of values that can be picked from a list. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + + if should be called to find a common set of values the object supports; otherwise, . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Converts font units to and from other unit types. + + + Initializes a new instance of the class. + + + Returns a collection of standard values valid for the type. + An that provides a format context. + + + Defines a group of type faces having a similar basic design and certain variations in styles. This class cannot be inherited. + + + Initializes a new from the specified generic font family. + The from which to create the new . + + + Initializes a new with the specified name. + The name of the new . + + is an empty string (""). + + -or- + + specifies a font that is not installed on the computer running the application. + + -or- + + specifies a font that is not a TrueType font. + + + Initializes a new in the specified with the specified name. + A that represents the name of the new . + The that contains this . + + is an empty string (""). + + -or- + + specifies a font that is not installed on the computer running the application. + + -or- + + specifies a font that is not a TrueType font. + + + Releases all resources used by this . + + + Indicates whether the specified object is a and is identical to this . + The object to test. + + if is a and is identical to this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Returns the cell ascent, in design units, of the of the specified style. + A that contains style information for the font. + The cell ascent for this that uses the specified . + + + Returns the cell descent, in design units, of the of the specified style. + A that contains style information for the font. + The cell descent metric for this that uses the specified . + + + Gets the height, in font design units, of the em square for the specified style. + The for which to get the em height. + The height of the em square. + + + Returns an array that contains all the objects available for the specified graphics context. + The object from which to return objects. + + is . + An array of objects available for the specified object. + + + Gets a hash code for this . + The hash code for this . + + + Returns the line spacing, in design units, of the of the specified style. The line spacing is the vertical distance between the base lines of two consecutive lines of text. + The to apply. + The distance between two consecutive lines of text. + + + Returns the name, in the specified language, of this . + The language in which the name is returned. + A that represents the name, in the specified language, of this . + + + Indicates whether the specified enumeration is available. + The to test. + + if the specified is available; otherwise, . + + + Converts this to a human-readable string representation. + The string that represents this . + + + Returns an array that contains all the objects associated with the current graphics context. + An array of objects associated with the current graphics context. + + + Gets a generic monospace . + A that represents a generic monospace font. + + + Gets a generic sans serif object. + A object that represents a generic sans serif font. + + + Gets a generic serif . + A that represents a generic serif font. + + + Gets the name of this . + A that represents the name of this . + + + Specifies style information applied to text. + + + Bold text. + + + Italic text. + + + Normal text. + + + Text with a line through the middle. + + + Underlined text. + + + Encapsulates a GDI+ drawing surface. This class cannot be inherited. + + + Adds a comment to the current . + Array of bytes that contains the comment. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container. + This method returns a that represents the state of this at the time of the method call. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container with the specified scale transformation. + + structure that, together with the parameter, specifies a scale transformation for the container. + + structure that, together with the parameter, specifies a scale transformation for the container. + Member of the enumeration that specifies the unit of measure for the container. + This method returns a that represents the state of this at the time of the method call. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container with the specified scale transformation. + + structure that, together with the parameter, specifies a scale transformation for the new graphics container. + + structure that, together with the parameter, specifies a scale transformation for the new graphics container. + Member of the enumeration that specifies the unit of measure for the container. + This method returns a that represents the state of this at the time of the method call. + + + Clears the entire drawing surface and fills it with the specified background color. + + structure that represents the background color of the drawing surface. + + + Performs a bit-block transfer of color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The point at the upper-left corner of the source rectangle. + The point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + The operation failed. + + + Performs a bit-block transfer of color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The point at the upper-left corner of the source rectangle. + The point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + One of the values. + + is not a member of . + The operation failed. + + + Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The x-coordinate of the point at the upper-left corner of the source rectangle. + The y-coordinate of the point at the upper-left corner of the source rectangle. + The x-coordinate of the point at the upper-left corner of the destination rectangle. + The y-coordinate of the point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + The operation failed. + + + Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The x-coordinate of the point at the upper-left corner of the source rectangle. + The y-coordinate of the point at the upper-left corner of the source rectangle + The x-coordinate of the point at the upper-left corner of the destination rectangle. + The y-coordinate of the point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + One of the values. + + is not a member of . + The operation failed. + + + Releases all resources used by this . + + + Draws an arc representing a portion of an ellipse specified by a structure. + + that determines the color, width, and style of the arc. + + structure that defines the boundaries of the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws an arc representing a portion of an ellipse specified by a structure. + + that determines the color, width, and style of the arc. + + structure that defines the boundaries of the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is + + + Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height. + + that determines the color, width, and style of the arc. + The x-coordinate of the upper-left corner of the rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the rectangle that defines the ellipse. + Width of the rectangle that defines the ellipse. + Height of the rectangle that defines the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height. + + that determines the color, width, and style of the arc. + The x-coordinate of the upper-left corner of the rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the rectangle that defines the ellipse. + Width of the rectangle that defines the ellipse. + Height of the rectangle that defines the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws a Bézier spline defined by four structures. + + structure that determines the color, width, and style of the curve. + + structure that represents the starting point of the curve. + + structure that represents the first control point for the curve. + + structure that represents the second control point for the curve. + + structure that represents the ending point of the curve. + + is . + + + Draws a Bézier spline defined by four structures. + + that determines the color, width, and style of the curve. + + structure that represents the starting point of the curve. + + structure that represents the first control point for the curve. + + structure that represents the second control point for the curve. + + structure that represents the ending point of the curve. + + is . + + + Draws a Bézier spline defined by four ordered pairs of coordinates that represent points. + + that determines the color, width, and style of the curve. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point of the curve. + The y-coordinate of the first control point of the curve. + The x-coordinate of the second control point of the curve. + The y-coordinate of the second control point of the curve. + The x-coordinate of the ending point of the curve. + The y-coordinate of the ending point of the curve. + + is . + + + Draws a series of Bézier splines from an array of structures. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10. + + is . + + -or- + + is . + + + Draws a series of Bézier splines from an array of structures. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures using a specified tension. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + Member of the enumeration that determines how the curve is filled. This parameter is required but ignored. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures using a specified tension. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + Member of the enumeration that determines how the curve is filled. This parameter is required but is ignored. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. The drawing begins offset from the beginning of the array. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. The drawing begins offset from the beginning of the array. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that define the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws an ellipse specified by a bounding structure. + + that determines the color, width, and style of the ellipse. + + structure that defines the boundaries of the ellipse. + + is . + + + Draws an ellipse defined by a bounding . + + that determines the color, width, and style of the ellipse. + + structure that defines the boundaries of the ellipse. + + is . + + + Draws an ellipse defined by a bounding rectangle specified by coordinates for the upper-left corner of the rectangle, a height, and a width. + + that determines the color, width, and style of the ellipse. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width. + + that determines the color, width, and style of the ellipse. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Draws the image represented by the specified within the area specified by a structure. + + to draw. + + structure that specifies the location and size of the resulting image on the display surface. The image contained in the parameter is scaled to the dimensions of this rectangular area. + + is . + + + Draws the image represented by the specified at the specified coordinates. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws the image represented by the specified without scaling the image. + + to draw. + + structure that specifies the location and size of the resulting image. The image is not scaled to fit this rectangle, but retains its original size. If the image is larger than the rectangle, it is clipped to fit inside it. + + is . + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + + structure that represents the location of the upper-left corner of the drawn image. + + is . + + + Draws the specified at the specified location and with the specified shape and size. + + to draw. + Array of three structures that define a parallelogram. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + + structure that represents the upper-left corner of the drawn image. + + is . + + + Draws the specified at the specified location and with the specified shape and size. + + to draw. + Array of three structures that define a parallelogram. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for . + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified image, using its original physical size, at the location specified by a coordinate pair. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a portion of an image at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Width of the drawn image. + Height of the drawn image. + + is . + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a portion of an image at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + structure that specifies the portion of the to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Width of the drawn image. + Height of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + + structure that specifies the upper-left corner of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + + that specifies the upper-left corner of the drawn image. The X and Y properties of the rectangle specify the upper-left corner. The Width and Height properties are ignored. + + is . + + + Draws the specified image using its original physical size at the location specified by a coordinate pair. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Not used. + Not used. + + is . + + + Draws the specified image without scaling and clips it, if necessary, to fit in the specified rectangle. + The to draw. + The in which to draw the image. + + is . + + + Draws a line connecting two structures. + + that determines the color, width, and style of the line. + + structure that represents the first point to connect. + + structure that represents the second point to connect. + + is . + + + Draws a line connecting two structures. + + that determines the color, width, and style of the line. + + structure that represents the first point to connect. + + structure that represents the second point to connect. + + is . + + + Draws a line connecting the two points specified by the coordinate pairs. + + that determines the color, width, and style of the line. + The x-coordinate of the first point. + The y-coordinate of the first point. + The x-coordinate of the second point. + The y-coordinate of the second point. + + is . + + + Draws a line connecting the two points specified by the coordinate pairs. + + that determines the color, width, and style of the line. + The x-coordinate of the first point. + The y-coordinate of the first point. + The x-coordinate of the second point. + The y-coordinate of the second point. + + is . + + + Draws a series of line segments that connect an array of structures. + + that determines the color, width, and style of the line segments. + Array of structures that represent the points to connect. + + is . + + -or- + + is . + + + Draws a series of line segments that connect an array of structures. + + that determines the color, width, and style of the line segments. + Array of structures that represent the points to connect. + + is . + + -or- + + is . + + + Draws a . + + that determines the color, width, and style of the path. + + to draw. + + is . + + -or- + + is . + + + Draws a pie shape defined by an ellipse specified by a structure and two radial lines. + + that determines the color, width, and style of the pie shape. + + structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a structure and two radial lines. + + that determines the color, width, and style of the pie shape. + + structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines. + + that determines the color, width, and style of the pie shape. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + Width of the bounding rectangle that defines the ellipse from which the pie shape comes. + Height of the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines. + + that determines the color, width, and style of the pie shape. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + Width of the bounding rectangle that defines the ellipse from which the pie shape comes. + Height of the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a polygon defined by an array of structures. + + that determines the color, width, and style of the polygon. + Array of structures that represent the vertices of the polygon. + + is . + + + Draws a polygon defined by an array of structures. + + that determines the color, width, and style of the polygon. + Array of structures that represent the vertices of the polygon. + + is . + + -or- + + is . + + + Draws a rectangle specified by a structure. + A that determines the color, width, and style of the rectangle. + A structure that represents the rectangle to draw. + + is . + + + Draws a rectangle specified by a coordinate pair, a width, and a height. + + that determines the color, width, and style of the rectangle. + The x-coordinate of the upper-left corner of the rectangle to draw. + The y-coordinate of the upper-left corner of the rectangle to draw. + Width of the rectangle to draw. + Height of the rectangle to draw. + + is . + + + Draws a rectangle specified by a coordinate pair, a width, and a height. + A that determines the color, width, and style of the rectangle. + The x-coordinate of the upper-left corner of the rectangle to draw. + The y-coordinate of the upper-left corner of the rectangle to draw. + The width of the rectangle to draw. + The height of the rectangle to draw. + + is . + + + Draws a series of rectangles specified by structures. + + that determines the color, width, and style of the outlines of the rectangles. + Array of structures that represent the rectangles to draw. + + is . + + -or- + + is . + + is a zero-length array. + + + Draws a series of rectangles specified by structures. + + that determines the color, width, and style of the outlines of the rectangles. + Array of structures that represent the rectangles to draw. + + is . + + -or- + + is . + + is a zero-length array. + + + Draws the specified text string at the specified location with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the upper-left corner of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the upper-left corner of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string in the specified rectangle with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the location of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string in the specified rectangle with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the location of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + The x-coordinate of the upper-left corner of the drawn text. + The y-coordinate of the upper-left corner of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + The x-coordinate of the upper-left corner of the drawn text. + The y-coordinate of the upper-left corner of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Closes the current graphics container and restores the state of this to the state saved by a call to the method. + + that represents the container this method restores. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structures that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Updates the clip region of this to exclude the area specified by a structure. + + structure that specifies the rectangle to exclude from the clip region. + + + Updates the clip region of this to exclude the area specified by a . + + that specifies the region to exclude from the clip region. + + + Fills the interior of a closed cardinal spline curve defined by an array of structures. + + that determines the characteristics of the fill. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode and tension. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures. + + that determines the characteristics of the fill. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode and tension. + A that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of a . + + that determines the characteristics of the fill. + + that represents the path to fill. + + is . + + -or- + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a structure and two radial lines. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, a height, and two radial lines. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + Width of the bounding rectangle that defines the ellipse from which the pie section comes. + Height of the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, a height, and two radial lines. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + Width of the bounding rectangle that defines the ellipse from which the pie section comes. + Height of the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + Member of the enumeration that determines the style of the fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + Member of the enumeration that determines the style of the fill. + + is . + + -or- + + is . + + + Fills the interior of a rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the rectangle to fill. + The y-coordinate of the upper-left corner of the rectangle to fill. + Width of the rectangle to fill. + Height of the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the rectangle to fill. + The y-coordinate of the upper-left corner of the rectangle to fill. + Width of the rectangle to fill. + Height of the rectangle to fill. + + is . + + + Fills the interiors of a series of rectangles specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the rectangles to fill. + + is . + + -or- + + is . + + is a zero-length array. + + + Fills the interiors of a series of rectangles specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the rectangles to fill. + + is . + + -or- + + is . + + is a zero-length array. + + + Fills the interior of a . + + that determines the characteristics of the fill. + + that represents the area to fill. + + is . + + -or- + + is . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Forces execution of all pending graphics operations and returns immediately without waiting for the operations to finish. + + + Forces execution of all pending graphics operations with the method waiting or not waiting, as specified, to return before the operations finish. + Member of the enumeration that specifies whether the method returns immediately or waits for any existing operations to finish. + + + Creates a new from the specified handle to a device context. + Handle to a device context. + This method returns a new for the specified device context. + + + Creates a new from the specified handle to a device context and handle to a device. + Handle to a device context. + Handle to a device. + This method returns a new for the specified device context and device. + + + Returns a for the specified device context. + Handle to a device context. + A for the specified device context. + + + Creates a new from the specified handle to a window. + Handle to a window. + This method returns a new for the specified window handle. + + + Creates a new for the specified windows handle. + Handle to a window. + A for the specified window handle. + + + Creates a new from the specified . + + from which to create the new . + + is . + + has an indexed pixel format or its format is undefined. + This method returns a new for the specified . + + + Gets the cumulative graphics context. + An representing the cumulative graphics context. + + + Gets a handle to the current Windows halftone palette. + Internal pointer that specifies the handle to the palette. + + + Gets the handle to the device context associated with this . + Handle to the device context associated with this . + + + Gets the nearest color to the specified structure. + + structure for which to find a match. + A structure that represents the nearest color to the one specified with the parameter. + + + Updates the clip region of this to the intersection of the current clip region and the specified structure. + + structure to intersect with the current clip region. + + + Updates the clip region of this to the intersection of the current clip region and the specified structure. + + structure to intersect with the current clip region. + + + Updates the clip region of this to the intersection of the current clip region and the specified . + + to intersect with the current region. + + + Indicates whether the specified structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the point specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the specified structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the point specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the rectangle specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the rectangle specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the point specified by a pair of coordinates is contained within the visible clip region of this . + The x-coordinate of the point to test for visibility. + The y-coordinate of the point to test for visibility. + + if the point defined by the and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this . + The x-coordinate of the upper-left corner of the rectangle to test for visibility. + The y-coordinate of the upper-left corner of the rectangle to test for visibility. + Width of the rectangle to test for visibility. + Height of the rectangle to test for visibility. + + if the rectangle defined by the , , , and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the point specified by a pair of coordinates is contained within the visible clip region of this . + The x-coordinate of the point to test for visibility. + The y-coordinate of the point to test for visibility. + + if the point defined by the and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this . + The x-coordinate of the upper-left corner of the rectangle to test for visibility. + The y-coordinate of the upper-left corner of the rectangle to test for visibility. + Width of the rectangle to test for visibility. + Height of the rectangle to test for visibility. + + if the rectangle defined by the , , , and parameters is contained within the visible clip region of this ; otherwise, . + + + Gets an array of objects, each of which bounds a range of character positions within the specified string. + String to measure. + + that defines the text format of the string. + + structure that specifies the layout rectangle for the string. + + that represents formatting information, such as line spacing, for the string. + This method returns an array of objects, each of which bounds a range of character positions within the specified string. + + + Measures the specified string when drawn with the specified . + String to measure. + + that defines the text format of the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + defines the text format of the string. + + structure that represents the upper-left corner of the string. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified within the specified layout area. + String to measure. + + defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + that defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + that represents formatting information, such as line spacing, for the string. + Number of characters in the string. + Number of text lines in the string. + + is . + This method returns a structure that represents the size of the string, in the units specified by the property, of the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified . + String to measure. + + that defines the format of the string. + Maximum width of the string in pixels. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + that defines the text format of the string. + Maximum width of the string. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter and the parameter. + + + Multiplies the world transformation of this and specified the . + 4x4 that multiplies the world transformation. + + + Multiplies the world transformation of this and specified the in the specified order. + 4x4 that multiplies the world transformation. + Member of the enumeration that determines the order of the multiplication. + + + Releases a device context handle obtained by a previous call to the method of this . + + + Releases a device context handle obtained by a previous call to the method of this . + Handle to a device context obtained by a previous call to the method of this . + + + Releases a handle to a device context. + Handle to a device context. + + + Resets the clip region of this to an infinite region. + + + Resets the world transformation matrix of this to the identity matrix. + + + Restores the state of this to the state represented by a . + + that represents the state to which to restore this . + + + Applies the specified rotation to the transformation matrix of this . + Angle of rotation in degrees. + + + Applies the specified rotation to the transformation matrix of this in the specified order. + Angle of rotation in degrees. + Member of the enumeration that specifies whether the rotation is appended or prepended to the matrix transformation. + + + Saves the current state of this and identifies the saved state with a . + This method returns a that represents the saved state of this . + + + Applies the specified scaling operation to the transformation matrix of this by prepending it to the object's transformation matrix. + Scale factor in the x direction. + Scale factor in the y direction. + + + Applies the specified scaling operation to the transformation matrix of this in the specified order. + Scale factor in the x direction. + Scale factor in the y direction. + Member of the enumeration that specifies whether the scaling operation is prepended or appended to the transformation matrix. + + + Sets the clipping region of this to the specified . + + that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the specified . + + to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the property of the specified . + + from which to take the new clip region. + + + Sets the clipping region of this to the result of the specified combining operation of the current clip region and the property of the specified . + + that specifies the clip region to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the rectangle specified by a structure. + + structure that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the rectangle specified by a structure. + + structure to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the rectangle specified by a structure. + + structure that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the rectangle specified by a structure. + + structure to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the specified . + + to combine. + Member from the enumeration that specifies the combining operation to use. + + + Transforms an array of points from one coordinate space to another using the current world and page transformations of this . + Member of the enumeration that specifies the destination coordinate space. + Member of the enumeration that specifies the source coordinate space. + Array of structures that represents the points to transformation. + + + Transforms an array of points from one coordinate space to another using the current world and page transformations of this . + Member of the enumeration that specifies the destination coordinate space. + Member of the enumeration that specifies the source coordinate space. + Array of structures that represent the points to transform. + + + Translates the clipping region of this by specified amounts in the horizontal and vertical directions. + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Translates the clipping region of this by specified amounts in the horizontal and vertical directions. + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Changes the origin of the coordinate system by prepending the specified translation to the transformation matrix of this . + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Changes the origin of the coordinate system by applying the specified translation to the transformation matrix of this in the specified order. + The x-coordinate of the translation. + The y-coordinate of the translation. + Member of the enumeration that specifies whether the translation is prepended or appended to the transformation matrix. + + + Gets or sets a that limits the drawing region of this . + A that limits the portion of this that is currently available for drawing. + + + Gets a structure that bounds the clipping region of this . + A structure that represents a bounding rectangle for the clipping region of this . + + + Gets a value that specifies how composited images are drawn to this . + This property specifies a member of the enumeration. The default is . + + + Gets or sets the rendering quality of composited images drawn to this . + This property specifies a member of the enumeration. The default is . + + + Gets the horizontal resolution of this . + The value, in dots per inch, for the horizontal resolution supported by this . + + + Gets the vertical resolution of this . + The value, in dots per inch, for the vertical resolution supported by this . + + + Gets or sets the interpolation mode associated with this . + One of the values. + + + Gets a value indicating whether the clipping region of this is empty. + + if the clipping region of this is empty; otherwise, . + + + Gets a value indicating whether the visible clipping region of this is empty. + + if the visible portion of the clipping region of this is empty; otherwise, . + + + Gets or sets the scaling between world units and page units for this . + This property specifies a value for the scaling between world units and page units for this . + + + Gets or sets the unit of measure used for page coordinates in this . + + is set to , which is not a physical unit. + One of the values other than . + + + Gets or sets a value specifying how pixels are offset during rendering of this . + This property specifies a member of the enumeration + + + Gets or sets the rendering origin of this for dithering and for hatch brushes. + A structure that represents the dither origin for 8-bits-per-pixel and 16-bits-per-pixel dithering and is also used to set the origin for hatch brushes. + + + Gets or sets the rendering quality for this . + One of the values. + + + Gets or sets the gamma correction value for rendering text. + The gamma correction value used for rendering antialiased and ClearType text. + + + Gets or sets the rendering mode for text associated with this . + One of the values. + + + Gets or sets a copy of the geometric world transformation for this . + A copy of the that represents the geometric world transformation for this . + + + Gets the bounding rectangle of the visible clipping region of this . + A structure that represents a bounding rectangle for the visible clipping region of this . + + + Provides a callback method for deciding when the method should prematurely cancel execution and stop drawing an image. + Internal pointer that specifies data for the callback method. This parameter is not passed by all overloads. You can test for its absence by checking for the value . + This method returns if it decides that the method should prematurely stop execution. Otherwise it returns to indicate that the method should continue execution. + + + Provides a callback method for the method. + Member of the enumeration that specifies the type of metafile record. + Set of flags that specify attributes of the record. + Number of bytes in the record data. + Pointer to a buffer that contains the record data. + Not used. + Return if you want to continue enumerating records; otherwise, . + + + Specifies the unit of measure for the given data. + + + Specifies the unit of measure of the display device. Typically pixels for video displays, and 1/100 inch for printers. + + + Specifies the document unit (1/300 inch) as the unit of measure. + + + Specifies the inch as the unit of measure. + + + Specifies the millimeter as the unit of measure. + + + Specifies a device pixel as the unit of measure. + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + Specifies the world coordinate system unit as the unit of measure. + + + Represents a Windows icon, which is a small bitmap image that is used to represent an object. Icons can be thought of as transparent bitmaps, although their size is determined by the system. + + + Initializes a new instance of the class and attempts to find a version of the icon that matches the requested size. + The from which to load the newly sized icon. + A structure that specifies the height and width of the new . + The parameter is . + + + Initializes a new instance of the class and attempts to find a version of the icon that matches the requested size. + The icon to load the different size from. + The width of the new icon. + The height of the new icon. + The parameter is . + + + Initializes a new instance of the class from the specified data stream. + The data stream from which to load the . + The parameter is . + + + Initializes a new instance of the class of the specified size from the specified stream. + The stream that contains the icon data. + The desired size of the icon. + The is or does not contain image data. + + + Initializes a new instance of the class from the specified data stream and with the specified width and height. + The data stream from which to load the icon. + The width, in pixels, of the icon. + The height, in pixels, of the icon. + The parameter is . + + + Initializes a new instance of the class from the specified file name. + The file to load the from. + + + Initializes a new instance of the class of the specified size from the specified file. + The name and path to the file that contains the icon data. + The desired size of the icon. + The is or does not contain image data. + + + Initializes a new instance of the class with the specified width and height from the specified file. + The name and path to the file that contains the data. + The desired width of the . + The desired height of the . + The is or does not contain image data. + + + Initializes a new instance of the class from a resource in the specified assembly. + A that specifies the assembly in which to look for the resource. + The resource name to load. + An icon specified by cannot be found in the assembly that contains the specified . + + + Clones the , creating a duplicate image. + An object that can be cast to an . + + + Releases all resources used by this . + + + Returns an icon representation of an image that is contained in the specified file. + The path to the file that contains an image. + The does not indicate a valid file. + + -or- + + The indicates a Universal Naming Convention (UNC) path. + The representation of the image that is contained in the specified file. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates a GDI+ from the specified Windows handle to an icon (). + A Windows handle to an icon. + The this method creates. + + + Saves this to the specified output . + The to save to. + + + Populates a with the data that is required to serialize the target object. + + The destination (see ) for this serialization. + + + Converts this to a GDI+ . + A that represents the converted . + + + Gets a human-readable string that describes the . + A string that describes the . + + + Gets the Windows handle for this . This is not a copy of the handle; do not free it. + The Windows handle for the icon. + + + Gets the height of this . + The height of this . + + + Gets the size of this . + A structure that specifies the width and height of this . + + + Gets the width of this . + The width of this . + + + Converts an object from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Determines whether this can convert an instance of a specified type to an , using the specified context. + An that provides a format context. + A that specifies the type you want to convert from. + This method returns if this can perform the conversion; otherwise, . + + + Determines whether this can convert an to an instance of a specified type, using the specified context. + An that provides a format context. + A that specifies the type you want to convert to. + This method returns if this can perform the conversion; otherwise, . + + + Converts a specified object to an . + An that provides a format context. + A that holds information about a specific culture. + The to be converted. + The conversion could not be performed. + If this method succeeds, it returns the that it created by converting the specified object. Otherwise, it throws an exception. + + + Converts an (or an object that can be cast to an ) to a specified type. + An that provides a format context. + A object that specifies formatting conventions used by a particular culture. + The object to convert. This object should be of type icon or some type that can be cast to . + The type to convert the icon to. + The conversion could not be performed. + This method returns the converted object. + + + Defines methods for obtaining and releasing an existing handle to a Windows device context. + + + Returns the handle to a Windows device context. + An representing the handle of a device context. + + + Releases the handle of a Windows device context. + + + An abstract base class that provides functionality for the and descended classes. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Releases all resources used by this . + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates an from the specified file. + A string that contains the name of the file from which to create the . + The file does not have a valid image format. + + -or- + + GDI+ does not support the pixel format of the file. + The specified file does not exist. + + is a . + The this method creates. + + + Creates an from the specified file using embedded color management information in that file. + A string that contains the name of the file from which to create the . + Set to to use color management information embedded in the image file; otherwise, . + The file does not have a valid image format. + + -or- + + GDI+ does not support the pixel format of the file. + The specified file does not exist. + + is a . + The this method creates. + + + Creates a from a handle to a GDI bitmap. + The GDI bitmap handle from which to create the . + The this method creates. + + + Creates a from a handle to a GDI bitmap and a handle to a GDI palette. + The GDI bitmap handle from which to create the . + A handle to a GDI palette used to define the bitmap colors if the bitmap specified in the parameter is not a device-independent bitmap (DIB). + The this method creates. + + + Creates an from the specified data stream. + A that contains the data for this . + The stream does not have a valid image format + + -or- + + is . + The this method creates. + + + Creates an from the specified data stream, optionally using embedded color management information in that stream. + A that contains the data for this . + + to use color management information embedded in the data stream; otherwise, . + The stream does not have a valid image format + + -or- + + is . + The this method creates. + + + Creates an from the specified data stream, optionally using embedded color management information and validating the image data. + A that contains the data for this . + + to use color management information embedded in the data stream; otherwise, . + + to validate the image data; otherwise, . + The stream does not have a valid image format. + The this method creates. + + + Gets the bounds of the image in the specified unit. + One of the values indicating the unit of measure for the bounding rectangle. + The that represents the bounds of the image, in the specified unit. + + + Returns information about the parameters supported by the specified image encoder. + A GUID that specifies the image encoder. + An that contains an array of objects. Each contains information about one of the parameters supported by the specified image encoder. + + + Returns the number of frames of the specified dimension. + A that specifies the identity of the dimension type. + The number of frames in the specified dimension. + + + Returns the color depth, in number of bits per pixel, of the specified pixel format. + The member that specifies the format for which to find the size. + The color depth of the specified pixel format. + + + Gets the specified property item from this . + The ID of the property item to get. + The image format of this image does not support property items. + The this method gets. + + + Returns a thumbnail for this . + The width, in pixels, of the requested thumbnail image. + The height, in pixels, of the requested thumbnail image. + A delegate. + + Note You must create a delegate and pass a reference to the delegate as the parameter, but the delegate is not used. + Must be . + An that represents the thumbnail. + + + Returns a value that indicates whether the pixel format for this contains alpha information. + The to test. + + if contains alpha information; otherwise, . + + + Returns a value that indicates whether the pixel format is 32 bits per pixel. + The to test. + + if is canonical; otherwise, . + + + Returns a value that indicates whether the pixel format is 64 bits per pixel. + The enumeration to test. + + if is extended; otherwise, . + + + Removes the specified property item from this . + The ID of the property item to remove. + The image does not contain the requested property item. + + -or- + + The image format for this image does not support property items. + + + Rotates, flips, or rotates and flips the . + A member that specifies the type of rotation and flip to apply to the image. + + + Saves this image to the specified stream, with the specified encoder and image encoder parameters. + The where the image will be saved. + The for this . + An that specifies parameters used by the image encoder. + + is . + The image was saved with the wrong image format. + + + Saves this image to the specified stream in the specified format. + The where the image will be saved. + An that specifies the format of the saved image. + + or is . + The image was saved with the wrong image format + + + Saves this to the specified file or stream. + A string that contains the name of the file to which to save this . + + is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Saves this to the specified file, with the specified encoder and image-encoder parameters. + A string that contains the name of the file to which to save this . + The for this . + An to use for this . + + or is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Saves this to the specified file in the specified format. + A string that contains the name of the file to which to save this . + The for this . + + or is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Adds a frame to the file or stream specified in a previous call to the method. + An that contains the frame to add. + An that holds parameters required by the image encoder that is used by the save-add operation. + + is . + + + Adds a frame to the file or stream specified in a previous call to the method. Use this method to save selected frames from a multiple-frame image to another multiple-frame image. + An that holds parameters required by the image encoder that is used by the save-add operation. + + + Selects the frame specified by the dimension and index. + A that specifies the identity of the dimension type. + The index of the active frame. + Always returns 0. + + + Stores a property item (piece of metadata) in this . + The to be stored. + The image format of this image does not support property items. + + + Populates a with the data needed to serialize the target object. + + The destination (see ) for this serialization. + + + Gets attribute flags for the pixel data of this . + The integer representing a bitwise combination of for this . + + + Gets an array of GUIDs that represent the dimensions of frames within this . + An array of GUIDs that specify the dimensions of frames within this from most significant to least significant. + + + Gets the height, in pixels, of this . + The height, in pixels, of this . + + + Gets the horizontal resolution, in pixels per inch, of this . + The horizontal resolution, in pixels per inch, of this . + + + Gets or sets the color palette used for this . + A that represents the color palette used for this . + + + Gets the width and height of this image. + A structure that represents the width and height of this . + + + Gets the pixel format for this . + A that represents the pixel format for this . + + + Gets IDs of the property items stored in this . + An array of the property IDs, one for each property item stored in this image. + + + Gets all the property items (pieces of metadata) stored in this . + An array of objects, one for each property item stored in the image. + + + Gets the file format of this . + The that represents the file format of this . + + + Gets the width and height, in pixels, of this image. + A structure that represents the width and height, in pixels, of this image. + + + Gets or sets an object that provides additional data about the image. + The that provides additional data about the image. + + + Gets the vertical resolution, in pixels per inch, of this . + The vertical resolution, in pixels per inch, of this . + + + Gets the width, in pixels, of this . + The width, in pixels, of this . + + + Provides a callback method for determining when the method should prematurely cancel execution. + This method returns if it decides that the method should prematurely stop execution; otherwise, it returns . + + + Animates an image that has time-based frames. + + + Displays a multiple-frame image as an animation. + The object to animate. + An object that specifies the method that is called when the animation frame changes. + + + Returns a Boolean value indicating whether the specified image contains time-based frames. + The object to test. + This method returns if the specified image contains time-based frames; otherwise, . + + + Terminates a running animation. + The object to stop animating. + An object that specifies the method that is called when the animation frame changes. + + + Advances the frame in all images currently being animated. The new frame is drawn the next time the image is rendered. + + + Advances the frame in the specified image. The new frame is drawn the next time the image is rendered. This method applies only to images with time-based frames. + The object for which to update frames. + + + + is a class that can be used to convert objects from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Determines whether this can convert an instance of a specified type to an , using the specified context. + An that provides a format context. + A that specifies the type you want to convert from. + This method returns if this can perform the conversion; otherwise, . + + + Determines whether this can convert an to an instance of a specified type, using the specified context. + An that provides a format context. + A that specifies the type you want to convert to. + This method returns if this can perform the conversion; otherwise, . + + + Converts a specified object to an . + An that provides a format context. + A that holds information about a specific culture. + The to be converted. + The conversion cannot be completed. + If this method succeeds, it returns the that it created by converting the specified object. Otherwise, it throws an exception. + + + Converts an (or an object that can be cast to an ) to the specified type. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions used by a particular culture. + The to convert. + The to convert the to. + The conversion cannot be completed. + This method returns the converted object. + + + Gets the set of properties for this type. + A type descriptor through which additional context can be provided. + The value of the object to get the properties for. + An array of objects that describe the properties. + The set of properties that should be exposed for this data type. If no properties should be exposed, this can return . The default implementation always returns . + + + Indicates whether this object supports properties. By default, this is . + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find the properties of this object. + + + + is a class that can be used to convert objects from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Indicates whether this converter can convert an object in the specified source type to the native type of the converter. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + The type you want to convert from. + This method returns if this object can perform the conversion. + + + Gets a value indicating whether this converter can convert an object to the specified destination type using the context. + An that specifies the context for this type conversion. + The that represents the type to which you want to convert this object. + This method returns if this object can perform the conversion. + + + Converts the specified object to an object. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions for a particular culture. + The object to convert. + The conversion cannot be completed. + The converted object. + + + Converts the specified object to the specified type. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions for a particular culture. + The object to convert. + The type to convert the object to. + The conversion cannot be completed. + + is . + The converted object. + + + Gets a collection that contains a set of standard values for the data type this validator is designed for. Returns if the data type does not support a standard set of values. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A collection that contains a standard set of valid values, or . The default implementation always returns . + + + Indicates whether this object supports a standard set of values that can be picked from a list. + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find a common set of values the object supports. + + + Specifies the attributes of a bitmap image. The class is used by the and methods of the class. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the pixel height of the object. Also sometimes referred to as the number of scan lines. + The pixel height of the object. + + + Gets or sets the format of the pixel information in the object that returned this object. + A that specifies the format of the pixel information in the associated object. + + + Reserved. Do not use. + Reserved. Do not use. + + + Gets or sets the address of the first pixel data in the bitmap. This can also be thought of as the first scan line in the bitmap. + The address of the first pixel data in the bitmap. + + + Gets or sets the stride width (also called scan width) of the object. + The stride width, in bytes, of the object. + + + Gets or sets the pixel width of the object. This can also be thought of as the number of pixels in one scan line. + The pixel width of the object. + + + Specifies which GDI+ objects use color adjustment information. + + + The number of types specified. + + + Color adjustment information for objects. + + + Color adjustment information for objects. + + + The number of types specified. + + + Color adjustment information that is used by all GDI+ objects that do not have their own color adjustment information. + + + Color adjustment information for objects. + + + Color adjustment information for text. + + + Specifies individual channels in the CMYK (cyan, magenta, yellow, black) color space. This enumeration is used by the methods. + + + The cyan color channel. + + + The black color channel. + + + The last selected channel should be used. + + + The magenta color channel. + + + The yellow color channel. + + + Defines a map for converting colors. Several methods of the class adjust image colors by using a color-remap table, which is an array of structures. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the new structure to which to convert. + The new structure to which to convert. + + + Gets or sets the existing structure to be converted. + The existing structure to be converted. + + + Specifies the types of color maps. + + + Specifies a color map for a . + + + A default color map. + + + Defines a 5 x 5 matrix that contains the coordinates for the RGBAW space. Several methods of the class adjust image colors by using a color matrix. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the elements in the specified matrix . + The values of the elements for the new . + + + Gets or sets the element at the specified row and column in the . + The row of the element. + The column of the element. + The element at the specified row and column. + + + Gets or sets the element at the 0 (zero) row and 0 column of this . + The element at the 0 row and 0 column of this . + + + Gets or sets the element at the 0 (zero) row and first column of this . + The element at the 0 row and first column of this . + + + Gets or sets the element at the 0 (zero) row and second column of this . + The element at the 0 row and second column of this . + + + Gets or sets the element at the 0 (zero) row and third column of this . Represents the alpha component. + The element at the 0 row and third column of this . + + + Gets or sets the element at the 0 (zero) row and fourth column of this . + The element at the 0 row and fourth column of this . + + + Gets or sets the element at the first row and 0 (zero) column of this . + The element at the first row and 0 column of this . + + + Gets or sets the element at the first row and first column of this . + The element at the first row and first column of this . + + + Gets or sets the element at the first row and second column of this . + The element at the first row and second column of this . + + + Gets or sets the element at the first row and third column of this . Represents the alpha component. + The element at the first row and third column of this . + + + Gets or sets the element at the first row and fourth column of this . + The element at the first row and fourth column of this . + + + Gets or sets the element at the second row and 0 (zero) column of this . + The element at the second row and 0 column of this . + + + Gets or sets the element at the second row and first column of this . + The element at the second row and first column of this . + + + Gets or sets the element at the second row and second column of this . + The element at the second row and second column of this . + + + Gets or sets the element at the second row and third column of this . + The element at the second row and third column of this . + + + Gets or sets the element at the second row and fourth column of this . + The element at the second row and fourth column of this . + + + Gets or sets the element at the third row and 0 (zero) column of this . + The element at the third row and 0 column of this . + + + Gets or sets the element at the third row and first column of this . + The element at the third row and first column of this . + + + Gets or sets the element at the third row and second column of this . + The element at the third row and second column of this . + + + Gets or sets the element at the third row and third column of this . Represents the alpha component. + The element at the third row and third column of this . + + + Gets or sets the element at the third row and fourth column of this . + The element at the third row and fourth column of this . + + + Gets or sets the element at the fourth row and 0 (zero) column of this . + The element at the fourth row and 0 column of this . + + + Gets or sets the element at the fourth row and first column of this . + The element at the fourth row and first column of this . + + + Gets or sets the element at the fourth row and second column of this . + The element at the fourth row and second column of this . + + + Gets or sets the element at the fourth row and third column of this . Represents the alpha component. + The element at the fourth row and third column of this . + + + Gets or sets the element at the fourth row and fourth column of this . + The element at the fourth row and fourth column of this . + + + Specifies the types of images and colors that will be affected by the color and grayscale adjustment settings of an . + + + Only gray shades are adjusted. + + + All color values, including gray shades, are adjusted by the same color-adjustment matrix. + + + All colors are adjusted, but gray shades are not adjusted. A gray shade is any color that has the same value for its red, green, and blue components. + + + Specifies two modes for color component values. + + + The integer values supplied are 32-bit values. + + + The integer values supplied are 64-bit values. + + + Defines an array of colors that make up a color palette. The colors are 32-bit ARGB colors. Not inheritable. + + + Gets an array of structures. + The array of structure that make up this . + + + Gets a value that specifies how to interpret the color information in the array of colors. + The following flag values are valid: + + 0x00000001 + The color values in the array contain alpha information. + + 0x00000002 + The colors in the array are grayscale values. + + 0x00000004 + The colors in the array are halftone values. + + + Specifies the methods available for use with a metafile to read and write graphic commands. + + + See methods. + + + See methods. + + + See . + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See methods. + + + Specifies a character string, a location, and formatting information. + + + See methods. + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See . + + + Identifies a record that marks the last EMF+ record of a metafile. + + + See methods. + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See . + + + Identifies a record that is the EMF+ header. + + + Indicates invalid data. + + + The maximum value for this enumeration. + + + The minimum value for this enumeration. + + + Marks the end of a multiple-format section. + + + Marks a multiple-format section. + + + Marks the start of a multiple-format section. + + + See methods. + + + Marks an object. + + + See methods. + + + See . + + + See . + + + See . + + + See methods. + + + See . + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See . + + + See . + + + See methods. + + + See . + + + See . + + + See . + + + See . + + + See methods. + + + Used internally. + + + See methods. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Increases or decreases the size of a logical palette based on the specified value. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Copies the color data for a rectangle of pixels in a DIB to the specified destination rectangle. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Specifies the nature of the records that are placed in an Enhanced Metafile (EMF) file. This enumeration is used by several constructors in the class. + + + Specifies that all the records in the metafile are EMF records, which can be displayed by GDI or GDI+. + + + Specifies that all EMF+ records in the metafile are associated with an alternate EMF record. Metafiles of type can be displayed by GDI or by GDI+. + + + Specifies that all the records in the metafile are EMF+ records, which can be displayed by GDI+ but not by GDI. + + + An object encapsulates a globally unique identifier (GUID) that identifies the category of an image encoder parameter. + + + An object that is initialized with the globally unique identifier for the chrominance table parameter category. + + + An object that is initialized with the globally unique identifier for the color depth parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the color space category. + + + An object that is initialized with the globally unique identifier for the compression parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the image items category. + + + Represents an object that is initialized with the globally unique identifier for the luminance table parameter category. + + + Gets an object that is initialized with the globally unique identifier for the quality parameter category. + + + Represents an object that is initialized with the globally unique identifier for the render method parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the save as CMYK category. + + + Represents an object that is initialized with the globally unique identifier for the save flag parameter category. + + + Represents an object that is initialized with the globally unique identifier for the scan method parameter category. + + + Represents an object that is initialized with the globally unique identifier for the transformation parameter category. + + + Represents an object that is initialized with the globally unique identifier for the version parameter category. + + + Initializes a new instance of the class from the specified globally unique identifier (GUID). The GUID specifies an image encoder parameter category. + A globally unique identifier that identifies an image encoder parameter category. + + + Gets a globally unique identifier (GUID) that identifies an image encoder parameter category. + The GUID that identifies an image encoder parameter category. + + + Used to pass a value, or an array of values, to an image encoder. + + + Initializes a new instance of the class with the specified object and one unsigned 8-bit integer. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + An 8-bit unsigned integer that specifies the value stored in the object. + + + Initializes a new instance of the class with the specified object and one 8-bit value. Sets the property to or , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A byte that specifies the value stored in the object. + If , the property is set to ; otherwise, the property is set to . + + + Initializes a new instance of the class with the specified object and an array of unsigned 8-bit integers. Sets the property to , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 8-bit unsigned integers that specifies the values stored in the object. + + + Initializes a new instance of the class with the specified object and an array of bytes. Sets the property to or , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of bytes that specifies the values stored in the object. + If , the property is set to ; otherwise, the property is set to . + + + Initializes a new instance of the class with the specified object and one, 16-bit integer. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 16-bit integer that specifies the value stored in the object. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and an array of 16-bit integers. Sets the property to , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 16-bit integers that specifies the values stored in the object. The integers in the array must be nonnegative. + + + Initializes a new instance of the class with the specified object, number of values, data type of the values, and a pointer to the values stored in the object. + An object that encapsulates the globally unique identifier of the parameter category. + An integer that specifies the number of values stored in the object. The property is set to this value. + A member of the enumeration that specifies the data type of the values stored in the object. The and properties are set to this value. + A pointer to an array of values of the type specified by the parameter. + + + Initializes a new instance of the class with the specified object and a pair of 32-bit integers. The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 32-bit integer that represents the numerator of a fraction. Must be nonnegative. + A 32-bit integer that represents the denominator of a fraction. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and three integers that specify the number of values, the data type of the values, and a pointer to the values stored in the object. + An object that encapsulates the globally unique identifier of the parameter category. + An integer that specifies the number of values stored in the object. The property is set to this value. + A member of the enumeration that specifies the data type of the values stored in the object. The and properties are set to this value. + A pointer to an array of values of the type specified by the parameter. + Type is not a valid . + + + Initializes a new instance of the class with the specified object and four, 32-bit integers. The four integers represent a range of fractions. The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 32-bit integer that represents the numerator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the denominator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the denominator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the numerator of the largest fraction in the range. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and two arrays of 32-bit integers. The two arrays represent an array of fractions. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 32-bit integers that specifies the numerators of the fractions. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the fractions. The integers in the array must be nonnegative. A denominator of a given index is paired with the numerator of the same index. + + + Initializes a new instance of the class with the specified object and four arrays of 32-bit integers. The four arrays represent an array rational ranges. A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the other three arrays. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 32-bit integers that specifies the numerators of the minimum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the minimum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the numerators of the maximum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the maximum values for the ranges. The integers in the array must be nonnegative. + + + Initializes a new instance of the class with the specified object and one 64-bit integer. Sets the property to (32 bits), and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 64-bit integer that specifies the value stored in the object. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + + + Initializes a new instance of the class with the specified object and a pair of 64-bit integers. The pair of integers represents a range of integers, the first integer being the smallest number in the range, and the second integer being the largest number in the range. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 64-bit integer that represents the smallest number in a range of integers. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + A 64-bit integer that represents the largest number in a range of integers. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + + + Initializes a new instance of the class with the specified object and an array of 64-bit integers. Sets the property to (32-bit), and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 64-bit integers that specifies the values stored in the object. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. + + + Initializes a new instance of the class with the specified object and two arrays of 64-bit integers. The two arrays represent an array integer ranges. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 64-bit integers that specifies the minimum values for the integer ranges. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. + An array of 64-bit integers that specifies the maximum values for the integer ranges. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. A maximum value of a given index is paired with the minimum value of the same index. + + + Initializes a new instance of the class with the specified object and a character string. The string is converted to a null-terminated ASCII string before it is stored in the object. Sets the property to , and sets the property to the length of the ASCII string including the NULL terminator. + An object that encapsulates the globally unique identifier of the parameter category. + A that specifies the value stored in the object. + + + Releases all resources used by this object. + + + Allows an object to attempt to free resources and perform other cleanup operations before the object is reclaimed by garbage collection. + + + Gets or sets the object associated with this object. The object encapsulates the globally unique identifier (GUID) that specifies the category (for example , , or ) of the parameter stored in this object. + An object that encapsulates the GUID that specifies the category of the parameter stored in this object. + + + Gets the number of elements in the array of values stored in this object. + An integer that indicates the number of elements in the array of values stored in this object. + + + Gets the data type of the values stored in this object. + A member of the enumeration that indicates the data type of the values stored in this object. + + + Gets the data type of the values stored in this object. + A member of the enumeration that indicates the data type of the values stored in this object. + + + Encapsulates an array of objects. + + + Initializes a new instance of the class that can contain one object. + + + Initializes a new instance of the class that can contain the specified number of objects. + An integer that specifies the number of objects that the object can contain. + + + Releases all resources used by this object. + + + Gets or sets an array of objects. + The array of objects. + + + Specifies the data type of the used with the or method of an image. + + + An 8-bit ASCII value. + + + An 8-bit unsigned integer. + + + A 32-bit unsigned integer. + + + Two long values that specify a range of integer values. + + + A pointer to a block of custom metadata. + + + A pair of 32-bit unsigned integers. Each pair represents a fraction, the first integer being the numerator and the second integer being the denominator. + + + A set of four, 32-bit unsigned integers. The first two integers represent one fraction, and the second two integers represent a second fraction. + + + A 16-bit, unsigned integer. + + + A byte that has no data type defined. + + + Used to specify the parameter value passed to a JPEG or TIFF image encoder when using the or methods. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies the CCITT3 compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the CCITT4 compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the LZW compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the Compression category. + + + Specifies no compression. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the RLE compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies that a multiple-frame file or stream should be closed. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Specifies that a frame is to be added to the page dimension of an image. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies the last frame in a multiple-frame image. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Specifies that the image has more than one frame (page). Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies that the image is to be flipped horizontally (about the vertical axis). Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be flipped vertically (about the horizontal axis). Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated 180 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated clockwise 270 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated clockwise 90 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Provides properties that get the frame dimensions of an image. Not inheritable. + + + Initializes a new instance of the class using the specified structure. + A structure that contains a GUID for this object. + + + Returns a value that indicates whether the specified object is a equivalent to this object. + The object to test. + + if is a equivalent to this object; otherwise, . + + + Returns a hash code for this object. + The hash code of this object. + + + Converts this object to a human-readable string. + A string that represents this object. + + + Gets a globally unique identifier (GUID) that represents this object. + A structure that contains a GUID that represents this object. + + + Gets the page dimension. + The page dimension. + + + Gets the resolution dimension. + The resolution dimension. + + + Gets the time dimension. + The time dimension. + + + Contains information about how bitmap and metafile colors are manipulated during rendering. + + + Initializes a new instance of the class. + + + Clears the brush color-remap table of this object. + + + Clears the color key (transparency range) for the default category. + + + Clears the color key (transparency range) for a specified category. + An element of that specifies the category for which the color key is cleared. + + + Clears the color-adjustment matrix for the default category. + + + Clears the color-adjustment matrix for a specified category. + An element of that specifies the category for which the color-adjustment matrix is cleared. + + + Disables gamma correction for the default category. + + + Disables gamma correction for a specified category. + An element of that specifies the category for which gamma correction is disabled. + + + Clears the setting for the default category. + + + Clears the setting for a specified category. + An element of that specifies the category for which the setting is cleared. + + + Clears the CMYK (cyan-magenta-yellow-black) output channel setting for the default category. + + + Clears the (cyan-magenta-yellow-black) output channel setting for a specified category. + An element of that specifies the category for which the output channel setting is cleared. + + + Clears the output channel color profile setting for the default category. + + + Clears the output channel color profile setting for a specified category. + An element of that specifies the category for which the output channel profile setting is cleared. + + + Clears the color-remap table for the default category. + + + Clears the color-remap table for a specified category. + An element of that specifies the category for which the remap table is cleared. + + + Clears the threshold value for the default category. + + + Clears the threshold value for a specified category. + An element of that specifies the category for which the threshold is cleared. + + + Creates an exact copy of this object. + The object this class creates, cast as an object. + + + Releases all resources used by this object. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Adjusts the colors in a palette according to the adjustment settings of a specified category. + A that on input contains the palette to be adjusted, and on output contains the adjusted palette. + An element of that specifies the category whose adjustment settings will be applied to the palette. + + + Sets the color-remap table for the brush category. + An array of objects. + + + Sets the color key for the default category. + The low color-key value. + The high color-key value. + + + Sets the color key (transparency range) for a specified category. + The low color-key value. + The high color-key value. + An element of that specifies the category for which the color key is set. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for the default category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for the default category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for a specified category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. + An element of that specifies the category for which the color-adjustment and grayscale-adjustment matrices are set. + + + Sets the color-adjustment matrix for the default category. + The color-adjustment matrix. + + + Sets the color-adjustment matrix for the default category. + The color-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment matrix. + + + Sets the color-adjustment matrix for a specified category. + The color-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment matrix. + An element of that specifies the category for which the color-adjustment matrix is set. + + + Sets the gamma value for the default category. + The gamma correction value. + + + Sets the gamma value for a specified category. + The gamma correction value. + An element of the enumeration that specifies the category for which the gamma value is set. + + + Turns off color adjustment for the default category. You can call the method to reinstate the color-adjustment settings that were in place before the call to the method. + + + Turns off color adjustment for a specified category. You can call the method to reinstate the color-adjustment settings that were in place before the call to the method. + An element of that specifies the category for which color correction is turned off. + + + Sets the CMYK (cyan-magenta-yellow-black) output channel for the default category. + An element of that specifies the output channel. + + + Sets the CMYK (cyan-magenta-yellow-black) output channel for a specified category. + An element of that specifies the output channel. + An element of that specifies the category for which the output channel is set. + + + Sets the output channel color-profile file for the default category. + The path name of a color-profile file. If the color-profile file is in the %SystemRoot%\System32\Spool\Drivers\Color directory, this parameter can be the file name. Otherwise, this parameter must be the fully qualified path name. + + + Sets the output channel color-profile file for a specified category. + The path name of a color-profile file. If the color-profile file is in the %SystemRoot%\System32\Spool\Drivers\Color directory, this parameter can be the file name. Otherwise, this parameter must be the fully qualified path name. + An element of that specifies the category for which the output channel color-profile file is set. + + + Sets the color-remap table for the default category. + An array of color pairs of type . Each color pair contains an existing color (the first value) and the color that it will be mapped to (the second value). + + + Sets the color-remap table for a specified category. + An array of color pairs of type . Each color pair contains an existing color (the first value) and the color that it will be mapped to (the second value). + An element of that specifies the category for which the color-remap table is set. + + + Sets the threshold (transparency range) for the default category. + A real number that specifies the threshold value. + + + Sets the threshold (transparency range) for a specified category. + A threshold value from 0.0 to 1.0 that is used as a breakpoint to sort colors that will be mapped to either a maximum or a minimum value. + An element of that specifies the category for which the color threshold is set. + + + Sets the wrap mode that is used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + + + Sets the wrap mode and color used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + An object that specifies the color of pixels outside of a rendered image. This color is visible if the mode parameter is set to and the source rectangle passed to is larger than the image itself. + + + Sets the wrap mode and color used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + A color object that specifies the color of pixels outside of a rendered image. This color is visible if the mode parameter is set to and the source rectangle passed to is larger than the image itself. + This parameter has no effect. Set it to . + + + Provides attributes of an image encoder/decoder (codec). + + + The decoder has blocking behavior during the decoding process. + + + The codec is built into GDI+. + + + The codec supports decoding (reading). + + + The codec supports encoding (saving). + + + The encoder requires a seekable output stream. + + + The codec supports raster images (bitmaps). + + + The codec supports vector images (metafiles). + + + Not used. + + + Not used. + + + The class provides the necessary storage members and methods to retrieve all pertinent information about the installed image encoders and decoders (called codecs). Not inheritable. + + + Returns an array of objects that contain information about the image decoders built into GDI+. + An array of objects. Each object in the array contains information about one of the built-in image decoders. + + + Returns an array of objects that contain information about the image encoders built into GDI+. + An array of objects. Each object in the array contains information about one of the built-in image encoders. + + + Gets or sets a structure that contains a GUID that identifies a specific codec. + A structure that contains a GUID that identifies a specific codec. + + + Gets or sets a string that contains the name of the codec. + A string that contains the name of the codec. + + + Gets or sets string that contains the path name of the DLL that holds the codec. If the codec is not in a DLL, this pointer is . + A string that contains the path name of the DLL that holds the codec. + + + Gets or sets string that contains the file name extension(s) used in the codec. The extensions are separated by semicolons. + A string that contains the file name extension(s) used in the codec. + + + Gets or sets 32-bit value used to store additional information about the codec. This property returns a combination of flags from the enumeration. + A 32-bit value used to store additional information about the codec. + + + Gets or sets a string that describes the codec's file format. + A string that describes the codec's file format. + + + Gets or sets a structure that contains a GUID that identifies the codec's format. + A structure that contains a GUID that identifies the codec's format. + + + Gets or sets a string that contains the codec's Multipurpose Internet Mail Extensions (MIME) type. + A string that contains the codec's Multipurpose Internet Mail Extensions (MIME) type. + + + Gets or sets a two dimensional array of bytes that can be used as a filter. + A two dimensional array of bytes that can be used as a filter. + + + Gets or sets a two dimensional array of bytes that represents the signature of the codec. + A two dimensional array of bytes that represents the signature of the codec. + + + Gets or sets the version number of the codec. + The version number of the codec. + + + Specifies the attributes of the pixel data contained in an object. The property returns a member of this enumeration. + + + The pixel data can be cached for faster access. + + + The pixel data uses a CMYK color space. + + + The pixel data is grayscale. + + + The pixel data uses an RGB color space. + + + Specifies that the image is stored using a YCBCR color space. + + + Specifies that the image is stored using a YCCK color space. + + + The pixel data contains alpha information. + + + Specifies that dots per inch information is stored in the image. + + + Specifies that the pixel size is stored in the image. + + + Specifies that the pixel data has alpha values other than 0 (transparent) and 255 (opaque). + + + There is no format information. + + + The pixel data is partially scalable, but there are some limitations. + + + The pixel data is read-only. + + + The pixel data is scalable. + + + Specifies the file format of the image. Not inheritable. + + + Initializes a new instance of the class by using the specified structure. + The structure that specifies a particular image format. + + + Returns a value that indicates whether the specified object is an object that is equivalent to this object. + The object to test. + + if is an object that is equivalent to this object; otherwise, . + + + Returns a hash code value that represents this object. + A hash code that represents this object. + + + Converts this object to a human-readable string. + A string that represents this object. + + + Gets the bitmap (BMP) image format. + An object that indicates the bitmap image format. + + + Gets the enhanced metafile (EMF) image format. + An object that indicates the enhanced metafile image format. + + + Gets the Exchangeable Image File (Exif) format. + An object that indicates the Exif format. + + + Gets the Graphics Interchange Format (GIF) image format. + An object that indicates the GIF image format. + + + Gets a structure that represents this object. + A structure that represents this object. + + + Gets the Windows icon image format. + An object that indicates the Windows icon image format. + + + Gets the Joint Photographic Experts Group (JPEG) image format. + An object that indicates the JPEG image format. + + + Gets the format of a bitmap in memory. + An object that indicates the format of a bitmap in memory. + + + Gets the W3C Portable Network Graphics (PNG) image format. + An object that indicates the PNG image format. + + + Gets the Tagged Image File Format (TIFF) image format. + An object that indicates the TIFF image format. + + + Gets the Windows metafile (WMF) image format. + An object that indicates the Windows metafile image format. + + + Specifies flags that are passed to the flags parameter of the method. The method locks a portion of an image so that you can read or write the pixel data. + + + Specifies that a portion of the image is locked for reading. + + + Specifies that a portion of the image is locked for reading or writing. + + + Specifies that the buffer used for reading or writing pixel data is allocated by the user. If this flag is set, the parameter of the method serves as an input parameter (and possibly as an output parameter). If this flag is cleared, then the parameter serves only as an output parameter. + + + Specifies that a portion of the image is locked for writing. + + + Defines a graphic metafile. A metafile contains records that describe a sequence of graphics operations that can be recorded (constructed) and played back (displayed). This class is not inheritable. + + + Initializes a new instance of the class from the specified handle. + A handle to an enhanced metafile. + + to delete the enhanced metafile handle when the is deleted; otherwise, . + + + Initializes a new instance of the class from the specified handle to a device context and an enumeration that specifies the format of the . + The handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class from the specified handle to a device context and an enumeration that specifies the format of the . A string can be supplied to name the file. + The handle to a device context. + An that specifies the format of the . + A descriptive name for the new . + + + Initializes a new instance of the class from the specified handle and a . + A windows handle to a . + A . + + + Initializes a new instance of the class from the specified handle and a . Also, the parameter can be used to delete the handle when the metafile is deleted. + A windows handle to a . + A . + + to delete the handle to the new when the is deleted; otherwise, . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle. + The handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . A string can be provided to name the file. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle. + The handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . A string can be provided to name the file. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream. + The from which to create the new . + + is . + + + Initializes a new instance of the class from the specified data stream. + A that contains the data for this . + A Windows handle to a device context. + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and an enumeration that specifies the format of the . Also, a string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified file name. + A that represents the file name from which to create the new . + + + Initializes a new instance of the class with the specified file name. + A that represents the file name of the new . + A Windows handle to a device context. + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and an enumeration that specifies the format of the . A descriptive string can be added, as well. + A that represents the file name of the new . + A Windows handle to a device context. + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that represents the file name of the new . + A Windows handle to a device context. + A structure that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + A that contains a descriptive name for the new . + + + Returns a Windows handle to an enhanced . + A Windows handle to this enhanced . + + + Returns the associated with this . + The associated with this . + + + Returns the associated with the specified . + The handle to the enhanced for which a header is returned. + The associated with the specified . + + + Returns the associated with the specified . + The handle to the for which to return a header. + A . + The associated with the specified . + + + Returns the associated with the specified . + A containing the for which a header is retrieved. + The associated with the specified . + + + Returns the associated with the specified . + A containing the name of the for which a header is retrieved. + The associated with the specified . + + + Plays an individual metafile record. + Element of the that specifies the type of metafile record being played. + A set of flags that specify attributes of the record. + The number of bytes in the record data. + An array of bytes that contains the record data. + + + Specifies the unit of measurement for the rectangle used to size and position a metafile. This is specified during the creation of the object. + + + The unit of measurement is 1/300 of an inch. + + + The unit of measurement is 0.01 millimeter. Provided for compatibility with GDI. + + + The unit of measurement is 1 inch. + + + The unit of measurement is 1 millimeter. + + + The unit of measurement is 1 pixel. + + + The unit of measurement is 1 printer's point. + + + Contains attributes of an associated . Not inheritable. + + + Returns a value that indicates whether the associated is device dependent. + + if the associated is device dependent; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile format. + + if the associated is in the Windows enhanced metafile format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile format or the Windows enhanced metafile plus format. + + if the associated is in the Windows enhanced metafile format or the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile plus format. + + if the associated is in the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Dual enhanced metafile format. This format supports both the enhanced and the enhanced plus format. + + if the associated is in the Dual enhanced metafile format; otherwise, . + + + Returns a value that indicates whether the associated supports only the Windows enhanced metafile plus format. + + if the associated supports only the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows metafile format. + + if the associated is in the Windows metafile format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows placeable metafile format. + + if the associated is in the Windows placeable metafile format; otherwise, . + + + Gets a that bounds the associated . + A that bounds the associated . + + + Gets the horizontal resolution, in dots per inch, of the associated . + The horizontal resolution, in dots per inch, of the associated . + + + Gets the vertical resolution, in dots per inch, of the associated . + The vertical resolution, in dots per inch, of the associated . + + + Gets the size, in bytes, of the enhanced metafile plus header file. + The size, in bytes, of the enhanced metafile plus header file. + + + Gets the logical horizontal resolution, in dots per inch, of the associated . + The logical horizontal resolution, in dots per inch, of the associated . + + + Gets the logical vertical resolution, in dots per inch, of the associated . + The logical vertical resolution, in dots per inch, of the associated . + + + Gets the size, in bytes, of the associated . + The size, in bytes, of the associated . + + + Gets the type of the associated . + A enumeration that represents the type of the associated . + + + Gets the version number of the associated . + The version number of the associated . + + + Gets the Windows metafile (WMF) header file for the associated . + A that contains the WMF header file for the associated . + + + Specifies types of metafiles. The property returns a member of this enumeration. + + + Specifies an Enhanced Metafile (EMF) file. Such a file contains only GDI records. + + + Specifies an EMF+ Dual file. Such a file contains GDI+ records along with alternative GDI records and can be displayed by using either GDI or GDI+. Displaying the records using GDI may cause some quality degradation. + + + Specifies an EMF+ file. Such a file contains only GDI+ records and must be displayed by using GDI+. Displaying the records using GDI may cause unpredictable results. + + + Specifies a metafile format that is not recognized in GDI+. + + + Specifies a WMF (Windows Metafile) file. Such a file contains only GDI records. + + + Specifies a WMF (Windows Metafile) file that has a placeable metafile header in front of it. + + + Contains information about a windows-format (WMF) metafile. + + + Initializes a new instance of the class. + + + Gets or sets the size, in bytes, of the header file. + The size, in bytes, of the header file. + + + Gets or sets the size, in bytes, of the largest record in the associated object. + The size, in bytes, of the largest record in the associated object. + + + Gets or sets the maximum number of objects that exist in the object at the same time. + The maximum number of objects that exist in the object at the same time. + + + Not used. Always returns 0. + Always 0. + + + Gets or sets the size, in bytes, of the associated object. + The size, in bytes, of the associated object. + + + Gets or sets the type of the associated object. + The type of the associated object. + + + Gets or sets the version number of the header format. + The version number of the header format. + + + Specifies the type of color data in the system palette. The data can be color data with alpha, grayscale data only, or halftone data. + + + Grayscale data. + + + Halftone data. + + + Alpha data. + + + Specifies the format of the color data for each pixel in the image. + + + The pixel data contains alpha values that are not premultiplied. + + + The default pixel format of 32 bits per pixel. The format specifies 24-bit color depth and an 8-bit alpha channel. + + + No pixel format is specified. + + + Reserved. + + + The pixel format is 16 bits per pixel. The color information specifies 32,768 shades of color, of which 5 bits are red, 5 bits are green, 5 bits are blue, and 1 bit is alpha. + + + The pixel format is 16 bits per pixel. The color information specifies 65536 shades of gray. + + + Specifies that the format is 16 bits per pixel; 5 bits each are used for the red, green, and blue components. The remaining bit is not used. + + + Specifies that the format is 16 bits per pixel; 5 bits are used for the red component, 6 bits are used for the green component, and 5 bits are used for the blue component. + + + Specifies that the pixel format is 1 bit per pixel and that it uses indexed color. The color table therefore has two colors in it. + + + Specifies that the format is 24 bits per pixel; 8 bits each are used for the red, green, and blue components. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied, according to the alpha component. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the red, green, and blue components. The remaining 8 bits are not used. + + + Specifies that the format is 48 bits per pixel; 16 bits each are used for the red, green, and blue components. + + + Specifies that the format is 4 bits per pixel, indexed. + + + Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. + + + Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied according to the alpha component. + + + Specifies that the format is 8 bits per pixel, indexed. The color table therefore has 256 colors in it. + + + The pixel data contains GDI colors. + + + The pixel data contains color-indexed values, which means the values are an index to colors in the system color table, as opposed to individual color values. + + + The maximum value for this enumeration. + + + The pixel format contains premultiplied alpha values. + + + The pixel format is undefined. + + + This delegate is not used. For an example of enumerating the records of a metafile, see . + Not used. + Not used. + Not used. + Not used. + + + Encapsulates a metadata property to be included in an image file. Not inheritable. + + + Gets or sets the ID of the property. + The integer that represents the ID of the property. + + + Gets or sets the length (in bytes) of the property. + An integer that represents the length (in bytes) of the byte array. + + + Gets or sets an integer that defines the type of data contained in the property. + An integer that defines the type of data contained in . + + + Gets or sets the value of the property item. + A byte array that represents the value of the property item. + + + Defines a placeable metafile. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the y-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + The y-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the x-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + The x-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the x-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + The x-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the y-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + The y-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the checksum value for the previous ten s in the header. + The checksum value for the previous ten s in the header. + + + Gets or sets the handle of the metafile in memory. + The handle of the metafile in memory. + + + Gets or sets the number of twips per inch. + The number of twips per inch. + + + Gets or sets a value indicating the presence of a placeable metafile header. + A value indicating presence of a placeable metafile header. + + + Reserved. Do not use. + Reserved. Do not use. + + + Defines an object used to draw lines and curves. This class cannot be inherited. + + + Initializes a new instance of the class with the specified . + A that determines the fill properties of this . + + is . + + + Initializes a new instance of the class with the specified and . + A that determines the characteristics of this . + The width of the new . + + is . + + + Initializes a new instance of the class with the specified color. + A structure that indicates the color of this . + + + Initializes a new instance of the class with the specified and properties. + A structure that indicates the color of this . + A value indicating the width of this . + + + Creates an exact copy of this . + An that can be cast to a . + + + Releases all resources used by this . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Multiplies the transformation matrix for this by the specified . + The object by which to multiply the transformation matrix. + + + Multiplies the transformation matrix for this by the specified in the specified order. + The by which to multiply the transformation matrix. + The order in which to perform the multiplication operation. + + + Resets the geometric transformation matrix for this to identity. + + + Rotates the local geometric transformation by the specified angle. This method prepends the rotation to the transformation. + The angle of rotation. + + + Rotates the local geometric transformation by the specified angle in the specified order. + The angle of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transformation by the specified factors. This method prepends the scaling matrix to the transformation. + The factor by which to scale the transformation in the x-axis direction. + The factor by which to scale the transformation in the y-axis direction. + + + Scales the local geometric transformation by the specified factors in the specified order. + The factor by which to scale the transformation in the x-axis direction. + The factor by which to scale the transformation in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Sets the values that determine the style of cap used to end lines drawn by this . + A that represents the cap style to use at the beginning of lines drawn with this . + A that represents the cap style to use at the end of lines drawn with this . + A that represents the cap style to use at the beginning or end of dashed lines drawn with this . + + + Translates the local geometric transformation by the specified dimensions. This method prepends the translation to the transformation. + The value of the translation in x. + The value of the translation in y. + + + Translates the local geometric transformation by the specified dimensions in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets the alignment for this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + A that represents the alignment for this . + + + Gets or sets the that determines attributes of this . + The property is set on an immutable , such as those returned by the class. + A that determines attributes of this . + + + Gets or sets the color of this . + The property is set on an immutable , such as those returned by the class. + A structure that represents the color of this . + + + Gets or sets an array of values that specifies a compound pen. A compound pen draws a compound line made up of parallel lines and spaces. + The property is set on an immutable , such as those returned by the class. + An array of real numbers that specifies the compound array. The elements in the array must be in increasing order, not less than 0, and not greater than 1. + + + Gets or sets a custom cap to use at the end of lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the cap used at the end of lines drawn with this . + + + Gets or sets a custom cap to use at the beginning of lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the cap used at the beginning of lines drawn with this . + + + Gets or sets the cap style used at the end of the dashes that make up dashed lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the beginning and end of the dashes that make up dashed lines drawn with this . + + + Gets or sets the distance from the start of a line to the beginning of a dash pattern. + The property is set on an immutable , such as those returned by the class. + The distance from the start of a line to the beginning of a dash pattern. + + + Gets or sets an array of custom dashes and spaces. + The property is set on an immutable , such as those returned by the class. + An array of real numbers that specifies the lengths of alternating dashes and spaces in dashed lines. + + + Gets or sets the style used for dashed lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the style used for dashed lines drawn with this . + + + Gets or sets the cap style used at the end of lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the end of lines drawn with this . + + + Gets or sets the join style for the ends of two consecutive lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the join style for the ends of two consecutive lines drawn with this . + + + Gets or sets the limit of the thickness of the join on a mitered corner. + The property is set on an immutable , such as those returned by the class. + The limit of the thickness of the join on a mitered corner. + + + Gets the style of lines drawn with this . + A enumeration that specifies the style of lines drawn with this . + + + Gets or sets the cap style used at the beginning of lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the beginning of lines drawn with this . + + + Gets or sets a copy of the geometric transformation for this . + The property is set on an immutable , such as those returned by the class. + A copy of the that represents the geometric transformation for this . + + + Gets or sets the width of this , in units of the object used for drawing. + The property is set on an immutable , such as those returned by the class. + The width of this . + + + Pens for all the standard colors. This class cannot be inherited. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + Specifies the printer's duplex setting. + + + The printer's default duplex setting. + + + Double-sided, horizontal printing. + + + Single-sided printing. + + + Double-sided, vertical printing. + + + Represents the exception that is thrown when you try to access a printer using printer settings that are not valid. + + + Initializes a new instance of the class. + A that specifies the settings for a printer. + + + Initializes a new instance of the class with serialized data. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + is . + The class name is or is 0. + + + Overridden. Sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + is . + + + Specifies the dimensions of the margins of a printed page. + + + Initializes a new instance of the class with 1-inch wide margins. + + + Initializes a new instance of the class with the specified left, right, top, and bottom margins. + The left margin, in hundredths of an inch. + The right margin, in hundredths of an inch. + The top margin, in hundredths of an inch. + The bottom margin, in hundredths of an inch. + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + + Retrieves a duplicate of this object, member by member. + A duplicate of this object. + + + Compares this to the specified to determine whether they have the same dimensions. + The object to which to compare this . + + if the specified object is a and has the same , , and values as this ; otherwise, . + + + Calculates and retrieves a hash code based on the width of the left, right, top, and bottom margins. + A hash code based on the left, right, top, and bottom margins. + + + Compares two to determine if they have the same dimensions. + The first to compare for equality. + The second to compare for equality. + + to indicate the , , , and properties of both margins have the same value; otherwise, . + + + Compares two to determine whether they are of unequal width. + The first to compare for inequality. + The second to compare for inequality. + + to indicate if the , , , or properties of both margins are not equal; otherwise, . + + + Converts the to a string. + A representation of the . + + + Gets or sets the bottom margin, in hundredths of an inch. + The property is set to a value that is less than 0. + The bottom margin, in hundredths of an inch. + + + Gets or sets the left margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The left margin width, in hundredths of an inch. + + + Gets or sets the right margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The right margin width, in hundredths of an inch. + + + Gets or sets the top margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The top margin width, in hundredths of an inch. + + + Provides a for . + + + Initializes a new instance of the class. + + + Returns whether this converter can convert an object of the specified source type to the native type of the converter using the specified context. + An that provides a format context. + A that represents the type from which you want to convert. + + if an object can perform the conversion; otherwise, . + + + Returns whether this converter can convert an object to the given destination type using the context. + An that provides a format context. + A that represents the type to which you want to convert. + + if this converter can perform the conversion; otherwise, . + + + Converts the specified object to the converter's native type. + An that provides a format context. + A that provides the language to convert to. + The to convert. + + does not contain values for all four margins. For example, "100,100,100,100" specifies 1 inch for the left, right, top, and bottom margins. + The conversion cannot be performed. + An that represents the converted value. + + + Converts the given value object to the specified destination type using the specified context and arguments. + An that provides a format context. + A that provides the language to convert to. + The to convert. + The to which to convert the value. + + is . + The conversion cannot be performed. + An that represents the converted value. + + + Creates an given a set of property values for the object. + An that provides a format context. + An of new property values. + + is . + An representing the specified , or if the object cannot be created. + + + Returns whether changing a value on this object requires a call to the method to create a new value, using the specified context. + An that provides a format context. + + if changing a property on this object requires a call to to create a new value; otherwise, . This method always returns . + + + Specifies settings that apply to a single, printed page. + + + Initializes a new instance of the class using the default printer. + + + Initializes a new instance of the class using a specified printer. + The that describes the printer to use. + + + Creates a copy of this . + A copy of this object. + + + Copies the relevant information from the to the specified structure. + The handle to a Win32 structure. + The printer named in the property does not exist or there is no default printer installed. + + + Copies relevant information to the from the specified structure. + The handle to a Win32 structure. + The printer handle is not valid. + The printer named in the property does not exist or there is no default printer installed. + + + Converts the to string form. + A string showing the various property settings for the . + + + Gets the size of the page, taking into account the page orientation specified by the property. + The printer named in the property does not exist. + A that represents the length and width, in hundredths of an inch, of the page. + + + Gets or sets a value indicating whether the page should be printed in color. + The printer named in the property does not exist. + + if the page should be printed in color; otherwise, . The default is determined by the printer. + + + Gets the x-coordinate, in hundredths of an inch, of the hard margin at the left of the page. + The x-coordinate, in hundredths of an inch, of the left-hand hard margin. + + + Gets the y-coordinate, in hundredths of an inch, of the hard margin at the top of the page. + The y-coordinate, in hundredths of an inch, of the hard margin at the top of the page. + + + Gets or sets a value indicating whether the page is printed in landscape or portrait orientation. + The printer named in the property does not exist. + + if the page should be printed in landscape orientation; otherwise, . The default is determined by the printer. + + + Gets or sets the margins for this page. + The printer named in the property does not exist. + A that represents the margins, in hundredths of an inch, for the page. The default is 1-inch margins on all sides. + + + Gets or sets the paper size for the page. + The printer named in the property does not exist or there is no default printer installed. + A that represents the size of the paper. The default is the printer's default paper size. + + + Gets or sets the page's paper source; for example, the printer's upper tray. + The printer named in the property does not exist or there is no default printer installed. + A that specifies the source of the paper. The default is the printer's default paper source. + + + Gets the bounds of the printable area of the page for the printer. + A representing the length and width, in hundredths of an inch, of the area the printer is capable of printing in. + + + Gets or sets the printer resolution for the page. + The printer named in the property does not exist or there is no default printer installed. + A that specifies the printer resolution for the page. The default is the printer's default resolution. + + + Gets or sets the printer settings associated with the page. + A that represents the printer settings associated with the page. + + + Specifies the standard paper sizes. + + + A2 paper (420 mm by 594 mm). + + + A3 paper (297 mm by 420 mm). + + + A3 extra paper (322 mm by 445 mm). + + + A3 extra transverse paper (322 mm by 445 mm). + + + A3 rotated paper (420 mm by 297 mm). + + + A3 transverse paper (297 mm by 420 mm). + + + A4 paper (210 mm by 297 mm). + + + A4 extra paper (236 mm by 322 mm). This value is specific to the PostScript driver and is used only by Linotronic printers to help save paper. + + + A4 plus paper (210 mm by 330 mm). + + + A4 rotated paper (297 mm by 210 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A4 small paper (210 mm by 297 mm). + + + A4 transverse paper (210 mm by 297 mm). + + + A5 paper (148 mm by 210 mm). + + + A5 extra paper (174 mm by 235 mm). + + + A5 rotated paper (210 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A5 transverse paper (148 mm by 210 mm). + + + A6 paper (105 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A6 rotated paper (148 mm by 105 mm). Requires Windows 98, Windows NT 4.0, or later. + + + SuperA/SuperA/A4 paper (227 mm by 356 mm). + + + B4 paper (250 mm by 353 mm). + + + B4 envelope (250 mm by 353 mm). + + + JIS B4 rotated paper (364 mm by 257 mm). Requires Windows 98, Windows NT 4.0, or later. + + + B5 paper (176 mm by 250 mm). + + + B5 envelope (176 mm by 250 mm). + + + ISO B5 extra paper (201 mm by 276 mm). + + + JIS B5 rotated paper (257 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later. + + + JIS B5 transverse paper (182 mm by 257 mm). + + + B6 envelope (176 mm by 125 mm). + + + JIS B6 paper (128 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later. + + + JIS B6 rotated paper (182 mm by 128 mm). Requires Windows 98, Windows NT 4.0, or later. + + + SuperB/SuperB/A3 paper (305 mm by 487 mm). + + + C3 envelope (324 mm by 458 mm). + + + C4 envelope (229 mm by 324 mm). + + + C5 envelope (162 mm by 229 mm). + + + C65 envelope (114 mm by 229 mm). + + + C6 envelope (114 mm by 162 mm). + + + C paper (17 in. by 22 in.). + + + The paper size is defined by the user. + + + DL envelope (110 mm by 220 mm). + + + D paper (22 in. by 34 in.). + + + E paper (34 in. by 44 in.). + + + Executive paper (7.25 in. by 10.5 in.). + + + Folio paper (8.5 in. by 13 in.). + + + German legal fanfold (8.5 in. by 13 in.). + + + German standard fanfold (8.5 in. by 12 in.). + + + Invitation envelope (220 mm by 220 mm). + + + ISO B4 (250 mm by 353 mm). + + + Italy envelope (110 mm by 230 mm). + + + Japanese double postcard (200 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated double postcard (148 mm by 200 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese You #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese You #4 rotated envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese postcard (100 mm by 148 mm). + + + Japanese rotated postcard (148 mm by 100 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Ledger paper (17 in. by 11 in.). + + + Legal paper (8.5 in. by 14 in.). + + + Legal extra paper (9.275 in. by 15 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + Letter paper (8.5 in. by 11 in.). + + + Letter extra paper (9.275 in. by 12 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + Letter extra transverse paper (9.275 in. by 12 in.). + + + Letter plus paper (8.5 in. by 12.69 in.). + + + Letter rotated paper (11 in. by 8.5 in.). + + + Letter small paper (8.5 in. by 11 in.). + + + Letter transverse paper (8.275 in. by 11 in.). + + + Monarch envelope (3.875 in. by 7.5 in.). + + + Note paper (8.5 in. by 11 in.). + + + #10 envelope (4.125 in. by 9.5 in.). + + + #11 envelope (4.5 in. by 10.375 in.). + + + #12 envelope (4.75 in. by 11 in.). + + + #14 envelope (5 in. by 11.5 in.). + + + #9 envelope (3.875 in. by 8.875 in.). + + + 6 3/4 envelope (3.625 in. by 6.5 in.). + + + 16K paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 16K rotated paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K big paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K big rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #1 envelope (102 mm by 165 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #10 envelope (324 mm by 458 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #10 rotated envelope (458 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #1 rotated envelope (165 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #2 envelope (102 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #2 rotated envelope (176 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #3 envelope (125 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #3 rotated envelope (176 mm by 125 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #4 envelope (110 mm by 208 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #4 rotated envelope (208 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #5 envelope (110 mm by 220 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Envelope #5 rotated envelope (220 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #6 envelope (120 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #6 rotated envelope (230 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #7 envelope (160 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #7 rotated envelope (230 mm by 160 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #8 envelope (120 mm by 309 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #8 rotated envelope (309 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #9 envelope (229 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #9 rotated envelope (324 mm by 229 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Quarto paper (215 mm by 275 mm). + + + Standard paper (10 in. by 11 in.). + + + Standard paper (10 in. by 14 in.). + + + Standard paper (11 in. by 17 in.). + + + Standard paper (12 in. by 11 in.). Requires Windows 98, Windows NT 4.0, or later. + + + Standard paper (15 in. by 11 in.). + + + Standard paper (9 in. by 11 in.). + + + Statement paper (5.5 in. by 8.5 in.). + + + Tabloid paper (11 in. by 17 in.). + + + Tabloid extra paper (11.69 in. by 18 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + US standard fanfold (14.875 in. by 11 in.). + + + Specifies the size of a piece of paper. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The name of the paper. + The width of the paper, in hundredths of an inch. + The height of the paper, in hundredths of an inch. + + + Provides information about the in string form. + A string. + + + Gets or sets the height of the paper, in hundredths of an inch. + The property is not set to . + The height of the paper, in hundredths of an inch. + + + Gets the type of paper. + The property is not set to . + One of the values. + + + Gets or sets the name of the type of paper. + The property is not set to . + The name of the type of paper. + + + Gets or sets an integer representing one of the values or a custom value. + An integer representing one of the values, or a custom value. + + + Gets or sets the width of the paper, in hundredths of an inch. + The property is not set to . + The width of the paper, in hundredths of an inch. + + + Specifies the paper tray from which the printer gets paper. + + + Initializes a new instance of the class. + + + Provides information about the in string form. + A string. + + + Gets the paper source. + One of the values. + + + Gets or sets the integer representing one of the values or a custom value. + The integer value representing one of the values or a custom value. + + + Gets or sets the name of the paper source. + The name of the paper source. + + + Standard paper sources. + + + Automatically fed paper. + + + A paper cassette. + + + A printer-specific paper source. + + + An envelope. + + + The printer's default input bin. + + + The printer's large-capacity bin. + + + Large-format paper. + + + The lower bin of a printer. + + + Manually fed paper. + + + Manually fed envelope. + + + The middle bin of a printer. + + + Small-format paper. + + + A tractor feed. + + + The upper bin of a printer (or the default bin, if the printer only has one bin). + + + Specifies print preview information for a single page. This class cannot be inherited. + + + Initializes a new instance of the class. + The image of the printed page. + The size of the printed page, in hundredths of an inch. + + + Gets the image of the printed page. + An representing the printed page. + + + Gets the size of the printed page, in hundredths of an inch. + A that specifies the size of the printed page, in hundredths of an inch. + + + Specifies a print controller that displays a document on a screen as a series of images. + + + Initializes a new instance of the class. + + + Captures the pages of a document as a series of images. + An array of type that contains the pages of a as a series of images. + + + Completes the control sequence that determines when and how to preview a page in a print document. + A that represents the document being previewed. + A that contains data about how to preview a page in the print document. + + + Completes the control sequence that determines when and how to preview a print document. + A that represents the document being previewed. + A that contains data about how to preview the print document. + + + Begins the control sequence that determines when and how to preview a page in a print document. + A that represents the document being previewed. + A that contains data about how to preview a page in the print document. Initially, the property of this parameter will be . The value returned from this method will be used to set this property. + A that represents a page from a . + + + Begins the control sequence that determines when and how to preview a print document. + A that represents the document being previewed. + A that contains data about how to print the document. + The printer named in the property does not exist. + + + Gets a value indicating whether this controller is used for print preview. + + in all cases. + + + Gets or sets a value indicating whether to use anti-aliasing when displaying the print preview. + + if the print preview uses anti-aliasing; otherwise, . The default is . + + + Specifies the type of print operation occurring. + + + The print operation is printing to a file. + + + The print operation is a print preview. + + + The print operation is printing to a printer. + + + Controls how a document is printed, when printing from a Windows Forms application. + + + Initializes a new instance of the class. + + + When overridden in a derived class, completes the control sequence that determines when and how to print a page of a document. + A that represents the document currently being printed. + A that contains the event data. + + + When overridden in a derived class, completes the control sequence that determines when and how to print a document. + A that represents the document currently being printed. + A that contains the event data. + + + When overridden in a derived class, begins the control sequence that determines when and how to print a page of a document. + A that represents the document currently being printed. + A that contains the event data. + A that represents a page from a . + + + When overridden in a derived class, begins the control sequence that determines when and how to print a document. + A that represents the document currently being printed. + A that contains the event data. + + + Gets a value indicating whether the is used for print preview. + + in all cases. + + + Defines a reusable object that sends output to a printer, when printing from a Windows Forms application. + + + Occurs when the method is called and before the first page of the document prints. + + + Occurs when the last page of the document has printed. + + + Occurs when the output to print for the current page is needed. + + + Occurs immediately before each event. + + + Initializes a new instance of the class. + + + Raises the event. It is called after the method is called and before the first page of the document prints. + A that contains the event data. + + + Raises the event. It is called when the last page of the document has printed. + A that contains the event data. + + + Raises the event. It is called before a page prints. + A that contains the event data. + + + Raises the event. It is called immediately before each event. + A that contains the event data. + + + Starts the document's printing process. + The printer named in the property does not exist. + + + Provides information about the print document, in string form. + A string. + + + Gets or sets page settings that are used as defaults for all pages to be printed. + A that specifies the default page settings for the document. + + + Gets or sets the document name to display (for example, in a print status dialog box or printer queue) while printing the document. + The document name to display while printing the document. The default is "document". + + + Gets or sets a value indicating whether the position of a graphics object associated with a page is located just inside the user-specified margins or at the top-left corner of the printable area of the page. + + if the graphics origin starts at the page margins; if the graphics origin is at the top-left corner of the printable page. The default is . + + + Gets or sets the print controller that guides the printing process. + The that guides the printing process. The default is a new instance of the class. + + + Gets or sets the printer that prints the document. + A that specifies where and how the document is printed. The default is a with its properties set to their default values. + + + Represents the resolution supported by a printer. + + + Initializes a new instance of the class. + + + This member overrides the method. + A that contains information about the . + + + Gets or sets the printer resolution. + The value assigned is not a member of the enumeration. + One of the values. + + + Gets the horizontal printer resolution, in dots per inch. + The horizontal printer resolution, in dots per inch, if is set to ; otherwise, a value. + + + Gets the vertical printer resolution, in dots per inch. + The vertical printer resolution, in dots per inch. + + + Specifies a printer resolution. + + + Custom resolution. + + + Draft-quality resolution. + + + High resolution. + + + Low resolution. + + + Medium resolution. + + + Specifies information about how a document is printed, including the printer that prints it, when printing from a Windows Forms application. + + + Initializes a new instance of the class. + + + Creates a copy of this . + A copy of this object. + + + Returns a that contains printer information that is useful when creating a . + The printer named in the property does not exist. + A that contains information from a printer. + + + Returns a that contains printer information, optionally specifying the origin at the margins. + + to indicate the origin at the margins; otherwise, . + A that contains printer information from the . + + + Returns a that contains printer information associated with the specified . + The to retrieve a graphics object for. + A that contains printer information from the . + + + Creates a associated with the specified page settings and optionally specifying the origin at the margins. + The to retrieve a object for. + + to specify the origin at the margins; otherwise, . + A that contains printer information from the . + + + Creates a handle to a structure that corresponds to the printer settings. + The printer named in the property does not exist. + The printer's initialization information could not be retrieved. + A handle to a structure. + + + Creates a handle to a structure that corresponds to the printer and the page settings specified through the parameter. + The object that the structure's handle corresponds to. + The printer named in the property does not exist. + The printer's initialization information could not be retrieved. + A handle to a structure. + + + Creates a handle to a structure that corresponds to the printer settings. + A handle to a structure. + + + Gets a value indicating whether the printer supports printing the specified image file. + The image to print. + + if the printer supports printing the specified image; otherwise, . + + + Returns a value indicating whether the printer supports printing the specified image format. + An to print. + + if the printer supports printing the specified image format; otherwise, . + + + Copies the relevant information out of the given handle and into the . + The handle to a Win32 structure. + The printer handle is not valid. + + + Copies the relevant information out of the given handle and into the . + The handle to a Win32 structure. + The printer handle is invalid. + + + Provides information about the in string form. + A string. + + + Gets a value indicating whether the printer supports double-sided printing. + + if the printer supports double-sided printing; otherwise, . + + + Gets or sets a value indicating whether the printed document is collated. + + if the printed document is collated; otherwise, . The default is . + + + Gets or sets the number of copies of the document to print. + The value of the property is less than zero. + The number of copies to print. The default is 1. + + + Gets the default page settings for this printer. + A that represents the default page settings for this printer. + + + Gets or sets the printer setting for double-sided printing. + The value of the property is not one of the values. + One of the values. The default is determined by the printer. + + + Gets or sets the page number of the first page to print. + The property's value is less than zero. + The page number of the first page to print. + + + Gets the names of all printers installed on the computer. + The available printers could not be enumerated. + A that represents the names of all printers installed on the computer. + + + Gets a value indicating whether the property designates the default printer, except when the user explicitly sets . + + if designates the default printer; otherwise, . + + + Gets a value indicating whether the printer is a plotter. + + if the printer is a plotter; if the printer is a raster. + + + Gets a value indicating whether the property designates a valid printer. + + if the property designates a valid printer; otherwise, . + + + Gets the angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation. + The angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation. + + + Gets the maximum number of copies that the printer enables the user to print at a time. + The maximum number of copies that the printer enables the user to print at a time. + + + Gets or sets the maximum or that can be selected in a . + The value of the property is less than zero. + The maximum or that can be selected in a . + + + Gets or sets the minimum or that can be selected in a . + The value of the property is less than zero. + The minimum or that can be selected in a . + + + Gets the paper sizes that are supported by this printer. + A that represents the paper sizes that are supported by this printer. + + + Gets the paper source trays that are available on the printer. + A that represents the paper source trays that are available on this printer. + + + Gets or sets the name of the printer to use. + The name of the printer to use. + + + Gets all the resolutions that are supported by this printer. + A that represents the resolutions that are supported by this printer. + + + Gets or sets the file name, when printing to a file. + The file name, when printing to a file. + + + Gets or sets the page numbers that the user has specified to be printed. + The value of the property is not one of the values. + One of the values. + + + Gets or sets a value indicating whether the printing output is sent to a file instead of a port. + + if the printing output is sent to a file; otherwise, . The default is . + + + Gets a value indicating whether this printer supports color printing. + + if this printer supports color; otherwise, . + + + Gets or sets the number of the last page to print. + The value of the property is less than zero. + The number of the last page to print. + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a to the end of the collection. + The to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + A zero-based array that receives the items copied from the collection. + The index at which to start copying items. + + + For a description of this member, see . + An enumerator associated with the collection. + + + Gets the number of different paper sizes in the collection. + The number of different paper sizes in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds the specified to end of the . + The to add to the collection. + The zero-based index where the was added. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The destination array for the contents of the collection. + The index at which to start the copy operation. + + + For a description of this member, see . + An object that can be used to iterate through the collection. + + + Gets the number of different paper sources in the collection. + The number of different paper sources in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a to the end of the collection. + The to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The destination array. + The index at which to start the copy operation. + + + For a description of this member, see . + An object that can be used to iterate through the collection. + + + Gets the number of available printer resolutions in the collection. + The number of available printer resolutions in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a string to the end of the collection. + The string to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The array for items to be copied to. + The starting index. + + + For a description of this member, see . + An enumerator that can be used to iterate through the collection. + + + Gets the number of strings in the collection. + The number of strings in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Specifies several of the units of measure used for printing. + + + The default unit (0.01 in.). + + + One-hundredth of a millimeter (0.01 mm). + + + One-tenth of a millimeter (0.1 mm). + + + One-thousandth of an inch (0.001 in.). + + + Specifies a series of conversion methods that are useful when interoperating with the Win32 printing API. This class cannot be inherited. + + + Converts a double-precision floating-point number from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A double-precision floating-point number that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a 32-bit signed integer from one type to another type. + The value being converted. + The unit to convert from. + The unit to convert to. + A 32-bit signed integer that represents the converted . + + + Provides data for the and events. + + + Initializes a new instance of the class. + + + Returns in all cases. + + in all cases. + + + Represents the method that will handle the or event of a . + The source of the event. + A that contains the event data. + + + Provides data for the event. + + + Initializes a new instance of the class. + The used to paint the item. + The area between the margins. + The total area of the paper. + The for the page. + + + Gets or sets a value indicating whether the print job should be canceled. + + if the print job should be canceled; otherwise, . + + + Gets the used to paint the page. + The used to paint the page. + + + Gets or sets a value indicating whether an additional page should be printed. + + if an additional page should be printed; otherwise, . The default is . + + + Gets the rectangular area that represents the portion of the page inside the margins. + The rectangular area, measured in hundredths of an inch, that represents the portion of the page inside the margins. + + + Gets the rectangular area that represents the total area of the page. + The rectangular area that represents the total area of the page. + + + Gets the page settings for the current page. + The page settings for the current page. + + + Represents the method that will handle the event of a . + The source of the event. + A that contains the event data. + + + Specifies the part of the document to print. + + + All pages are printed. + + + The currently displayed page is printed. + + + The selected pages are printed. + + + The pages between and are printed. + + + Provides data for the event. + + + Initializes a new instance of the class. + The page settings for the page to be printed. + + + Gets or sets the page settings for the page to be printed. + The page settings for the page to be printed. + + + Represents the method that handles the event of a . + The source of the event. + A that contains the event data. + + + Specifies a print controller that sends information to a printer. + + + Initializes a new instance of the class. + + + Completes the control sequence that determines when and how to print a page of a document. + A that represents the document being printed. + A that contains data about how to print a page in the document. + The native Win32 Application Programming Interface (API) could not finish writing to a page. + + + Completes the control sequence that determines when and how to print a document. + A that represents the document being printed. + A that contains data about how to print the document. + The native Win32 Application Programming Interface (API) could not complete the print job. + + -or- + + The native Windows API could not delete the specified device context (DC). + + + Begins the control sequence that determines when and how to print a page in a document. + A that represents the document being printed. + A that contains data about how to print a page in the document. Initially, the property of this parameter will be . The value returned from the method will be used to set this property. + The native Win32 Application Programming Interface (API) could not prepare the printer driver to accept data. + + -or- + + The native Windows API could not update the specified printer or plotter device context (DC) using the specified information. + A object that represents a page from a . + + + Begins the control sequence that determines when and how to print a document. + A that represents the document being printed. + A that contains data about how to print the document. + The printer settings are not valid. + The native Win32 Application Programming Interface (API) could not start a print job. + + + Describes the interior of a graphics shape composed of rectangles and paths. This class cannot be inherited. + + + Initializes a new . + + + Initializes a new with the specified . + A that defines the new . + + is . + + + Initializes a new from the specified data. + A that defines the interior of the new . + + is . + + + Initializes a new from the specified structure. + A structure that defines the interior of the new . + + + Initializes a new from the specified structure. + A structure that defines the interior of the new . + + + Creates an exact copy of this . + The that this method creates. + + + Updates this to contain the portion of the specified that does not intersect with this . + The to complement this . + + is . + + + Updates this to contain the portion of the specified structure that does not intersect with this . + The structure to complement this . + + + Updates this to contain the portion of the specified structure that does not intersect with this . + The structure to complement this . + + + Updates this to contain the portion of the specified that does not intersect with this . + The object to complement this object. + + is . + + + Releases all resources used by this . + + + Tests whether the specified is identical to this on the specified drawing surface. + The to test. + A that represents a drawing surface. + + or is . + + if the interior of region is identical to the interior of this region when the transformation associated with the parameter is applied; otherwise, . + + + Updates this to contain only the portion of its interior that does not intersect with the specified . + The to exclude from this . + + is . + + + Updates this to contain only the portion of its interior that does not intersect with the specified structure. + The structure to exclude from this . + + + Updates this to contain only the portion of its interior that does not intersect with the specified structure. + The structure to exclude from this . + + + Updates this to contain only the portion of its interior that does not intersect with the specified . + The to exclude from this . + + is . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Initializes a new from a handle to the specified existing GDI region. + A handle to an existing . + The new . + + + Gets a structure that represents a rectangle that bounds this on the drawing surface of a object. + The on which this is drawn. + + is . + A structure that represents the bounding rectangle for this on the specified drawing surface. + + + Returns a Windows handle to this in the specified graphics context. + The on which this is drawn. + + is . + A Windows handle to this . + + + Returns a that represents the information that describes this . + A that represents the information that describes this . + + + Returns an array of structures that approximate this after the specified matrix transformation is applied. + A that represents a geometric transformation to apply to the region. + + is . + An array of structures that approximate this after the specified matrix transformation is applied. + + + Updates this to the intersection of itself with the specified . + The to intersect with this . + + + Updates this to the intersection of itself with the specified structure. + The structure to intersect with this . + + + Updates this to the intersection of itself with the specified structure. + The structure to intersect with this . + + + Updates this to the intersection of itself with the specified . + The to intersect with this . + + + Tests whether this has an empty interior on the specified drawing surface. + A that represents a drawing surface. + + is . + + if the interior of this is empty when the transformation associated with is applied; otherwise, . + + + Tests whether this has an infinite interior on the specified drawing surface. + A that represents a drawing surface. + + is . + + if the interior of this is infinite when the transformation associated with is applied; otherwise, . + + + Tests whether the specified structure is contained within this . + The structure to test. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this . + The structure to test. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this . + The structure to test. + This method returns when any portion of is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when any portion of the is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this . + The structure to test. + + when any portion of is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this object when drawn using the specified object. + The x-coordinate of the point to test. + The y-coordinate of the point to test. + A that represents a graphics context. + + when the specified point is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this when drawn using the specified . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + A that represents a graphics context. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + + when the specified point is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this when drawn using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + A that represents a graphics context. + + when the specified point is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + + when any portion of the specified rectangle is contained within this object; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this when drawn using the specified . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + A that represents a graphics context. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Initializes this to an empty interior. + + + Initializes this object to an infinite interior. + + + Releases the handle of the . + The handle to the . + + is . + + + Transforms this by the specified . + The by which to transform this . + + is . + + + Offsets the coordinates of this by the specified amount. + The amount to offset this horizontally. + The amount to offset this vertically. + + + Offsets the coordinates of this by the specified amount. + The amount to offset this horizontally. + The amount to offset this vertically. + + + Updates this to the union of itself and the specified . + The to unite with this . + + is . + + + Updates this to the union of itself and the specified structure. + The structure to unite with this . + + + Updates this to the union of itself and the specified structure. + The structure to unite with this . + + + Updates this to the union of itself and the specified . + The to unite with this . + + is . + + + Updates this to the union minus the intersection of itself with the specified . + The to with this . + + is . + + + Updates this to the union minus the intersection of itself with the specified structure. + The structure to with this . + + + Updates this to the union minus the intersection of itself with the specified structure. + The structure to with this . + + + Updates this to the union minus the intersection of itself with the specified . + The to with this . + + is . + + + Specifies how much an image is rotated and the axis used to flip the image. + + + Specifies a 180-degree clockwise rotation without flipping. + + + Specifies a 180-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 180-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 180-degree clockwise rotation followed by a vertical flip. + + + Specifies a 270-degree clockwise rotation without flipping. + + + Specifies a 270-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 270-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 270-degree clockwise rotation followed by a vertical flip. + + + Specifies a 90-degree clockwise rotation without flipping. + + + Specifies a 90-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 90-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 90-degree clockwise rotation followed by a vertical flip. + + + Specifies no clockwise rotation and no flipping. + + + Specifies no clockwise rotation followed by a horizontal flip. + + + Specifies no clockwise rotation followed by a horizontal and vertical flip. + + + Specifies no clockwise rotation followed by a vertical flip. + + + Defines a brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths. This class cannot be inherited. + + + Initializes a new object of the specified color. + A structure that represents the color of this brush. + + + Creates an exact copy of this object. + The object that this method creates. + + + Gets or sets the color of this object. + The property is set on an immutable . + A structure that represents the color of this brush. + + + Specifies the alignment of a text string relative to its layout rectangle. + + + Specifies that text is aligned in the center of the layout rectangle. + + + Specifies that text is aligned far from the origin position of the layout rectangle. In a left-to-right layout, the far position is right. In a right-to-left layout, the far position is left. + + + Specifies the text be aligned near the layout. In a left-to-right layout, the near position is left. In a right-to-left layout, the near position is right. + + + The enumeration specifies how to substitute digits in a string according to a user's locale or language. + + + Specifies substitution digits that correspond with the official national language of the user's locale. + + + Specifies to disable substitutions. + + + Specifies substitution digits that correspond with the user's native script or language, which may be different from the official national language of the user's locale. + + + Specifies a user-defined substitution scheme. + + + Encapsulates text layout information (such as alignment, orientation and tab stops) display manipulations (such as ellipsis insertion and national digit substitution) and OpenType features. This class cannot be inherited. + + + Initializes a new object. + + + Initializes a new object from the specified existing object. + The object from which to initialize the new object. + + is . + + + Initializes a new object with the specified enumeration. + The enumeration for the new object. + + + Initializes a new object with the specified enumeration and language. + The enumeration for the new object. + A value that indicates the language of the text. + + + Creates an exact copy of this object. + The object this method creates. + + + Releases all resources used by this object. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Gets the tab stops for this object. + The number of spaces between the beginning of a text line and the first tab stop. + An array of distances (in number of spaces) between tab stops. + + + Specifies the language and method to be used when local digits are substituted for western digits. + A National Language Support (NLS) language identifier that identifies the language that will be used when local digits are substituted for western digits. You can pass the property of a object as the NLS language identifier. For example, suppose you create a object by passing the string "ar-EG" to a constructor. If you pass the property of that object along with to the method, then Arabic-Indic digits will be substituted for western digits at display time. + An element of the enumeration that specifies how digits are displayed. + + + Specifies an array of structures that represent the ranges of characters measured by a call to the method. + An array of structures that specifies the ranges of characters measured by a call to the method. + More than 32 character ranges are set. + + + Sets tab stops for this object. + The number of spaces between the beginning of a line of text and the first tab stop. + An array of distances between tab stops in the units specified by the property. + + + Converts this object to a human-readable string. + A string representation of this object. + + + Gets or sets horizontal alignment of the string. + A enumeration that specifies the horizontal alignment of the string. + + + Gets the language that is used when local digits are substituted for western digits. + A National Language Support (NLS) language identifier that identifies the language that will be used when local digits are substituted for western digits. You can pass the property of a object as the NLS language identifier. For example, suppose you create a object by passing the string "ar-EG" to a constructor. If you pass the property of that object along with to the method, then Arabic-Indic digits will be substituted for western digits at display time. + + + Gets the method to be used for digit substitution. + A enumeration value that specifies how to substitute characters in a string that cannot be displayed because they are not supported by the current font. + + + Gets or sets a enumeration that contains formatting information. + A enumeration that contains formatting information. + + + Gets a generic default object. + The generic default object. + + + Gets a generic typographic object. + A generic typographic object. + + + Gets or sets the object for this object. + The object for this object, the default is . + + + Gets or sets the vertical alignment of the string. + A enumeration that represents the vertical line alignment. + + + Gets or sets the enumeration for this object. + A enumeration that indicates how text drawn with this object is trimmed when it exceeds the edges of the layout rectangle. + + + Specifies the display and layout information for text strings. + + + Text is displayed from right to left. + + + Text is vertically aligned. + + + Control characters such as the left-to-right mark are shown in the output with a representative glyph. + + + Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang. + + + Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line. + + + Includes the trailing space at the end of each line. By default the boundary rectangle returned by the method excludes the space at the end of each line. Set this flag to include that space in measurement. + + + Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped. + + + Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square. + + + Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length. + + + Specifies how to trim characters from a string that does not completely fit into a layout shape. + + + Specifies that the text is trimmed to the nearest character. + + + Specifies that the text is trimmed to the nearest character, and an ellipsis is inserted at the end of a trimmed line. + + + The center is removed from trimmed lines and replaced by an ellipsis. The algorithm keeps as much of the last slash-delimited segment of the line as possible. + + + Specifies that text is trimmed to the nearest word, and an ellipsis is inserted at the end of a trimmed line. + + + Specifies no trimming. + + + Specifies that text is trimmed to the nearest word. + + + Specifies the units of measure for a text string. + + + Specifies the device unit as the unit of measure. + + + Specifies 1/300 of an inch as the unit of measure. + + + Specifies a printer's em size of 32 as the unit of measure. + + + Specifies an inch as the unit of measure. + + + Specifies a millimeter as the unit of measure. + + + Specifies a pixel as the unit of measure. + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + Specifies world units as the unit of measure. + + + Each property of the class is a that is the color of a Windows display element. + + + Creates a from the specified structure. + The structure from which to create the . + The this method creates. + + + Gets a that is the color of the active window's border. + A that is the color of the active window's border. + + + Gets a that is the color of the background of the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the text in the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the application workspace. + A that is the color of the application workspace. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the dark shadow color of a 3-D element. + A that is the dark shadow color of a 3-D element. + + + Gets a that is the light color of a 3-D element. + A that is the light color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the color of text in a 3-D element. + A that is the color of text in a 3-D element. + + + Gets a that is the color of the desktop. + A that is the color of the desktop. + + + Gets a that is the lightest color in the color gradient of an active window's title bar. + A that is the lightest color in the color gradient of an active window's title bar. + + + Gets a that is the lightest color in the color gradient of an inactive window's title bar. + A that is the lightest color in the color gradient of an inactive window's title bar. + + + Gets a that is the color of dimmed text. + A that is the color of dimmed text. + + + Gets a that is the color of the background of selected items. + A that is the color of the background of selected items. + + + Gets a that is the color of the text of selected items. + A that is the color of the text of selected items. + + + Gets a that is the color used to designate a hot-tracked item. + A that is the color used to designate a hot-tracked item. + + + Gets a that is the color of an inactive window's border. + A that is the color of an inactive window's border. + + + Gets a that is the color of the background of an inactive window's title bar. + A that is the color of the background of an inactive window's title bar. + + + Gets a that is the color of the text in an inactive window's title bar. + A that is the color of the text in an inactive window's title bar. + + + Gets a that is the color of the background of a ToolTip. + A that is the color of the background of a ToolTip. + + + Gets a that is the color of the text of a ToolTip. + A is the color of the text of a ToolTip. + + + Gets a that is the color of a menu's background. + A that is the color of a menu's background. + + + Gets a that is the color of the background of a menu bar. + A that is the color of the background of a menu bar. + + + Gets a that is the color used to highlight menu items when the menu appears as a flat menu. + A that is the color used to highlight menu items when the menu appears as a flat menu. + + + Gets a that is the color of a menu's text. + A that is the color of a menu's text. + + + Gets a that is the color of the background of a scroll bar. + A that is the color of the background of a scroll bar. + + + Gets a that is the color of the background in the client area of a window. + A that is the color of the background in the client area of a window. + + + Gets a that is the color of a window frame. + A that is the color of a window frame. + + + Gets a that is the color of the text in the client area of a window. + A that is the color of the text in the client area of a window. + + + Specifies the fonts used to display text in Windows display elements. + + + Returns a font object that corresponds to the specified system font name. + The name of the system font you need a font object for. + A if the specified name matches a value in ; otherwise, . + + + Gets a that is used to display text in the title bars of windows. + A that is used to display text in the title bars of windows. + + + Gets the default font that applications can use for dialog boxes and forms. + The default of the system. The value returned will vary depending on the user's operating system and the local culture setting of their system. + + + Gets a font that applications can use for dialog boxes and forms. + A that can be used for dialog boxes and forms, depending on the operating system and local culture setting of the system. + + + Gets a that is used for icon titles. + A that is used for icon titles. + + + Gets a that is used for menus. + A that is used for menus. + + + Gets a that is used for message boxes. + A that is used for message boxes + + + Gets a that is used to display text in the title bars of small windows, such as tool windows. + A that is used to display text in the title bars of small windows, such as tool windows. + + + Gets a that is used to display text in the status bar. + A that is used to display text in the status bar. + + + Each property of the class is an object for Windows system-wide icons. This class cannot be inherited. + + + Gets an object that contains the default application icon (WIN32: IDI_APPLICATION). + An object that contains the default application icon. + + + Gets an object that contains the system asterisk icon (WIN32: IDI_ASTERISK). + An object that contains the system asterisk icon. + + + Gets an object that contains the system error icon (WIN32: IDI_ERROR). + An object that contains the system error icon. + + + Gets an object that contains the system exclamation icon (WIN32: IDI_EXCLAMATION). + An object that contains the system exclamation icon. + + + Gets an object that contains the system hand icon (WIN32: IDI_HAND). + An object that contains the system hand icon. + + + Gets an object that contains the system information icon (WIN32: IDI_INFORMATION). + An object that contains the system information icon. + + + Gets an object that contains the system question icon (WIN32: IDI_QUESTION). + An object that contains the system question icon. + + + Gets an object that contains the shield icon. + An object that contains the shield icon. + + + Gets an object that contains the system warning icon (WIN32: IDI_WARNING). + An object that contains the system warning icon. + + + Gets an object that contains the Windows logo icon (WIN32: IDI_WINLOGO). + An object that contains the Windows logo icon. + + + Each property of the class is a that is the color of a Windows display element and that has a width of 1 pixel. + + + Creates a from the specified . + The for the new . + The this method creates. + + + Gets a that is the color of the active window's border. + A that is the color of the active window's border. + + + Gets a that is the color of the background of the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the text in the active window's title bar. + A that is the color of the text in the active window's title bar. + + + Gets a that is the color of the application workspace. + A that is the color of the application workspace. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the dark shadow color of a 3-D element. + A that is the dark shadow color of a 3-D element. + + + Gets a that is the light color of a 3-D element. + A that is the light color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the color of text in a 3-D element. + A that is the color of text in a 3-D element. + + + Gets a that is the color of the Windows desktop. + A that is the color of the Windows desktop. + + + Gets a that is the lightest color in the color gradient of an active window's title bar. + A that is the lightest color in the color gradient of an active window's title bar. + + + Gets a that is the lightest color in the color gradient of an inactive window's title bar. + A that is the lightest color in the color gradient of an inactive window's title bar. + + + Gets a that is the color of dimmed text. + A that is the color of dimmed text. + + + Gets a that is the color of the background of selected items. + A that is the color of the background of selected items. + + + Gets a that is the color of the text of selected items. + A that is the color of the text of selected items. + + + Gets a that is the color used to designate a hot-tracked item. + A that is the color used to designate a hot-tracked item. + + + Gets a is the color of the border of an inactive window. + A that is the color of the border of an inactive window. + + + Gets a that is the color of the title bar caption of an inactive window. + A that is the color of the title bar caption of an inactive window. + + + Gets a that is the color of the text in an inactive window's title bar. + A that is the color of the text in an inactive window's title bar. + + + Gets a that is the color of the background of a ToolTip. + A that is the color of the background of a ToolTip. + + + Gets a that is the color of the text of a ToolTip. + A that is the color of the text of a ToolTip. + + + Gets a that is the color of a menu's background. + A that is the color of a menu's background. + + + Gets a that is the color of the background of a menu bar. + A that is the color of the background of a menu bar. + + + Gets a that is the color used to highlight menu items when the menu appears as a flat menu. + A that is the color used to highlight menu items when the menu appears as a flat menu. + + + Gets a that is the color of a menu's text. + A that is the color of a menu's text. + + + Gets a that is the color of the background of a scroll bar. + A that is the color of the background of a scroll bar. + + + Gets a that is the color of the background in the client area of a window. + A that is the color of the background in the client area of a window. + + + Gets a that is the color of a window frame. + A that is the color of a window frame. + + + Gets a that is the color of the text in the client area of a window. + A that is the color of the text in the client area of a window. + + + Provides a base class for installed and private font collections. + + + Releases all resources used by this . + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Gets the array of objects associated with this . + An array of objects. + + + Specifies a generic object. + + + A generic Monospace object. + + + A generic Sans Serif object. + + + A generic Serif object. + + + Specifies the type of display for hot-key prefixes that relate to text. + + + Do not display the hot-key prefix. + + + No hot-key prefix. + + + Display the hot-key prefix. + + + Represents the fonts installed on the system. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Provides a collection of font families built from font files that are provided by the client application. + + + Initializes a new instance of the class. + + + Adds a font from the specified file to this . + A that contains the file name of the font to add. + The specified font is not supported or the font file cannot be found. + + + Adds a font contained in system memory to this . + The memory address of the font to add. + The memory length of the font to add. + + + Specifies the quality of text rendering. + + + Each character is drawn using its antialiased glyph bitmap without hinting. Better quality due to antialiasing. Stem width differences may be noticeable because hinting is turned off. + + + Each character is drawn using its antialiased glyph bitmap with hinting. Much better quality due to antialiasing, but at a higher performance cost. + + + Each character is drawn using its glyph ClearType bitmap with hinting. The highest quality setting. Used to take advantage of ClearType font features. + + + Each character is drawn using its glyph bitmap. Hinting is not used. + + + Each character is drawn using its glyph bitmap. Hinting is used to improve character appearance on stems and curvature. + + + Each character is drawn using its glyph bitmap, with the system default rendering hint. The text will be drawn using whatever font-smoothing settings the user has selected for the system. + + + Each property of the class is a object that uses an image to fill the interior of a shape. This class cannot be inherited. + + + Initializes a new object that uses the specified image. + The object with which this object fills interiors. + + + Initializes a new object that uses the specified image and wrap mode. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + + + Initializes a new object that uses the specified image, wrap mode, and bounding rectangle. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, wrap mode, and bounding rectangle. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image and bounding rectangle. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, bounding rectangle, and image attributes. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + An object that contains additional information about the image used by this object. + + + Initializes a new object that uses the specified image and bounding rectangle. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, bounding rectangle, and image attributes. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + An object that contains additional information about the image used by this object. + + + Creates an exact copy of this object. + The object this method creates, cast as an object. + + + Multiplies the object that represents the local geometric transformation of this object by the specified object by prepending the specified object. + The object by which to multiply the geometric transformation. + + + Multiplies the object that represents the local geometric transformation of this object by the specified object in the specified order. + The object by which to multiply the geometric transformation. + A enumeration that specifies the order in which to multiply the two matrices. + + + Resets the property of this object to identity. + + + Rotates the local geometric transformation of this object by the specified amount. This method prepends the rotation to the transformation. + The angle of rotation. + + + Rotates the local geometric transformation of this object by the specified amount in the specified order. + The angle of rotation. + A enumeration that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transformation of this object by the specified amounts. This method prepends the scaling matrix to the transformation. + The amount by which to scale the transformation in the x direction. + The amount by which to scale the transformation in the y direction. + + + Scales the local geometric transformation of this object by the specified amounts in the specified order. + The amount by which to scale the transformation in the x direction. + The amount by which to scale the transformation in the y direction. + A enumeration that specifies whether to append or prepend the scaling matrix. + + + Translates the local geometric transformation of this object by the specified dimensions. This method prepends the translation to the transformation. + The dimension by which to translate the transformation in the x direction. + The dimension by which to translate the transformation in the y direction. + + + Translates the local geometric transformation of this object by the specified dimensions in the specified order. + The dimension by which to translate the transformation in the x direction. + The dimension by which to translate the transformation in the y direction. + The order (prepend or append) in which to apply the translation. + + + Gets the object associated with this object. + An object that represents the image with which this object fills shapes. + + + Gets or sets a copy of the object that defines a local geometric transformation for the image associated with this object. + A copy of the object that defines a geometric transformation that applies only to fills drawn by using this object. + + + Gets or sets a enumeration that indicates the wrap mode for this object. + A enumeration that specifies how fills drawn by using this object are tiled. + + + Allows you to specify an icon to represent a control in a container, such as the Microsoft Visual Studio Form Designer. + + + A object that has its small image and its large image set to . + + + Initializes a new object with an image from a specified file. + The name of a file that contains a 16 by 16 bitmap. + + + Initializes a new object based on a 16 x 16 bitmap that is embedded as a resource in a specified assembly. + A whose defining assembly is searched for the bitmap resource. + + + Initializes a new object based on a 16 by 16 bitmap that is embedded as a resource in a specified assembly. + A whose defining assembly is searched for the bitmap resource. + The name of the embedded bitmap resource. + + + Indicates whether the specified object is a object and is identical to this object. + The to test. + This method returns if is both a object and is identical to this object. + + + Gets a hash code for this object. + The hash code for this object. + + + Gets the small associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type of the object specified by the component parameter. For example, if you pass an object of type ControlA to the component parameter, then this method searches the assembly that defines ControlA. + The small associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type of the object specified by the component parameter. For example, if you pass an object of type ControlA to the component parameter, then this method searches the assembly that defines ControlA. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An object associated with this object. + + + Gets the small associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type specified by the type parameter. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + The small associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type specified by the component type. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for an embedded bitmap resource in the assembly that defines the type specified by the component type. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + The name of the embedded bitmap resource. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An associated with this object. + + + Returns an object based on a bitmap resource that is embedded in an assembly. + This method searches for an embedded bitmap resource in the assembly that defines the type specified by the t parameter. For example, if you pass typeof(ControlA) to the t parameter, then this method searches the assembly that defines ControlA. + The name of the embedded bitmap resource. + Specifies whether this method returns a large image (true) or a small image (false). The small image is 16 by 16, and the large image is 32 x 32. + An object based on the retrieved bitmap. + + + \ No newline at end of file diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/xamarinios10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/xamarinmac20/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/xamarintvos10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/xamarinwatchos10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/lib/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/MonoAndroid10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/MonoTouch10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/netcoreapp3.0/System.Drawing.Common.xml b/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/netcoreapp3.0/System.Drawing.Common.xml new file mode 100644 index 0000000..99486f8 --- /dev/null +++ b/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/netcoreapp3.0/System.Drawing.Common.xml @@ -0,0 +1,12076 @@ + + + + System.Drawing.Common + + + + Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A is an object used to work with images defined by pixel data. + + + Initializes a new instance of the class from the specified existing image. + The from which to create the new . + + + Initializes a new instance of the class from the specified existing image, scaled to the specified size. + The from which to create the new . + The structure that represent the size of the new . + The operation failed. + + + Initializes a new instance of the class from the specified existing image, scaled to the specified size. + The from which to create the new . + The width, in pixels, of the new . + The height, in pixels, of the new . + The operation failed. + + + Initializes a new instance of the class with the specified size. + The width, in pixels, of the new . + The height, in pixels, of the new . + The operation failed. + + + Initializes a new instance of the class with the specified size and with the resolution of the specified object. + The width, in pixels, of the new . + The height, in pixels, of the new . + The object that specifies the resolution for the new . + + is . + + + Initializes a new instance of the class with the specified size and format. + The width, in pixels, of the new . + The height, in pixels, of the new . + The pixel format for the new . This must specify a value that begins with Format. + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + + + Initializes a new instance of the class with the specified size, pixel format, and pixel data. + The width, in pixels, of the new . + The height, in pixels, of the new . + Integer that specifies the byte offset between the beginning of one scan line and the next. This is usually (but not necessarily) the number of bytes in the pixel format (for example, 2 for 16 bits per pixel) multiplied by the width of the bitmap. The value passed to this parameter must be a multiple of four. + The pixel format for the new . This must specify a value that begins with Format. + Pointer to an array of bytes that contains the pixel data. + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + + + Initializes a new instance of the class from the specified data stream. + The data stream used to load the image. + + does not contain image data or is . + + -or- + + contains a PNG image file with a single dimension greater than 65,535 pixels. + + + Initializes a new instance of the class from the specified data stream. + The data stream used to load the image. + + to use color correction for this ; otherwise, . + + does not contain image data or is . + + -or- + + contains a PNG image file with a single dimension greater than 65,535 pixels. + + + Initializes a new instance of the class from the specified file. + The bitmap file name and path. + The specified file is not found. + + + Initializes a new instance of the class from the specified file. + The name of the bitmap file. + + to use color correction for this ; otherwise, . + + + Initializes a new instance of the class from a specified resource. + The class used to extract the resource. + The name of the resource. + + + Creates a copy of the section of this defined by structure and with a specified enumeration. + Defines the portion of this to copy. Coordinates are relative to this . + The pixel format for the new . This must specify a value that begins with Format. + + is outside of the source bitmap bounds. + The height or width of is 0. + + -or- + + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + The new that this method creates. + + + Creates a copy of the section of this defined with a specified enumeration. + Defines the portion of this to copy. + Specifies the enumeration for the destination . + + is outside of the source bitmap bounds. + The height or width of is 0. + The that this method creates. + + + Creates a from a Windows handle to an icon. + A handle to an icon. + The that this method creates. + + + Creates a from the specified Windows resource. + A handle to an instance of the executable file that contains the resource. + A string that contains the name of the resource bitmap. + The that this method creates. + + + Creates a GDI bitmap object from this . + The height or width of the bitmap is greater than . + The operation failed. + A handle to the GDI bitmap object that this method creates. + + + Creates a GDI bitmap object from this . + A structure that specifies the background color. This parameter is ignored if the bitmap is totally opaque. + The height or width of the bitmap is greater than . + The operation failed. + A handle to the GDI bitmap object that this method creates. + + + Returns the handle to an icon. + The operation failed. + A Windows handle to an icon with the same image as the . + + + Gets the color of the specified pixel in this . + The x-coordinate of the pixel to retrieve. + The y-coordinate of the pixel to retrieve. + + is less than 0, or greater than or equal to . + + -or- + + is less than 0, or greater than or equal to . + The operation failed. + A structure that represents the color of the specified pixel. + + + Locks a into system memory. + A structure that specifies the portion of the to lock. + An enumeration that specifies the access level (read/write) for the . + A enumeration that specifies the data format of this . + The is not a specific bits-per-pixel value. + + -or- + + The incorrect is passed in for a bitmap. + The operation failed. + A that contains information about this lock operation. + + + Locks a into system memory. + A rectangle structure that specifies the portion of the to lock. + One of the values that specifies the access level (read/write) for the . + One of the values that specifies the data format of the . + A that contains information about the lock operation. + + value is not a specific bits-per-pixel value. + + -or- + + The incorrect is passed in for a bitmap. + The operation failed. + A that contains information about the lock operation. + + + Makes the default transparent color transparent for this . + The image format of the is an icon format. + The operation failed. + + + Makes the specified color transparent for this . + The structure that represents the color to make transparent. + The image format of the is an icon format. + The operation failed. + + + Sets the color of the specified pixel in this . + The x-coordinate of the pixel to set. + The y-coordinate of the pixel to set. + A structure that represents the color to assign to the specified pixel. + The operation failed. + + + Sets the resolution for this . + The horizontal resolution, in dots per inch, of the . + The vertical resolution, in dots per inch, of the . + The operation failed. + + + Unlocks this from system memory. + A that specifies information about the lock operation. + The operation failed. + + + Specifies that, when interpreting declarations, the assembly should look for the indicated resources in the same assembly, but with the configuration value appended to the declared file name. + + + Initializes a new instance of the class. + + + Specifies that, when interpreting declarations, the assembly should look for the indicated resources in a satellite assembly, but with the configuration value appended to the declared file name. + + + Initializes a new instance of the class. + + + Defines objects used to fill the interiors of graphical shapes such as rectangles, ellipses, pies, polygons, and paths. + + + Initializes a new instance of the class. + + + When overridden in a derived class, creates an exact copy of this . + The new that this method creates. + + + Releases all resources used by this object. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + In a derived class, sets a reference to a GDI+ brush object. + A pointer to the GDI+ brush object. + + + Brushes for all the standard colors. This class cannot be inherited. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Provides a graphics buffer for double buffering. + + + Releases all resources used by the object. + + + Writes the contents of the graphics buffer to the default device. + + + Writes the contents of the graphics buffer to the specified object. + A object to which to write the contents of the graphics buffer. + + + Writes the contents of the graphics buffer to the device context associated with the specified handle. + An that points to the device context to which to write the contents of the graphics buffer. + + + Gets a object that outputs to the graphics buffer. + A object that outputs to the graphics buffer. + + + Provides methods for creating graphics buffers that can be used for double buffering. + + + Initializes a new instance of the class. + + + Creates a graphics buffer of the specified size using the pixel format of the specified . + The to match the pixel format for the new buffer to. + A indicating the size of the buffer to create. + A that can be used to draw to a buffer of the specified dimensions. + + + Creates a graphics buffer of the specified size using the pixel format of the specified . + An to a device context to match the pixel format of the new buffer to. + A indicating the size of the buffer to create. + A that can be used to draw to a buffer of the specified dimensions. + + + Releases all resources used by the . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Disposes of the current graphics buffer, if a buffer has been allocated and has not yet been disposed. + + + Gets or sets the maximum size of the buffer to use. + The height or width of the size is less than or equal to zero. + A indicating the maximum size of the buffer dimensions. + + + Provides access to the main buffered graphics context object for the application domain. + + + Gets the for the current application domain. + The for the current application domain. + + + Specifies a range of character positions within a string. + + + Initializes a new instance of the structure, specifying a range of character positions within a string. + The position of the first character in the range. For example, if is set to 0, the first position of the range is position 0 in the string. + The number of positions in the range. + + + Gets a value indicating whether this object is equivalent to the specified object. + The object to compare to for equality. + + to indicate the specified object is an instance with the same and value as this instance; otherwise, . + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + Compares two objects. Gets a value indicating whether the and values of the two objects are equal. + A to compare for equality. + A to compare for equality. + + to indicate the two objects have the same and values; otherwise, . + + + Compares two objects. Gets a value indicating whether the or values of the two objects are not equal. + A to compare for inequality. + A to compare for inequality. + + to indicate the either the or values of the two objects differ; otherwise, . + + + Gets or sets the position in the string of the first character of this . + The first position of this . + + + Gets or sets the number of positions in this . + The number of positions in this . + + + Specifies alignment of content on the drawing surface. + + + Content is vertically aligned at the bottom, and horizontally aligned at the center. + + + Content is vertically aligned at the bottom, and horizontally aligned on the left. + + + Content is vertically aligned at the bottom, and horizontally aligned on the right. + + + Content is vertically aligned in the middle, and horizontally aligned at the center. + + + Content is vertically aligned in the middle, and horizontally aligned on the left. + + + Content is vertically aligned in the middle, and horizontally aligned on the right. + + + Content is vertically aligned at the top, and horizontally aligned at the center. + + + Content is vertically aligned at the top, and horizontally aligned on the left. + + + Content is vertically aligned at the top, and horizontally aligned on the right. + + + Determines how the source color in a copy pixel operation is combined with the destination color to result in a final color. + + + The destination area is filled by using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.) + + + Windows that are layered on top of your window are included in the resulting image. By default, the image contains only your window. Note that this generally cannot be used for printing device contexts. + + + The destination area is inverted. + + + The colors of the source area are merged with the colors of the selected brush of the destination device context using the Boolean operator. + + + The colors of the inverted source area are merged with the colors of the destination area by using the Boolean operator. + + + The bitmap is not mirrored. + + + The inverted source area is copied to the destination. + + + The source and destination colors are combined using the Boolean operator, and then resultant color is then inverted. + + + The brush currently selected in the destination device context is copied to the destination bitmap. + + + The colors of the brush currently selected in the destination device context are combined with the colors of the destination are using the Boolean operator. + + + The colors of the brush currently selected in the destination device context are combined with the colors of the inverted source area using the Boolean operator. The result of this operation is combined with the colors of the destination area using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The source area is copied directly to the destination area. + + + The inverted colors of the destination area are combined with the colors of the source area using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The destination area is filled by using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.) + + + Represents a collection of category name strings. + + + Initializes a new instance of the class using the specified collection. + A that contains the names to initialize the collection values to. + + + Initializes a new instance of the class using the specified array of names. + An array of strings that contains the names of the categories to initialize the collection values to. + + + Indicates whether the specified category is contained in the collection. + The string to check for in the collection. + + if the specified category is contained in the collection; otherwise, . + + + Copies the collection elements to the specified array at the specified index. + The array to copy to. + The index of the destination array at which to begin copying. + + + Gets the index of the specified value. + The category name to retrieve the index of in the collection. + The index in the collection, or if the string does not exist in the collection. + + + Gets the category name at the specified index. + The index of the collection element to access. + The category name at the specified index. + + + Represents an adjustable arrow-shaped line cap. This class cannot be inherited. + + + Initializes a new instance of the class with the specified width and height. The arrow end caps created with this constructor are always filled. + The width of the arrow. + The height of the arrow. + + + Initializes a new instance of the class with the specified width, height, and fill property. Whether an arrow end cap is filled depends on the argument passed to the parameter. + The width of the arrow. + The height of the arrow. + + to fill the arrow cap; otherwise, . + + + Gets or sets whether the arrow cap is filled. + This property is if the arrow cap is filled; otherwise, . + + + Gets or sets the height of the arrow cap. + The height of the arrow cap. + + + Gets or sets the number of units between the outline of the arrow cap and the fill. + The number of units between the outline of the arrow cap and the fill of the arrow cap. + + + Gets or sets the width of the arrow cap. + The width, in units, of the arrow cap. + + + Defines a blend pattern for a object. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified number of factors and positions. + The number of elements in the and arrays. + + + Gets or sets an array of blend factors for the gradient. + An array of blend factors that specify the percentages of the starting color and the ending color to be used at the corresponding position. + + + Gets or sets an array of blend positions for the gradient. + An array of blend positions that specify the percentages of distance along the gradient line. + + + Defines arrays of colors and positions used for interpolating color blending in a multicolor gradient. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified number of colors and positions. + The number of colors and positions in this . + + + Gets or sets an array of colors that represents the colors to use at corresponding positions along a gradient. + An array of structures that represents the colors to use at corresponding positions along a gradient. + + + Gets or sets the positions along a gradient line. + An array of values that specify percentages of distance along the gradient line. + + + Specifies how different clipping regions can be combined. + + + Specifies that the existing region is replaced by the result of the existing region being removed from the new region. Said differently, the existing region is excluded from the new region. + + + Specifies that the existing region is replaced by the result of the new region being removed from the existing region. Said differently, the new region is excluded from the existing region. + + + Two clipping regions are combined by taking their intersection. + + + One clipping region is replaced by another. + + + Two clipping regions are combined by taking the union of both. + + + Two clipping regions are combined by taking only the areas enclosed by one or the other region, but not both. + + + Specifies how the source colors are combined with the background colors. + + + Specifies that when a color is rendered, it overwrites the background color. + + + Specifies that when a color is rendered, it is blended with the background color. The blend is determined by the alpha component of the color being rendered. + + + Specifies the quality level to use during compositing. + + + Assume linear values. + + + Default quality. + + + Gamma correction is used. + + + High quality, low speed compositing. + + + High speed, low quality. + + + Invalid quality. + + + Specifies the system to use when evaluating coordinates. + + + Specifies that coordinates are in the device coordinate context. On a computer screen the device coordinates are usually measured in pixels. + + + Specifies that coordinates are in the page coordinate context. Their units are defined by the property, and must be one of the elements of the enumeration. + + + Specifies that coordinates are in the world coordinate context. World coordinates are used in a nonphysical environment, such as a modeling environment. + + + Encapsulates a custom user-defined line cap. + + + Initializes a new instance of the class with the specified outline and fill. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + + + Initializes a new instance of the class from the specified existing enumeration with the specified outline and fill. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + The line cap from which to create the custom cap. + + + Initializes a new instance of the class from the specified existing enumeration with the specified outline, fill, and inset. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + The line cap from which to create the custom cap. + The distance between the cap and the line. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Releases all resources used by this object. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an to attempt to free resources and perform other cleanup operations before the is reclaimed by garbage collection. + + + Gets the caps used to start and end lines that make up this custom cap. + The enumeration used at the beginning of a line within this cap. + The enumeration used at the end of a line within this cap. + + + Sets the caps used to start and end lines that make up this custom cap. + The enumeration used at the beginning of a line within this cap. + The enumeration used at the end of a line within this cap. + + + Gets or sets the enumeration on which this is based. + The enumeration on which this is based. + + + Gets or sets the distance between the cap and the line. + The distance between the beginning of the cap and the end of the line. + + + Gets or sets the enumeration that determines how lines that compose this object are joined. + The enumeration this object uses to join lines. + + + Gets or sets the amount by which to scale this Class object with respect to the width of the object. + The amount by which to scale the cap. + + + Specifies the type of graphic shape to use on both ends of each dash in a dashed line. + + + Specifies a square cap that squares off both ends of each dash. + + + Specifies a circular cap that rounds off both ends of each dash. + + + Specifies a triangular cap that points both ends of each dash. + + + Specifies the style of dashed lines drawn with a object. + + + Specifies a user-defined custom dash style. + + + Specifies a line consisting of dashes. + + + Specifies a line consisting of a repeating pattern of dash-dot. + + + Specifies a line consisting of a repeating pattern of dash-dot-dot. + + + Specifies a line consisting of dots. + + + Specifies a solid line. + + + Specifies how the interior of a closed path is filled. + + + Specifies the alternate fill mode. + + + Specifies the winding fill mode. + + + Specifies whether commands in the graphics stack are terminated (flushed) immediately or executed as soon as possible. + + + Specifies that the stack of all graphics operations is flushed immediately. + + + Specifies that all graphics operations on the stack are executed as soon as possible. This synchronizes the graphics state. + + + Represents the internal data of a graphics container. This class is used when saving the state of a object using the and methods. This class cannot be inherited. + + + Represents a series of connected lines and curves. This class cannot be inherited. + + + Initializes a new instance of the class with a value of . + + + Initializes a new instance of the class with the specified enumeration. + The enumeration that determines how the interior of this is filled. + + + Initializes a new instance of the class with the specified and arrays. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + + + Initializes a new instance of the class with the specified and arrays and with the specified enumeration element. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Initializes a new instance of the array with the specified and arrays. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + + + Initializes a new instance of the array with the specified and arrays and with the specified enumeration element. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Appends an elliptical arc to the current figure. + A that represents the rectangular bounds of the ellipse from which the arc is taken. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + A that represents the rectangular bounds of the ellipse from which the arc is taken. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + The x-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The y-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The width of the rectangular region that defines the ellipse from which the arc is drawn. + The height of the rectangular region that defines the ellipse from which the arc is drawn. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + The x-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The y-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The width of the rectangular region that defines the ellipse from which the arc is drawn. + The height of the rectangular region that defines the ellipse from which the arc is drawn. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Adds a cubic Bézier curve to the current figure. + A that represents the starting point of the curve. + A that represents the first control point for the curve. + A that represents the second control point for the curve. + A that represents the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + A that represents the starting point of the curve. + A that represents the first control point for the curve. + A that represents the second control point for the curve. + A that represents the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point for the curve. + The y-coordinate of the first control point for the curve. + The x-coordinate of the second control point for the curve. + The y-coordinate of the second control point for the curve. + The x-coordinate of the endpoint of the curve. + The y-coordinate of the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point for the curve. + The y-coordinate of the first control point for the curve. + The x-coordinate of the second control point for the curve. + The y-coordinate of the second control point for the curve. + The x-coordinate of the endpoint of the curve. + The y-coordinate of the endpoint of the curve. + + + Adds a sequence of connected cubic Bézier curves to the current figure. + An array of structures that represents the points that define the curves. + + + Adds a sequence of connected cubic Bézier curves to the current figure. + An array of structures that represents the points that define the curves. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve. + + + Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + The index of the element in the array that is used as the first point in the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + The index of the element in the array that is used as the first point in the curve. + The number of segments used to draw the curve. A segment can be thought of as a line connecting two points. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds an ellipse to the current path. + A that represents the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + A that represents the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The width of the bounding rectangle that defines the ellipse. + The height of the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper left corner of the bounding rectangle that defines the ellipse. + The width of the bounding rectangle that defines the ellipse. + The height of the bounding rectangle that defines the ellipse. + + + Appends a line segment to this . + A that represents the starting point of the line. + A that represents the endpoint of the line. + + + Appends a line segment to this . + A that represents the starting point of the line. + A that represents the endpoint of the line. + + + Appends a line segment to the current figure. + The x-coordinate of the starting point of the line. + The y-coordinate of the starting point of the line. + The x-coordinate of the endpoint of the line. + The y-coordinate of the endpoint of the line. + + + Appends a line segment to this . + The x-coordinate of the starting point of the line. + The y-coordinate of the starting point of the line. + The x-coordinate of the endpoint of the line. + The y-coordinate of the endpoint of the line. + + + Appends a series of connected line segments to the end of this . + An array of structures that represents the points that define the line segments to add. + + + Appends a series of connected line segments to the end of this . + An array of structures that represents the points that define the line segments to add. + + + Appends the specified to this path. + The to add. + A Boolean value that specifies whether the first figure in the added path is part of the last figure in this path. A value of specifies that (if possible) the first figure in the added path is part of the last figure in this path. A value of specifies that the first figure in the added path is separate from the last figure in this path. + + + Adds the outline of a pie shape to this path. + A that represents the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds the outline of a pie shape to this path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The width of the bounding rectangle that defines the ellipse from which the pie is drawn. + The height of the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds the outline of a pie shape to this path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The width of the bounding rectangle that defines the ellipse from which the pie is drawn. + The height of the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds a polygon to this path. + An array of structures that defines the polygon to add. + + + Adds a polygon to this path. + An array of structures that defines the polygon to add. + + + Adds a rectangle to this path. + A that represents the rectangle to add. + + + Adds a rectangle to this path. + A that represents the rectangle to add. + + + Adds a series of rectangles to this path. + An array of structures that represents the rectangles to add. + + + Adds a series of rectangles to this path. + An array of structures that represents the rectangles to add. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the point where the text starts. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the point where the text starts. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the rectangle that bounds the text. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the rectangle that bounds the text. + A that specifies text formatting information, such as line spacing and alignment. + + + Clears all markers from this path. + + + Creates an exact copy of this path. + The this method creates, cast as an object. + + + Closes all open figures in this path and starts a new figure. It closes each open figure by connecting a line from its endpoint to its starting point. + + + Closes the current figure and starts a new figure. If the current figure contains a sequence of connected lines and curves, the method closes the loop by connecting a line from the endpoint to the starting point. + + + Releases all resources used by this . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Converts each curve in this path into a sequence of connected line segments. + + + Applies the specified transform and then converts each curve in this into a sequence of connected line segments. + A by which to transform this before flattening. + + + Converts each curve in this into a sequence of connected line segments. + A by which to transform this before flattening. + Specifies the maximum permitted error between the curve and its flattened approximation. A value of 0.25 is the default. Reducing the flatness value will increase the number of line segments in the approximation. + + + Returns a rectangle that bounds this . + A that represents a rectangle that bounds this . + + + Returns a rectangle that bounds this when this path is transformed by the specified . + The that specifies a transformation to be applied to this path before the bounding rectangle is calculated. This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle. + A that represents a rectangle that bounds this . + + + Returns a rectangle that bounds this when the current path is transformed by the specified and drawn with the specified . + The that specifies a transformation to be applied to this path before the bounding rectangle is calculated. This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle. + The with which to draw the . + A that represents a rectangle that bounds this . + + + Gets the last point in the array of this . + A that represents the last point in this . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + A that specifies the location to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + A that specifies the location to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + A that specifies the location to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + A that specifies the location to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within (under) the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within (under) the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this; otherwise, . + + + Indicates whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this , using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this in the visible clip region of the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Empties the and arrays and sets the to . + + + Reverses the order of points in the array of this . + + + Sets a marker on this . + + + Starts a new figure without closing the current figure. All subsequent points added to the path are added to this new figure. + + + Applies a transform matrix to this . + A that represents the transformation to apply. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that defines a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + A enumeration that specifies whether this warp operation uses perspective or bilinear mode. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + A enumeration that specifies whether this warp operation uses perspective or bilinear mode. + A value from 0 through 1 that specifies how flat the resulting path is. For more information, see the methods. + + + Adds an additional outline to the path. + A that specifies the width between the original outline of the path and the new outline this method creates. + + + Adds an additional outline to the . + A that specifies the width between the original outline of the path and the new outline this method creates. + A that specifies a transform to apply to the path before widening. + + + Replaces this with curves that enclose the area that is filled when this path is drawn by the specified pen. + A that specifies the width between the original outline of the path and the new outline this method creates. + A that specifies a transform to apply to the path before widening. + A value that specifies the flatness for curves. + + + Gets or sets a enumeration that determines how the interiors of shapes in this are filled. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Gets a that encapsulates arrays of points () and types () for this . + A that encapsulates arrays for both the points and types for this . + + + Gets the points in the path. + An array of objects that represent the path. + + + Gets the types of the corresponding points in the array. + An array of bytes that specifies the types of the corresponding points in the path. + + + Gets the number of elements in the or the array. + An integer that specifies the number of elements in the or the array. + + + Provides the ability to iterate through subpaths in a and test the types of shapes contained in each subpath. This class cannot be inherited. + + + Initializes a new instance of the class with the specified object. + The object for which this helper class is to be initialized. + + + Copies the property and property arrays of the associated into the two specified arrays. + Upon return, contains an array of structures that represents the points in the path. + Upon return, contains an array of bytes that represents the types of points in the path. + Specifies the starting index of the arrays. + Specifies the ending index of the arrays. + The number of points copied. + + + Releases all resources used by this object. + + + Copies the property and property arrays of the associated into the two specified arrays. + Upon return, contains an array of structures that represents the points in the path. + Upon return, contains an array of bytes that represents the types of points in the path. + The number of points copied. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Indicates whether the path associated with this contains a curve. + This method returns if the current subpath contains a curve; otherwise, . + + + This object has a object associated with it. The method increments the associated to the next marker in its path and copies all the points contained between the current marker and the next marker (or end of path) to a second object passed in to the parameter. + The object to which the points will be copied. + The number of points between this marker and the next. + + + Increments the to the next marker in the path and returns the start and stop indexes by way of the [out] parameters. + [out] The integer reference supplied to this parameter receives the index of the point that starts a subpath. + [out] The integer reference supplied to this parameter receives the index of the point that ends the subpath to which points. + The number of points between this marker and the next. + + + Gets the starting index and the ending index of the next group of data points that all have the same type. + [out] Receives the point type shared by all points in the group. Possible types can be retrieved from the enumeration. + [out] Receives the starting index of the group of points. + [out] Receives the ending index of the group of points. + This method returns the number of data points in the group. If there are no more groups in the path, this method returns 0. + + + Gets the next figure (subpath) from the associated path of this . + A that is to have its data points set to match the data points of the retrieved figure (subpath) for this iterator. + [out] Indicates whether the current subpath is closed. It is if the if the figure is closed, otherwise it is . + The number of data points in the retrieved figure (subpath). If there are no more figures to retrieve, zero is returned. + + + Moves the to the next subpath in the path. The start index and end index of the next subpath are contained in the [out] parameters. + [out] Receives the starting index of the next subpath. + [out] Receives the ending index of the next subpath. + [out] Indicates whether the subpath is closed. + The number of subpaths in the object. + + + Rewinds this to the beginning of its associated path. + + + Gets the number of points in the path. + The number of points in the path. + + + Gets the number of subpaths in the path. + The number of subpaths in the path. + + + Represents the state of a object. This object is returned by a call to the methods. This class cannot be inherited. + + + Defines a rectangular brush with a hatch style, a foreground color, and a background color. This class cannot be inherited. + + + Initializes a new instance of the class with the specified enumeration and foreground color. + One of the values that represents the pattern drawn by this . + The structure that represents the color of lines drawn by this . + + + Initializes a new instance of the class with the specified enumeration, foreground color, and background color. + One of the values that represents the pattern drawn by this . + The structure that represents the color of lines drawn by this . + The structure that represents the color of spaces between the lines drawn by this . + + + Creates an exact copy of this object. + The this method creates, cast as an object. + + + Gets the color of spaces between the hatch lines drawn by this object. + A structure that represents the background color for this . + + + Gets the color of hatch lines drawn by this object. + A structure that represents the foreground color for this . + + + Gets the hatch style of this object. + One of the values that represents the pattern of this . + + + Specifies the different patterns available for objects. + + + A pattern of lines on a diagonal from upper right to lower left. + + + Specifies horizontal and vertical lines that cross. + + + Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than, and are twice the width of . This hatch pattern is not antialiased. + + + Specifies horizontal lines that are spaced 50 percent closer together than and are twice the width of . + + + Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than , and are twice its width, but the lines are not antialiased. + + + Specifies vertical lines that are spaced 50 percent closer together than and are twice its width. + + + Specifies dashed diagonal lines, that slant to the right from top points to bottom points. + + + Specifies dashed horizontal lines. + + + Specifies dashed diagonal lines, that slant to the left from top points to bottom points. + + + Specifies dashed vertical lines. + + + Specifies a hatch that has the appearance of layered bricks that slant to the left from top points to bottom points. + + + A pattern of crisscross diagonal lines. + + + Specifies a hatch that has the appearance of divots. + + + Specifies forward diagonal and backward diagonal lines, each of which is composed of dots, that cross. + + + Specifies horizontal and vertical lines, each of which is composed of dots, that cross. + + + A pattern of lines on a diagonal from upper left to lower right. + + + A pattern of horizontal lines. + + + Specifies a hatch that has the appearance of horizontally layered bricks. + + + Specifies a hatch that has the appearance of a checkerboard with squares that are twice the size of . + + + Specifies a hatch that has the appearance of confetti, and is composed of larger pieces than . + + + Specifies the hatch style . + + + Specifies diagonal lines that slant to the right from top points to bottom points and are spaced 50 percent closer together than , but are not antialiased. + + + Specifies horizontal lines that are spaced 50 percent closer together than . + + + Specifies diagonal lines that slant to the left from top points to bottom points and are spaced 50 percent closer together than , but they are not antialiased. + + + Specifies vertical lines that are spaced 50 percent closer together than . + + + Specifies hatch style . + + + Specifies hatch style . + + + Specifies horizontal lines that are spaced 75 percent closer together than hatch style (or 25 percent closer together than ). + + + Specifies vertical lines that are spaced 75 percent closer together than hatch style (or 25 percent closer together than ). + + + Specifies forward diagonal and backward diagonal lines that cross but are not antialiased. + + + Specifies a 5-percent hatch. The ratio of foreground color to background color is 5:95. + + + Specifies a 10-percent hatch. The ratio of foreground color to background color is 10:90. + + + Specifies a 20-percent hatch. The ratio of foreground color to background color is 20:80. + + + Specifies a 25-percent hatch. The ratio of foreground color to background color is 25:75. + + + Specifies a 30-percent hatch. The ratio of foreground color to background color is 30:70. + + + Specifies a 40-percent hatch. The ratio of foreground color to background color is 40:60. + + + Specifies a 50-percent hatch. The ratio of foreground color to background color is 50:50. + + + Specifies a 60-percent hatch. The ratio of foreground color to background color is 60:40. + + + Specifies a 70-percent hatch. The ratio of foreground color to background color is 70:30. + + + Specifies a 75-percent hatch. The ratio of foreground color to background color is 75:25. + + + Specifies a 80-percent hatch. The ratio of foreground color to background color is 80:100. + + + Specifies a 90-percent hatch. The ratio of foreground color to background color is 90:10. + + + Specifies a hatch that has the appearance of a plaid material. + + + Specifies a hatch that has the appearance of diagonally layered shingles that slant to the right from top points to bottom points. + + + Specifies a hatch that has the appearance of a checkerboard. + + + Specifies a hatch that has the appearance of confetti. + + + Specifies horizontal and vertical lines that cross and are spaced 50 percent closer together than hatch style . + + + Specifies a hatch that has the appearance of a checkerboard placed diagonally. + + + Specifies a hatch that has the appearance of spheres laid adjacent to one another. + + + Specifies a hatch that has the appearance of a trellis. + + + A pattern of vertical lines. + + + Specifies horizontal lines that are composed of tildes. + + + Specifies a hatch that has the appearance of a woven material. + + + Specifies diagonal lines that slant to the right from top points to bottom points, have the same spacing as hatch style , and are triple its width, but are not antialiased. + + + Specifies diagonal lines that slant to the left from top points to bottom points, have the same spacing as hatch style , and are triple its width, but are not antialiased. + + + Specifies horizontal lines that are composed of zigzags. + + + The enumeration specifies the algorithm that is used when images are scaled or rotated. + + + Specifies bicubic interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 25 percent of its original size. + + + Specifies bilinear interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 50 percent of its original size. + + + Specifies default mode. + + + Specifies high quality interpolation. + + + Specifies high-quality, bicubic interpolation. Prefiltering is performed to ensure high-quality shrinking. This mode produces the highest quality transformed images. + + + Specifies high-quality, bilinear interpolation. Prefiltering is performed to ensure high-quality shrinking. + + + Equivalent to the element of the enumeration. + + + Specifies low quality interpolation. + + + Specifies nearest-neighbor interpolation. + + + Encapsulates a with a linear gradient. This class cannot be inherited. + + + Initializes a new instance of the class with the specified points and colors. + A structure that represents the starting point of the linear gradient. + A structure that represents the endpoint of the linear gradient. + A structure that represents the starting color of the linear gradient. + A structure that represents the ending color of the linear gradient. + + + Initializes a new instance of the class with the specified points and colors. + A structure that represents the starting point of the linear gradient. + A structure that represents the endpoint of the linear gradient. + A structure that represents the starting color of the linear gradient. + A structure that represents the ending color of the linear gradient. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and orientation. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + A enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + Set to to specify that the angle is affected by the transform associated with this ; otherwise, . + + + Creates a new instance of the based on a rectangle, starting and ending colors, and an orientation mode. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + A enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + Set to to specify that the angle is affected by the transform associated with this ; otherwise, . + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Multiplies the that represents the local geometric transform of this by the specified by prepending the specified . + The by which to multiply the geometric transform. + + + Multiplies the that represents the local geometric transform of this by the specified in the specified order. + The by which to multiply the geometric transform. + A that specifies in which order to multiply the two matrices. + + + Resets the property to identity. + + + Rotates the local geometric transform by the specified amount. This method prepends the rotation to the transform. + The angle of rotation. + + + Rotates the local geometric transform by the specified amount in the specified order. + The angle of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transform by the specified amounts. This method prepends the scaling matrix to the transform. + The amount by which to scale the transform in the x-axis direction. + The amount by which to scale the transform in the y-axis direction. + + + Scales the local geometric transform by the specified amounts in the specified order. + The amount by which to scale the transform in the x-axis direction. + The amount by which to scale the transform in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Creates a linear gradient with a center color and a linear falloff to a single color on both ends. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + + + Creates a linear gradient with a center color and a linear falloff to a single color on both ends. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + A value from 0 through1 that specifies how fast the colors falloff from the starting color to (ending color) + + + Creates a gradient falloff based on a bell-shaped curve. + A value from 0 through 1 that specifies the center of the gradient (the point where the starting color and ending color are blended equally). + + + Creates a gradient falloff based on a bell-shaped curve. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + A value from 0 through 1 that specifies how fast the colors falloff from the . + + + Translates the local geometric transform by the specified dimensions. This method prepends the translation to the transform. + The value of the translation in x. + The value of the translation in y. + + + Translates the local geometric transform by the specified dimensions in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets a that specifies positions and factors that define a custom falloff for the gradient. + A that represents a custom falloff for the gradient. + + + Gets or sets a value indicating whether gamma correction is enabled for this . + The value is if gamma correction is enabled for this ; otherwise, . + + + Gets or sets a that defines a multicolor linear gradient. + A that defines a multicolor linear gradient. + + + Gets or sets the starting and ending colors of the gradient. + An array of two structures that represents the starting and ending colors of the gradient. + + + Gets a rectangular region that defines the starting and ending points of the gradient. + A structure that specifies the starting and ending points of the gradient. + + + Gets or sets a copy that defines a local geometric transform for this . + A copy of the that defines a geometric transform that applies only to fills drawn with this . + + + Gets or sets a enumeration that indicates the wrap mode for this . + A that specifies how fills drawn with this are tiled. + + + Specifies the direction of a linear gradient. + + + Specifies a gradient from upper right to lower left. + + + Specifies a gradient from upper left to lower right. + + + Specifies a gradient from left to right. + + + Specifies a gradient from top to bottom. + + + Specifies the available cap styles with which a object can end a line. + + + Specifies a mask used to check whether a line cap is an anchor cap. + + + Specifies an arrow-shaped anchor cap. + + + Specifies a custom line cap. + + + Specifies a diamond anchor cap. + + + Specifies a flat line cap. + + + Specifies no anchor. + + + Specifies a round line cap. + + + Specifies a round anchor cap. + + + Specifies a square line cap. + + + Specifies a square anchor line cap. + + + Specifies a triangular line cap. + + + Specifies how to join consecutive line or curve segments in a figure (subpath) contained in a object. + + + Specifies a beveled join. This produces a diagonal corner. + + + Specifies a mitered join. This produces a sharp corner or a clipped corner, depending on whether the length of the miter exceeds the miter limit. + + + Specifies a mitered join. This produces a sharp corner or a beveled corner, depending on whether the length of the miter exceeds the miter limit. + + + Specifies a circular join. This produces a smooth, circular arc between the lines. + + + Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inherited. + + + Initializes a new instance of the class as the identity matrix. + + + Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points. + A structure that represents the rectangle to be transformed. + An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners. + + + Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points. + A structure that represents the rectangle to be transformed. + An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners. + + + Initializes a new instance of the class with the specified elements. + The value in the first row and first column of the new . + The value in the first row and second column of the new . + The value in the second row and first column of the new . + The value in the second row and second column of the new . + The value in the third row and first column of the new . + The value in the third row and second column of the new . + + + Creates an exact copy of this . + The that this method creates. + + + Releases all resources used by this . + + + Tests whether the specified object is a and is identical to this . + The object to test. + This method returns if is the specified identical to this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Returns a hash code. + The hash code for this . + + + Inverts this , if it is invertible. + + + Multiplies this by the matrix specified in the parameter, by prepending the specified . + The by which this is to be multiplied. + + + Multiplies this by the matrix specified in the parameter, and in the order specified in the parameter. + The by which this is to be multiplied. + The that represents the order of the multiplication. + + + Resets this to have the elements of the identity matrix. + + + Prepend to this a clockwise rotation, around the origin and by the specified angle. + The angle of the rotation, in degrees. + + + Applies a clockwise rotation of an amount specified in the parameter, around the origin (zero x and y coordinates) for this . + The angle (extent) of the rotation, in degrees. + A that specifies the order (append or prepend) in which the rotation is applied to this . + + + Applies a clockwise rotation to this around the point specified in the parameter, and by prepending the rotation. + The angle (extent) of the rotation, in degrees. + A that represents the center of the rotation. + + + Applies a clockwise rotation about the specified point to this in the specified order. + The angle of the rotation, in degrees. + A that represents the center of the rotation. + A that specifies the order (append or prepend) in which the rotation is applied. + + + Applies the specified scale vector to this by prepending the scale vector. + The value by which to scale this in the x-axis direction. + The value by which to scale this in the y-axis direction. + + + Applies the specified scale vector ( and ) to this using the specified order. + The value by which to scale this in the x-axis direction. + The value by which to scale this in the y-axis direction. + A that specifies the order (append or prepend) in which the scale vector is applied to this . + + + Applies the specified shear vector to this by prepending the shear transformation. + The horizontal shear factor. + The vertical shear factor. + + + Applies the specified shear vector to this in the specified order. + The horizontal shear factor. + The vertical shear factor. + A that specifies the order (append or prepend) in which the shear is applied. + + + Applies the geometric transform represented by this to a specified array of points. + An array of structures that represents the points to transform. + + + Applies the geometric transform represented by this to a specified array of points. + An array of structures that represents the points to transform. + + + Applies only the scale and rotate components of this to the specified array of points. + An array of structures that represents the points to transform. + + + Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored. + An array of structures that represents the points to transform. + + + Applies the specified translation vector ( and ) to this by prepending the translation vector. + The x value by which to translate this . + The y value by which to translate this . + + + Applies the specified translation vector to this in the specified order. + The x value by which to translate this . + The y value by which to translate this . + A that specifies the order (append or prepend) in which the translation is applied to this . + + + Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored. + An array of structures that represents the points to transform. + + + Gets an array of floating-point values that represents the elements of this . + An array of floating-point values that represents the elements of this . + + + Gets a value indicating whether this is the identity matrix. + This property is if this is identity; otherwise, . + + + Gets a value indicating whether this is invertible. + This property is if this is invertible; otherwise, . + + + Gets the x translation value (the dx value, or the element in the third row and first column) of this . + The x translation value of this . + + + Gets the y translation value (the dy value, or the element in the third row and second column) of this . + The y translation value of this . + + + Specifies the order for matrix transform operations. + + + The new operation is applied after the old operation. + + + The new operation is applied before the old operation. + + + Contains the graphical data that makes up a object. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Gets or sets an array of structures that represents the points through which the path is constructed. + An array of objects that represents the points through which the path is constructed. + + + Gets or sets the types of the corresponding points in the path. + An array of bytes that specify the types of the corresponding points in the path. + + + Encapsulates a object that fills the interior of a object with a gradient. This class cannot be inherited. + + + Initializes a new instance of the class with the specified path. + The that defines the area filled by this . + + + Initializes a new instance of the class with the specified points. + An array of structures that represents the points that make up the vertices of the path. + + + Initializes a new instance of the class with the specified points and wrap mode. + An array of structures that represents the points that make up the vertices of the path. + A that specifies how fills drawn with this are tiled. + + + Initializes a new instance of the class with the specified points. + An array of structures that represents the points that make up the vertices of the path. + + + Initializes a new instance of the class with the specified points and wrap mode. + An array of structures that represents the points that make up the vertices of the path. + A that specifies how fills drawn with this are tiled. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Updates the brush's transformation matrix with the product of brush's transformation matrix multiplied by another matrix. + The that will be multiplied by the brush's current transformation matrix. + + + Updates the brush's transformation matrix with the product of the brush's transformation matrix multiplied by another matrix. + The that will be multiplied by the brush's current transformation matrix. + A that specifies in which order to multiply the two matrices. + + + Resets the property to identity. + + + Rotates the local geometric transform by the specified amount. This method prepends the rotation to the transform. + The angle (extent) of rotation. + + + Rotates the local geometric transform by the specified amount in the specified order. + The angle (extent) of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transform by the specified amounts. This method prepends the scaling matrix to the transform. + The transform scale factor in the x-axis direction. + The transform scale factor in the y-axis direction. + + + Scales the local geometric transform by the specified amounts in the specified order. + The transform scale factor in the x-axis direction. + The transform scale factor in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Creates a gradient with a center color and a linear falloff to one surrounding color. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + + + Creates a gradient with a center color and a linear falloff to each surrounding color. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + A value from 0 through 1 that specifies the maximum intensity of the center color that gets blended with the boundary color. A value of 1 causes the highest possible intensity of the center color, and it is the default value. + + + Creates a gradient brush that changes color starting from the center of the path outward to the path's boundary. The transition from one color to another is based on a bell-shaped curve. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + + + Creates a gradient brush that changes color starting from the center of the path outward to the path's boundary. The transition from one color to another is based on a bell-shaped curve. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + A value from 0 through 1 that specifies the maximum intensity of the center color that gets blended with the boundary color. A value of 1 causes the highest possible intensity of the center color, and it is the default value. + + + Applies the specified translation to the local geometric transform. This method prepends the translation to the transform. + The value of the translation in x. + The value of the translation in y. + + + Applies the specified translation to the local geometric transform in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets a that specifies positions and factors that define a custom falloff for the gradient. + A that represents a custom falloff for the gradient. + + + Gets or sets the color at the center of the path gradient. + A that represents the color at the center of the path gradient. + + + Gets or sets the center point of the path gradient. + A that represents the center point of the path gradient. + + + Gets or sets the focus point for the gradient falloff. + A that represents the focus point for the gradient falloff. + + + Gets or sets a that defines a multicolor linear gradient. + A that defines a multicolor linear gradient. + + + Gets a bounding rectangle for this . + A that represents a rectangular region that bounds the path this fills. + + + Gets or sets an array of colors that correspond to the points in the path this fills. + An array of structures that represents the colors associated with each point in the path this fills. + + + Gets or sets a copy of the that defines a local geometric transform for this . + A copy of the that defines a geometric transform that applies only to fills drawn with this . + + + Gets or sets a that indicates the wrap mode for this . + A that specifies how fills drawn with this are tiled. + + + Specifies the type of point in a object. + + + A default Bézier curve. + + + A cubic Bézier curve. + + + The endpoint of a subpath. + + + The corresponding segment is dashed. + + + A line segment. + + + A path marker. + + + A mask point. + + + The starting point of a object. + + + Specifies the alignment of a object in relation to the theoretical, zero-width line. + + + Specifies that the object is centered over the theoretical line. + + + Specifies that the is positioned on the inside of the theoretical line. + + + Specifies the is positioned to the left of the theoretical line. + + + Specifies the is positioned on the outside of the theoretical line. + + + Specifies the is positioned to the right of the theoretical line. + + + Specifies the type of fill a object uses to fill lines. + + + Specifies a hatch fill. + + + Specifies a linear gradient fill. + + + Specifies a path gradient fill. + + + Specifies a solid fill. + + + Specifies a bitmap texture fill. + + + Specifies how pixels are offset during rendering. + + + Specifies the default mode. + + + Specifies that pixels are offset by -.5 units, both horizontally and vertically, for high speed antialiasing. + + + Specifies high quality, low speed rendering. + + + Specifies high speed, low quality rendering. + + + Specifies an invalid mode. + + + Specifies no pixel offset. + + + Specifies the overall quality when rendering GDI+ objects. + + + Specifies the default mode. + + + Specifies high quality, low speed rendering. + + + Specifies an invalid mode. + + + Specifies low quality, high speed rendering. + + + Encapsulates the data that makes up a object. This class cannot be inherited. + + + Gets or sets an array of bytes that specify the object. + An array of bytes that specify the object. + + + Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas. + + + Specifies antialiased rendering. + + + Specifies no antialiasing. + + + Specifies antialiased rendering. + + + Specifies no antialiasing. + + + Specifies an invalid mode. + + + Specifies no antialiasing. + + + Specifies the type of warp transformation applied in a method. + + + Specifies a bilinear warp. + + + Specifies a perspective warp. + + + Specifies how a texture or gradient is tiled when it is smaller than the area being filled. + + + The texture or gradient is not tiled. + + + Tiles the gradient or texture. + + + Reverses the texture or gradient horizontally and then tiles the texture or gradient. + + + Reverses the texture or gradient horizontally and vertically and then tiles the texture or gradient. + + + Reverses the texture or gradient vertically and then tiles the texture or gradient. + + + Defines a particular format for text, including font face, size, and style attributes. This class cannot be inherited. + + + Initializes a new that uses the specified existing and enumeration. + The existing from which to create the new . + The to apply to the new . Multiple values of the enumeration can be combined with the operator. + + + Initializes a new using a specified size. + The of the new . + The em-size, in points, of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size and style. + The of the new . + The em-size, in points, of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, and unit. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, unit, and character set. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a + + GDI character set to use for the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, unit, and character set. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a + + GDI character set to use for this font. + A Boolean value indicating whether the new font is derived from a GDI vertical font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is + + + Initializes a new using a specified size and unit. Sets the style to . + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + + is . + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size. + A string representation of the for the new . + The em-size, in points, of the new font. + + is less than or equal to 0, evaluates to infinity or is not a valid number. + + + Initializes a new using a specified size and style. + A string representation of the for the new . + The em-size, in points, of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size, style, and unit. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity or is not a valid number. + + + Initializes a new using a specified size, style, unit, and character set. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a GDI character set to use for this font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using the specified size, style, unit, and character set. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a GDI character set to use for this font. + A Boolean value indicating whether the new is derived from a GDI vertical font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size and unit. The style is set to . + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Creates an exact copy of this . + The this method creates, cast as an . + + + Releases all resources used by this . + + + Indicates whether the specified object is a and has the same , , , , , and property values as this . + The object to test. + + if the parameter is a and has the same , , , , , and property values as this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates a from the specified Windows handle to a device context. + A handle to a device context. + The font for the specified device context is not a TrueType font. + The this method creates. + + + Creates a from the specified Windows handle. + A Windows handle to a GDI font. + + points to an object that is not a TrueType font. + The this method creates. + + + Creates a from the specified GDI logical font (LOGFONT) structure. + An that represents the GDI structure from which to create the . + The that this method creates. + + + Creates a from the specified GDI logical font (LOGFONT) structure. + An that represents the GDI structure from which to create the . + A handle to a device context that contains additional information about the structure. + The font is not a TrueType font. + The that this method creates. + + + Gets the hash code for this . + The hash code for this . + + + Returns the line spacing, in pixels, of this font. + The line spacing, in pixels, of this font. + + + Returns the line spacing, in the current unit of a specified , of this font. + A that holds the vertical resolution, in dots per inch, of the display device as well as settings for page unit and page scale. + + is . + The line spacing, in pixels, of this font. + + + Returns the height, in pixels, of this when drawn to a device with the specified vertical resolution. + The vertical resolution, in dots per inch, used to calculate the height of the font. + The height, in pixels, of this . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Returns a handle to this . + The operation was unsuccessful. + A Windows handle to this . + + + Creates a GDI logical font (LOGFONT) structure from this . + An to represent the structure that this method creates. + + + Creates a GDI logical font (LOGFONT) structure from this . + An to represent the structure that this method creates. + A that provides additional information for the structure. + + is . + + + Returns a human-readable string representation of this . + A string that represents this . + + + Gets a value that indicates whether this is bold. + + if this is bold; otherwise, . + + + Gets the associated with this . + The associated with this . + + + Gets a byte value that specifies the GDI character set that this uses. + A byte value that specifies the GDI character set that this uses. The default is 1. + + + Gets a Boolean value that indicates whether this is derived from a GDI vertical font. + + if this is derived from a GDI vertical font; otherwise, . + + + Gets the line spacing of this font. + The line spacing, in pixels, of this font. + + + Gets a value indicating whether the font is a member of . + + if the font is a member of ; otherwise, . The default is . + + + Gets a value that indicates whether this font has the italic style applied. + + to indicate this font has the italic style applied; otherwise, . + + + Gets the face name of this . + A string representation of the face name of this . + + + Gets the name of the font originally specified. + The string representing the name of the font originally specified. + + + Gets the em-size of this measured in the units specified by the property. + The em-size of this . + + + Gets the em-size, in points, of this . + The em-size, in points, of this . + + + Gets a value that indicates whether this specifies a horizontal line through the font. + + if this has a horizontal line through it; otherwise, . + + + Gets style information for this . + A enumeration that contains style information for this . + + + Gets the name of the system font if the property returns . + The name of the system font, if returns ; otherwise, an empty string (""). + + + Gets a value that indicates whether this is underlined. + + if this is underlined; otherwise, . + + + Gets the unit of measure for this . + A that represents the unit of measure for this . + + + Converts objects from one data type to another. + + + Initializes a new object. + + + Determines whether this converter can convert an object in the specified source type to the native type of the converter. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + The type you want to convert from. + This method returns if this object can perform the conversion. + + + Gets a value indicating whether this converter can convert an object to the given destination type using the context. + An object that provides a format context. + A object that represents the type you want to convert to. + This method returns if this converter can perform the conversion; otherwise, . + + + Converts the specified object to the native type of the converter. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies the culture used to represent the font. + The object to convert. + The conversion could not be performed. + The converted object. + + + Converts the specified object to another type. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies the culture used to represent the object. + The object to convert. + The data type to convert the object to. + The conversion was not successful. + The converted object. + + + Creates an object of this type by using a specified set of property values for the object. + A type descriptor through which additional context can be provided. + A dictionary of new property values. The dictionary contains a series of name-value pairs, one for each property returned from the method. + The newly created object, or if the object could not be created. The default implementation returns . + + useful for creating non-changeable objects that have changeable properties. + + + Determines whether changing a value on this object should require a call to the method to create a new value. + A type descriptor through which additional context can be provided. + This method returns if the object should be called when a change is made to one or more properties of this object; otherwise, . + + + Retrieves the set of properties for this type. By default, a type does not have any properties to return. + A type descriptor through which additional context can be provided. + The value of the object to get the properties for. + An array of objects that describe the properties. + The set of properties that should be exposed for this data type. If no properties should be exposed, this may return . The default implementation always returns . + + An easy implementation of this method can call the method for the correct data type. + + + Determines whether this object supports properties. The default is . + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find the properties of this object; otherwise, . + + + + is a type converter that is used to convert a font name to and from various other representations. + + + Initializes a new instance of the class. + + + Determines if this converter can convert an object in the given source type to the native type of the converter. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + The type you wish to convert from. + + if the converter can perform the conversion; otherwise, . + + + Converts the given object to the converter's native type. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + A to use to perform the conversion + The object to convert. + The conversion cannot be completed. + The converted object. + + + Retrieves a collection containing a set of standard values for the data type this converter is designed for. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + A collection containing a standard set of valid values, or . The default is . + + + Determines if the list of standard values returned from the method is an exclusive list. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + + if the collection returned from is an exclusive list of possible values; otherwise, . The default is . + + + Determines if this object supports a standard set of values that can be picked from a list. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + + if should be called to find a common set of values the object supports; otherwise, . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Converts font units to and from other unit types. + + + Initializes a new instance of the class. + + + Returns a collection of standard values valid for the type. + An that provides a format context. + + + Defines a group of type faces having a similar basic design and certain variations in styles. This class cannot be inherited. + + + Initializes a new from the specified generic font family. + The from which to create the new . + + + Initializes a new with the specified name. + The name of the new . + + is an empty string (""). + + -or- + + specifies a font that is not installed on the computer running the application. + + -or- + + specifies a font that is not a TrueType font. + + + Initializes a new in the specified with the specified name. + A that represents the name of the new . + The that contains this . + + is an empty string (""). + + -or- + + specifies a font that is not installed on the computer running the application. + + -or- + + specifies a font that is not a TrueType font. + + + Releases all resources used by this . + + + Indicates whether the specified object is a and is identical to this . + The object to test. + + if is a and is identical to this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Returns the cell ascent, in design units, of the of the specified style. + A that contains style information for the font. + The cell ascent for this that uses the specified . + + + Returns the cell descent, in design units, of the of the specified style. + A that contains style information for the font. + The cell descent metric for this that uses the specified . + + + Gets the height, in font design units, of the em square for the specified style. + The for which to get the em height. + The height of the em square. + + + Returns an array that contains all the objects available for the specified graphics context. + The object from which to return objects. + + is . + An array of objects available for the specified object. + + + Gets a hash code for this . + The hash code for this . + + + Returns the line spacing, in design units, of the of the specified style. The line spacing is the vertical distance between the base lines of two consecutive lines of text. + The to apply. + The distance between two consecutive lines of text. + + + Returns the name, in the specified language, of this . + The language in which the name is returned. + A that represents the name, in the specified language, of this . + + + Indicates whether the specified enumeration is available. + The to test. + + if the specified is available; otherwise, . + + + Converts this to a human-readable string representation. + The string that represents this . + + + Returns an array that contains all the objects associated with the current graphics context. + An array of objects associated with the current graphics context. + + + Gets a generic monospace . + A that represents a generic monospace font. + + + Gets a generic sans serif object. + A object that represents a generic sans serif font. + + + Gets a generic serif . + A that represents a generic serif font. + + + Gets the name of this . + A that represents the name of this . + + + Specifies style information applied to text. + + + Bold text. + + + Italic text. + + + Normal text. + + + Text with a line through the middle. + + + Underlined text. + + + Encapsulates a GDI+ drawing surface. This class cannot be inherited. + + + Adds a comment to the current . + Array of bytes that contains the comment. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container. + This method returns a that represents the state of this at the time of the method call. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container with the specified scale transformation. + + structure that, together with the parameter, specifies a scale transformation for the container. + + structure that, together with the parameter, specifies a scale transformation for the container. + Member of the enumeration that specifies the unit of measure for the container. + This method returns a that represents the state of this at the time of the method call. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container with the specified scale transformation. + + structure that, together with the parameter, specifies a scale transformation for the new graphics container. + + structure that, together with the parameter, specifies a scale transformation for the new graphics container. + Member of the enumeration that specifies the unit of measure for the container. + This method returns a that represents the state of this at the time of the method call. + + + Clears the entire drawing surface and fills it with the specified background color. + + structure that represents the background color of the drawing surface. + + + Performs a bit-block transfer of color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The point at the upper-left corner of the source rectangle. + The point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + The operation failed. + + + Performs a bit-block transfer of color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The point at the upper-left corner of the source rectangle. + The point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + One of the values. + + is not a member of . + The operation failed. + + + Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The x-coordinate of the point at the upper-left corner of the source rectangle. + The y-coordinate of the point at the upper-left corner of the source rectangle. + The x-coordinate of the point at the upper-left corner of the destination rectangle. + The y-coordinate of the point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + The operation failed. + + + Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The x-coordinate of the point at the upper-left corner of the source rectangle. + The y-coordinate of the point at the upper-left corner of the source rectangle + The x-coordinate of the point at the upper-left corner of the destination rectangle. + The y-coordinate of the point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + One of the values. + + is not a member of . + The operation failed. + + + Releases all resources used by this . + + + Draws an arc representing a portion of an ellipse specified by a structure. + + that determines the color, width, and style of the arc. + + structure that defines the boundaries of the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws an arc representing a portion of an ellipse specified by a structure. + + that determines the color, width, and style of the arc. + + structure that defines the boundaries of the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is + + + Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height. + + that determines the color, width, and style of the arc. + The x-coordinate of the upper-left corner of the rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the rectangle that defines the ellipse. + Width of the rectangle that defines the ellipse. + Height of the rectangle that defines the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height. + + that determines the color, width, and style of the arc. + The x-coordinate of the upper-left corner of the rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the rectangle that defines the ellipse. + Width of the rectangle that defines the ellipse. + Height of the rectangle that defines the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws a Bézier spline defined by four structures. + + structure that determines the color, width, and style of the curve. + + structure that represents the starting point of the curve. + + structure that represents the first control point for the curve. + + structure that represents the second control point for the curve. + + structure that represents the ending point of the curve. + + is . + + + Draws a Bézier spline defined by four structures. + + that determines the color, width, and style of the curve. + + structure that represents the starting point of the curve. + + structure that represents the first control point for the curve. + + structure that represents the second control point for the curve. + + structure that represents the ending point of the curve. + + is . + + + Draws a Bézier spline defined by four ordered pairs of coordinates that represent points. + + that determines the color, width, and style of the curve. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point of the curve. + The y-coordinate of the first control point of the curve. + The x-coordinate of the second control point of the curve. + The y-coordinate of the second control point of the curve. + The x-coordinate of the ending point of the curve. + The y-coordinate of the ending point of the curve. + + is . + + + Draws a series of Bézier splines from an array of structures. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10. + + is . + + -or- + + is . + + + Draws a series of Bézier splines from an array of structures. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures using a specified tension. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + Member of the enumeration that determines how the curve is filled. This parameter is required but ignored. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures using a specified tension. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + Member of the enumeration that determines how the curve is filled. This parameter is required but is ignored. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. The drawing begins offset from the beginning of the array. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. The drawing begins offset from the beginning of the array. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that define the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws an ellipse specified by a bounding structure. + + that determines the color, width, and style of the ellipse. + + structure that defines the boundaries of the ellipse. + + is . + + + Draws an ellipse defined by a bounding . + + that determines the color, width, and style of the ellipse. + + structure that defines the boundaries of the ellipse. + + is . + + + Draws an ellipse defined by a bounding rectangle specified by coordinates for the upper-left corner of the rectangle, a height, and a width. + + that determines the color, width, and style of the ellipse. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width. + + that determines the color, width, and style of the ellipse. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Draws the image represented by the specified within the area specified by a structure. + + to draw. + + structure that specifies the location and size of the resulting image on the display surface. The image contained in the parameter is scaled to the dimensions of this rectangular area. + + is . + + + Draws the image represented by the specified at the specified coordinates. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws the image represented by the specified without scaling the image. + + to draw. + + structure that specifies the location and size of the resulting image. The image is not scaled to fit this rectangle, but retains its original size. If the image is larger than the rectangle, it is clipped to fit inside it. + + is . + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + + structure that represents the location of the upper-left corner of the drawn image. + + is . + + + Draws the specified at the specified location and with the specified shape and size. + + to draw. + Array of three structures that define a parallelogram. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + + structure that represents the upper-left corner of the drawn image. + + is . + + + Draws the specified at the specified location and with the specified shape and size. + + to draw. + Array of three structures that define a parallelogram. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for . + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified image, using its original physical size, at the location specified by a coordinate pair. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a portion of an image at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Width of the drawn image. + Height of the drawn image. + + is . + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a portion of an image at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + structure that specifies the portion of the to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Width of the drawn image. + Height of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + + structure that specifies the upper-left corner of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + + that specifies the upper-left corner of the drawn image. The X and Y properties of the rectangle specify the upper-left corner. The Width and Height properties are ignored. + + is . + + + Draws the specified image using its original physical size at the location specified by a coordinate pair. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Not used. + Not used. + + is . + + + Draws the specified image without scaling and clips it, if necessary, to fit in the specified rectangle. + The to draw. + The in which to draw the image. + + is . + + + Draws a line connecting two structures. + + that determines the color, width, and style of the line. + + structure that represents the first point to connect. + + structure that represents the second point to connect. + + is . + + + Draws a line connecting two structures. + + that determines the color, width, and style of the line. + + structure that represents the first point to connect. + + structure that represents the second point to connect. + + is . + + + Draws a line connecting the two points specified by the coordinate pairs. + + that determines the color, width, and style of the line. + The x-coordinate of the first point. + The y-coordinate of the first point. + The x-coordinate of the second point. + The y-coordinate of the second point. + + is . + + + Draws a line connecting the two points specified by the coordinate pairs. + + that determines the color, width, and style of the line. + The x-coordinate of the first point. + The y-coordinate of the first point. + The x-coordinate of the second point. + The y-coordinate of the second point. + + is . + + + Draws a series of line segments that connect an array of structures. + + that determines the color, width, and style of the line segments. + Array of structures that represent the points to connect. + + is . + + -or- + + is . + + + Draws a series of line segments that connect an array of structures. + + that determines the color, width, and style of the line segments. + Array of structures that represent the points to connect. + + is . + + -or- + + is . + + + Draws a . + + that determines the color, width, and style of the path. + + to draw. + + is . + + -or- + + is . + + + Draws a pie shape defined by an ellipse specified by a structure and two radial lines. + + that determines the color, width, and style of the pie shape. + + structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a structure and two radial lines. + + that determines the color, width, and style of the pie shape. + + structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines. + + that determines the color, width, and style of the pie shape. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + Width of the bounding rectangle that defines the ellipse from which the pie shape comes. + Height of the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines. + + that determines the color, width, and style of the pie shape. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + Width of the bounding rectangle that defines the ellipse from which the pie shape comes. + Height of the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a polygon defined by an array of structures. + + that determines the color, width, and style of the polygon. + Array of structures that represent the vertices of the polygon. + + is . + + + Draws a polygon defined by an array of structures. + + that determines the color, width, and style of the polygon. + Array of structures that represent the vertices of the polygon. + + is . + + -or- + + is . + + + Draws a rectangle specified by a structure. + A that determines the color, width, and style of the rectangle. + A structure that represents the rectangle to draw. + + is . + + + Draws a rectangle specified by a coordinate pair, a width, and a height. + + that determines the color, width, and style of the rectangle. + The x-coordinate of the upper-left corner of the rectangle to draw. + The y-coordinate of the upper-left corner of the rectangle to draw. + Width of the rectangle to draw. + Height of the rectangle to draw. + + is . + + + Draws a rectangle specified by a coordinate pair, a width, and a height. + A that determines the color, width, and style of the rectangle. + The x-coordinate of the upper-left corner of the rectangle to draw. + The y-coordinate of the upper-left corner of the rectangle to draw. + The width of the rectangle to draw. + The height of the rectangle to draw. + + is . + + + Draws a series of rectangles specified by structures. + + that determines the color, width, and style of the outlines of the rectangles. + Array of structures that represent the rectangles to draw. + + is . + + -or- + + is . + + is a zero-length array. + + + Draws a series of rectangles specified by structures. + + that determines the color, width, and style of the outlines of the rectangles. + Array of structures that represent the rectangles to draw. + + is . + + -or- + + is . + + is a zero-length array. + + + Draws the specified text string at the specified location with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the upper-left corner of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the upper-left corner of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string in the specified rectangle with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the location of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string in the specified rectangle with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the location of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + The x-coordinate of the upper-left corner of the drawn text. + The y-coordinate of the upper-left corner of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + The x-coordinate of the upper-left corner of the drawn text. + The y-coordinate of the upper-left corner of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Closes the current graphics container and restores the state of this to the state saved by a call to the method. + + that represents the container this method restores. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structures that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Updates the clip region of this to exclude the area specified by a structure. + + structure that specifies the rectangle to exclude from the clip region. + + + Updates the clip region of this to exclude the area specified by a . + + that specifies the region to exclude from the clip region. + + + Fills the interior of a closed cardinal spline curve defined by an array of structures. + + that determines the characteristics of the fill. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode and tension. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures. + + that determines the characteristics of the fill. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode and tension. + A that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of a . + + that determines the characteristics of the fill. + + that represents the path to fill. + + is . + + -or- + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a structure and two radial lines. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, a height, and two radial lines. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + Width of the bounding rectangle that defines the ellipse from which the pie section comes. + Height of the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, a height, and two radial lines. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + Width of the bounding rectangle that defines the ellipse from which the pie section comes. + Height of the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + Member of the enumeration that determines the style of the fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + Member of the enumeration that determines the style of the fill. + + is . + + -or- + + is . + + + Fills the interior of a rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the rectangle to fill. + The y-coordinate of the upper-left corner of the rectangle to fill. + Width of the rectangle to fill. + Height of the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the rectangle to fill. + The y-coordinate of the upper-left corner of the rectangle to fill. + Width of the rectangle to fill. + Height of the rectangle to fill. + + is . + + + Fills the interiors of a series of rectangles specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the rectangles to fill. + + is . + + -or- + + is . + + is a zero-length array. + + + Fills the interiors of a series of rectangles specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the rectangles to fill. + + is . + + -or- + + is . + + is a zero-length array. + + + Fills the interior of a . + + that determines the characteristics of the fill. + + that represents the area to fill. + + is . + + -or- + + is . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Forces execution of all pending graphics operations and returns immediately without waiting for the operations to finish. + + + Forces execution of all pending graphics operations with the method waiting or not waiting, as specified, to return before the operations finish. + Member of the enumeration that specifies whether the method returns immediately or waits for any existing operations to finish. + + + Creates a new from the specified handle to a device context. + Handle to a device context. + This method returns a new for the specified device context. + + + Creates a new from the specified handle to a device context and handle to a device. + Handle to a device context. + Handle to a device. + This method returns a new for the specified device context and device. + + + Returns a for the specified device context. + Handle to a device context. + A for the specified device context. + + + Creates a new from the specified handle to a window. + Handle to a window. + This method returns a new for the specified window handle. + + + Creates a new for the specified windows handle. + Handle to a window. + A for the specified window handle. + + + Creates a new from the specified . + + from which to create the new . + + is . + + has an indexed pixel format or its format is undefined. + This method returns a new for the specified . + + + Gets the cumulative graphics context. + An representing the cumulative graphics context. + + + Gets a handle to the current Windows halftone palette. + Internal pointer that specifies the handle to the palette. + + + Gets the handle to the device context associated with this . + Handle to the device context associated with this . + + + Gets the nearest color to the specified structure. + + structure for which to find a match. + A structure that represents the nearest color to the one specified with the parameter. + + + Updates the clip region of this to the intersection of the current clip region and the specified structure. + + structure to intersect with the current clip region. + + + Updates the clip region of this to the intersection of the current clip region and the specified structure. + + structure to intersect with the current clip region. + + + Updates the clip region of this to the intersection of the current clip region and the specified . + + to intersect with the current region. + + + Indicates whether the specified structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the point specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the specified structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the point specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the rectangle specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the rectangle specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the point specified by a pair of coordinates is contained within the visible clip region of this . + The x-coordinate of the point to test for visibility. + The y-coordinate of the point to test for visibility. + + if the point defined by the and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this . + The x-coordinate of the upper-left corner of the rectangle to test for visibility. + The y-coordinate of the upper-left corner of the rectangle to test for visibility. + Width of the rectangle to test for visibility. + Height of the rectangle to test for visibility. + + if the rectangle defined by the , , , and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the point specified by a pair of coordinates is contained within the visible clip region of this . + The x-coordinate of the point to test for visibility. + The y-coordinate of the point to test for visibility. + + if the point defined by the and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this . + The x-coordinate of the upper-left corner of the rectangle to test for visibility. + The y-coordinate of the upper-left corner of the rectangle to test for visibility. + Width of the rectangle to test for visibility. + Height of the rectangle to test for visibility. + + if the rectangle defined by the , , , and parameters is contained within the visible clip region of this ; otherwise, . + + + Gets an array of objects, each of which bounds a range of character positions within the specified string. + String to measure. + + that defines the text format of the string. + + structure that specifies the layout rectangle for the string. + + that represents formatting information, such as line spacing, for the string. + This method returns an array of objects, each of which bounds a range of character positions within the specified string. + + + Measures the specified string when drawn with the specified . + String to measure. + + that defines the text format of the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + defines the text format of the string. + + structure that represents the upper-left corner of the string. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified within the specified layout area. + String to measure. + + defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + that defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + that represents formatting information, such as line spacing, for the string. + Number of characters in the string. + Number of text lines in the string. + + is . + This method returns a structure that represents the size of the string, in the units specified by the property, of the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified . + String to measure. + + that defines the format of the string. + Maximum width of the string in pixels. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + that defines the text format of the string. + Maximum width of the string. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter and the parameter. + + + Multiplies the world transformation of this and specified the . + 4x4 that multiplies the world transformation. + + + Multiplies the world transformation of this and specified the in the specified order. + 4x4 that multiplies the world transformation. + Member of the enumeration that determines the order of the multiplication. + + + Releases a device context handle obtained by a previous call to the method of this . + + + Releases a device context handle obtained by a previous call to the method of this . + Handle to a device context obtained by a previous call to the method of this . + + + Releases a handle to a device context. + Handle to a device context. + + + Resets the clip region of this to an infinite region. + + + Resets the world transformation matrix of this to the identity matrix. + + + Restores the state of this to the state represented by a . + + that represents the state to which to restore this . + + + Applies the specified rotation to the transformation matrix of this . + Angle of rotation in degrees. + + + Applies the specified rotation to the transformation matrix of this in the specified order. + Angle of rotation in degrees. + Member of the enumeration that specifies whether the rotation is appended or prepended to the matrix transformation. + + + Saves the current state of this and identifies the saved state with a . + This method returns a that represents the saved state of this . + + + Applies the specified scaling operation to the transformation matrix of this by prepending it to the object's transformation matrix. + Scale factor in the x direction. + Scale factor in the y direction. + + + Applies the specified scaling operation to the transformation matrix of this in the specified order. + Scale factor in the x direction. + Scale factor in the y direction. + Member of the enumeration that specifies whether the scaling operation is prepended or appended to the transformation matrix. + + + Sets the clipping region of this to the specified . + + that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the specified . + + to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the property of the specified . + + from which to take the new clip region. + + + Sets the clipping region of this to the result of the specified combining operation of the current clip region and the property of the specified . + + that specifies the clip region to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the rectangle specified by a structure. + + structure that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the rectangle specified by a structure. + + structure to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the rectangle specified by a structure. + + structure that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the rectangle specified by a structure. + + structure to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the specified . + + to combine. + Member from the enumeration that specifies the combining operation to use. + + + Transforms an array of points from one coordinate space to another using the current world and page transformations of this . + Member of the enumeration that specifies the destination coordinate space. + Member of the enumeration that specifies the source coordinate space. + Array of structures that represents the points to transformation. + + + Transforms an array of points from one coordinate space to another using the current world and page transformations of this . + Member of the enumeration that specifies the destination coordinate space. + Member of the enumeration that specifies the source coordinate space. + Array of structures that represent the points to transform. + + + Translates the clipping region of this by specified amounts in the horizontal and vertical directions. + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Translates the clipping region of this by specified amounts in the horizontal and vertical directions. + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Changes the origin of the coordinate system by prepending the specified translation to the transformation matrix of this . + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Changes the origin of the coordinate system by applying the specified translation to the transformation matrix of this in the specified order. + The x-coordinate of the translation. + The y-coordinate of the translation. + Member of the enumeration that specifies whether the translation is prepended or appended to the transformation matrix. + + + Gets or sets a that limits the drawing region of this . + A that limits the portion of this that is currently available for drawing. + + + Gets a structure that bounds the clipping region of this . + A structure that represents a bounding rectangle for the clipping region of this . + + + Gets a value that specifies how composited images are drawn to this . + This property specifies a member of the enumeration. The default is . + + + Gets or sets the rendering quality of composited images drawn to this . + This property specifies a member of the enumeration. The default is . + + + Gets the horizontal resolution of this . + The value, in dots per inch, for the horizontal resolution supported by this . + + + Gets the vertical resolution of this . + The value, in dots per inch, for the vertical resolution supported by this . + + + Gets or sets the interpolation mode associated with this . + One of the values. + + + Gets a value indicating whether the clipping region of this is empty. + + if the clipping region of this is empty; otherwise, . + + + Gets a value indicating whether the visible clipping region of this is empty. + + if the visible portion of the clipping region of this is empty; otherwise, . + + + Gets or sets the scaling between world units and page units for this . + This property specifies a value for the scaling between world units and page units for this . + + + Gets or sets the unit of measure used for page coordinates in this . + + is set to , which is not a physical unit. + One of the values other than . + + + Gets or sets a value specifying how pixels are offset during rendering of this . + This property specifies a member of the enumeration + + + Gets or sets the rendering origin of this for dithering and for hatch brushes. + A structure that represents the dither origin for 8-bits-per-pixel and 16-bits-per-pixel dithering and is also used to set the origin for hatch brushes. + + + Gets or sets the rendering quality for this . + One of the values. + + + Gets or sets the gamma correction value for rendering text. + The gamma correction value used for rendering antialiased and ClearType text. + + + Gets or sets the rendering mode for text associated with this . + One of the values. + + + Gets or sets a copy of the geometric world transformation for this . + A copy of the that represents the geometric world transformation for this . + + + Gets the bounding rectangle of the visible clipping region of this . + A structure that represents a bounding rectangle for the visible clipping region of this . + + + Provides a callback method for deciding when the method should prematurely cancel execution and stop drawing an image. + Internal pointer that specifies data for the callback method. This parameter is not passed by all overloads. You can test for its absence by checking for the value . + This method returns if it decides that the method should prematurely stop execution. Otherwise it returns to indicate that the method should continue execution. + + + Provides a callback method for the method. + Member of the enumeration that specifies the type of metafile record. + Set of flags that specify attributes of the record. + Number of bytes in the record data. + Pointer to a buffer that contains the record data. + Not used. + Return if you want to continue enumerating records; otherwise, . + + + Specifies the unit of measure for the given data. + + + Specifies the unit of measure of the display device. Typically pixels for video displays, and 1/100 inch for printers. + + + Specifies the document unit (1/300 inch) as the unit of measure. + + + Specifies the inch as the unit of measure. + + + Specifies the millimeter as the unit of measure. + + + Specifies a device pixel as the unit of measure. + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + Specifies the world coordinate system unit as the unit of measure. + + + Represents a Windows icon, which is a small bitmap image that is used to represent an object. Icons can be thought of as transparent bitmaps, although their size is determined by the system. + + + Initializes a new instance of the class and attempts to find a version of the icon that matches the requested size. + The from which to load the newly sized icon. + A structure that specifies the height and width of the new . + The parameter is . + + + Initializes a new instance of the class and attempts to find a version of the icon that matches the requested size. + The icon to load the different size from. + The width of the new icon. + The height of the new icon. + The parameter is . + + + Initializes a new instance of the class from the specified data stream. + The data stream from which to load the . + The parameter is . + + + Initializes a new instance of the class of the specified size from the specified stream. + The stream that contains the icon data. + The desired size of the icon. + The is or does not contain image data. + + + Initializes a new instance of the class from the specified data stream and with the specified width and height. + The data stream from which to load the icon. + The width, in pixels, of the icon. + The height, in pixels, of the icon. + The parameter is . + + + Initializes a new instance of the class from the specified file name. + The file to load the from. + + + Initializes a new instance of the class of the specified size from the specified file. + The name and path to the file that contains the icon data. + The desired size of the icon. + The is or does not contain image data. + + + Initializes a new instance of the class with the specified width and height from the specified file. + The name and path to the file that contains the data. + The desired width of the . + The desired height of the . + The is or does not contain image data. + + + Initializes a new instance of the class from a resource in the specified assembly. + A that specifies the assembly in which to look for the resource. + The resource name to load. + An icon specified by cannot be found in the assembly that contains the specified . + + + Clones the , creating a duplicate image. + An object that can be cast to an . + + + Releases all resources used by this . + + + Returns an icon representation of an image that is contained in the specified file. + The path to the file that contains an image. + The does not indicate a valid file. + + -or- + + The indicates a Universal Naming Convention (UNC) path. + The representation of the image that is contained in the specified file. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates a GDI+ from the specified Windows handle to an icon (). + A Windows handle to an icon. + The this method creates. + + + Saves this to the specified output . + The to save to. + + + Populates a with the data that is required to serialize the target object. + + The destination (see ) for this serialization. + + + Converts this to a GDI+ . + A that represents the converted . + + + Gets a human-readable string that describes the . + A string that describes the . + + + Gets the Windows handle for this . This is not a copy of the handle; do not free it. + The Windows handle for the icon. + + + Gets the height of this . + The height of this . + + + Gets the size of this . + A structure that specifies the width and height of this . + + + Gets the width of this . + The width of this . + + + Converts an object from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Determines whether this can convert an instance of a specified type to an , using the specified context. + An that provides a format context. + A that specifies the type you want to convert from. + This method returns if this can perform the conversion; otherwise, . + + + Determines whether this can convert an to an instance of a specified type, using the specified context. + An that provides a format context. + A that specifies the type you want to convert to. + This method returns if this can perform the conversion; otherwise, . + + + Converts a specified object to an . + An that provides a format context. + A that holds information about a specific culture. + The to be converted. + The conversion could not be performed. + If this method succeeds, it returns the that it created by converting the specified object. Otherwise, it throws an exception. + + + Converts an (or an object that can be cast to an ) to a specified type. + An that provides a format context. + A object that specifies formatting conventions used by a particular culture. + The object to convert. This object should be of type icon or some type that can be cast to . + The type to convert the icon to. + The conversion could not be performed. + This method returns the converted object. + + + Defines methods for obtaining and releasing an existing handle to a Windows device context. + + + Returns the handle to a Windows device context. + An representing the handle of a device context. + + + Releases the handle of a Windows device context. + + + An abstract base class that provides functionality for the and descended classes. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Releases all resources used by this . + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates an from the specified file. + A string that contains the name of the file from which to create the . + The file does not have a valid image format. + + -or- + + GDI+ does not support the pixel format of the file. + The specified file does not exist. + + is a . + The this method creates. + + + Creates an from the specified file using embedded color management information in that file. + A string that contains the name of the file from which to create the . + Set to to use color management information embedded in the image file; otherwise, . + The file does not have a valid image format. + + -or- + + GDI+ does not support the pixel format of the file. + The specified file does not exist. + + is a . + The this method creates. + + + Creates a from a handle to a GDI bitmap. + The GDI bitmap handle from which to create the . + The this method creates. + + + Creates a from a handle to a GDI bitmap and a handle to a GDI palette. + The GDI bitmap handle from which to create the . + A handle to a GDI palette used to define the bitmap colors if the bitmap specified in the parameter is not a device-independent bitmap (DIB). + The this method creates. + + + Creates an from the specified data stream. + A that contains the data for this . + The stream does not have a valid image format + + -or- + + is . + The this method creates. + + + Creates an from the specified data stream, optionally using embedded color management information in that stream. + A that contains the data for this . + + to use color management information embedded in the data stream; otherwise, . + The stream does not have a valid image format + + -or- + + is . + The this method creates. + + + Creates an from the specified data stream, optionally using embedded color management information and validating the image data. + A that contains the data for this . + + to use color management information embedded in the data stream; otherwise, . + + to validate the image data; otherwise, . + The stream does not have a valid image format. + The this method creates. + + + Gets the bounds of the image in the specified unit. + One of the values indicating the unit of measure for the bounding rectangle. + The that represents the bounds of the image, in the specified unit. + + + Returns information about the parameters supported by the specified image encoder. + A GUID that specifies the image encoder. + An that contains an array of objects. Each contains information about one of the parameters supported by the specified image encoder. + + + Returns the number of frames of the specified dimension. + A that specifies the identity of the dimension type. + The number of frames in the specified dimension. + + + Returns the color depth, in number of bits per pixel, of the specified pixel format. + The member that specifies the format for which to find the size. + The color depth of the specified pixel format. + + + Gets the specified property item from this . + The ID of the property item to get. + The image format of this image does not support property items. + The this method gets. + + + Returns a thumbnail for this . + The width, in pixels, of the requested thumbnail image. + The height, in pixels, of the requested thumbnail image. + A delegate. + + Note You must create a delegate and pass a reference to the delegate as the parameter, but the delegate is not used. + Must be . + An that represents the thumbnail. + + + Returns a value that indicates whether the pixel format for this contains alpha information. + The to test. + + if contains alpha information; otherwise, . + + + Returns a value that indicates whether the pixel format is 32 bits per pixel. + The to test. + + if is canonical; otherwise, . + + + Returns a value that indicates whether the pixel format is 64 bits per pixel. + The enumeration to test. + + if is extended; otherwise, . + + + Removes the specified property item from this . + The ID of the property item to remove. + The image does not contain the requested property item. + + -or- + + The image format for this image does not support property items. + + + Rotates, flips, or rotates and flips the . + A member that specifies the type of rotation and flip to apply to the image. + + + Saves this image to the specified stream, with the specified encoder and image encoder parameters. + The where the image will be saved. + The for this . + An that specifies parameters used by the image encoder. + + is . + The image was saved with the wrong image format. + + + Saves this image to the specified stream in the specified format. + The where the image will be saved. + An that specifies the format of the saved image. + + or is . + The image was saved with the wrong image format + + + Saves this to the specified file or stream. + A string that contains the name of the file to which to save this . + + is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Saves this to the specified file, with the specified encoder and image-encoder parameters. + A string that contains the name of the file to which to save this . + The for this . + An to use for this . + + or is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Saves this to the specified file in the specified format. + A string that contains the name of the file to which to save this . + The for this . + + or is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Adds a frame to the file or stream specified in a previous call to the method. + An that contains the frame to add. + An that holds parameters required by the image encoder that is used by the save-add operation. + + is . + + + Adds a frame to the file or stream specified in a previous call to the method. Use this method to save selected frames from a multiple-frame image to another multiple-frame image. + An that holds parameters required by the image encoder that is used by the save-add operation. + + + Selects the frame specified by the dimension and index. + A that specifies the identity of the dimension type. + The index of the active frame. + Always returns 0. + + + Stores a property item (piece of metadata) in this . + The to be stored. + The image format of this image does not support property items. + + + Populates a with the data needed to serialize the target object. + + The destination (see ) for this serialization. + + + Gets attribute flags for the pixel data of this . + The integer representing a bitwise combination of for this . + + + Gets an array of GUIDs that represent the dimensions of frames within this . + An array of GUIDs that specify the dimensions of frames within this from most significant to least significant. + + + Gets the height, in pixels, of this . + The height, in pixels, of this . + + + Gets the horizontal resolution, in pixels per inch, of this . + The horizontal resolution, in pixels per inch, of this . + + + Gets or sets the color palette used for this . + A that represents the color palette used for this . + + + Gets the width and height of this image. + A structure that represents the width and height of this . + + + Gets the pixel format for this . + A that represents the pixel format for this . + + + Gets IDs of the property items stored in this . + An array of the property IDs, one for each property item stored in this image. + + + Gets all the property items (pieces of metadata) stored in this . + An array of objects, one for each property item stored in the image. + + + Gets the file format of this . + The that represents the file format of this . + + + Gets the width and height, in pixels, of this image. + A structure that represents the width and height, in pixels, of this image. + + + Gets or sets an object that provides additional data about the image. + The that provides additional data about the image. + + + Gets the vertical resolution, in pixels per inch, of this . + The vertical resolution, in pixels per inch, of this . + + + Gets the width, in pixels, of this . + The width, in pixels, of this . + + + Provides a callback method for determining when the method should prematurely cancel execution. + This method returns if it decides that the method should prematurely stop execution; otherwise, it returns . + + + Animates an image that has time-based frames. + + + Displays a multiple-frame image as an animation. + The object to animate. + An object that specifies the method that is called when the animation frame changes. + + + Returns a Boolean value indicating whether the specified image contains time-based frames. + The object to test. + This method returns if the specified image contains time-based frames; otherwise, . + + + Terminates a running animation. + The object to stop animating. + An object that specifies the method that is called when the animation frame changes. + + + Advances the frame in all images currently being animated. The new frame is drawn the next time the image is rendered. + + + Advances the frame in the specified image. The new frame is drawn the next time the image is rendered. This method applies only to images with time-based frames. + The object for which to update frames. + + + + is a class that can be used to convert objects from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Determines whether this can convert an instance of a specified type to an , using the specified context. + An that provides a format context. + A that specifies the type you want to convert from. + This method returns if this can perform the conversion; otherwise, . + + + Determines whether this can convert an to an instance of a specified type, using the specified context. + An that provides a format context. + A that specifies the type you want to convert to. + This method returns if this can perform the conversion; otherwise, . + + + Converts a specified object to an . + An that provides a format context. + A that holds information about a specific culture. + The to be converted. + The conversion cannot be completed. + If this method succeeds, it returns the that it created by converting the specified object. Otherwise, it throws an exception. + + + Converts an (or an object that can be cast to an ) to the specified type. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions used by a particular culture. + The to convert. + The to convert the to. + The conversion cannot be completed. + This method returns the converted object. + + + Gets the set of properties for this type. + A type descriptor through which additional context can be provided. + The value of the object to get the properties for. + An array of objects that describe the properties. + The set of properties that should be exposed for this data type. If no properties should be exposed, this can return . The default implementation always returns . + + + Indicates whether this object supports properties. By default, this is . + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find the properties of this object. + + + + is a class that can be used to convert objects from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Indicates whether this converter can convert an object in the specified source type to the native type of the converter. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + The type you want to convert from. + This method returns if this object can perform the conversion. + + + Gets a value indicating whether this converter can convert an object to the specified destination type using the context. + An that specifies the context for this type conversion. + The that represents the type to which you want to convert this object. + This method returns if this object can perform the conversion. + + + Converts the specified object to an object. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions for a particular culture. + The object to convert. + The conversion cannot be completed. + The converted object. + + + Converts the specified object to the specified type. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions for a particular culture. + The object to convert. + The type to convert the object to. + The conversion cannot be completed. + + is . + The converted object. + + + Gets a collection that contains a set of standard values for the data type this validator is designed for. Returns if the data type does not support a standard set of values. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A collection that contains a standard set of valid values, or . The default implementation always returns . + + + Indicates whether this object supports a standard set of values that can be picked from a list. + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find a common set of values the object supports. + + + Specifies the attributes of a bitmap image. The class is used by the and methods of the class. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the pixel height of the object. Also sometimes referred to as the number of scan lines. + The pixel height of the object. + + + Gets or sets the format of the pixel information in the object that returned this object. + A that specifies the format of the pixel information in the associated object. + + + Reserved. Do not use. + Reserved. Do not use. + + + Gets or sets the address of the first pixel data in the bitmap. This can also be thought of as the first scan line in the bitmap. + The address of the first pixel data in the bitmap. + + + Gets or sets the stride width (also called scan width) of the object. + The stride width, in bytes, of the object. + + + Gets or sets the pixel width of the object. This can also be thought of as the number of pixels in one scan line. + The pixel width of the object. + + + Specifies which GDI+ objects use color adjustment information. + + + The number of types specified. + + + Color adjustment information for objects. + + + Color adjustment information for objects. + + + The number of types specified. + + + Color adjustment information that is used by all GDI+ objects that do not have their own color adjustment information. + + + Color adjustment information for objects. + + + Color adjustment information for text. + + + Specifies individual channels in the CMYK (cyan, magenta, yellow, black) color space. This enumeration is used by the methods. + + + The cyan color channel. + + + The black color channel. + + + The last selected channel should be used. + + + The magenta color channel. + + + The yellow color channel. + + + Defines a map for converting colors. Several methods of the class adjust image colors by using a color-remap table, which is an array of structures. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the new structure to which to convert. + The new structure to which to convert. + + + Gets or sets the existing structure to be converted. + The existing structure to be converted. + + + Specifies the types of color maps. + + + Specifies a color map for a . + + + A default color map. + + + Defines a 5 x 5 matrix that contains the coordinates for the RGBAW space. Several methods of the class adjust image colors by using a color matrix. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the elements in the specified matrix . + The values of the elements for the new . + + + Gets or sets the element at the specified row and column in the . + The row of the element. + The column of the element. + The element at the specified row and column. + + + Gets or sets the element at the 0 (zero) row and 0 column of this . + The element at the 0 row and 0 column of this . + + + Gets or sets the element at the 0 (zero) row and first column of this . + The element at the 0 row and first column of this . + + + Gets or sets the element at the 0 (zero) row and second column of this . + The element at the 0 row and second column of this . + + + Gets or sets the element at the 0 (zero) row and third column of this . Represents the alpha component. + The element at the 0 row and third column of this . + + + Gets or sets the element at the 0 (zero) row and fourth column of this . + The element at the 0 row and fourth column of this . + + + Gets or sets the element at the first row and 0 (zero) column of this . + The element at the first row and 0 column of this . + + + Gets or sets the element at the first row and first column of this . + The element at the first row and first column of this . + + + Gets or sets the element at the first row and second column of this . + The element at the first row and second column of this . + + + Gets or sets the element at the first row and third column of this . Represents the alpha component. + The element at the first row and third column of this . + + + Gets or sets the element at the first row and fourth column of this . + The element at the first row and fourth column of this . + + + Gets or sets the element at the second row and 0 (zero) column of this . + The element at the second row and 0 column of this . + + + Gets or sets the element at the second row and first column of this . + The element at the second row and first column of this . + + + Gets or sets the element at the second row and second column of this . + The element at the second row and second column of this . + + + Gets or sets the element at the second row and third column of this . + The element at the second row and third column of this . + + + Gets or sets the element at the second row and fourth column of this . + The element at the second row and fourth column of this . + + + Gets or sets the element at the third row and 0 (zero) column of this . + The element at the third row and 0 column of this . + + + Gets or sets the element at the third row and first column of this . + The element at the third row and first column of this . + + + Gets or sets the element at the third row and second column of this . + The element at the third row and second column of this . + + + Gets or sets the element at the third row and third column of this . Represents the alpha component. + The element at the third row and third column of this . + + + Gets or sets the element at the third row and fourth column of this . + The element at the third row and fourth column of this . + + + Gets or sets the element at the fourth row and 0 (zero) column of this . + The element at the fourth row and 0 column of this . + + + Gets or sets the element at the fourth row and first column of this . + The element at the fourth row and first column of this . + + + Gets or sets the element at the fourth row and second column of this . + The element at the fourth row and second column of this . + + + Gets or sets the element at the fourth row and third column of this . Represents the alpha component. + The element at the fourth row and third column of this . + + + Gets or sets the element at the fourth row and fourth column of this . + The element at the fourth row and fourth column of this . + + + Specifies the types of images and colors that will be affected by the color and grayscale adjustment settings of an . + + + Only gray shades are adjusted. + + + All color values, including gray shades, are adjusted by the same color-adjustment matrix. + + + All colors are adjusted, but gray shades are not adjusted. A gray shade is any color that has the same value for its red, green, and blue components. + + + Specifies two modes for color component values. + + + The integer values supplied are 32-bit values. + + + The integer values supplied are 64-bit values. + + + Defines an array of colors that make up a color palette. The colors are 32-bit ARGB colors. Not inheritable. + + + Gets an array of structures. + The array of structure that make up this . + + + Gets a value that specifies how to interpret the color information in the array of colors. + The following flag values are valid: + + 0x00000001 + The color values in the array contain alpha information. + + 0x00000002 + The colors in the array are grayscale values. + + 0x00000004 + The colors in the array are halftone values. + + + Specifies the methods available for use with a metafile to read and write graphic commands. + + + See methods. + + + See methods. + + + See . + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See methods. + + + Specifies a character string, a location, and formatting information. + + + See methods. + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See . + + + Identifies a record that marks the last EMF+ record of a metafile. + + + See methods. + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See . + + + Identifies a record that is the EMF+ header. + + + Indicates invalid data. + + + The maximum value for this enumeration. + + + The minimum value for this enumeration. + + + Marks the end of a multiple-format section. + + + Marks a multiple-format section. + + + Marks the start of a multiple-format section. + + + See methods. + + + Marks an object. + + + See methods. + + + See . + + + See . + + + See . + + + See methods. + + + See . + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See . + + + See . + + + See methods. + + + See . + + + See . + + + See . + + + See . + + + See methods. + + + Used internally. + + + See methods. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Increases or decreases the size of a logical palette based on the specified value. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Copies the color data for a rectangle of pixels in a DIB to the specified destination rectangle. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Specifies the nature of the records that are placed in an Enhanced Metafile (EMF) file. This enumeration is used by several constructors in the class. + + + Specifies that all the records in the metafile are EMF records, which can be displayed by GDI or GDI+. + + + Specifies that all EMF+ records in the metafile are associated with an alternate EMF record. Metafiles of type can be displayed by GDI or by GDI+. + + + Specifies that all the records in the metafile are EMF+ records, which can be displayed by GDI+ but not by GDI. + + + An object encapsulates a globally unique identifier (GUID) that identifies the category of an image encoder parameter. + + + An object that is initialized with the globally unique identifier for the chrominance table parameter category. + + + An object that is initialized with the globally unique identifier for the color depth parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the color space category. + + + An object that is initialized with the globally unique identifier for the compression parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the image items category. + + + Represents an object that is initialized with the globally unique identifier for the luminance table parameter category. + + + Gets an object that is initialized with the globally unique identifier for the quality parameter category. + + + Represents an object that is initialized with the globally unique identifier for the render method parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the save as CMYK category. + + + Represents an object that is initialized with the globally unique identifier for the save flag parameter category. + + + Represents an object that is initialized with the globally unique identifier for the scan method parameter category. + + + Represents an object that is initialized with the globally unique identifier for the transformation parameter category. + + + Represents an object that is initialized with the globally unique identifier for the version parameter category. + + + Initializes a new instance of the class from the specified globally unique identifier (GUID). The GUID specifies an image encoder parameter category. + A globally unique identifier that identifies an image encoder parameter category. + + + Gets a globally unique identifier (GUID) that identifies an image encoder parameter category. + The GUID that identifies an image encoder parameter category. + + + Used to pass a value, or an array of values, to an image encoder. + + + Initializes a new instance of the class with the specified object and one unsigned 8-bit integer. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + An 8-bit unsigned integer that specifies the value stored in the object. + + + Initializes a new instance of the class with the specified object and one 8-bit value. Sets the property to or , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A byte that specifies the value stored in the object. + If , the property is set to ; otherwise, the property is set to . + + + Initializes a new instance of the class with the specified object and an array of unsigned 8-bit integers. Sets the property to , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 8-bit unsigned integers that specifies the values stored in the object. + + + Initializes a new instance of the class with the specified object and an array of bytes. Sets the property to or , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of bytes that specifies the values stored in the object. + If , the property is set to ; otherwise, the property is set to . + + + Initializes a new instance of the class with the specified object and one, 16-bit integer. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 16-bit integer that specifies the value stored in the object. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and an array of 16-bit integers. Sets the property to , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 16-bit integers that specifies the values stored in the object. The integers in the array must be nonnegative. + + + Initializes a new instance of the class with the specified object, number of values, data type of the values, and a pointer to the values stored in the object. + An object that encapsulates the globally unique identifier of the parameter category. + An integer that specifies the number of values stored in the object. The property is set to this value. + A member of the enumeration that specifies the data type of the values stored in the object. The and properties are set to this value. + A pointer to an array of values of the type specified by the parameter. + + + Initializes a new instance of the class with the specified object and a pair of 32-bit integers. The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 32-bit integer that represents the numerator of a fraction. Must be nonnegative. + A 32-bit integer that represents the denominator of a fraction. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and three integers that specify the number of values, the data type of the values, and a pointer to the values stored in the object. + An object that encapsulates the globally unique identifier of the parameter category. + An integer that specifies the number of values stored in the object. The property is set to this value. + A member of the enumeration that specifies the data type of the values stored in the object. The and properties are set to this value. + A pointer to an array of values of the type specified by the parameter. + Type is not a valid . + + + Initializes a new instance of the class with the specified object and four, 32-bit integers. The four integers represent a range of fractions. The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 32-bit integer that represents the numerator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the denominator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the denominator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the numerator of the largest fraction in the range. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and two arrays of 32-bit integers. The two arrays represent an array of fractions. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 32-bit integers that specifies the numerators of the fractions. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the fractions. The integers in the array must be nonnegative. A denominator of a given index is paired with the numerator of the same index. + + + Initializes a new instance of the class with the specified object and four arrays of 32-bit integers. The four arrays represent an array rational ranges. A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the other three arrays. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 32-bit integers that specifies the numerators of the minimum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the minimum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the numerators of the maximum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the maximum values for the ranges. The integers in the array must be nonnegative. + + + Initializes a new instance of the class with the specified object and one 64-bit integer. Sets the property to (32 bits), and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 64-bit integer that specifies the value stored in the object. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + + + Initializes a new instance of the class with the specified object and a pair of 64-bit integers. The pair of integers represents a range of integers, the first integer being the smallest number in the range, and the second integer being the largest number in the range. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 64-bit integer that represents the smallest number in a range of integers. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + A 64-bit integer that represents the largest number in a range of integers. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + + + Initializes a new instance of the class with the specified object and an array of 64-bit integers. Sets the property to (32-bit), and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 64-bit integers that specifies the values stored in the object. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. + + + Initializes a new instance of the class with the specified object and two arrays of 64-bit integers. The two arrays represent an array integer ranges. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 64-bit integers that specifies the minimum values for the integer ranges. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. + An array of 64-bit integers that specifies the maximum values for the integer ranges. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. A maximum value of a given index is paired with the minimum value of the same index. + + + Initializes a new instance of the class with the specified object and a character string. The string is converted to a null-terminated ASCII string before it is stored in the object. Sets the property to , and sets the property to the length of the ASCII string including the NULL terminator. + An object that encapsulates the globally unique identifier of the parameter category. + A that specifies the value stored in the object. + + + Releases all resources used by this object. + + + Allows an object to attempt to free resources and perform other cleanup operations before the object is reclaimed by garbage collection. + + + Gets or sets the object associated with this object. The object encapsulates the globally unique identifier (GUID) that specifies the category (for example , , or ) of the parameter stored in this object. + An object that encapsulates the GUID that specifies the category of the parameter stored in this object. + + + Gets the number of elements in the array of values stored in this object. + An integer that indicates the number of elements in the array of values stored in this object. + + + Gets the data type of the values stored in this object. + A member of the enumeration that indicates the data type of the values stored in this object. + + + Gets the data type of the values stored in this object. + A member of the enumeration that indicates the data type of the values stored in this object. + + + Encapsulates an array of objects. + + + Initializes a new instance of the class that can contain one object. + + + Initializes a new instance of the class that can contain the specified number of objects. + An integer that specifies the number of objects that the object can contain. + + + Releases all resources used by this object. + + + Gets or sets an array of objects. + The array of objects. + + + Specifies the data type of the used with the or method of an image. + + + An 8-bit ASCII value. + + + An 8-bit unsigned integer. + + + A 32-bit unsigned integer. + + + Two long values that specify a range of integer values. + + + A pointer to a block of custom metadata. + + + A pair of 32-bit unsigned integers. Each pair represents a fraction, the first integer being the numerator and the second integer being the denominator. + + + A set of four, 32-bit unsigned integers. The first two integers represent one fraction, and the second two integers represent a second fraction. + + + A 16-bit, unsigned integer. + + + A byte that has no data type defined. + + + Used to specify the parameter value passed to a JPEG or TIFF image encoder when using the or methods. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies the CCITT3 compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the CCITT4 compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the LZW compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the Compression category. + + + Specifies no compression. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the RLE compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies that a multiple-frame file or stream should be closed. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Specifies that a frame is to be added to the page dimension of an image. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies the last frame in a multiple-frame image. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Specifies that the image has more than one frame (page). Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies that the image is to be flipped horizontally (about the vertical axis). Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be flipped vertically (about the horizontal axis). Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated 180 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated clockwise 270 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated clockwise 90 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Provides properties that get the frame dimensions of an image. Not inheritable. + + + Initializes a new instance of the class using the specified structure. + A structure that contains a GUID for this object. + + + Returns a value that indicates whether the specified object is a equivalent to this object. + The object to test. + + if is a equivalent to this object; otherwise, . + + + Returns a hash code for this object. + The hash code of this object. + + + Converts this object to a human-readable string. + A string that represents this object. + + + Gets a globally unique identifier (GUID) that represents this object. + A structure that contains a GUID that represents this object. + + + Gets the page dimension. + The page dimension. + + + Gets the resolution dimension. + The resolution dimension. + + + Gets the time dimension. + The time dimension. + + + Contains information about how bitmap and metafile colors are manipulated during rendering. + + + Initializes a new instance of the class. + + + Clears the brush color-remap table of this object. + + + Clears the color key (transparency range) for the default category. + + + Clears the color key (transparency range) for a specified category. + An element of that specifies the category for which the color key is cleared. + + + Clears the color-adjustment matrix for the default category. + + + Clears the color-adjustment matrix for a specified category. + An element of that specifies the category for which the color-adjustment matrix is cleared. + + + Disables gamma correction for the default category. + + + Disables gamma correction for a specified category. + An element of that specifies the category for which gamma correction is disabled. + + + Clears the setting for the default category. + + + Clears the setting for a specified category. + An element of that specifies the category for which the setting is cleared. + + + Clears the CMYK (cyan-magenta-yellow-black) output channel setting for the default category. + + + Clears the (cyan-magenta-yellow-black) output channel setting for a specified category. + An element of that specifies the category for which the output channel setting is cleared. + + + Clears the output channel color profile setting for the default category. + + + Clears the output channel color profile setting for a specified category. + An element of that specifies the category for which the output channel profile setting is cleared. + + + Clears the color-remap table for the default category. + + + Clears the color-remap table for a specified category. + An element of that specifies the category for which the remap table is cleared. + + + Clears the threshold value for the default category. + + + Clears the threshold value for a specified category. + An element of that specifies the category for which the threshold is cleared. + + + Creates an exact copy of this object. + The object this class creates, cast as an object. + + + Releases all resources used by this object. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Adjusts the colors in a palette according to the adjustment settings of a specified category. + A that on input contains the palette to be adjusted, and on output contains the adjusted palette. + An element of that specifies the category whose adjustment settings will be applied to the palette. + + + Sets the color-remap table for the brush category. + An array of objects. + + + Sets the color key for the default category. + The low color-key value. + The high color-key value. + + + Sets the color key (transparency range) for a specified category. + The low color-key value. + The high color-key value. + An element of that specifies the category for which the color key is set. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for the default category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for the default category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for a specified category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. + An element of that specifies the category for which the color-adjustment and grayscale-adjustment matrices are set. + + + Sets the color-adjustment matrix for the default category. + The color-adjustment matrix. + + + Sets the color-adjustment matrix for the default category. + The color-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment matrix. + + + Sets the color-adjustment matrix for a specified category. + The color-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment matrix. + An element of that specifies the category for which the color-adjustment matrix is set. + + + Sets the gamma value for the default category. + The gamma correction value. + + + Sets the gamma value for a specified category. + The gamma correction value. + An element of the enumeration that specifies the category for which the gamma value is set. + + + Turns off color adjustment for the default category. You can call the method to reinstate the color-adjustment settings that were in place before the call to the method. + + + Turns off color adjustment for a specified category. You can call the method to reinstate the color-adjustment settings that were in place before the call to the method. + An element of that specifies the category for which color correction is turned off. + + + Sets the CMYK (cyan-magenta-yellow-black) output channel for the default category. + An element of that specifies the output channel. + + + Sets the CMYK (cyan-magenta-yellow-black) output channel for a specified category. + An element of that specifies the output channel. + An element of that specifies the category for which the output channel is set. + + + Sets the output channel color-profile file for the default category. + The path name of a color-profile file. If the color-profile file is in the %SystemRoot%\System32\Spool\Drivers\Color directory, this parameter can be the file name. Otherwise, this parameter must be the fully qualified path name. + + + Sets the output channel color-profile file for a specified category. + The path name of a color-profile file. If the color-profile file is in the %SystemRoot%\System32\Spool\Drivers\Color directory, this parameter can be the file name. Otherwise, this parameter must be the fully qualified path name. + An element of that specifies the category for which the output channel color-profile file is set. + + + Sets the color-remap table for the default category. + An array of color pairs of type . Each color pair contains an existing color (the first value) and the color that it will be mapped to (the second value). + + + Sets the color-remap table for a specified category. + An array of color pairs of type . Each color pair contains an existing color (the first value) and the color that it will be mapped to (the second value). + An element of that specifies the category for which the color-remap table is set. + + + Sets the threshold (transparency range) for the default category. + A real number that specifies the threshold value. + + + Sets the threshold (transparency range) for a specified category. + A threshold value from 0.0 to 1.0 that is used as a breakpoint to sort colors that will be mapped to either a maximum or a minimum value. + An element of that specifies the category for which the color threshold is set. + + + Sets the wrap mode that is used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + + + Sets the wrap mode and color used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + An object that specifies the color of pixels outside of a rendered image. This color is visible if the mode parameter is set to and the source rectangle passed to is larger than the image itself. + + + Sets the wrap mode and color used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + A color object that specifies the color of pixels outside of a rendered image. This color is visible if the mode parameter is set to and the source rectangle passed to is larger than the image itself. + This parameter has no effect. Set it to . + + + Provides attributes of an image encoder/decoder (codec). + + + The decoder has blocking behavior during the decoding process. + + + The codec is built into GDI+. + + + The codec supports decoding (reading). + + + The codec supports encoding (saving). + + + The encoder requires a seekable output stream. + + + The codec supports raster images (bitmaps). + + + The codec supports vector images (metafiles). + + + Not used. + + + Not used. + + + The class provides the necessary storage members and methods to retrieve all pertinent information about the installed image encoders and decoders (called codecs). Not inheritable. + + + Returns an array of objects that contain information about the image decoders built into GDI+. + An array of objects. Each object in the array contains information about one of the built-in image decoders. + + + Returns an array of objects that contain information about the image encoders built into GDI+. + An array of objects. Each object in the array contains information about one of the built-in image encoders. + + + Gets or sets a structure that contains a GUID that identifies a specific codec. + A structure that contains a GUID that identifies a specific codec. + + + Gets or sets a string that contains the name of the codec. + A string that contains the name of the codec. + + + Gets or sets string that contains the path name of the DLL that holds the codec. If the codec is not in a DLL, this pointer is . + A string that contains the path name of the DLL that holds the codec. + + + Gets or sets string that contains the file name extension(s) used in the codec. The extensions are separated by semicolons. + A string that contains the file name extension(s) used in the codec. + + + Gets or sets 32-bit value used to store additional information about the codec. This property returns a combination of flags from the enumeration. + A 32-bit value used to store additional information about the codec. + + + Gets or sets a string that describes the codec's file format. + A string that describes the codec's file format. + + + Gets or sets a structure that contains a GUID that identifies the codec's format. + A structure that contains a GUID that identifies the codec's format. + + + Gets or sets a string that contains the codec's Multipurpose Internet Mail Extensions (MIME) type. + A string that contains the codec's Multipurpose Internet Mail Extensions (MIME) type. + + + Gets or sets a two dimensional array of bytes that can be used as a filter. + A two dimensional array of bytes that can be used as a filter. + + + Gets or sets a two dimensional array of bytes that represents the signature of the codec. + A two dimensional array of bytes that represents the signature of the codec. + + + Gets or sets the version number of the codec. + The version number of the codec. + + + Specifies the attributes of the pixel data contained in an object. The property returns a member of this enumeration. + + + The pixel data can be cached for faster access. + + + The pixel data uses a CMYK color space. + + + The pixel data is grayscale. + + + The pixel data uses an RGB color space. + + + Specifies that the image is stored using a YCBCR color space. + + + Specifies that the image is stored using a YCCK color space. + + + The pixel data contains alpha information. + + + Specifies that dots per inch information is stored in the image. + + + Specifies that the pixel size is stored in the image. + + + Specifies that the pixel data has alpha values other than 0 (transparent) and 255 (opaque). + + + There is no format information. + + + The pixel data is partially scalable, but there are some limitations. + + + The pixel data is read-only. + + + The pixel data is scalable. + + + Specifies the file format of the image. Not inheritable. + + + Initializes a new instance of the class by using the specified structure. + The structure that specifies a particular image format. + + + Returns a value that indicates whether the specified object is an object that is equivalent to this object. + The object to test. + + if is an object that is equivalent to this object; otherwise, . + + + Returns a hash code value that represents this object. + A hash code that represents this object. + + + Converts this object to a human-readable string. + A string that represents this object. + + + Gets the bitmap (BMP) image format. + An object that indicates the bitmap image format. + + + Gets the enhanced metafile (EMF) image format. + An object that indicates the enhanced metafile image format. + + + Gets the Exchangeable Image File (Exif) format. + An object that indicates the Exif format. + + + Gets the Graphics Interchange Format (GIF) image format. + An object that indicates the GIF image format. + + + Gets a structure that represents this object. + A structure that represents this object. + + + Gets the Windows icon image format. + An object that indicates the Windows icon image format. + + + Gets the Joint Photographic Experts Group (JPEG) image format. + An object that indicates the JPEG image format. + + + Gets the format of a bitmap in memory. + An object that indicates the format of a bitmap in memory. + + + Gets the W3C Portable Network Graphics (PNG) image format. + An object that indicates the PNG image format. + + + Gets the Tagged Image File Format (TIFF) image format. + An object that indicates the TIFF image format. + + + Gets the Windows metafile (WMF) image format. + An object that indicates the Windows metafile image format. + + + Specifies flags that are passed to the flags parameter of the method. The method locks a portion of an image so that you can read or write the pixel data. + + + Specifies that a portion of the image is locked for reading. + + + Specifies that a portion of the image is locked for reading or writing. + + + Specifies that the buffer used for reading or writing pixel data is allocated by the user. If this flag is set, the parameter of the method serves as an input parameter (and possibly as an output parameter). If this flag is cleared, then the parameter serves only as an output parameter. + + + Specifies that a portion of the image is locked for writing. + + + Defines a graphic metafile. A metafile contains records that describe a sequence of graphics operations that can be recorded (constructed) and played back (displayed). This class is not inheritable. + + + Initializes a new instance of the class from the specified handle. + A handle to an enhanced metafile. + + to delete the enhanced metafile handle when the is deleted; otherwise, . + + + Initializes a new instance of the class from the specified handle to a device context and an enumeration that specifies the format of the . + The handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class from the specified handle to a device context and an enumeration that specifies the format of the . A string can be supplied to name the file. + The handle to a device context. + An that specifies the format of the . + A descriptive name for the new . + + + Initializes a new instance of the class from the specified handle and a . + A windows handle to a . + A . + + + Initializes a new instance of the class from the specified handle and a . Also, the parameter can be used to delete the handle when the metafile is deleted. + A windows handle to a . + A . + + to delete the handle to the new when the is deleted; otherwise, . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle. + The handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . A string can be provided to name the file. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle. + The handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . A string can be provided to name the file. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream. + The from which to create the new . + + is . + + + Initializes a new instance of the class from the specified data stream. + A that contains the data for this . + A Windows handle to a device context. + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and an enumeration that specifies the format of the . Also, a string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified file name. + A that represents the file name from which to create the new . + + + Initializes a new instance of the class with the specified file name. + A that represents the file name of the new . + A Windows handle to a device context. + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and an enumeration that specifies the format of the . A descriptive string can be added, as well. + A that represents the file name of the new . + A Windows handle to a device context. + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that represents the file name of the new . + A Windows handle to a device context. + A structure that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + A that contains a descriptive name for the new . + + + Returns a Windows handle to an enhanced . + A Windows handle to this enhanced . + + + Returns the associated with this . + The associated with this . + + + Returns the associated with the specified . + The handle to the enhanced for which a header is returned. + The associated with the specified . + + + Returns the associated with the specified . + The handle to the for which to return a header. + A . + The associated with the specified . + + + Returns the associated with the specified . + A containing the for which a header is retrieved. + The associated with the specified . + + + Returns the associated with the specified . + A containing the name of the for which a header is retrieved. + The associated with the specified . + + + Plays an individual metafile record. + Element of the that specifies the type of metafile record being played. + A set of flags that specify attributes of the record. + The number of bytes in the record data. + An array of bytes that contains the record data. + + + Specifies the unit of measurement for the rectangle used to size and position a metafile. This is specified during the creation of the object. + + + The unit of measurement is 1/300 of an inch. + + + The unit of measurement is 0.01 millimeter. Provided for compatibility with GDI. + + + The unit of measurement is 1 inch. + + + The unit of measurement is 1 millimeter. + + + The unit of measurement is 1 pixel. + + + The unit of measurement is 1 printer's point. + + + Contains attributes of an associated . Not inheritable. + + + Returns a value that indicates whether the associated is device dependent. + + if the associated is device dependent; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile format. + + if the associated is in the Windows enhanced metafile format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile format or the Windows enhanced metafile plus format. + + if the associated is in the Windows enhanced metafile format or the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile plus format. + + if the associated is in the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Dual enhanced metafile format. This format supports both the enhanced and the enhanced plus format. + + if the associated is in the Dual enhanced metafile format; otherwise, . + + + Returns a value that indicates whether the associated supports only the Windows enhanced metafile plus format. + + if the associated supports only the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows metafile format. + + if the associated is in the Windows metafile format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows placeable metafile format. + + if the associated is in the Windows placeable metafile format; otherwise, . + + + Gets a that bounds the associated . + A that bounds the associated . + + + Gets the horizontal resolution, in dots per inch, of the associated . + The horizontal resolution, in dots per inch, of the associated . + + + Gets the vertical resolution, in dots per inch, of the associated . + The vertical resolution, in dots per inch, of the associated . + + + Gets the size, in bytes, of the enhanced metafile plus header file. + The size, in bytes, of the enhanced metafile plus header file. + + + Gets the logical horizontal resolution, in dots per inch, of the associated . + The logical horizontal resolution, in dots per inch, of the associated . + + + Gets the logical vertical resolution, in dots per inch, of the associated . + The logical vertical resolution, in dots per inch, of the associated . + + + Gets the size, in bytes, of the associated . + The size, in bytes, of the associated . + + + Gets the type of the associated . + A enumeration that represents the type of the associated . + + + Gets the version number of the associated . + The version number of the associated . + + + Gets the Windows metafile (WMF) header file for the associated . + A that contains the WMF header file for the associated . + + + Specifies types of metafiles. The property returns a member of this enumeration. + + + Specifies an Enhanced Metafile (EMF) file. Such a file contains only GDI records. + + + Specifies an EMF+ Dual file. Such a file contains GDI+ records along with alternative GDI records and can be displayed by using either GDI or GDI+. Displaying the records using GDI may cause some quality degradation. + + + Specifies an EMF+ file. Such a file contains only GDI+ records and must be displayed by using GDI+. Displaying the records using GDI may cause unpredictable results. + + + Specifies a metafile format that is not recognized in GDI+. + + + Specifies a WMF (Windows Metafile) file. Such a file contains only GDI records. + + + Specifies a WMF (Windows Metafile) file that has a placeable metafile header in front of it. + + + Contains information about a windows-format (WMF) metafile. + + + Initializes a new instance of the class. + + + Gets or sets the size, in bytes, of the header file. + The size, in bytes, of the header file. + + + Gets or sets the size, in bytes, of the largest record in the associated object. + The size, in bytes, of the largest record in the associated object. + + + Gets or sets the maximum number of objects that exist in the object at the same time. + The maximum number of objects that exist in the object at the same time. + + + Not used. Always returns 0. + Always 0. + + + Gets or sets the size, in bytes, of the associated object. + The size, in bytes, of the associated object. + + + Gets or sets the type of the associated object. + The type of the associated object. + + + Gets or sets the version number of the header format. + The version number of the header format. + + + Specifies the type of color data in the system palette. The data can be color data with alpha, grayscale data only, or halftone data. + + + Grayscale data. + + + Halftone data. + + + Alpha data. + + + Specifies the format of the color data for each pixel in the image. + + + The pixel data contains alpha values that are not premultiplied. + + + The default pixel format of 32 bits per pixel. The format specifies 24-bit color depth and an 8-bit alpha channel. + + + No pixel format is specified. + + + Reserved. + + + The pixel format is 16 bits per pixel. The color information specifies 32,768 shades of color, of which 5 bits are red, 5 bits are green, 5 bits are blue, and 1 bit is alpha. + + + The pixel format is 16 bits per pixel. The color information specifies 65536 shades of gray. + + + Specifies that the format is 16 bits per pixel; 5 bits each are used for the red, green, and blue components. The remaining bit is not used. + + + Specifies that the format is 16 bits per pixel; 5 bits are used for the red component, 6 bits are used for the green component, and 5 bits are used for the blue component. + + + Specifies that the pixel format is 1 bit per pixel and that it uses indexed color. The color table therefore has two colors in it. + + + Specifies that the format is 24 bits per pixel; 8 bits each are used for the red, green, and blue components. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied, according to the alpha component. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the red, green, and blue components. The remaining 8 bits are not used. + + + Specifies that the format is 48 bits per pixel; 16 bits each are used for the red, green, and blue components. + + + Specifies that the format is 4 bits per pixel, indexed. + + + Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. + + + Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied according to the alpha component. + + + Specifies that the format is 8 bits per pixel, indexed. The color table therefore has 256 colors in it. + + + The pixel data contains GDI colors. + + + The pixel data contains color-indexed values, which means the values are an index to colors in the system color table, as opposed to individual color values. + + + The maximum value for this enumeration. + + + The pixel format contains premultiplied alpha values. + + + The pixel format is undefined. + + + This delegate is not used. For an example of enumerating the records of a metafile, see . + Not used. + Not used. + Not used. + Not used. + + + Encapsulates a metadata property to be included in an image file. Not inheritable. + + + Gets or sets the ID of the property. + The integer that represents the ID of the property. + + + Gets or sets the length (in bytes) of the property. + An integer that represents the length (in bytes) of the byte array. + + + Gets or sets an integer that defines the type of data contained in the property. + An integer that defines the type of data contained in . + + + Gets or sets the value of the property item. + A byte array that represents the value of the property item. + + + Defines a placeable metafile. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the y-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + The y-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the x-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + The x-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the x-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + The x-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the y-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + The y-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the checksum value for the previous ten s in the header. + The checksum value for the previous ten s in the header. + + + Gets or sets the handle of the metafile in memory. + The handle of the metafile in memory. + + + Gets or sets the number of twips per inch. + The number of twips per inch. + + + Gets or sets a value indicating the presence of a placeable metafile header. + A value indicating presence of a placeable metafile header. + + + Reserved. Do not use. + Reserved. Do not use. + + + Defines an object used to draw lines and curves. This class cannot be inherited. + + + Initializes a new instance of the class with the specified . + A that determines the fill properties of this . + + is . + + + Initializes a new instance of the class with the specified and . + A that determines the characteristics of this . + The width of the new . + + is . + + + Initializes a new instance of the class with the specified color. + A structure that indicates the color of this . + + + Initializes a new instance of the class with the specified and properties. + A structure that indicates the color of this . + A value indicating the width of this . + + + Creates an exact copy of this . + An that can be cast to a . + + + Releases all resources used by this . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Multiplies the transformation matrix for this by the specified . + The object by which to multiply the transformation matrix. + + + Multiplies the transformation matrix for this by the specified in the specified order. + The by which to multiply the transformation matrix. + The order in which to perform the multiplication operation. + + + Resets the geometric transformation matrix for this to identity. + + + Rotates the local geometric transformation by the specified angle. This method prepends the rotation to the transformation. + The angle of rotation. + + + Rotates the local geometric transformation by the specified angle in the specified order. + The angle of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transformation by the specified factors. This method prepends the scaling matrix to the transformation. + The factor by which to scale the transformation in the x-axis direction. + The factor by which to scale the transformation in the y-axis direction. + + + Scales the local geometric transformation by the specified factors in the specified order. + The factor by which to scale the transformation in the x-axis direction. + The factor by which to scale the transformation in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Sets the values that determine the style of cap used to end lines drawn by this . + A that represents the cap style to use at the beginning of lines drawn with this . + A that represents the cap style to use at the end of lines drawn with this . + A that represents the cap style to use at the beginning or end of dashed lines drawn with this . + + + Translates the local geometric transformation by the specified dimensions. This method prepends the translation to the transformation. + The value of the translation in x. + The value of the translation in y. + + + Translates the local geometric transformation by the specified dimensions in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets the alignment for this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + A that represents the alignment for this . + + + Gets or sets the that determines attributes of this . + The property is set on an immutable , such as those returned by the class. + A that determines attributes of this . + + + Gets or sets the color of this . + The property is set on an immutable , such as those returned by the class. + A structure that represents the color of this . + + + Gets or sets an array of values that specifies a compound pen. A compound pen draws a compound line made up of parallel lines and spaces. + The property is set on an immutable , such as those returned by the class. + An array of real numbers that specifies the compound array. The elements in the array must be in increasing order, not less than 0, and not greater than 1. + + + Gets or sets a custom cap to use at the end of lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the cap used at the end of lines drawn with this . + + + Gets or sets a custom cap to use at the beginning of lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the cap used at the beginning of lines drawn with this . + + + Gets or sets the cap style used at the end of the dashes that make up dashed lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the beginning and end of the dashes that make up dashed lines drawn with this . + + + Gets or sets the distance from the start of a line to the beginning of a dash pattern. + The property is set on an immutable , such as those returned by the class. + The distance from the start of a line to the beginning of a dash pattern. + + + Gets or sets an array of custom dashes and spaces. + The property is set on an immutable , such as those returned by the class. + An array of real numbers that specifies the lengths of alternating dashes and spaces in dashed lines. + + + Gets or sets the style used for dashed lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the style used for dashed lines drawn with this . + + + Gets or sets the cap style used at the end of lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the end of lines drawn with this . + + + Gets or sets the join style for the ends of two consecutive lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the join style for the ends of two consecutive lines drawn with this . + + + Gets or sets the limit of the thickness of the join on a mitered corner. + The property is set on an immutable , such as those returned by the class. + The limit of the thickness of the join on a mitered corner. + + + Gets the style of lines drawn with this . + A enumeration that specifies the style of lines drawn with this . + + + Gets or sets the cap style used at the beginning of lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the beginning of lines drawn with this . + + + Gets or sets a copy of the geometric transformation for this . + The property is set on an immutable , such as those returned by the class. + A copy of the that represents the geometric transformation for this . + + + Gets or sets the width of this , in units of the object used for drawing. + The property is set on an immutable , such as those returned by the class. + The width of this . + + + Pens for all the standard colors. This class cannot be inherited. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + Specifies the printer's duplex setting. + + + The printer's default duplex setting. + + + Double-sided, horizontal printing. + + + Single-sided printing. + + + Double-sided, vertical printing. + + + Represents the exception that is thrown when you try to access a printer using printer settings that are not valid. + + + Initializes a new instance of the class. + A that specifies the settings for a printer. + + + Initializes a new instance of the class with serialized data. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + is . + The class name is or is 0. + + + Overridden. Sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + is . + + + Specifies the dimensions of the margins of a printed page. + + + Initializes a new instance of the class with 1-inch wide margins. + + + Initializes a new instance of the class with the specified left, right, top, and bottom margins. + The left margin, in hundredths of an inch. + The right margin, in hundredths of an inch. + The top margin, in hundredths of an inch. + The bottom margin, in hundredths of an inch. + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + + Retrieves a duplicate of this object, member by member. + A duplicate of this object. + + + Compares this to the specified to determine whether they have the same dimensions. + The object to which to compare this . + + if the specified object is a and has the same , , and values as this ; otherwise, . + + + Calculates and retrieves a hash code based on the width of the left, right, top, and bottom margins. + A hash code based on the left, right, top, and bottom margins. + + + Compares two to determine if they have the same dimensions. + The first to compare for equality. + The second to compare for equality. + + to indicate the , , , and properties of both margins have the same value; otherwise, . + + + Compares two to determine whether they are of unequal width. + The first to compare for inequality. + The second to compare for inequality. + + to indicate if the , , , or properties of both margins are not equal; otherwise, . + + + Converts the to a string. + A representation of the . + + + Gets or sets the bottom margin, in hundredths of an inch. + The property is set to a value that is less than 0. + The bottom margin, in hundredths of an inch. + + + Gets or sets the left margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The left margin width, in hundredths of an inch. + + + Gets or sets the right margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The right margin width, in hundredths of an inch. + + + Gets or sets the top margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The top margin width, in hundredths of an inch. + + + Provides a for . + + + Initializes a new instance of the class. + + + Returns whether this converter can convert an object of the specified source type to the native type of the converter using the specified context. + An that provides a format context. + A that represents the type from which you want to convert. + + if an object can perform the conversion; otherwise, . + + + Returns whether this converter can convert an object to the given destination type using the context. + An that provides a format context. + A that represents the type to which you want to convert. + + if this converter can perform the conversion; otherwise, . + + + Converts the specified object to the converter's native type. + An that provides a format context. + A that provides the language to convert to. + The to convert. + + does not contain values for all four margins. For example, "100,100,100,100" specifies 1 inch for the left, right, top, and bottom margins. + The conversion cannot be performed. + An that represents the converted value. + + + Converts the given value object to the specified destination type using the specified context and arguments. + An that provides a format context. + A that provides the language to convert to. + The to convert. + The to which to convert the value. + + is . + The conversion cannot be performed. + An that represents the converted value. + + + Creates an given a set of property values for the object. + An that provides a format context. + An of new property values. + + is . + An representing the specified , or if the object cannot be created. + + + Returns whether changing a value on this object requires a call to the method to create a new value, using the specified context. + An that provides a format context. + + if changing a property on this object requires a call to to create a new value; otherwise, . This method always returns . + + + Specifies settings that apply to a single, printed page. + + + Initializes a new instance of the class using the default printer. + + + Initializes a new instance of the class using a specified printer. + The that describes the printer to use. + + + Creates a copy of this . + A copy of this object. + + + Copies the relevant information from the to the specified structure. + The handle to a Win32 structure. + The printer named in the property does not exist or there is no default printer installed. + + + Copies relevant information to the from the specified structure. + The handle to a Win32 structure. + The printer handle is not valid. + The printer named in the property does not exist or there is no default printer installed. + + + Converts the to string form. + A string showing the various property settings for the . + + + Gets the size of the page, taking into account the page orientation specified by the property. + The printer named in the property does not exist. + A that represents the length and width, in hundredths of an inch, of the page. + + + Gets or sets a value indicating whether the page should be printed in color. + The printer named in the property does not exist. + + if the page should be printed in color; otherwise, . The default is determined by the printer. + + + Gets the x-coordinate, in hundredths of an inch, of the hard margin at the left of the page. + The x-coordinate, in hundredths of an inch, of the left-hand hard margin. + + + Gets the y-coordinate, in hundredths of an inch, of the hard margin at the top of the page. + The y-coordinate, in hundredths of an inch, of the hard margin at the top of the page. + + + Gets or sets a value indicating whether the page is printed in landscape or portrait orientation. + The printer named in the property does not exist. + + if the page should be printed in landscape orientation; otherwise, . The default is determined by the printer. + + + Gets or sets the margins for this page. + The printer named in the property does not exist. + A that represents the margins, in hundredths of an inch, for the page. The default is 1-inch margins on all sides. + + + Gets or sets the paper size for the page. + The printer named in the property does not exist or there is no default printer installed. + A that represents the size of the paper. The default is the printer's default paper size. + + + Gets or sets the page's paper source; for example, the printer's upper tray. + The printer named in the property does not exist or there is no default printer installed. + A that specifies the source of the paper. The default is the printer's default paper source. + + + Gets the bounds of the printable area of the page for the printer. + A representing the length and width, in hundredths of an inch, of the area the printer is capable of printing in. + + + Gets or sets the printer resolution for the page. + The printer named in the property does not exist or there is no default printer installed. + A that specifies the printer resolution for the page. The default is the printer's default resolution. + + + Gets or sets the printer settings associated with the page. + A that represents the printer settings associated with the page. + + + Specifies the standard paper sizes. + + + A2 paper (420 mm by 594 mm). + + + A3 paper (297 mm by 420 mm). + + + A3 extra paper (322 mm by 445 mm). + + + A3 extra transverse paper (322 mm by 445 mm). + + + A3 rotated paper (420 mm by 297 mm). + + + A3 transverse paper (297 mm by 420 mm). + + + A4 paper (210 mm by 297 mm). + + + A4 extra paper (236 mm by 322 mm). This value is specific to the PostScript driver and is used only by Linotronic printers to help save paper. + + + A4 plus paper (210 mm by 330 mm). + + + A4 rotated paper (297 mm by 210 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A4 small paper (210 mm by 297 mm). + + + A4 transverse paper (210 mm by 297 mm). + + + A5 paper (148 mm by 210 mm). + + + A5 extra paper (174 mm by 235 mm). + + + A5 rotated paper (210 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A5 transverse paper (148 mm by 210 mm). + + + A6 paper (105 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A6 rotated paper (148 mm by 105 mm). Requires Windows 98, Windows NT 4.0, or later. + + + SuperA/SuperA/A4 paper (227 mm by 356 mm). + + + B4 paper (250 mm by 353 mm). + + + B4 envelope (250 mm by 353 mm). + + + JIS B4 rotated paper (364 mm by 257 mm). Requires Windows 98, Windows NT 4.0, or later. + + + B5 paper (176 mm by 250 mm). + + + B5 envelope (176 mm by 250 mm). + + + ISO B5 extra paper (201 mm by 276 mm). + + + JIS B5 rotated paper (257 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later. + + + JIS B5 transverse paper (182 mm by 257 mm). + + + B6 envelope (176 mm by 125 mm). + + + JIS B6 paper (128 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later. + + + JIS B6 rotated paper (182 mm by 128 mm). Requires Windows 98, Windows NT 4.0, or later. + + + SuperB/SuperB/A3 paper (305 mm by 487 mm). + + + C3 envelope (324 mm by 458 mm). + + + C4 envelope (229 mm by 324 mm). + + + C5 envelope (162 mm by 229 mm). + + + C65 envelope (114 mm by 229 mm). + + + C6 envelope (114 mm by 162 mm). + + + C paper (17 in. by 22 in.). + + + The paper size is defined by the user. + + + DL envelope (110 mm by 220 mm). + + + D paper (22 in. by 34 in.). + + + E paper (34 in. by 44 in.). + + + Executive paper (7.25 in. by 10.5 in.). + + + Folio paper (8.5 in. by 13 in.). + + + German legal fanfold (8.5 in. by 13 in.). + + + German standard fanfold (8.5 in. by 12 in.). + + + Invitation envelope (220 mm by 220 mm). + + + ISO B4 (250 mm by 353 mm). + + + Italy envelope (110 mm by 230 mm). + + + Japanese double postcard (200 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated double postcard (148 mm by 200 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese You #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese You #4 rotated envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese postcard (100 mm by 148 mm). + + + Japanese rotated postcard (148 mm by 100 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Ledger paper (17 in. by 11 in.). + + + Legal paper (8.5 in. by 14 in.). + + + Legal extra paper (9.275 in. by 15 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + Letter paper (8.5 in. by 11 in.). + + + Letter extra paper (9.275 in. by 12 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + Letter extra transverse paper (9.275 in. by 12 in.). + + + Letter plus paper (8.5 in. by 12.69 in.). + + + Letter rotated paper (11 in. by 8.5 in.). + + + Letter small paper (8.5 in. by 11 in.). + + + Letter transverse paper (8.275 in. by 11 in.). + + + Monarch envelope (3.875 in. by 7.5 in.). + + + Note paper (8.5 in. by 11 in.). + + + #10 envelope (4.125 in. by 9.5 in.). + + + #11 envelope (4.5 in. by 10.375 in.). + + + #12 envelope (4.75 in. by 11 in.). + + + #14 envelope (5 in. by 11.5 in.). + + + #9 envelope (3.875 in. by 8.875 in.). + + + 6 3/4 envelope (3.625 in. by 6.5 in.). + + + 16K paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 16K rotated paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K big paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K big rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #1 envelope (102 mm by 165 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #10 envelope (324 mm by 458 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #10 rotated envelope (458 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #1 rotated envelope (165 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #2 envelope (102 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #2 rotated envelope (176 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #3 envelope (125 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #3 rotated envelope (176 mm by 125 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #4 envelope (110 mm by 208 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #4 rotated envelope (208 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #5 envelope (110 mm by 220 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Envelope #5 rotated envelope (220 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #6 envelope (120 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #6 rotated envelope (230 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #7 envelope (160 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #7 rotated envelope (230 mm by 160 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #8 envelope (120 mm by 309 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #8 rotated envelope (309 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #9 envelope (229 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #9 rotated envelope (324 mm by 229 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Quarto paper (215 mm by 275 mm). + + + Standard paper (10 in. by 11 in.). + + + Standard paper (10 in. by 14 in.). + + + Standard paper (11 in. by 17 in.). + + + Standard paper (12 in. by 11 in.). Requires Windows 98, Windows NT 4.0, or later. + + + Standard paper (15 in. by 11 in.). + + + Standard paper (9 in. by 11 in.). + + + Statement paper (5.5 in. by 8.5 in.). + + + Tabloid paper (11 in. by 17 in.). + + + Tabloid extra paper (11.69 in. by 18 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + US standard fanfold (14.875 in. by 11 in.). + + + Specifies the size of a piece of paper. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The name of the paper. + The width of the paper, in hundredths of an inch. + The height of the paper, in hundredths of an inch. + + + Provides information about the in string form. + A string. + + + Gets or sets the height of the paper, in hundredths of an inch. + The property is not set to . + The height of the paper, in hundredths of an inch. + + + Gets the type of paper. + The property is not set to . + One of the values. + + + Gets or sets the name of the type of paper. + The property is not set to . + The name of the type of paper. + + + Gets or sets an integer representing one of the values or a custom value. + An integer representing one of the values, or a custom value. + + + Gets or sets the width of the paper, in hundredths of an inch. + The property is not set to . + The width of the paper, in hundredths of an inch. + + + Specifies the paper tray from which the printer gets paper. + + + Initializes a new instance of the class. + + + Provides information about the in string form. + A string. + + + Gets the paper source. + One of the values. + + + Gets or sets the integer representing one of the values or a custom value. + The integer value representing one of the values or a custom value. + + + Gets or sets the name of the paper source. + The name of the paper source. + + + Standard paper sources. + + + Automatically fed paper. + + + A paper cassette. + + + A printer-specific paper source. + + + An envelope. + + + The printer's default input bin. + + + The printer's large-capacity bin. + + + Large-format paper. + + + The lower bin of a printer. + + + Manually fed paper. + + + Manually fed envelope. + + + The middle bin of a printer. + + + Small-format paper. + + + A tractor feed. + + + The upper bin of a printer (or the default bin, if the printer only has one bin). + + + Specifies print preview information for a single page. This class cannot be inherited. + + + Initializes a new instance of the class. + The image of the printed page. + The size of the printed page, in hundredths of an inch. + + + Gets the image of the printed page. + An representing the printed page. + + + Gets the size of the printed page, in hundredths of an inch. + A that specifies the size of the printed page, in hundredths of an inch. + + + Specifies a print controller that displays a document on a screen as a series of images. + + + Initializes a new instance of the class. + + + Captures the pages of a document as a series of images. + An array of type that contains the pages of a as a series of images. + + + Completes the control sequence that determines when and how to preview a page in a print document. + A that represents the document being previewed. + A that contains data about how to preview a page in the print document. + + + Completes the control sequence that determines when and how to preview a print document. + A that represents the document being previewed. + A that contains data about how to preview the print document. + + + Begins the control sequence that determines when and how to preview a page in a print document. + A that represents the document being previewed. + A that contains data about how to preview a page in the print document. Initially, the property of this parameter will be . The value returned from this method will be used to set this property. + A that represents a page from a . + + + Begins the control sequence that determines when and how to preview a print document. + A that represents the document being previewed. + A that contains data about how to print the document. + The printer named in the property does not exist. + + + Gets a value indicating whether this controller is used for print preview. + + in all cases. + + + Gets or sets a value indicating whether to use anti-aliasing when displaying the print preview. + + if the print preview uses anti-aliasing; otherwise, . The default is . + + + Specifies the type of print operation occurring. + + + The print operation is printing to a file. + + + The print operation is a print preview. + + + The print operation is printing to a printer. + + + Controls how a document is printed, when printing from a Windows Forms application. + + + Initializes a new instance of the class. + + + When overridden in a derived class, completes the control sequence that determines when and how to print a page of a document. + A that represents the document currently being printed. + A that contains the event data. + + + When overridden in a derived class, completes the control sequence that determines when and how to print a document. + A that represents the document currently being printed. + A that contains the event data. + + + When overridden in a derived class, begins the control sequence that determines when and how to print a page of a document. + A that represents the document currently being printed. + A that contains the event data. + A that represents a page from a . + + + When overridden in a derived class, begins the control sequence that determines when and how to print a document. + A that represents the document currently being printed. + A that contains the event data. + + + Gets a value indicating whether the is used for print preview. + + in all cases. + + + Defines a reusable object that sends output to a printer, when printing from a Windows Forms application. + + + Occurs when the method is called and before the first page of the document prints. + + + Occurs when the last page of the document has printed. + + + Occurs when the output to print for the current page is needed. + + + Occurs immediately before each event. + + + Initializes a new instance of the class. + + + Raises the event. It is called after the method is called and before the first page of the document prints. + A that contains the event data. + + + Raises the event. It is called when the last page of the document has printed. + A that contains the event data. + + + Raises the event. It is called before a page prints. + A that contains the event data. + + + Raises the event. It is called immediately before each event. + A that contains the event data. + + + Starts the document's printing process. + The printer named in the property does not exist. + + + Provides information about the print document, in string form. + A string. + + + Gets or sets page settings that are used as defaults for all pages to be printed. + A that specifies the default page settings for the document. + + + Gets or sets the document name to display (for example, in a print status dialog box or printer queue) while printing the document. + The document name to display while printing the document. The default is "document". + + + Gets or sets a value indicating whether the position of a graphics object associated with a page is located just inside the user-specified margins or at the top-left corner of the printable area of the page. + + if the graphics origin starts at the page margins; if the graphics origin is at the top-left corner of the printable page. The default is . + + + Gets or sets the print controller that guides the printing process. + The that guides the printing process. The default is a new instance of the class. + + + Gets or sets the printer that prints the document. + A that specifies where and how the document is printed. The default is a with its properties set to their default values. + + + Represents the resolution supported by a printer. + + + Initializes a new instance of the class. + + + This member overrides the method. + A that contains information about the . + + + Gets or sets the printer resolution. + The value assigned is not a member of the enumeration. + One of the values. + + + Gets the horizontal printer resolution, in dots per inch. + The horizontal printer resolution, in dots per inch, if is set to ; otherwise, a value. + + + Gets the vertical printer resolution, in dots per inch. + The vertical printer resolution, in dots per inch. + + + Specifies a printer resolution. + + + Custom resolution. + + + Draft-quality resolution. + + + High resolution. + + + Low resolution. + + + Medium resolution. + + + Specifies information about how a document is printed, including the printer that prints it, when printing from a Windows Forms application. + + + Initializes a new instance of the class. + + + Creates a copy of this . + A copy of this object. + + + Returns a that contains printer information that is useful when creating a . + The printer named in the property does not exist. + A that contains information from a printer. + + + Returns a that contains printer information, optionally specifying the origin at the margins. + + to indicate the origin at the margins; otherwise, . + A that contains printer information from the . + + + Returns a that contains printer information associated with the specified . + The to retrieve a graphics object for. + A that contains printer information from the . + + + Creates a associated with the specified page settings and optionally specifying the origin at the margins. + The to retrieve a object for. + + to specify the origin at the margins; otherwise, . + A that contains printer information from the . + + + Creates a handle to a structure that corresponds to the printer settings. + The printer named in the property does not exist. + The printer's initialization information could not be retrieved. + A handle to a structure. + + + Creates a handle to a structure that corresponds to the printer and the page settings specified through the parameter. + The object that the structure's handle corresponds to. + The printer named in the property does not exist. + The printer's initialization information could not be retrieved. + A handle to a structure. + + + Creates a handle to a structure that corresponds to the printer settings. + A handle to a structure. + + + Gets a value indicating whether the printer supports printing the specified image file. + The image to print. + + if the printer supports printing the specified image; otherwise, . + + + Returns a value indicating whether the printer supports printing the specified image format. + An to print. + + if the printer supports printing the specified image format; otherwise, . + + + Copies the relevant information out of the given handle and into the . + The handle to a Win32 structure. + The printer handle is not valid. + + + Copies the relevant information out of the given handle and into the . + The handle to a Win32 structure. + The printer handle is invalid. + + + Provides information about the in string form. + A string. + + + Gets a value indicating whether the printer supports double-sided printing. + + if the printer supports double-sided printing; otherwise, . + + + Gets or sets a value indicating whether the printed document is collated. + + if the printed document is collated; otherwise, . The default is . + + + Gets or sets the number of copies of the document to print. + The value of the property is less than zero. + The number of copies to print. The default is 1. + + + Gets the default page settings for this printer. + A that represents the default page settings for this printer. + + + Gets or sets the printer setting for double-sided printing. + The value of the property is not one of the values. + One of the values. The default is determined by the printer. + + + Gets or sets the page number of the first page to print. + The property's value is less than zero. + The page number of the first page to print. + + + Gets the names of all printers installed on the computer. + The available printers could not be enumerated. + A that represents the names of all printers installed on the computer. + + + Gets a value indicating whether the property designates the default printer, except when the user explicitly sets . + + if designates the default printer; otherwise, . + + + Gets a value indicating whether the printer is a plotter. + + if the printer is a plotter; if the printer is a raster. + + + Gets a value indicating whether the property designates a valid printer. + + if the property designates a valid printer; otherwise, . + + + Gets the angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation. + The angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation. + + + Gets the maximum number of copies that the printer enables the user to print at a time. + The maximum number of copies that the printer enables the user to print at a time. + + + Gets or sets the maximum or that can be selected in a . + The value of the property is less than zero. + The maximum or that can be selected in a . + + + Gets or sets the minimum or that can be selected in a . + The value of the property is less than zero. + The minimum or that can be selected in a . + + + Gets the paper sizes that are supported by this printer. + A that represents the paper sizes that are supported by this printer. + + + Gets the paper source trays that are available on the printer. + A that represents the paper source trays that are available on this printer. + + + Gets or sets the name of the printer to use. + The name of the printer to use. + + + Gets all the resolutions that are supported by this printer. + A that represents the resolutions that are supported by this printer. + + + Gets or sets the file name, when printing to a file. + The file name, when printing to a file. + + + Gets or sets the page numbers that the user has specified to be printed. + The value of the property is not one of the values. + One of the values. + + + Gets or sets a value indicating whether the printing output is sent to a file instead of a port. + + if the printing output is sent to a file; otherwise, . The default is . + + + Gets a value indicating whether this printer supports color printing. + + if this printer supports color; otherwise, . + + + Gets or sets the number of the last page to print. + The value of the property is less than zero. + The number of the last page to print. + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a to the end of the collection. + The to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + A zero-based array that receives the items copied from the collection. + The index at which to start copying items. + + + For a description of this member, see . + An enumerator associated with the collection. + + + Gets the number of different paper sizes in the collection. + The number of different paper sizes in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds the specified to end of the . + The to add to the collection. + The zero-based index where the was added. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The destination array for the contents of the collection. + The index at which to start the copy operation. + + + For a description of this member, see . + An object that can be used to iterate through the collection. + + + Gets the number of different paper sources in the collection. + The number of different paper sources in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a to the end of the collection. + The to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The destination array. + The index at which to start the copy operation. + + + For a description of this member, see . + An object that can be used to iterate through the collection. + + + Gets the number of available printer resolutions in the collection. + The number of available printer resolutions in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a string to the end of the collection. + The string to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The array for items to be copied to. + The starting index. + + + For a description of this member, see . + An enumerator that can be used to iterate through the collection. + + + Gets the number of strings in the collection. + The number of strings in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Specifies several of the units of measure used for printing. + + + The default unit (0.01 in.). + + + One-hundredth of a millimeter (0.01 mm). + + + One-tenth of a millimeter (0.1 mm). + + + One-thousandth of an inch (0.001 in.). + + + Specifies a series of conversion methods that are useful when interoperating with the Win32 printing API. This class cannot be inherited. + + + Converts a double-precision floating-point number from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A double-precision floating-point number that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a 32-bit signed integer from one type to another type. + The value being converted. + The unit to convert from. + The unit to convert to. + A 32-bit signed integer that represents the converted . + + + Provides data for the and events. + + + Initializes a new instance of the class. + + + Returns in all cases. + + in all cases. + + + Represents the method that will handle the or event of a . + The source of the event. + A that contains the event data. + + + Provides data for the event. + + + Initializes a new instance of the class. + The used to paint the item. + The area between the margins. + The total area of the paper. + The for the page. + + + Gets or sets a value indicating whether the print job should be canceled. + + if the print job should be canceled; otherwise, . + + + Gets the used to paint the page. + The used to paint the page. + + + Gets or sets a value indicating whether an additional page should be printed. + + if an additional page should be printed; otherwise, . The default is . + + + Gets the rectangular area that represents the portion of the page inside the margins. + The rectangular area, measured in hundredths of an inch, that represents the portion of the page inside the margins. + + + Gets the rectangular area that represents the total area of the page. + The rectangular area that represents the total area of the page. + + + Gets the page settings for the current page. + The page settings for the current page. + + + Represents the method that will handle the event of a . + The source of the event. + A that contains the event data. + + + Specifies the part of the document to print. + + + All pages are printed. + + + The currently displayed page is printed. + + + The selected pages are printed. + + + The pages between and are printed. + + + Provides data for the event. + + + Initializes a new instance of the class. + The page settings for the page to be printed. + + + Gets or sets the page settings for the page to be printed. + The page settings for the page to be printed. + + + Represents the method that handles the event of a . + The source of the event. + A that contains the event data. + + + Specifies a print controller that sends information to a printer. + + + Initializes a new instance of the class. + + + Completes the control sequence that determines when and how to print a page of a document. + A that represents the document being printed. + A that contains data about how to print a page in the document. + The native Win32 Application Programming Interface (API) could not finish writing to a page. + + + Completes the control sequence that determines when and how to print a document. + A that represents the document being printed. + A that contains data about how to print the document. + The native Win32 Application Programming Interface (API) could not complete the print job. + + -or- + + The native Windows API could not delete the specified device context (DC). + + + Begins the control sequence that determines when and how to print a page in a document. + A that represents the document being printed. + A that contains data about how to print a page in the document. Initially, the property of this parameter will be . The value returned from the method will be used to set this property. + The native Win32 Application Programming Interface (API) could not prepare the printer driver to accept data. + + -or- + + The native Windows API could not update the specified printer or plotter device context (DC) using the specified information. + A object that represents a page from a . + + + Begins the control sequence that determines when and how to print a document. + A that represents the document being printed. + A that contains data about how to print the document. + The printer settings are not valid. + The native Win32 Application Programming Interface (API) could not start a print job. + + + Describes the interior of a graphics shape composed of rectangles and paths. This class cannot be inherited. + + + Initializes a new . + + + Initializes a new with the specified . + A that defines the new . + + is . + + + Initializes a new from the specified data. + A that defines the interior of the new . + + is . + + + Initializes a new from the specified structure. + A structure that defines the interior of the new . + + + Initializes a new from the specified structure. + A structure that defines the interior of the new . + + + Creates an exact copy of this . + The that this method creates. + + + Updates this to contain the portion of the specified that does not intersect with this . + The to complement this . + + is . + + + Updates this to contain the portion of the specified structure that does not intersect with this . + The structure to complement this . + + + Updates this to contain the portion of the specified structure that does not intersect with this . + The structure to complement this . + + + Updates this to contain the portion of the specified that does not intersect with this . + The object to complement this object. + + is . + + + Releases all resources used by this . + + + Tests whether the specified is identical to this on the specified drawing surface. + The to test. + A that represents a drawing surface. + + or is . + + if the interior of region is identical to the interior of this region when the transformation associated with the parameter is applied; otherwise, . + + + Updates this to contain only the portion of its interior that does not intersect with the specified . + The to exclude from this . + + is . + + + Updates this to contain only the portion of its interior that does not intersect with the specified structure. + The structure to exclude from this . + + + Updates this to contain only the portion of its interior that does not intersect with the specified structure. + The structure to exclude from this . + + + Updates this to contain only the portion of its interior that does not intersect with the specified . + The to exclude from this . + + is . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Initializes a new from a handle to the specified existing GDI region. + A handle to an existing . + The new . + + + Gets a structure that represents a rectangle that bounds this on the drawing surface of a object. + The on which this is drawn. + + is . + A structure that represents the bounding rectangle for this on the specified drawing surface. + + + Returns a Windows handle to this in the specified graphics context. + The on which this is drawn. + + is . + A Windows handle to this . + + + Returns a that represents the information that describes this . + A that represents the information that describes this . + + + Returns an array of structures that approximate this after the specified matrix transformation is applied. + A that represents a geometric transformation to apply to the region. + + is . + An array of structures that approximate this after the specified matrix transformation is applied. + + + Updates this to the intersection of itself with the specified . + The to intersect with this . + + + Updates this to the intersection of itself with the specified structure. + The structure to intersect with this . + + + Updates this to the intersection of itself with the specified structure. + The structure to intersect with this . + + + Updates this to the intersection of itself with the specified . + The to intersect with this . + + + Tests whether this has an empty interior on the specified drawing surface. + A that represents a drawing surface. + + is . + + if the interior of this is empty when the transformation associated with is applied; otherwise, . + + + Tests whether this has an infinite interior on the specified drawing surface. + A that represents a drawing surface. + + is . + + if the interior of this is infinite when the transformation associated with is applied; otherwise, . + + + Tests whether the specified structure is contained within this . + The structure to test. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this . + The structure to test. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this . + The structure to test. + This method returns when any portion of is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when any portion of the is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this . + The structure to test. + + when any portion of is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this object when drawn using the specified object. + The x-coordinate of the point to test. + The y-coordinate of the point to test. + A that represents a graphics context. + + when the specified point is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this when drawn using the specified . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + A that represents a graphics context. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + + when the specified point is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this when drawn using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + A that represents a graphics context. + + when the specified point is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + + when any portion of the specified rectangle is contained within this object; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this when drawn using the specified . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + A that represents a graphics context. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Initializes this to an empty interior. + + + Initializes this object to an infinite interior. + + + Releases the handle of the . + The handle to the . + + is . + + + Transforms this by the specified . + The by which to transform this . + + is . + + + Offsets the coordinates of this by the specified amount. + The amount to offset this horizontally. + The amount to offset this vertically. + + + Offsets the coordinates of this by the specified amount. + The amount to offset this horizontally. + The amount to offset this vertically. + + + Updates this to the union of itself and the specified . + The to unite with this . + + is . + + + Updates this to the union of itself and the specified structure. + The structure to unite with this . + + + Updates this to the union of itself and the specified structure. + The structure to unite with this . + + + Updates this to the union of itself and the specified . + The to unite with this . + + is . + + + Updates this to the union minus the intersection of itself with the specified . + The to with this . + + is . + + + Updates this to the union minus the intersection of itself with the specified structure. + The structure to with this . + + + Updates this to the union minus the intersection of itself with the specified structure. + The structure to with this . + + + Updates this to the union minus the intersection of itself with the specified . + The to with this . + + is . + + + Specifies how much an image is rotated and the axis used to flip the image. + + + Specifies a 180-degree clockwise rotation without flipping. + + + Specifies a 180-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 180-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 180-degree clockwise rotation followed by a vertical flip. + + + Specifies a 270-degree clockwise rotation without flipping. + + + Specifies a 270-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 270-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 270-degree clockwise rotation followed by a vertical flip. + + + Specifies a 90-degree clockwise rotation without flipping. + + + Specifies a 90-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 90-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 90-degree clockwise rotation followed by a vertical flip. + + + Specifies no clockwise rotation and no flipping. + + + Specifies no clockwise rotation followed by a horizontal flip. + + + Specifies no clockwise rotation followed by a horizontal and vertical flip. + + + Specifies no clockwise rotation followed by a vertical flip. + + + Defines a brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths. This class cannot be inherited. + + + Initializes a new object of the specified color. + A structure that represents the color of this brush. + + + Creates an exact copy of this object. + The object that this method creates. + + + Gets or sets the color of this object. + The property is set on an immutable . + A structure that represents the color of this brush. + + + Specifies the alignment of a text string relative to its layout rectangle. + + + Specifies that text is aligned in the center of the layout rectangle. + + + Specifies that text is aligned far from the origin position of the layout rectangle. In a left-to-right layout, the far position is right. In a right-to-left layout, the far position is left. + + + Specifies the text be aligned near the layout. In a left-to-right layout, the near position is left. In a right-to-left layout, the near position is right. + + + The enumeration specifies how to substitute digits in a string according to a user's locale or language. + + + Specifies substitution digits that correspond with the official national language of the user's locale. + + + Specifies to disable substitutions. + + + Specifies substitution digits that correspond with the user's native script or language, which may be different from the official national language of the user's locale. + + + Specifies a user-defined substitution scheme. + + + Encapsulates text layout information (such as alignment, orientation and tab stops) display manipulations (such as ellipsis insertion and national digit substitution) and OpenType features. This class cannot be inherited. + + + Initializes a new object. + + + Initializes a new object from the specified existing object. + The object from which to initialize the new object. + + is . + + + Initializes a new object with the specified enumeration. + The enumeration for the new object. + + + Initializes a new object with the specified enumeration and language. + The enumeration for the new object. + A value that indicates the language of the text. + + + Creates an exact copy of this object. + The object this method creates. + + + Releases all resources used by this object. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Gets the tab stops for this object. + The number of spaces between the beginning of a text line and the first tab stop. + An array of distances (in number of spaces) between tab stops. + + + Specifies the language and method to be used when local digits are substituted for western digits. + A National Language Support (NLS) language identifier that identifies the language that will be used when local digits are substituted for western digits. You can pass the property of a object as the NLS language identifier. For example, suppose you create a object by passing the string "ar-EG" to a constructor. If you pass the property of that object along with to the method, then Arabic-Indic digits will be substituted for western digits at display time. + An element of the enumeration that specifies how digits are displayed. + + + Specifies an array of structures that represent the ranges of characters measured by a call to the method. + An array of structures that specifies the ranges of characters measured by a call to the method. + More than 32 character ranges are set. + + + Sets tab stops for this object. + The number of spaces between the beginning of a line of text and the first tab stop. + An array of distances between tab stops in the units specified by the property. + + + Converts this object to a human-readable string. + A string representation of this object. + + + Gets or sets horizontal alignment of the string. + A enumeration that specifies the horizontal alignment of the string. + + + Gets the language that is used when local digits are substituted for western digits. + A National Language Support (NLS) language identifier that identifies the language that will be used when local digits are substituted for western digits. You can pass the property of a object as the NLS language identifier. For example, suppose you create a object by passing the string "ar-EG" to a constructor. If you pass the property of that object along with to the method, then Arabic-Indic digits will be substituted for western digits at display time. + + + Gets the method to be used for digit substitution. + A enumeration value that specifies how to substitute characters in a string that cannot be displayed because they are not supported by the current font. + + + Gets or sets a enumeration that contains formatting information. + A enumeration that contains formatting information. + + + Gets a generic default object. + The generic default object. + + + Gets a generic typographic object. + A generic typographic object. + + + Gets or sets the object for this object. + The object for this object, the default is . + + + Gets or sets the vertical alignment of the string. + A enumeration that represents the vertical line alignment. + + + Gets or sets the enumeration for this object. + A enumeration that indicates how text drawn with this object is trimmed when it exceeds the edges of the layout rectangle. + + + Specifies the display and layout information for text strings. + + + Text is displayed from right to left. + + + Text is vertically aligned. + + + Control characters such as the left-to-right mark are shown in the output with a representative glyph. + + + Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang. + + + Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line. + + + Includes the trailing space at the end of each line. By default the boundary rectangle returned by the method excludes the space at the end of each line. Set this flag to include that space in measurement. + + + Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped. + + + Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square. + + + Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length. + + + Specifies how to trim characters from a string that does not completely fit into a layout shape. + + + Specifies that the text is trimmed to the nearest character. + + + Specifies that the text is trimmed to the nearest character, and an ellipsis is inserted at the end of a trimmed line. + + + The center is removed from trimmed lines and replaced by an ellipsis. The algorithm keeps as much of the last slash-delimited segment of the line as possible. + + + Specifies that text is trimmed to the nearest word, and an ellipsis is inserted at the end of a trimmed line. + + + Specifies no trimming. + + + Specifies that text is trimmed to the nearest word. + + + Specifies the units of measure for a text string. + + + Specifies the device unit as the unit of measure. + + + Specifies 1/300 of an inch as the unit of measure. + + + Specifies a printer's em size of 32 as the unit of measure. + + + Specifies an inch as the unit of measure. + + + Specifies a millimeter as the unit of measure. + + + Specifies a pixel as the unit of measure. + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + Specifies world units as the unit of measure. + + + Each property of the class is a that is the color of a Windows display element. + + + Creates a from the specified structure. + The structure from which to create the . + The this method creates. + + + Gets a that is the color of the active window's border. + A that is the color of the active window's border. + + + Gets a that is the color of the background of the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the text in the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the application workspace. + A that is the color of the application workspace. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the dark shadow color of a 3-D element. + A that is the dark shadow color of a 3-D element. + + + Gets a that is the light color of a 3-D element. + A that is the light color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the color of text in a 3-D element. + A that is the color of text in a 3-D element. + + + Gets a that is the color of the desktop. + A that is the color of the desktop. + + + Gets a that is the lightest color in the color gradient of an active window's title bar. + A that is the lightest color in the color gradient of an active window's title bar. + + + Gets a that is the lightest color in the color gradient of an inactive window's title bar. + A that is the lightest color in the color gradient of an inactive window's title bar. + + + Gets a that is the color of dimmed text. + A that is the color of dimmed text. + + + Gets a that is the color of the background of selected items. + A that is the color of the background of selected items. + + + Gets a that is the color of the text of selected items. + A that is the color of the text of selected items. + + + Gets a that is the color used to designate a hot-tracked item. + A that is the color used to designate a hot-tracked item. + + + Gets a that is the color of an inactive window's border. + A that is the color of an inactive window's border. + + + Gets a that is the color of the background of an inactive window's title bar. + A that is the color of the background of an inactive window's title bar. + + + Gets a that is the color of the text in an inactive window's title bar. + A that is the color of the text in an inactive window's title bar. + + + Gets a that is the color of the background of a ToolTip. + A that is the color of the background of a ToolTip. + + + Gets a that is the color of the text of a ToolTip. + A is the color of the text of a ToolTip. + + + Gets a that is the color of a menu's background. + A that is the color of a menu's background. + + + Gets a that is the color of the background of a menu bar. + A that is the color of the background of a menu bar. + + + Gets a that is the color used to highlight menu items when the menu appears as a flat menu. + A that is the color used to highlight menu items when the menu appears as a flat menu. + + + Gets a that is the color of a menu's text. + A that is the color of a menu's text. + + + Gets a that is the color of the background of a scroll bar. + A that is the color of the background of a scroll bar. + + + Gets a that is the color of the background in the client area of a window. + A that is the color of the background in the client area of a window. + + + Gets a that is the color of a window frame. + A that is the color of a window frame. + + + Gets a that is the color of the text in the client area of a window. + A that is the color of the text in the client area of a window. + + + Specifies the fonts used to display text in Windows display elements. + + + Returns a font object that corresponds to the specified system font name. + The name of the system font you need a font object for. + A if the specified name matches a value in ; otherwise, . + + + Gets a that is used to display text in the title bars of windows. + A that is used to display text in the title bars of windows. + + + Gets the default font that applications can use for dialog boxes and forms. + The default of the system. The value returned will vary depending on the user's operating system and the local culture setting of their system. + + + Gets a font that applications can use for dialog boxes and forms. + A that can be used for dialog boxes and forms, depending on the operating system and local culture setting of the system. + + + Gets a that is used for icon titles. + A that is used for icon titles. + + + Gets a that is used for menus. + A that is used for menus. + + + Gets a that is used for message boxes. + A that is used for message boxes + + + Gets a that is used to display text in the title bars of small windows, such as tool windows. + A that is used to display text in the title bars of small windows, such as tool windows. + + + Gets a that is used to display text in the status bar. + A that is used to display text in the status bar. + + + Each property of the class is an object for Windows system-wide icons. This class cannot be inherited. + + + Gets an object that contains the default application icon (WIN32: IDI_APPLICATION). + An object that contains the default application icon. + + + Gets an object that contains the system asterisk icon (WIN32: IDI_ASTERISK). + An object that contains the system asterisk icon. + + + Gets an object that contains the system error icon (WIN32: IDI_ERROR). + An object that contains the system error icon. + + + Gets an object that contains the system exclamation icon (WIN32: IDI_EXCLAMATION). + An object that contains the system exclamation icon. + + + Gets an object that contains the system hand icon (WIN32: IDI_HAND). + An object that contains the system hand icon. + + + Gets an object that contains the system information icon (WIN32: IDI_INFORMATION). + An object that contains the system information icon. + + + Gets an object that contains the system question icon (WIN32: IDI_QUESTION). + An object that contains the system question icon. + + + Gets an object that contains the shield icon. + An object that contains the shield icon. + + + Gets an object that contains the system warning icon (WIN32: IDI_WARNING). + An object that contains the system warning icon. + + + Gets an object that contains the Windows logo icon (WIN32: IDI_WINLOGO). + An object that contains the Windows logo icon. + + + Each property of the class is a that is the color of a Windows display element and that has a width of 1 pixel. + + + Creates a from the specified . + The for the new . + The this method creates. + + + Gets a that is the color of the active window's border. + A that is the color of the active window's border. + + + Gets a that is the color of the background of the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the text in the active window's title bar. + A that is the color of the text in the active window's title bar. + + + Gets a that is the color of the application workspace. + A that is the color of the application workspace. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the dark shadow color of a 3-D element. + A that is the dark shadow color of a 3-D element. + + + Gets a that is the light color of a 3-D element. + A that is the light color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the color of text in a 3-D element. + A that is the color of text in a 3-D element. + + + Gets a that is the color of the Windows desktop. + A that is the color of the Windows desktop. + + + Gets a that is the lightest color in the color gradient of an active window's title bar. + A that is the lightest color in the color gradient of an active window's title bar. + + + Gets a that is the lightest color in the color gradient of an inactive window's title bar. + A that is the lightest color in the color gradient of an inactive window's title bar. + + + Gets a that is the color of dimmed text. + A that is the color of dimmed text. + + + Gets a that is the color of the background of selected items. + A that is the color of the background of selected items. + + + Gets a that is the color of the text of selected items. + A that is the color of the text of selected items. + + + Gets a that is the color used to designate a hot-tracked item. + A that is the color used to designate a hot-tracked item. + + + Gets a is the color of the border of an inactive window. + A that is the color of the border of an inactive window. + + + Gets a that is the color of the title bar caption of an inactive window. + A that is the color of the title bar caption of an inactive window. + + + Gets a that is the color of the text in an inactive window's title bar. + A that is the color of the text in an inactive window's title bar. + + + Gets a that is the color of the background of a ToolTip. + A that is the color of the background of a ToolTip. + + + Gets a that is the color of the text of a ToolTip. + A that is the color of the text of a ToolTip. + + + Gets a that is the color of a menu's background. + A that is the color of a menu's background. + + + Gets a that is the color of the background of a menu bar. + A that is the color of the background of a menu bar. + + + Gets a that is the color used to highlight menu items when the menu appears as a flat menu. + A that is the color used to highlight menu items when the menu appears as a flat menu. + + + Gets a that is the color of a menu's text. + A that is the color of a menu's text. + + + Gets a that is the color of the background of a scroll bar. + A that is the color of the background of a scroll bar. + + + Gets a that is the color of the background in the client area of a window. + A that is the color of the background in the client area of a window. + + + Gets a that is the color of a window frame. + A that is the color of a window frame. + + + Gets a that is the color of the text in the client area of a window. + A that is the color of the text in the client area of a window. + + + Provides a base class for installed and private font collections. + + + Releases all resources used by this . + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Gets the array of objects associated with this . + An array of objects. + + + Specifies a generic object. + + + A generic Monospace object. + + + A generic Sans Serif object. + + + A generic Serif object. + + + Specifies the type of display for hot-key prefixes that relate to text. + + + Do not display the hot-key prefix. + + + No hot-key prefix. + + + Display the hot-key prefix. + + + Represents the fonts installed on the system. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Provides a collection of font families built from font files that are provided by the client application. + + + Initializes a new instance of the class. + + + Adds a font from the specified file to this . + A that contains the file name of the font to add. + The specified font is not supported or the font file cannot be found. + + + Adds a font contained in system memory to this . + The memory address of the font to add. + The memory length of the font to add. + + + Specifies the quality of text rendering. + + + Each character is drawn using its antialiased glyph bitmap without hinting. Better quality due to antialiasing. Stem width differences may be noticeable because hinting is turned off. + + + Each character is drawn using its antialiased glyph bitmap with hinting. Much better quality due to antialiasing, but at a higher performance cost. + + + Each character is drawn using its glyph ClearType bitmap with hinting. The highest quality setting. Used to take advantage of ClearType font features. + + + Each character is drawn using its glyph bitmap. Hinting is not used. + + + Each character is drawn using its glyph bitmap. Hinting is used to improve character appearance on stems and curvature. + + + Each character is drawn using its glyph bitmap, with the system default rendering hint. The text will be drawn using whatever font-smoothing settings the user has selected for the system. + + + Each property of the class is a object that uses an image to fill the interior of a shape. This class cannot be inherited. + + + Initializes a new object that uses the specified image. + The object with which this object fills interiors. + + + Initializes a new object that uses the specified image and wrap mode. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + + + Initializes a new object that uses the specified image, wrap mode, and bounding rectangle. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, wrap mode, and bounding rectangle. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image and bounding rectangle. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, bounding rectangle, and image attributes. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + An object that contains additional information about the image used by this object. + + + Initializes a new object that uses the specified image and bounding rectangle. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, bounding rectangle, and image attributes. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + An object that contains additional information about the image used by this object. + + + Creates an exact copy of this object. + The object this method creates, cast as an object. + + + Multiplies the object that represents the local geometric transformation of this object by the specified object by prepending the specified object. + The object by which to multiply the geometric transformation. + + + Multiplies the object that represents the local geometric transformation of this object by the specified object in the specified order. + The object by which to multiply the geometric transformation. + A enumeration that specifies the order in which to multiply the two matrices. + + + Resets the property of this object to identity. + + + Rotates the local geometric transformation of this object by the specified amount. This method prepends the rotation to the transformation. + The angle of rotation. + + + Rotates the local geometric transformation of this object by the specified amount in the specified order. + The angle of rotation. + A enumeration that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transformation of this object by the specified amounts. This method prepends the scaling matrix to the transformation. + The amount by which to scale the transformation in the x direction. + The amount by which to scale the transformation in the y direction. + + + Scales the local geometric transformation of this object by the specified amounts in the specified order. + The amount by which to scale the transformation in the x direction. + The amount by which to scale the transformation in the y direction. + A enumeration that specifies whether to append or prepend the scaling matrix. + + + Translates the local geometric transformation of this object by the specified dimensions. This method prepends the translation to the transformation. + The dimension by which to translate the transformation in the x direction. + The dimension by which to translate the transformation in the y direction. + + + Translates the local geometric transformation of this object by the specified dimensions in the specified order. + The dimension by which to translate the transformation in the x direction. + The dimension by which to translate the transformation in the y direction. + The order (prepend or append) in which to apply the translation. + + + Gets the object associated with this object. + An object that represents the image with which this object fills shapes. + + + Gets or sets a copy of the object that defines a local geometric transformation for the image associated with this object. + A copy of the object that defines a geometric transformation that applies only to fills drawn by using this object. + + + Gets or sets a enumeration that indicates the wrap mode for this object. + A enumeration that specifies how fills drawn by using this object are tiled. + + + Allows you to specify an icon to represent a control in a container, such as the Microsoft Visual Studio Form Designer. + + + A object that has its small image and its large image set to . + + + Initializes a new object with an image from a specified file. + The name of a file that contains a 16 by 16 bitmap. + + + Initializes a new object based on a 16 x 16 bitmap that is embedded as a resource in a specified assembly. + A whose defining assembly is searched for the bitmap resource. + + + Initializes a new object based on a 16 by 16 bitmap that is embedded as a resource in a specified assembly. + A whose defining assembly is searched for the bitmap resource. + The name of the embedded bitmap resource. + + + Indicates whether the specified object is a object and is identical to this object. + The to test. + This method returns if is both a object and is identical to this object. + + + Gets a hash code for this object. + The hash code for this object. + + + Gets the small associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type of the object specified by the component parameter. For example, if you pass an object of type ControlA to the component parameter, then this method searches the assembly that defines ControlA. + The small associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type of the object specified by the component parameter. For example, if you pass an object of type ControlA to the component parameter, then this method searches the assembly that defines ControlA. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An object associated with this object. + + + Gets the small associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type specified by the type parameter. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + The small associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type specified by the component type. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for an embedded bitmap resource in the assembly that defines the type specified by the component type. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + The name of the embedded bitmap resource. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An associated with this object. + + + Returns an object based on a bitmap resource that is embedded in an assembly. + This method searches for an embedded bitmap resource in the assembly that defines the type specified by the t parameter. For example, if you pass typeof(ControlA) to the t parameter, then this method searches the assembly that defines ControlA. + The name of the embedded bitmap resource. + Specifies whether this method returns a large image (true) or a small image (false). The small image is 16 by 16, and the large image is 32 x 32. + An object based on the retrieved bitmap. + + + \ No newline at end of file diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/xamarinios10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/xamarinmac20/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/xamarintvos10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/xamarinwatchos10/_._ b/LeatherProject/packages/System.Drawing.Common.5.0.3/ref/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.xml b/LeatherProject/packages/System.Drawing.Common.5.0.3/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.xml new file mode 100644 index 0000000..99486f8 --- /dev/null +++ b/LeatherProject/packages/System.Drawing.Common.5.0.3/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.xml @@ -0,0 +1,12076 @@ + + + + System.Drawing.Common + + + + Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A is an object used to work with images defined by pixel data. + + + Initializes a new instance of the class from the specified existing image. + The from which to create the new . + + + Initializes a new instance of the class from the specified existing image, scaled to the specified size. + The from which to create the new . + The structure that represent the size of the new . + The operation failed. + + + Initializes a new instance of the class from the specified existing image, scaled to the specified size. + The from which to create the new . + The width, in pixels, of the new . + The height, in pixels, of the new . + The operation failed. + + + Initializes a new instance of the class with the specified size. + The width, in pixels, of the new . + The height, in pixels, of the new . + The operation failed. + + + Initializes a new instance of the class with the specified size and with the resolution of the specified object. + The width, in pixels, of the new . + The height, in pixels, of the new . + The object that specifies the resolution for the new . + + is . + + + Initializes a new instance of the class with the specified size and format. + The width, in pixels, of the new . + The height, in pixels, of the new . + The pixel format for the new . This must specify a value that begins with Format. + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + + + Initializes a new instance of the class with the specified size, pixel format, and pixel data. + The width, in pixels, of the new . + The height, in pixels, of the new . + Integer that specifies the byte offset between the beginning of one scan line and the next. This is usually (but not necessarily) the number of bytes in the pixel format (for example, 2 for 16 bits per pixel) multiplied by the width of the bitmap. The value passed to this parameter must be a multiple of four. + The pixel format for the new . This must specify a value that begins with Format. + Pointer to an array of bytes that contains the pixel data. + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + + + Initializes a new instance of the class from the specified data stream. + The data stream used to load the image. + + does not contain image data or is . + + -or- + + contains a PNG image file with a single dimension greater than 65,535 pixels. + + + Initializes a new instance of the class from the specified data stream. + The data stream used to load the image. + + to use color correction for this ; otherwise, . + + does not contain image data or is . + + -or- + + contains a PNG image file with a single dimension greater than 65,535 pixels. + + + Initializes a new instance of the class from the specified file. + The bitmap file name and path. + The specified file is not found. + + + Initializes a new instance of the class from the specified file. + The name of the bitmap file. + + to use color correction for this ; otherwise, . + + + Initializes a new instance of the class from a specified resource. + The class used to extract the resource. + The name of the resource. + + + Creates a copy of the section of this defined by structure and with a specified enumeration. + Defines the portion of this to copy. Coordinates are relative to this . + The pixel format for the new . This must specify a value that begins with Format. + + is outside of the source bitmap bounds. + The height or width of is 0. + + -or- + + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + The new that this method creates. + + + Creates a copy of the section of this defined with a specified enumeration. + Defines the portion of this to copy. + Specifies the enumeration for the destination . + + is outside of the source bitmap bounds. + The height or width of is 0. + The that this method creates. + + + Creates a from a Windows handle to an icon. + A handle to an icon. + The that this method creates. + + + Creates a from the specified Windows resource. + A handle to an instance of the executable file that contains the resource. + A string that contains the name of the resource bitmap. + The that this method creates. + + + Creates a GDI bitmap object from this . + The height or width of the bitmap is greater than . + The operation failed. + A handle to the GDI bitmap object that this method creates. + + + Creates a GDI bitmap object from this . + A structure that specifies the background color. This parameter is ignored if the bitmap is totally opaque. + The height or width of the bitmap is greater than . + The operation failed. + A handle to the GDI bitmap object that this method creates. + + + Returns the handle to an icon. + The operation failed. + A Windows handle to an icon with the same image as the . + + + Gets the color of the specified pixel in this . + The x-coordinate of the pixel to retrieve. + The y-coordinate of the pixel to retrieve. + + is less than 0, or greater than or equal to . + + -or- + + is less than 0, or greater than or equal to . + The operation failed. + A structure that represents the color of the specified pixel. + + + Locks a into system memory. + A structure that specifies the portion of the to lock. + An enumeration that specifies the access level (read/write) for the . + A enumeration that specifies the data format of this . + The is not a specific bits-per-pixel value. + + -or- + + The incorrect is passed in for a bitmap. + The operation failed. + A that contains information about this lock operation. + + + Locks a into system memory. + A rectangle structure that specifies the portion of the to lock. + One of the values that specifies the access level (read/write) for the . + One of the values that specifies the data format of the . + A that contains information about the lock operation. + + value is not a specific bits-per-pixel value. + + -or- + + The incorrect is passed in for a bitmap. + The operation failed. + A that contains information about the lock operation. + + + Makes the default transparent color transparent for this . + The image format of the is an icon format. + The operation failed. + + + Makes the specified color transparent for this . + The structure that represents the color to make transparent. + The image format of the is an icon format. + The operation failed. + + + Sets the color of the specified pixel in this . + The x-coordinate of the pixel to set. + The y-coordinate of the pixel to set. + A structure that represents the color to assign to the specified pixel. + The operation failed. + + + Sets the resolution for this . + The horizontal resolution, in dots per inch, of the . + The vertical resolution, in dots per inch, of the . + The operation failed. + + + Unlocks this from system memory. + A that specifies information about the lock operation. + The operation failed. + + + Specifies that, when interpreting declarations, the assembly should look for the indicated resources in the same assembly, but with the configuration value appended to the declared file name. + + + Initializes a new instance of the class. + + + Specifies that, when interpreting declarations, the assembly should look for the indicated resources in a satellite assembly, but with the configuration value appended to the declared file name. + + + Initializes a new instance of the class. + + + Defines objects used to fill the interiors of graphical shapes such as rectangles, ellipses, pies, polygons, and paths. + + + Initializes a new instance of the class. + + + When overridden in a derived class, creates an exact copy of this . + The new that this method creates. + + + Releases all resources used by this object. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + In a derived class, sets a reference to a GDI+ brush object. + A pointer to the GDI+ brush object. + + + Brushes for all the standard colors. This class cannot be inherited. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Provides a graphics buffer for double buffering. + + + Releases all resources used by the object. + + + Writes the contents of the graphics buffer to the default device. + + + Writes the contents of the graphics buffer to the specified object. + A object to which to write the contents of the graphics buffer. + + + Writes the contents of the graphics buffer to the device context associated with the specified handle. + An that points to the device context to which to write the contents of the graphics buffer. + + + Gets a object that outputs to the graphics buffer. + A object that outputs to the graphics buffer. + + + Provides methods for creating graphics buffers that can be used for double buffering. + + + Initializes a new instance of the class. + + + Creates a graphics buffer of the specified size using the pixel format of the specified . + The to match the pixel format for the new buffer to. + A indicating the size of the buffer to create. + A that can be used to draw to a buffer of the specified dimensions. + + + Creates a graphics buffer of the specified size using the pixel format of the specified . + An to a device context to match the pixel format of the new buffer to. + A indicating the size of the buffer to create. + A that can be used to draw to a buffer of the specified dimensions. + + + Releases all resources used by the . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Disposes of the current graphics buffer, if a buffer has been allocated and has not yet been disposed. + + + Gets or sets the maximum size of the buffer to use. + The height or width of the size is less than or equal to zero. + A indicating the maximum size of the buffer dimensions. + + + Provides access to the main buffered graphics context object for the application domain. + + + Gets the for the current application domain. + The for the current application domain. + + + Specifies a range of character positions within a string. + + + Initializes a new instance of the structure, specifying a range of character positions within a string. + The position of the first character in the range. For example, if is set to 0, the first position of the range is position 0 in the string. + The number of positions in the range. + + + Gets a value indicating whether this object is equivalent to the specified object. + The object to compare to for equality. + + to indicate the specified object is an instance with the same and value as this instance; otherwise, . + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + Compares two objects. Gets a value indicating whether the and values of the two objects are equal. + A to compare for equality. + A to compare for equality. + + to indicate the two objects have the same and values; otherwise, . + + + Compares two objects. Gets a value indicating whether the or values of the two objects are not equal. + A to compare for inequality. + A to compare for inequality. + + to indicate the either the or values of the two objects differ; otherwise, . + + + Gets or sets the position in the string of the first character of this . + The first position of this . + + + Gets or sets the number of positions in this . + The number of positions in this . + + + Specifies alignment of content on the drawing surface. + + + Content is vertically aligned at the bottom, and horizontally aligned at the center. + + + Content is vertically aligned at the bottom, and horizontally aligned on the left. + + + Content is vertically aligned at the bottom, and horizontally aligned on the right. + + + Content is vertically aligned in the middle, and horizontally aligned at the center. + + + Content is vertically aligned in the middle, and horizontally aligned on the left. + + + Content is vertically aligned in the middle, and horizontally aligned on the right. + + + Content is vertically aligned at the top, and horizontally aligned at the center. + + + Content is vertically aligned at the top, and horizontally aligned on the left. + + + Content is vertically aligned at the top, and horizontally aligned on the right. + + + Determines how the source color in a copy pixel operation is combined with the destination color to result in a final color. + + + The destination area is filled by using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.) + + + Windows that are layered on top of your window are included in the resulting image. By default, the image contains only your window. Note that this generally cannot be used for printing device contexts. + + + The destination area is inverted. + + + The colors of the source area are merged with the colors of the selected brush of the destination device context using the Boolean operator. + + + The colors of the inverted source area are merged with the colors of the destination area by using the Boolean operator. + + + The bitmap is not mirrored. + + + The inverted source area is copied to the destination. + + + The source and destination colors are combined using the Boolean operator, and then resultant color is then inverted. + + + The brush currently selected in the destination device context is copied to the destination bitmap. + + + The colors of the brush currently selected in the destination device context are combined with the colors of the destination are using the Boolean operator. + + + The colors of the brush currently selected in the destination device context are combined with the colors of the inverted source area using the Boolean operator. The result of this operation is combined with the colors of the destination area using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The source area is copied directly to the destination area. + + + The inverted colors of the destination area are combined with the colors of the source area using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The destination area is filled by using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.) + + + Represents a collection of category name strings. + + + Initializes a new instance of the class using the specified collection. + A that contains the names to initialize the collection values to. + + + Initializes a new instance of the class using the specified array of names. + An array of strings that contains the names of the categories to initialize the collection values to. + + + Indicates whether the specified category is contained in the collection. + The string to check for in the collection. + + if the specified category is contained in the collection; otherwise, . + + + Copies the collection elements to the specified array at the specified index. + The array to copy to. + The index of the destination array at which to begin copying. + + + Gets the index of the specified value. + The category name to retrieve the index of in the collection. + The index in the collection, or if the string does not exist in the collection. + + + Gets the category name at the specified index. + The index of the collection element to access. + The category name at the specified index. + + + Represents an adjustable arrow-shaped line cap. This class cannot be inherited. + + + Initializes a new instance of the class with the specified width and height. The arrow end caps created with this constructor are always filled. + The width of the arrow. + The height of the arrow. + + + Initializes a new instance of the class with the specified width, height, and fill property. Whether an arrow end cap is filled depends on the argument passed to the parameter. + The width of the arrow. + The height of the arrow. + + to fill the arrow cap; otherwise, . + + + Gets or sets whether the arrow cap is filled. + This property is if the arrow cap is filled; otherwise, . + + + Gets or sets the height of the arrow cap. + The height of the arrow cap. + + + Gets or sets the number of units between the outline of the arrow cap and the fill. + The number of units between the outline of the arrow cap and the fill of the arrow cap. + + + Gets or sets the width of the arrow cap. + The width, in units, of the arrow cap. + + + Defines a blend pattern for a object. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified number of factors and positions. + The number of elements in the and arrays. + + + Gets or sets an array of blend factors for the gradient. + An array of blend factors that specify the percentages of the starting color and the ending color to be used at the corresponding position. + + + Gets or sets an array of blend positions for the gradient. + An array of blend positions that specify the percentages of distance along the gradient line. + + + Defines arrays of colors and positions used for interpolating color blending in a multicolor gradient. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified number of colors and positions. + The number of colors and positions in this . + + + Gets or sets an array of colors that represents the colors to use at corresponding positions along a gradient. + An array of structures that represents the colors to use at corresponding positions along a gradient. + + + Gets or sets the positions along a gradient line. + An array of values that specify percentages of distance along the gradient line. + + + Specifies how different clipping regions can be combined. + + + Specifies that the existing region is replaced by the result of the existing region being removed from the new region. Said differently, the existing region is excluded from the new region. + + + Specifies that the existing region is replaced by the result of the new region being removed from the existing region. Said differently, the new region is excluded from the existing region. + + + Two clipping regions are combined by taking their intersection. + + + One clipping region is replaced by another. + + + Two clipping regions are combined by taking the union of both. + + + Two clipping regions are combined by taking only the areas enclosed by one or the other region, but not both. + + + Specifies how the source colors are combined with the background colors. + + + Specifies that when a color is rendered, it overwrites the background color. + + + Specifies that when a color is rendered, it is blended with the background color. The blend is determined by the alpha component of the color being rendered. + + + Specifies the quality level to use during compositing. + + + Assume linear values. + + + Default quality. + + + Gamma correction is used. + + + High quality, low speed compositing. + + + High speed, low quality. + + + Invalid quality. + + + Specifies the system to use when evaluating coordinates. + + + Specifies that coordinates are in the device coordinate context. On a computer screen the device coordinates are usually measured in pixels. + + + Specifies that coordinates are in the page coordinate context. Their units are defined by the property, and must be one of the elements of the enumeration. + + + Specifies that coordinates are in the world coordinate context. World coordinates are used in a nonphysical environment, such as a modeling environment. + + + Encapsulates a custom user-defined line cap. + + + Initializes a new instance of the class with the specified outline and fill. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + + + Initializes a new instance of the class from the specified existing enumeration with the specified outline and fill. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + The line cap from which to create the custom cap. + + + Initializes a new instance of the class from the specified existing enumeration with the specified outline, fill, and inset. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + The line cap from which to create the custom cap. + The distance between the cap and the line. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Releases all resources used by this object. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an to attempt to free resources and perform other cleanup operations before the is reclaimed by garbage collection. + + + Gets the caps used to start and end lines that make up this custom cap. + The enumeration used at the beginning of a line within this cap. + The enumeration used at the end of a line within this cap. + + + Sets the caps used to start and end lines that make up this custom cap. + The enumeration used at the beginning of a line within this cap. + The enumeration used at the end of a line within this cap. + + + Gets or sets the enumeration on which this is based. + The enumeration on which this is based. + + + Gets or sets the distance between the cap and the line. + The distance between the beginning of the cap and the end of the line. + + + Gets or sets the enumeration that determines how lines that compose this object are joined. + The enumeration this object uses to join lines. + + + Gets or sets the amount by which to scale this Class object with respect to the width of the object. + The amount by which to scale the cap. + + + Specifies the type of graphic shape to use on both ends of each dash in a dashed line. + + + Specifies a square cap that squares off both ends of each dash. + + + Specifies a circular cap that rounds off both ends of each dash. + + + Specifies a triangular cap that points both ends of each dash. + + + Specifies the style of dashed lines drawn with a object. + + + Specifies a user-defined custom dash style. + + + Specifies a line consisting of dashes. + + + Specifies a line consisting of a repeating pattern of dash-dot. + + + Specifies a line consisting of a repeating pattern of dash-dot-dot. + + + Specifies a line consisting of dots. + + + Specifies a solid line. + + + Specifies how the interior of a closed path is filled. + + + Specifies the alternate fill mode. + + + Specifies the winding fill mode. + + + Specifies whether commands in the graphics stack are terminated (flushed) immediately or executed as soon as possible. + + + Specifies that the stack of all graphics operations is flushed immediately. + + + Specifies that all graphics operations on the stack are executed as soon as possible. This synchronizes the graphics state. + + + Represents the internal data of a graphics container. This class is used when saving the state of a object using the and methods. This class cannot be inherited. + + + Represents a series of connected lines and curves. This class cannot be inherited. + + + Initializes a new instance of the class with a value of . + + + Initializes a new instance of the class with the specified enumeration. + The enumeration that determines how the interior of this is filled. + + + Initializes a new instance of the class with the specified and arrays. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + + + Initializes a new instance of the class with the specified and arrays and with the specified enumeration element. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Initializes a new instance of the array with the specified and arrays. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + + + Initializes a new instance of the array with the specified and arrays and with the specified enumeration element. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Appends an elliptical arc to the current figure. + A that represents the rectangular bounds of the ellipse from which the arc is taken. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + A that represents the rectangular bounds of the ellipse from which the arc is taken. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + The x-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The y-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The width of the rectangular region that defines the ellipse from which the arc is drawn. + The height of the rectangular region that defines the ellipse from which the arc is drawn. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + The x-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The y-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The width of the rectangular region that defines the ellipse from which the arc is drawn. + The height of the rectangular region that defines the ellipse from which the arc is drawn. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Adds a cubic Bézier curve to the current figure. + A that represents the starting point of the curve. + A that represents the first control point for the curve. + A that represents the second control point for the curve. + A that represents the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + A that represents the starting point of the curve. + A that represents the first control point for the curve. + A that represents the second control point for the curve. + A that represents the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point for the curve. + The y-coordinate of the first control point for the curve. + The x-coordinate of the second control point for the curve. + The y-coordinate of the second control point for the curve. + The x-coordinate of the endpoint of the curve. + The y-coordinate of the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point for the curve. + The y-coordinate of the first control point for the curve. + The x-coordinate of the second control point for the curve. + The y-coordinate of the second control point for the curve. + The x-coordinate of the endpoint of the curve. + The y-coordinate of the endpoint of the curve. + + + Adds a sequence of connected cubic Bézier curves to the current figure. + An array of structures that represents the points that define the curves. + + + Adds a sequence of connected cubic Bézier curves to the current figure. + An array of structures that represents the points that define the curves. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve. + + + Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + The index of the element in the array that is used as the first point in the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + The index of the element in the array that is used as the first point in the curve. + The number of segments used to draw the curve. A segment can be thought of as a line connecting two points. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds an ellipse to the current path. + A that represents the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + A that represents the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The width of the bounding rectangle that defines the ellipse. + The height of the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper left corner of the bounding rectangle that defines the ellipse. + The width of the bounding rectangle that defines the ellipse. + The height of the bounding rectangle that defines the ellipse. + + + Appends a line segment to this . + A that represents the starting point of the line. + A that represents the endpoint of the line. + + + Appends a line segment to this . + A that represents the starting point of the line. + A that represents the endpoint of the line. + + + Appends a line segment to the current figure. + The x-coordinate of the starting point of the line. + The y-coordinate of the starting point of the line. + The x-coordinate of the endpoint of the line. + The y-coordinate of the endpoint of the line. + + + Appends a line segment to this . + The x-coordinate of the starting point of the line. + The y-coordinate of the starting point of the line. + The x-coordinate of the endpoint of the line. + The y-coordinate of the endpoint of the line. + + + Appends a series of connected line segments to the end of this . + An array of structures that represents the points that define the line segments to add. + + + Appends a series of connected line segments to the end of this . + An array of structures that represents the points that define the line segments to add. + + + Appends the specified to this path. + The to add. + A Boolean value that specifies whether the first figure in the added path is part of the last figure in this path. A value of specifies that (if possible) the first figure in the added path is part of the last figure in this path. A value of specifies that the first figure in the added path is separate from the last figure in this path. + + + Adds the outline of a pie shape to this path. + A that represents the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds the outline of a pie shape to this path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The width of the bounding rectangle that defines the ellipse from which the pie is drawn. + The height of the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds the outline of a pie shape to this path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The width of the bounding rectangle that defines the ellipse from which the pie is drawn. + The height of the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds a polygon to this path. + An array of structures that defines the polygon to add. + + + Adds a polygon to this path. + An array of structures that defines the polygon to add. + + + Adds a rectangle to this path. + A that represents the rectangle to add. + + + Adds a rectangle to this path. + A that represents the rectangle to add. + + + Adds a series of rectangles to this path. + An array of structures that represents the rectangles to add. + + + Adds a series of rectangles to this path. + An array of structures that represents the rectangles to add. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the point where the text starts. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the point where the text starts. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the rectangle that bounds the text. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the rectangle that bounds the text. + A that specifies text formatting information, such as line spacing and alignment. + + + Clears all markers from this path. + + + Creates an exact copy of this path. + The this method creates, cast as an object. + + + Closes all open figures in this path and starts a new figure. It closes each open figure by connecting a line from its endpoint to its starting point. + + + Closes the current figure and starts a new figure. If the current figure contains a sequence of connected lines and curves, the method closes the loop by connecting a line from the endpoint to the starting point. + + + Releases all resources used by this . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Converts each curve in this path into a sequence of connected line segments. + + + Applies the specified transform and then converts each curve in this into a sequence of connected line segments. + A by which to transform this before flattening. + + + Converts each curve in this into a sequence of connected line segments. + A by which to transform this before flattening. + Specifies the maximum permitted error between the curve and its flattened approximation. A value of 0.25 is the default. Reducing the flatness value will increase the number of line segments in the approximation. + + + Returns a rectangle that bounds this . + A that represents a rectangle that bounds this . + + + Returns a rectangle that bounds this when this path is transformed by the specified . + The that specifies a transformation to be applied to this path before the bounding rectangle is calculated. This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle. + A that represents a rectangle that bounds this . + + + Returns a rectangle that bounds this when the current path is transformed by the specified and drawn with the specified . + The that specifies a transformation to be applied to this path before the bounding rectangle is calculated. This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle. + The with which to draw the . + A that represents a rectangle that bounds this . + + + Gets the last point in the array of this . + A that represents the last point in this . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + A that specifies the location to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + A that specifies the location to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + A that specifies the location to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + A that specifies the location to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within (under) the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within (under) the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this; otherwise, . + + + Indicates whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this , using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this in the visible clip region of the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Empties the and arrays and sets the to . + + + Reverses the order of points in the array of this . + + + Sets a marker on this . + + + Starts a new figure without closing the current figure. All subsequent points added to the path are added to this new figure. + + + Applies a transform matrix to this . + A that represents the transformation to apply. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that defines a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + A enumeration that specifies whether this warp operation uses perspective or bilinear mode. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + A enumeration that specifies whether this warp operation uses perspective or bilinear mode. + A value from 0 through 1 that specifies how flat the resulting path is. For more information, see the methods. + + + Adds an additional outline to the path. + A that specifies the width between the original outline of the path and the new outline this method creates. + + + Adds an additional outline to the . + A that specifies the width between the original outline of the path and the new outline this method creates. + A that specifies a transform to apply to the path before widening. + + + Replaces this with curves that enclose the area that is filled when this path is drawn by the specified pen. + A that specifies the width between the original outline of the path and the new outline this method creates. + A that specifies a transform to apply to the path before widening. + A value that specifies the flatness for curves. + + + Gets or sets a enumeration that determines how the interiors of shapes in this are filled. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Gets a that encapsulates arrays of points () and types () for this . + A that encapsulates arrays for both the points and types for this . + + + Gets the points in the path. + An array of objects that represent the path. + + + Gets the types of the corresponding points in the array. + An array of bytes that specifies the types of the corresponding points in the path. + + + Gets the number of elements in the or the array. + An integer that specifies the number of elements in the or the array. + + + Provides the ability to iterate through subpaths in a and test the types of shapes contained in each subpath. This class cannot be inherited. + + + Initializes a new instance of the class with the specified object. + The object for which this helper class is to be initialized. + + + Copies the property and property arrays of the associated into the two specified arrays. + Upon return, contains an array of structures that represents the points in the path. + Upon return, contains an array of bytes that represents the types of points in the path. + Specifies the starting index of the arrays. + Specifies the ending index of the arrays. + The number of points copied. + + + Releases all resources used by this object. + + + Copies the property and property arrays of the associated into the two specified arrays. + Upon return, contains an array of structures that represents the points in the path. + Upon return, contains an array of bytes that represents the types of points in the path. + The number of points copied. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Indicates whether the path associated with this contains a curve. + This method returns if the current subpath contains a curve; otherwise, . + + + This object has a object associated with it. The method increments the associated to the next marker in its path and copies all the points contained between the current marker and the next marker (or end of path) to a second object passed in to the parameter. + The object to which the points will be copied. + The number of points between this marker and the next. + + + Increments the to the next marker in the path and returns the start and stop indexes by way of the [out] parameters. + [out] The integer reference supplied to this parameter receives the index of the point that starts a subpath. + [out] The integer reference supplied to this parameter receives the index of the point that ends the subpath to which points. + The number of points between this marker and the next. + + + Gets the starting index and the ending index of the next group of data points that all have the same type. + [out] Receives the point type shared by all points in the group. Possible types can be retrieved from the enumeration. + [out] Receives the starting index of the group of points. + [out] Receives the ending index of the group of points. + This method returns the number of data points in the group. If there are no more groups in the path, this method returns 0. + + + Gets the next figure (subpath) from the associated path of this . + A that is to have its data points set to match the data points of the retrieved figure (subpath) for this iterator. + [out] Indicates whether the current subpath is closed. It is if the if the figure is closed, otherwise it is . + The number of data points in the retrieved figure (subpath). If there are no more figures to retrieve, zero is returned. + + + Moves the to the next subpath in the path. The start index and end index of the next subpath are contained in the [out] parameters. + [out] Receives the starting index of the next subpath. + [out] Receives the ending index of the next subpath. + [out] Indicates whether the subpath is closed. + The number of subpaths in the object. + + + Rewinds this to the beginning of its associated path. + + + Gets the number of points in the path. + The number of points in the path. + + + Gets the number of subpaths in the path. + The number of subpaths in the path. + + + Represents the state of a object. This object is returned by a call to the methods. This class cannot be inherited. + + + Defines a rectangular brush with a hatch style, a foreground color, and a background color. This class cannot be inherited. + + + Initializes a new instance of the class with the specified enumeration and foreground color. + One of the values that represents the pattern drawn by this . + The structure that represents the color of lines drawn by this . + + + Initializes a new instance of the class with the specified enumeration, foreground color, and background color. + One of the values that represents the pattern drawn by this . + The structure that represents the color of lines drawn by this . + The structure that represents the color of spaces between the lines drawn by this . + + + Creates an exact copy of this object. + The this method creates, cast as an object. + + + Gets the color of spaces between the hatch lines drawn by this object. + A structure that represents the background color for this . + + + Gets the color of hatch lines drawn by this object. + A structure that represents the foreground color for this . + + + Gets the hatch style of this object. + One of the values that represents the pattern of this . + + + Specifies the different patterns available for objects. + + + A pattern of lines on a diagonal from upper right to lower left. + + + Specifies horizontal and vertical lines that cross. + + + Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than, and are twice the width of . This hatch pattern is not antialiased. + + + Specifies horizontal lines that are spaced 50 percent closer together than and are twice the width of . + + + Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than , and are twice its width, but the lines are not antialiased. + + + Specifies vertical lines that are spaced 50 percent closer together than and are twice its width. + + + Specifies dashed diagonal lines, that slant to the right from top points to bottom points. + + + Specifies dashed horizontal lines. + + + Specifies dashed diagonal lines, that slant to the left from top points to bottom points. + + + Specifies dashed vertical lines. + + + Specifies a hatch that has the appearance of layered bricks that slant to the left from top points to bottom points. + + + A pattern of crisscross diagonal lines. + + + Specifies a hatch that has the appearance of divots. + + + Specifies forward diagonal and backward diagonal lines, each of which is composed of dots, that cross. + + + Specifies horizontal and vertical lines, each of which is composed of dots, that cross. + + + A pattern of lines on a diagonal from upper left to lower right. + + + A pattern of horizontal lines. + + + Specifies a hatch that has the appearance of horizontally layered bricks. + + + Specifies a hatch that has the appearance of a checkerboard with squares that are twice the size of . + + + Specifies a hatch that has the appearance of confetti, and is composed of larger pieces than . + + + Specifies the hatch style . + + + Specifies diagonal lines that slant to the right from top points to bottom points and are spaced 50 percent closer together than , but are not antialiased. + + + Specifies horizontal lines that are spaced 50 percent closer together than . + + + Specifies diagonal lines that slant to the left from top points to bottom points and are spaced 50 percent closer together than , but they are not antialiased. + + + Specifies vertical lines that are spaced 50 percent closer together than . + + + Specifies hatch style . + + + Specifies hatch style . + + + Specifies horizontal lines that are spaced 75 percent closer together than hatch style (or 25 percent closer together than ). + + + Specifies vertical lines that are spaced 75 percent closer together than hatch style (or 25 percent closer together than ). + + + Specifies forward diagonal and backward diagonal lines that cross but are not antialiased. + + + Specifies a 5-percent hatch. The ratio of foreground color to background color is 5:95. + + + Specifies a 10-percent hatch. The ratio of foreground color to background color is 10:90. + + + Specifies a 20-percent hatch. The ratio of foreground color to background color is 20:80. + + + Specifies a 25-percent hatch. The ratio of foreground color to background color is 25:75. + + + Specifies a 30-percent hatch. The ratio of foreground color to background color is 30:70. + + + Specifies a 40-percent hatch. The ratio of foreground color to background color is 40:60. + + + Specifies a 50-percent hatch. The ratio of foreground color to background color is 50:50. + + + Specifies a 60-percent hatch. The ratio of foreground color to background color is 60:40. + + + Specifies a 70-percent hatch. The ratio of foreground color to background color is 70:30. + + + Specifies a 75-percent hatch. The ratio of foreground color to background color is 75:25. + + + Specifies a 80-percent hatch. The ratio of foreground color to background color is 80:100. + + + Specifies a 90-percent hatch. The ratio of foreground color to background color is 90:10. + + + Specifies a hatch that has the appearance of a plaid material. + + + Specifies a hatch that has the appearance of diagonally layered shingles that slant to the right from top points to bottom points. + + + Specifies a hatch that has the appearance of a checkerboard. + + + Specifies a hatch that has the appearance of confetti. + + + Specifies horizontal and vertical lines that cross and are spaced 50 percent closer together than hatch style . + + + Specifies a hatch that has the appearance of a checkerboard placed diagonally. + + + Specifies a hatch that has the appearance of spheres laid adjacent to one another. + + + Specifies a hatch that has the appearance of a trellis. + + + A pattern of vertical lines. + + + Specifies horizontal lines that are composed of tildes. + + + Specifies a hatch that has the appearance of a woven material. + + + Specifies diagonal lines that slant to the right from top points to bottom points, have the same spacing as hatch style , and are triple its width, but are not antialiased. + + + Specifies diagonal lines that slant to the left from top points to bottom points, have the same spacing as hatch style , and are triple its width, but are not antialiased. + + + Specifies horizontal lines that are composed of zigzags. + + + The enumeration specifies the algorithm that is used when images are scaled or rotated. + + + Specifies bicubic interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 25 percent of its original size. + + + Specifies bilinear interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 50 percent of its original size. + + + Specifies default mode. + + + Specifies high quality interpolation. + + + Specifies high-quality, bicubic interpolation. Prefiltering is performed to ensure high-quality shrinking. This mode produces the highest quality transformed images. + + + Specifies high-quality, bilinear interpolation. Prefiltering is performed to ensure high-quality shrinking. + + + Equivalent to the element of the enumeration. + + + Specifies low quality interpolation. + + + Specifies nearest-neighbor interpolation. + + + Encapsulates a with a linear gradient. This class cannot be inherited. + + + Initializes a new instance of the class with the specified points and colors. + A structure that represents the starting point of the linear gradient. + A structure that represents the endpoint of the linear gradient. + A structure that represents the starting color of the linear gradient. + A structure that represents the ending color of the linear gradient. + + + Initializes a new instance of the class with the specified points and colors. + A structure that represents the starting point of the linear gradient. + A structure that represents the endpoint of the linear gradient. + A structure that represents the starting color of the linear gradient. + A structure that represents the ending color of the linear gradient. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and orientation. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + A enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + Set to to specify that the angle is affected by the transform associated with this ; otherwise, . + + + Creates a new instance of the based on a rectangle, starting and ending colors, and an orientation mode. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + A enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + Set to to specify that the angle is affected by the transform associated with this ; otherwise, . + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Multiplies the that represents the local geometric transform of this by the specified by prepending the specified . + The by which to multiply the geometric transform. + + + Multiplies the that represents the local geometric transform of this by the specified in the specified order. + The by which to multiply the geometric transform. + A that specifies in which order to multiply the two matrices. + + + Resets the property to identity. + + + Rotates the local geometric transform by the specified amount. This method prepends the rotation to the transform. + The angle of rotation. + + + Rotates the local geometric transform by the specified amount in the specified order. + The angle of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transform by the specified amounts. This method prepends the scaling matrix to the transform. + The amount by which to scale the transform in the x-axis direction. + The amount by which to scale the transform in the y-axis direction. + + + Scales the local geometric transform by the specified amounts in the specified order. + The amount by which to scale the transform in the x-axis direction. + The amount by which to scale the transform in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Creates a linear gradient with a center color and a linear falloff to a single color on both ends. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + + + Creates a linear gradient with a center color and a linear falloff to a single color on both ends. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + A value from 0 through1 that specifies how fast the colors falloff from the starting color to (ending color) + + + Creates a gradient falloff based on a bell-shaped curve. + A value from 0 through 1 that specifies the center of the gradient (the point where the starting color and ending color are blended equally). + + + Creates a gradient falloff based on a bell-shaped curve. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + A value from 0 through 1 that specifies how fast the colors falloff from the . + + + Translates the local geometric transform by the specified dimensions. This method prepends the translation to the transform. + The value of the translation in x. + The value of the translation in y. + + + Translates the local geometric transform by the specified dimensions in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets a that specifies positions and factors that define a custom falloff for the gradient. + A that represents a custom falloff for the gradient. + + + Gets or sets a value indicating whether gamma correction is enabled for this . + The value is if gamma correction is enabled for this ; otherwise, . + + + Gets or sets a that defines a multicolor linear gradient. + A that defines a multicolor linear gradient. + + + Gets or sets the starting and ending colors of the gradient. + An array of two structures that represents the starting and ending colors of the gradient. + + + Gets a rectangular region that defines the starting and ending points of the gradient. + A structure that specifies the starting and ending points of the gradient. + + + Gets or sets a copy that defines a local geometric transform for this . + A copy of the that defines a geometric transform that applies only to fills drawn with this . + + + Gets or sets a enumeration that indicates the wrap mode for this . + A that specifies how fills drawn with this are tiled. + + + Specifies the direction of a linear gradient. + + + Specifies a gradient from upper right to lower left. + + + Specifies a gradient from upper left to lower right. + + + Specifies a gradient from left to right. + + + Specifies a gradient from top to bottom. + + + Specifies the available cap styles with which a object can end a line. + + + Specifies a mask used to check whether a line cap is an anchor cap. + + + Specifies an arrow-shaped anchor cap. + + + Specifies a custom line cap. + + + Specifies a diamond anchor cap. + + + Specifies a flat line cap. + + + Specifies no anchor. + + + Specifies a round line cap. + + + Specifies a round anchor cap. + + + Specifies a square line cap. + + + Specifies a square anchor line cap. + + + Specifies a triangular line cap. + + + Specifies how to join consecutive line or curve segments in a figure (subpath) contained in a object. + + + Specifies a beveled join. This produces a diagonal corner. + + + Specifies a mitered join. This produces a sharp corner or a clipped corner, depending on whether the length of the miter exceeds the miter limit. + + + Specifies a mitered join. This produces a sharp corner or a beveled corner, depending on whether the length of the miter exceeds the miter limit. + + + Specifies a circular join. This produces a smooth, circular arc between the lines. + + + Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inherited. + + + Initializes a new instance of the class as the identity matrix. + + + Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points. + A structure that represents the rectangle to be transformed. + An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners. + + + Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points. + A structure that represents the rectangle to be transformed. + An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners. + + + Initializes a new instance of the class with the specified elements. + The value in the first row and first column of the new . + The value in the first row and second column of the new . + The value in the second row and first column of the new . + The value in the second row and second column of the new . + The value in the third row and first column of the new . + The value in the third row and second column of the new . + + + Creates an exact copy of this . + The that this method creates. + + + Releases all resources used by this . + + + Tests whether the specified object is a and is identical to this . + The object to test. + This method returns if is the specified identical to this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Returns a hash code. + The hash code for this . + + + Inverts this , if it is invertible. + + + Multiplies this by the matrix specified in the parameter, by prepending the specified . + The by which this is to be multiplied. + + + Multiplies this by the matrix specified in the parameter, and in the order specified in the parameter. + The by which this is to be multiplied. + The that represents the order of the multiplication. + + + Resets this to have the elements of the identity matrix. + + + Prepend to this a clockwise rotation, around the origin and by the specified angle. + The angle of the rotation, in degrees. + + + Applies a clockwise rotation of an amount specified in the parameter, around the origin (zero x and y coordinates) for this . + The angle (extent) of the rotation, in degrees. + A that specifies the order (append or prepend) in which the rotation is applied to this . + + + Applies a clockwise rotation to this around the point specified in the parameter, and by prepending the rotation. + The angle (extent) of the rotation, in degrees. + A that represents the center of the rotation. + + + Applies a clockwise rotation about the specified point to this in the specified order. + The angle of the rotation, in degrees. + A that represents the center of the rotation. + A that specifies the order (append or prepend) in which the rotation is applied. + + + Applies the specified scale vector to this by prepending the scale vector. + The value by which to scale this in the x-axis direction. + The value by which to scale this in the y-axis direction. + + + Applies the specified scale vector ( and ) to this using the specified order. + The value by which to scale this in the x-axis direction. + The value by which to scale this in the y-axis direction. + A that specifies the order (append or prepend) in which the scale vector is applied to this . + + + Applies the specified shear vector to this by prepending the shear transformation. + The horizontal shear factor. + The vertical shear factor. + + + Applies the specified shear vector to this in the specified order. + The horizontal shear factor. + The vertical shear factor. + A that specifies the order (append or prepend) in which the shear is applied. + + + Applies the geometric transform represented by this to a specified array of points. + An array of structures that represents the points to transform. + + + Applies the geometric transform represented by this to a specified array of points. + An array of structures that represents the points to transform. + + + Applies only the scale and rotate components of this to the specified array of points. + An array of structures that represents the points to transform. + + + Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored. + An array of structures that represents the points to transform. + + + Applies the specified translation vector ( and ) to this by prepending the translation vector. + The x value by which to translate this . + The y value by which to translate this . + + + Applies the specified translation vector to this in the specified order. + The x value by which to translate this . + The y value by which to translate this . + A that specifies the order (append or prepend) in which the translation is applied to this . + + + Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored. + An array of structures that represents the points to transform. + + + Gets an array of floating-point values that represents the elements of this . + An array of floating-point values that represents the elements of this . + + + Gets a value indicating whether this is the identity matrix. + This property is if this is identity; otherwise, . + + + Gets a value indicating whether this is invertible. + This property is if this is invertible; otherwise, . + + + Gets the x translation value (the dx value, or the element in the third row and first column) of this . + The x translation value of this . + + + Gets the y translation value (the dy value, or the element in the third row and second column) of this . + The y translation value of this . + + + Specifies the order for matrix transform operations. + + + The new operation is applied after the old operation. + + + The new operation is applied before the old operation. + + + Contains the graphical data that makes up a object. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Gets or sets an array of structures that represents the points through which the path is constructed. + An array of objects that represents the points through which the path is constructed. + + + Gets or sets the types of the corresponding points in the path. + An array of bytes that specify the types of the corresponding points in the path. + + + Encapsulates a object that fills the interior of a object with a gradient. This class cannot be inherited. + + + Initializes a new instance of the class with the specified path. + The that defines the area filled by this . + + + Initializes a new instance of the class with the specified points. + An array of structures that represents the points that make up the vertices of the path. + + + Initializes a new instance of the class with the specified points and wrap mode. + An array of structures that represents the points that make up the vertices of the path. + A that specifies how fills drawn with this are tiled. + + + Initializes a new instance of the class with the specified points. + An array of structures that represents the points that make up the vertices of the path. + + + Initializes a new instance of the class with the specified points and wrap mode. + An array of structures that represents the points that make up the vertices of the path. + A that specifies how fills drawn with this are tiled. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Updates the brush's transformation matrix with the product of brush's transformation matrix multiplied by another matrix. + The that will be multiplied by the brush's current transformation matrix. + + + Updates the brush's transformation matrix with the product of the brush's transformation matrix multiplied by another matrix. + The that will be multiplied by the brush's current transformation matrix. + A that specifies in which order to multiply the two matrices. + + + Resets the property to identity. + + + Rotates the local geometric transform by the specified amount. This method prepends the rotation to the transform. + The angle (extent) of rotation. + + + Rotates the local geometric transform by the specified amount in the specified order. + The angle (extent) of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transform by the specified amounts. This method prepends the scaling matrix to the transform. + The transform scale factor in the x-axis direction. + The transform scale factor in the y-axis direction. + + + Scales the local geometric transform by the specified amounts in the specified order. + The transform scale factor in the x-axis direction. + The transform scale factor in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Creates a gradient with a center color and a linear falloff to one surrounding color. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + + + Creates a gradient with a center color and a linear falloff to each surrounding color. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + A value from 0 through 1 that specifies the maximum intensity of the center color that gets blended with the boundary color. A value of 1 causes the highest possible intensity of the center color, and it is the default value. + + + Creates a gradient brush that changes color starting from the center of the path outward to the path's boundary. The transition from one color to another is based on a bell-shaped curve. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + + + Creates a gradient brush that changes color starting from the center of the path outward to the path's boundary. The transition from one color to another is based on a bell-shaped curve. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + A value from 0 through 1 that specifies the maximum intensity of the center color that gets blended with the boundary color. A value of 1 causes the highest possible intensity of the center color, and it is the default value. + + + Applies the specified translation to the local geometric transform. This method prepends the translation to the transform. + The value of the translation in x. + The value of the translation in y. + + + Applies the specified translation to the local geometric transform in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets a that specifies positions and factors that define a custom falloff for the gradient. + A that represents a custom falloff for the gradient. + + + Gets or sets the color at the center of the path gradient. + A that represents the color at the center of the path gradient. + + + Gets or sets the center point of the path gradient. + A that represents the center point of the path gradient. + + + Gets or sets the focus point for the gradient falloff. + A that represents the focus point for the gradient falloff. + + + Gets or sets a that defines a multicolor linear gradient. + A that defines a multicolor linear gradient. + + + Gets a bounding rectangle for this . + A that represents a rectangular region that bounds the path this fills. + + + Gets or sets an array of colors that correspond to the points in the path this fills. + An array of structures that represents the colors associated with each point in the path this fills. + + + Gets or sets a copy of the that defines a local geometric transform for this . + A copy of the that defines a geometric transform that applies only to fills drawn with this . + + + Gets or sets a that indicates the wrap mode for this . + A that specifies how fills drawn with this are tiled. + + + Specifies the type of point in a object. + + + A default Bézier curve. + + + A cubic Bézier curve. + + + The endpoint of a subpath. + + + The corresponding segment is dashed. + + + A line segment. + + + A path marker. + + + A mask point. + + + The starting point of a object. + + + Specifies the alignment of a object in relation to the theoretical, zero-width line. + + + Specifies that the object is centered over the theoretical line. + + + Specifies that the is positioned on the inside of the theoretical line. + + + Specifies the is positioned to the left of the theoretical line. + + + Specifies the is positioned on the outside of the theoretical line. + + + Specifies the is positioned to the right of the theoretical line. + + + Specifies the type of fill a object uses to fill lines. + + + Specifies a hatch fill. + + + Specifies a linear gradient fill. + + + Specifies a path gradient fill. + + + Specifies a solid fill. + + + Specifies a bitmap texture fill. + + + Specifies how pixels are offset during rendering. + + + Specifies the default mode. + + + Specifies that pixels are offset by -.5 units, both horizontally and vertically, for high speed antialiasing. + + + Specifies high quality, low speed rendering. + + + Specifies high speed, low quality rendering. + + + Specifies an invalid mode. + + + Specifies no pixel offset. + + + Specifies the overall quality when rendering GDI+ objects. + + + Specifies the default mode. + + + Specifies high quality, low speed rendering. + + + Specifies an invalid mode. + + + Specifies low quality, high speed rendering. + + + Encapsulates the data that makes up a object. This class cannot be inherited. + + + Gets or sets an array of bytes that specify the object. + An array of bytes that specify the object. + + + Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas. + + + Specifies antialiased rendering. + + + Specifies no antialiasing. + + + Specifies antialiased rendering. + + + Specifies no antialiasing. + + + Specifies an invalid mode. + + + Specifies no antialiasing. + + + Specifies the type of warp transformation applied in a method. + + + Specifies a bilinear warp. + + + Specifies a perspective warp. + + + Specifies how a texture or gradient is tiled when it is smaller than the area being filled. + + + The texture or gradient is not tiled. + + + Tiles the gradient or texture. + + + Reverses the texture or gradient horizontally and then tiles the texture or gradient. + + + Reverses the texture or gradient horizontally and vertically and then tiles the texture or gradient. + + + Reverses the texture or gradient vertically and then tiles the texture or gradient. + + + Defines a particular format for text, including font face, size, and style attributes. This class cannot be inherited. + + + Initializes a new that uses the specified existing and enumeration. + The existing from which to create the new . + The to apply to the new . Multiple values of the enumeration can be combined with the operator. + + + Initializes a new using a specified size. + The of the new . + The em-size, in points, of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size and style. + The of the new . + The em-size, in points, of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, and unit. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, unit, and character set. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a + + GDI character set to use for the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, unit, and character set. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a + + GDI character set to use for this font. + A Boolean value indicating whether the new font is derived from a GDI vertical font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is + + + Initializes a new using a specified size and unit. Sets the style to . + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + + is . + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size. + A string representation of the for the new . + The em-size, in points, of the new font. + + is less than or equal to 0, evaluates to infinity or is not a valid number. + + + Initializes a new using a specified size and style. + A string representation of the for the new . + The em-size, in points, of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size, style, and unit. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity or is not a valid number. + + + Initializes a new using a specified size, style, unit, and character set. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a GDI character set to use for this font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using the specified size, style, unit, and character set. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a GDI character set to use for this font. + A Boolean value indicating whether the new is derived from a GDI vertical font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size and unit. The style is set to . + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Creates an exact copy of this . + The this method creates, cast as an . + + + Releases all resources used by this . + + + Indicates whether the specified object is a and has the same , , , , , and property values as this . + The object to test. + + if the parameter is a and has the same , , , , , and property values as this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates a from the specified Windows handle to a device context. + A handle to a device context. + The font for the specified device context is not a TrueType font. + The this method creates. + + + Creates a from the specified Windows handle. + A Windows handle to a GDI font. + + points to an object that is not a TrueType font. + The this method creates. + + + Creates a from the specified GDI logical font (LOGFONT) structure. + An that represents the GDI structure from which to create the . + The that this method creates. + + + Creates a from the specified GDI logical font (LOGFONT) structure. + An that represents the GDI structure from which to create the . + A handle to a device context that contains additional information about the structure. + The font is not a TrueType font. + The that this method creates. + + + Gets the hash code for this . + The hash code for this . + + + Returns the line spacing, in pixels, of this font. + The line spacing, in pixels, of this font. + + + Returns the line spacing, in the current unit of a specified , of this font. + A that holds the vertical resolution, in dots per inch, of the display device as well as settings for page unit and page scale. + + is . + The line spacing, in pixels, of this font. + + + Returns the height, in pixels, of this when drawn to a device with the specified vertical resolution. + The vertical resolution, in dots per inch, used to calculate the height of the font. + The height, in pixels, of this . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Returns a handle to this . + The operation was unsuccessful. + A Windows handle to this . + + + Creates a GDI logical font (LOGFONT) structure from this . + An to represent the structure that this method creates. + + + Creates a GDI logical font (LOGFONT) structure from this . + An to represent the structure that this method creates. + A that provides additional information for the structure. + + is . + + + Returns a human-readable string representation of this . + A string that represents this . + + + Gets a value that indicates whether this is bold. + + if this is bold; otherwise, . + + + Gets the associated with this . + The associated with this . + + + Gets a byte value that specifies the GDI character set that this uses. + A byte value that specifies the GDI character set that this uses. The default is 1. + + + Gets a Boolean value that indicates whether this is derived from a GDI vertical font. + + if this is derived from a GDI vertical font; otherwise, . + + + Gets the line spacing of this font. + The line spacing, in pixels, of this font. + + + Gets a value indicating whether the font is a member of . + + if the font is a member of ; otherwise, . The default is . + + + Gets a value that indicates whether this font has the italic style applied. + + to indicate this font has the italic style applied; otherwise, . + + + Gets the face name of this . + A string representation of the face name of this . + + + Gets the name of the font originally specified. + The string representing the name of the font originally specified. + + + Gets the em-size of this measured in the units specified by the property. + The em-size of this . + + + Gets the em-size, in points, of this . + The em-size, in points, of this . + + + Gets a value that indicates whether this specifies a horizontal line through the font. + + if this has a horizontal line through it; otherwise, . + + + Gets style information for this . + A enumeration that contains style information for this . + + + Gets the name of the system font if the property returns . + The name of the system font, if returns ; otherwise, an empty string (""). + + + Gets a value that indicates whether this is underlined. + + if this is underlined; otherwise, . + + + Gets the unit of measure for this . + A that represents the unit of measure for this . + + + Converts objects from one data type to another. + + + Initializes a new object. + + + Determines whether this converter can convert an object in the specified source type to the native type of the converter. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + The type you want to convert from. + This method returns if this object can perform the conversion. + + + Gets a value indicating whether this converter can convert an object to the given destination type using the context. + An object that provides a format context. + A object that represents the type you want to convert to. + This method returns if this converter can perform the conversion; otherwise, . + + + Converts the specified object to the native type of the converter. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies the culture used to represent the font. + The object to convert. + The conversion could not be performed. + The converted object. + + + Converts the specified object to another type. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies the culture used to represent the object. + The object to convert. + The data type to convert the object to. + The conversion was not successful. + The converted object. + + + Creates an object of this type by using a specified set of property values for the object. + A type descriptor through which additional context can be provided. + A dictionary of new property values. The dictionary contains a series of name-value pairs, one for each property returned from the method. + The newly created object, or if the object could not be created. The default implementation returns . + + useful for creating non-changeable objects that have changeable properties. + + + Determines whether changing a value on this object should require a call to the method to create a new value. + A type descriptor through which additional context can be provided. + This method returns if the object should be called when a change is made to one or more properties of this object; otherwise, . + + + Retrieves the set of properties for this type. By default, a type does not have any properties to return. + A type descriptor through which additional context can be provided. + The value of the object to get the properties for. + An array of objects that describe the properties. + The set of properties that should be exposed for this data type. If no properties should be exposed, this may return . The default implementation always returns . + + An easy implementation of this method can call the method for the correct data type. + + + Determines whether this object supports properties. The default is . + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find the properties of this object; otherwise, . + + + + is a type converter that is used to convert a font name to and from various other representations. + + + Initializes a new instance of the class. + + + Determines if this converter can convert an object in the given source type to the native type of the converter. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + The type you wish to convert from. + + if the converter can perform the conversion; otherwise, . + + + Converts the given object to the converter's native type. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + A to use to perform the conversion + The object to convert. + The conversion cannot be completed. + The converted object. + + + Retrieves a collection containing a set of standard values for the data type this converter is designed for. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + A collection containing a standard set of valid values, or . The default is . + + + Determines if the list of standard values returned from the method is an exclusive list. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + + if the collection returned from is an exclusive list of possible values; otherwise, . The default is . + + + Determines if this object supports a standard set of values that can be picked from a list. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + + if should be called to find a common set of values the object supports; otherwise, . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Converts font units to and from other unit types. + + + Initializes a new instance of the class. + + + Returns a collection of standard values valid for the type. + An that provides a format context. + + + Defines a group of type faces having a similar basic design and certain variations in styles. This class cannot be inherited. + + + Initializes a new from the specified generic font family. + The from which to create the new . + + + Initializes a new with the specified name. + The name of the new . + + is an empty string (""). + + -or- + + specifies a font that is not installed on the computer running the application. + + -or- + + specifies a font that is not a TrueType font. + + + Initializes a new in the specified with the specified name. + A that represents the name of the new . + The that contains this . + + is an empty string (""). + + -or- + + specifies a font that is not installed on the computer running the application. + + -or- + + specifies a font that is not a TrueType font. + + + Releases all resources used by this . + + + Indicates whether the specified object is a and is identical to this . + The object to test. + + if is a and is identical to this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Returns the cell ascent, in design units, of the of the specified style. + A that contains style information for the font. + The cell ascent for this that uses the specified . + + + Returns the cell descent, in design units, of the of the specified style. + A that contains style information for the font. + The cell descent metric for this that uses the specified . + + + Gets the height, in font design units, of the em square for the specified style. + The for which to get the em height. + The height of the em square. + + + Returns an array that contains all the objects available for the specified graphics context. + The object from which to return objects. + + is . + An array of objects available for the specified object. + + + Gets a hash code for this . + The hash code for this . + + + Returns the line spacing, in design units, of the of the specified style. The line spacing is the vertical distance between the base lines of two consecutive lines of text. + The to apply. + The distance between two consecutive lines of text. + + + Returns the name, in the specified language, of this . + The language in which the name is returned. + A that represents the name, in the specified language, of this . + + + Indicates whether the specified enumeration is available. + The to test. + + if the specified is available; otherwise, . + + + Converts this to a human-readable string representation. + The string that represents this . + + + Returns an array that contains all the objects associated with the current graphics context. + An array of objects associated with the current graphics context. + + + Gets a generic monospace . + A that represents a generic monospace font. + + + Gets a generic sans serif object. + A object that represents a generic sans serif font. + + + Gets a generic serif . + A that represents a generic serif font. + + + Gets the name of this . + A that represents the name of this . + + + Specifies style information applied to text. + + + Bold text. + + + Italic text. + + + Normal text. + + + Text with a line through the middle. + + + Underlined text. + + + Encapsulates a GDI+ drawing surface. This class cannot be inherited. + + + Adds a comment to the current . + Array of bytes that contains the comment. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container. + This method returns a that represents the state of this at the time of the method call. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container with the specified scale transformation. + + structure that, together with the parameter, specifies a scale transformation for the container. + + structure that, together with the parameter, specifies a scale transformation for the container. + Member of the enumeration that specifies the unit of measure for the container. + This method returns a that represents the state of this at the time of the method call. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container with the specified scale transformation. + + structure that, together with the parameter, specifies a scale transformation for the new graphics container. + + structure that, together with the parameter, specifies a scale transformation for the new graphics container. + Member of the enumeration that specifies the unit of measure for the container. + This method returns a that represents the state of this at the time of the method call. + + + Clears the entire drawing surface and fills it with the specified background color. + + structure that represents the background color of the drawing surface. + + + Performs a bit-block transfer of color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The point at the upper-left corner of the source rectangle. + The point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + The operation failed. + + + Performs a bit-block transfer of color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The point at the upper-left corner of the source rectangle. + The point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + One of the values. + + is not a member of . + The operation failed. + + + Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The x-coordinate of the point at the upper-left corner of the source rectangle. + The y-coordinate of the point at the upper-left corner of the source rectangle. + The x-coordinate of the point at the upper-left corner of the destination rectangle. + The y-coordinate of the point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + The operation failed. + + + Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The x-coordinate of the point at the upper-left corner of the source rectangle. + The y-coordinate of the point at the upper-left corner of the source rectangle + The x-coordinate of the point at the upper-left corner of the destination rectangle. + The y-coordinate of the point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + One of the values. + + is not a member of . + The operation failed. + + + Releases all resources used by this . + + + Draws an arc representing a portion of an ellipse specified by a structure. + + that determines the color, width, and style of the arc. + + structure that defines the boundaries of the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws an arc representing a portion of an ellipse specified by a structure. + + that determines the color, width, and style of the arc. + + structure that defines the boundaries of the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is + + + Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height. + + that determines the color, width, and style of the arc. + The x-coordinate of the upper-left corner of the rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the rectangle that defines the ellipse. + Width of the rectangle that defines the ellipse. + Height of the rectangle that defines the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height. + + that determines the color, width, and style of the arc. + The x-coordinate of the upper-left corner of the rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the rectangle that defines the ellipse. + Width of the rectangle that defines the ellipse. + Height of the rectangle that defines the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws a Bézier spline defined by four structures. + + structure that determines the color, width, and style of the curve. + + structure that represents the starting point of the curve. + + structure that represents the first control point for the curve. + + structure that represents the second control point for the curve. + + structure that represents the ending point of the curve. + + is . + + + Draws a Bézier spline defined by four structures. + + that determines the color, width, and style of the curve. + + structure that represents the starting point of the curve. + + structure that represents the first control point for the curve. + + structure that represents the second control point for the curve. + + structure that represents the ending point of the curve. + + is . + + + Draws a Bézier spline defined by four ordered pairs of coordinates that represent points. + + that determines the color, width, and style of the curve. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point of the curve. + The y-coordinate of the first control point of the curve. + The x-coordinate of the second control point of the curve. + The y-coordinate of the second control point of the curve. + The x-coordinate of the ending point of the curve. + The y-coordinate of the ending point of the curve. + + is . + + + Draws a series of Bézier splines from an array of structures. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10. + + is . + + -or- + + is . + + + Draws a series of Bézier splines from an array of structures. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures using a specified tension. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + Member of the enumeration that determines how the curve is filled. This parameter is required but ignored. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures using a specified tension. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + Member of the enumeration that determines how the curve is filled. This parameter is required but is ignored. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. The drawing begins offset from the beginning of the array. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. The drawing begins offset from the beginning of the array. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that define the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws an ellipse specified by a bounding structure. + + that determines the color, width, and style of the ellipse. + + structure that defines the boundaries of the ellipse. + + is . + + + Draws an ellipse defined by a bounding . + + that determines the color, width, and style of the ellipse. + + structure that defines the boundaries of the ellipse. + + is . + + + Draws an ellipse defined by a bounding rectangle specified by coordinates for the upper-left corner of the rectangle, a height, and a width. + + that determines the color, width, and style of the ellipse. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width. + + that determines the color, width, and style of the ellipse. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Draws the image represented by the specified within the area specified by a structure. + + to draw. + + structure that specifies the location and size of the resulting image on the display surface. The image contained in the parameter is scaled to the dimensions of this rectangular area. + + is . + + + Draws the image represented by the specified at the specified coordinates. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws the image represented by the specified without scaling the image. + + to draw. + + structure that specifies the location and size of the resulting image. The image is not scaled to fit this rectangle, but retains its original size. If the image is larger than the rectangle, it is clipped to fit inside it. + + is . + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + + structure that represents the location of the upper-left corner of the drawn image. + + is . + + + Draws the specified at the specified location and with the specified shape and size. + + to draw. + Array of three structures that define a parallelogram. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + + structure that represents the upper-left corner of the drawn image. + + is . + + + Draws the specified at the specified location and with the specified shape and size. + + to draw. + Array of three structures that define a parallelogram. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for . + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified image, using its original physical size, at the location specified by a coordinate pair. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a portion of an image at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Width of the drawn image. + Height of the drawn image. + + is . + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a portion of an image at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + structure that specifies the portion of the to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Width of the drawn image. + Height of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + + structure that specifies the upper-left corner of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + + that specifies the upper-left corner of the drawn image. The X and Y properties of the rectangle specify the upper-left corner. The Width and Height properties are ignored. + + is . + + + Draws the specified image using its original physical size at the location specified by a coordinate pair. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Not used. + Not used. + + is . + + + Draws the specified image without scaling and clips it, if necessary, to fit in the specified rectangle. + The to draw. + The in which to draw the image. + + is . + + + Draws a line connecting two structures. + + that determines the color, width, and style of the line. + + structure that represents the first point to connect. + + structure that represents the second point to connect. + + is . + + + Draws a line connecting two structures. + + that determines the color, width, and style of the line. + + structure that represents the first point to connect. + + structure that represents the second point to connect. + + is . + + + Draws a line connecting the two points specified by the coordinate pairs. + + that determines the color, width, and style of the line. + The x-coordinate of the first point. + The y-coordinate of the first point. + The x-coordinate of the second point. + The y-coordinate of the second point. + + is . + + + Draws a line connecting the two points specified by the coordinate pairs. + + that determines the color, width, and style of the line. + The x-coordinate of the first point. + The y-coordinate of the first point. + The x-coordinate of the second point. + The y-coordinate of the second point. + + is . + + + Draws a series of line segments that connect an array of structures. + + that determines the color, width, and style of the line segments. + Array of structures that represent the points to connect. + + is . + + -or- + + is . + + + Draws a series of line segments that connect an array of structures. + + that determines the color, width, and style of the line segments. + Array of structures that represent the points to connect. + + is . + + -or- + + is . + + + Draws a . + + that determines the color, width, and style of the path. + + to draw. + + is . + + -or- + + is . + + + Draws a pie shape defined by an ellipse specified by a structure and two radial lines. + + that determines the color, width, and style of the pie shape. + + structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a structure and two radial lines. + + that determines the color, width, and style of the pie shape. + + structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines. + + that determines the color, width, and style of the pie shape. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + Width of the bounding rectangle that defines the ellipse from which the pie shape comes. + Height of the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines. + + that determines the color, width, and style of the pie shape. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + Width of the bounding rectangle that defines the ellipse from which the pie shape comes. + Height of the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a polygon defined by an array of structures. + + that determines the color, width, and style of the polygon. + Array of structures that represent the vertices of the polygon. + + is . + + + Draws a polygon defined by an array of structures. + + that determines the color, width, and style of the polygon. + Array of structures that represent the vertices of the polygon. + + is . + + -or- + + is . + + + Draws a rectangle specified by a structure. + A that determines the color, width, and style of the rectangle. + A structure that represents the rectangle to draw. + + is . + + + Draws a rectangle specified by a coordinate pair, a width, and a height. + + that determines the color, width, and style of the rectangle. + The x-coordinate of the upper-left corner of the rectangle to draw. + The y-coordinate of the upper-left corner of the rectangle to draw. + Width of the rectangle to draw. + Height of the rectangle to draw. + + is . + + + Draws a rectangle specified by a coordinate pair, a width, and a height. + A that determines the color, width, and style of the rectangle. + The x-coordinate of the upper-left corner of the rectangle to draw. + The y-coordinate of the upper-left corner of the rectangle to draw. + The width of the rectangle to draw. + The height of the rectangle to draw. + + is . + + + Draws a series of rectangles specified by structures. + + that determines the color, width, and style of the outlines of the rectangles. + Array of structures that represent the rectangles to draw. + + is . + + -or- + + is . + + is a zero-length array. + + + Draws a series of rectangles specified by structures. + + that determines the color, width, and style of the outlines of the rectangles. + Array of structures that represent the rectangles to draw. + + is . + + -or- + + is . + + is a zero-length array. + + + Draws the specified text string at the specified location with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the upper-left corner of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the upper-left corner of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string in the specified rectangle with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the location of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string in the specified rectangle with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the location of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + The x-coordinate of the upper-left corner of the drawn text. + The y-coordinate of the upper-left corner of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + The x-coordinate of the upper-left corner of the drawn text. + The y-coordinate of the upper-left corner of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Closes the current graphics container and restores the state of this to the state saved by a call to the method. + + that represents the container this method restores. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structures that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Updates the clip region of this to exclude the area specified by a structure. + + structure that specifies the rectangle to exclude from the clip region. + + + Updates the clip region of this to exclude the area specified by a . + + that specifies the region to exclude from the clip region. + + + Fills the interior of a closed cardinal spline curve defined by an array of structures. + + that determines the characteristics of the fill. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode and tension. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures. + + that determines the characteristics of the fill. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode and tension. + A that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of a . + + that determines the characteristics of the fill. + + that represents the path to fill. + + is . + + -or- + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a structure and two radial lines. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, a height, and two radial lines. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + Width of the bounding rectangle that defines the ellipse from which the pie section comes. + Height of the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, a height, and two radial lines. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + Width of the bounding rectangle that defines the ellipse from which the pie section comes. + Height of the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + Member of the enumeration that determines the style of the fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + Member of the enumeration that determines the style of the fill. + + is . + + -or- + + is . + + + Fills the interior of a rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the rectangle to fill. + The y-coordinate of the upper-left corner of the rectangle to fill. + Width of the rectangle to fill. + Height of the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the rectangle to fill. + The y-coordinate of the upper-left corner of the rectangle to fill. + Width of the rectangle to fill. + Height of the rectangle to fill. + + is . + + + Fills the interiors of a series of rectangles specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the rectangles to fill. + + is . + + -or- + + is . + + is a zero-length array. + + + Fills the interiors of a series of rectangles specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the rectangles to fill. + + is . + + -or- + + is . + + is a zero-length array. + + + Fills the interior of a . + + that determines the characteristics of the fill. + + that represents the area to fill. + + is . + + -or- + + is . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Forces execution of all pending graphics operations and returns immediately without waiting for the operations to finish. + + + Forces execution of all pending graphics operations with the method waiting or not waiting, as specified, to return before the operations finish. + Member of the enumeration that specifies whether the method returns immediately or waits for any existing operations to finish. + + + Creates a new from the specified handle to a device context. + Handle to a device context. + This method returns a new for the specified device context. + + + Creates a new from the specified handle to a device context and handle to a device. + Handle to a device context. + Handle to a device. + This method returns a new for the specified device context and device. + + + Returns a for the specified device context. + Handle to a device context. + A for the specified device context. + + + Creates a new from the specified handle to a window. + Handle to a window. + This method returns a new for the specified window handle. + + + Creates a new for the specified windows handle. + Handle to a window. + A for the specified window handle. + + + Creates a new from the specified . + + from which to create the new . + + is . + + has an indexed pixel format or its format is undefined. + This method returns a new for the specified . + + + Gets the cumulative graphics context. + An representing the cumulative graphics context. + + + Gets a handle to the current Windows halftone palette. + Internal pointer that specifies the handle to the palette. + + + Gets the handle to the device context associated with this . + Handle to the device context associated with this . + + + Gets the nearest color to the specified structure. + + structure for which to find a match. + A structure that represents the nearest color to the one specified with the parameter. + + + Updates the clip region of this to the intersection of the current clip region and the specified structure. + + structure to intersect with the current clip region. + + + Updates the clip region of this to the intersection of the current clip region and the specified structure. + + structure to intersect with the current clip region. + + + Updates the clip region of this to the intersection of the current clip region and the specified . + + to intersect with the current region. + + + Indicates whether the specified structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the point specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the specified structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the point specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the rectangle specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the rectangle specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the point specified by a pair of coordinates is contained within the visible clip region of this . + The x-coordinate of the point to test for visibility. + The y-coordinate of the point to test for visibility. + + if the point defined by the and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this . + The x-coordinate of the upper-left corner of the rectangle to test for visibility. + The y-coordinate of the upper-left corner of the rectangle to test for visibility. + Width of the rectangle to test for visibility. + Height of the rectangle to test for visibility. + + if the rectangle defined by the , , , and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the point specified by a pair of coordinates is contained within the visible clip region of this . + The x-coordinate of the point to test for visibility. + The y-coordinate of the point to test for visibility. + + if the point defined by the and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this . + The x-coordinate of the upper-left corner of the rectangle to test for visibility. + The y-coordinate of the upper-left corner of the rectangle to test for visibility. + Width of the rectangle to test for visibility. + Height of the rectangle to test for visibility. + + if the rectangle defined by the , , , and parameters is contained within the visible clip region of this ; otherwise, . + + + Gets an array of objects, each of which bounds a range of character positions within the specified string. + String to measure. + + that defines the text format of the string. + + structure that specifies the layout rectangle for the string. + + that represents formatting information, such as line spacing, for the string. + This method returns an array of objects, each of which bounds a range of character positions within the specified string. + + + Measures the specified string when drawn with the specified . + String to measure. + + that defines the text format of the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + defines the text format of the string. + + structure that represents the upper-left corner of the string. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified within the specified layout area. + String to measure. + + defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + that defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + that represents formatting information, such as line spacing, for the string. + Number of characters in the string. + Number of text lines in the string. + + is . + This method returns a structure that represents the size of the string, in the units specified by the property, of the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified . + String to measure. + + that defines the format of the string. + Maximum width of the string in pixels. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + that defines the text format of the string. + Maximum width of the string. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter and the parameter. + + + Multiplies the world transformation of this and specified the . + 4x4 that multiplies the world transformation. + + + Multiplies the world transformation of this and specified the in the specified order. + 4x4 that multiplies the world transformation. + Member of the enumeration that determines the order of the multiplication. + + + Releases a device context handle obtained by a previous call to the method of this . + + + Releases a device context handle obtained by a previous call to the method of this . + Handle to a device context obtained by a previous call to the method of this . + + + Releases a handle to a device context. + Handle to a device context. + + + Resets the clip region of this to an infinite region. + + + Resets the world transformation matrix of this to the identity matrix. + + + Restores the state of this to the state represented by a . + + that represents the state to which to restore this . + + + Applies the specified rotation to the transformation matrix of this . + Angle of rotation in degrees. + + + Applies the specified rotation to the transformation matrix of this in the specified order. + Angle of rotation in degrees. + Member of the enumeration that specifies whether the rotation is appended or prepended to the matrix transformation. + + + Saves the current state of this and identifies the saved state with a . + This method returns a that represents the saved state of this . + + + Applies the specified scaling operation to the transformation matrix of this by prepending it to the object's transformation matrix. + Scale factor in the x direction. + Scale factor in the y direction. + + + Applies the specified scaling operation to the transformation matrix of this in the specified order. + Scale factor in the x direction. + Scale factor in the y direction. + Member of the enumeration that specifies whether the scaling operation is prepended or appended to the transformation matrix. + + + Sets the clipping region of this to the specified . + + that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the specified . + + to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the property of the specified . + + from which to take the new clip region. + + + Sets the clipping region of this to the result of the specified combining operation of the current clip region and the property of the specified . + + that specifies the clip region to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the rectangle specified by a structure. + + structure that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the rectangle specified by a structure. + + structure to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the rectangle specified by a structure. + + structure that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the rectangle specified by a structure. + + structure to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the specified . + + to combine. + Member from the enumeration that specifies the combining operation to use. + + + Transforms an array of points from one coordinate space to another using the current world and page transformations of this . + Member of the enumeration that specifies the destination coordinate space. + Member of the enumeration that specifies the source coordinate space. + Array of structures that represents the points to transformation. + + + Transforms an array of points from one coordinate space to another using the current world and page transformations of this . + Member of the enumeration that specifies the destination coordinate space. + Member of the enumeration that specifies the source coordinate space. + Array of structures that represent the points to transform. + + + Translates the clipping region of this by specified amounts in the horizontal and vertical directions. + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Translates the clipping region of this by specified amounts in the horizontal and vertical directions. + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Changes the origin of the coordinate system by prepending the specified translation to the transformation matrix of this . + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Changes the origin of the coordinate system by applying the specified translation to the transformation matrix of this in the specified order. + The x-coordinate of the translation. + The y-coordinate of the translation. + Member of the enumeration that specifies whether the translation is prepended or appended to the transformation matrix. + + + Gets or sets a that limits the drawing region of this . + A that limits the portion of this that is currently available for drawing. + + + Gets a structure that bounds the clipping region of this . + A structure that represents a bounding rectangle for the clipping region of this . + + + Gets a value that specifies how composited images are drawn to this . + This property specifies a member of the enumeration. The default is . + + + Gets or sets the rendering quality of composited images drawn to this . + This property specifies a member of the enumeration. The default is . + + + Gets the horizontal resolution of this . + The value, in dots per inch, for the horizontal resolution supported by this . + + + Gets the vertical resolution of this . + The value, in dots per inch, for the vertical resolution supported by this . + + + Gets or sets the interpolation mode associated with this . + One of the values. + + + Gets a value indicating whether the clipping region of this is empty. + + if the clipping region of this is empty; otherwise, . + + + Gets a value indicating whether the visible clipping region of this is empty. + + if the visible portion of the clipping region of this is empty; otherwise, . + + + Gets or sets the scaling between world units and page units for this . + This property specifies a value for the scaling between world units and page units for this . + + + Gets or sets the unit of measure used for page coordinates in this . + + is set to , which is not a physical unit. + One of the values other than . + + + Gets or sets a value specifying how pixels are offset during rendering of this . + This property specifies a member of the enumeration + + + Gets or sets the rendering origin of this for dithering and for hatch brushes. + A structure that represents the dither origin for 8-bits-per-pixel and 16-bits-per-pixel dithering and is also used to set the origin for hatch brushes. + + + Gets or sets the rendering quality for this . + One of the values. + + + Gets or sets the gamma correction value for rendering text. + The gamma correction value used for rendering antialiased and ClearType text. + + + Gets or sets the rendering mode for text associated with this . + One of the values. + + + Gets or sets a copy of the geometric world transformation for this . + A copy of the that represents the geometric world transformation for this . + + + Gets the bounding rectangle of the visible clipping region of this . + A structure that represents a bounding rectangle for the visible clipping region of this . + + + Provides a callback method for deciding when the method should prematurely cancel execution and stop drawing an image. + Internal pointer that specifies data for the callback method. This parameter is not passed by all overloads. You can test for its absence by checking for the value . + This method returns if it decides that the method should prematurely stop execution. Otherwise it returns to indicate that the method should continue execution. + + + Provides a callback method for the method. + Member of the enumeration that specifies the type of metafile record. + Set of flags that specify attributes of the record. + Number of bytes in the record data. + Pointer to a buffer that contains the record data. + Not used. + Return if you want to continue enumerating records; otherwise, . + + + Specifies the unit of measure for the given data. + + + Specifies the unit of measure of the display device. Typically pixels for video displays, and 1/100 inch for printers. + + + Specifies the document unit (1/300 inch) as the unit of measure. + + + Specifies the inch as the unit of measure. + + + Specifies the millimeter as the unit of measure. + + + Specifies a device pixel as the unit of measure. + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + Specifies the world coordinate system unit as the unit of measure. + + + Represents a Windows icon, which is a small bitmap image that is used to represent an object. Icons can be thought of as transparent bitmaps, although their size is determined by the system. + + + Initializes a new instance of the class and attempts to find a version of the icon that matches the requested size. + The from which to load the newly sized icon. + A structure that specifies the height and width of the new . + The parameter is . + + + Initializes a new instance of the class and attempts to find a version of the icon that matches the requested size. + The icon to load the different size from. + The width of the new icon. + The height of the new icon. + The parameter is . + + + Initializes a new instance of the class from the specified data stream. + The data stream from which to load the . + The parameter is . + + + Initializes a new instance of the class of the specified size from the specified stream. + The stream that contains the icon data. + The desired size of the icon. + The is or does not contain image data. + + + Initializes a new instance of the class from the specified data stream and with the specified width and height. + The data stream from which to load the icon. + The width, in pixels, of the icon. + The height, in pixels, of the icon. + The parameter is . + + + Initializes a new instance of the class from the specified file name. + The file to load the from. + + + Initializes a new instance of the class of the specified size from the specified file. + The name and path to the file that contains the icon data. + The desired size of the icon. + The is or does not contain image data. + + + Initializes a new instance of the class with the specified width and height from the specified file. + The name and path to the file that contains the data. + The desired width of the . + The desired height of the . + The is or does not contain image data. + + + Initializes a new instance of the class from a resource in the specified assembly. + A that specifies the assembly in which to look for the resource. + The resource name to load. + An icon specified by cannot be found in the assembly that contains the specified . + + + Clones the , creating a duplicate image. + An object that can be cast to an . + + + Releases all resources used by this . + + + Returns an icon representation of an image that is contained in the specified file. + The path to the file that contains an image. + The does not indicate a valid file. + + -or- + + The indicates a Universal Naming Convention (UNC) path. + The representation of the image that is contained in the specified file. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates a GDI+ from the specified Windows handle to an icon (). + A Windows handle to an icon. + The this method creates. + + + Saves this to the specified output . + The to save to. + + + Populates a with the data that is required to serialize the target object. + + The destination (see ) for this serialization. + + + Converts this to a GDI+ . + A that represents the converted . + + + Gets a human-readable string that describes the . + A string that describes the . + + + Gets the Windows handle for this . This is not a copy of the handle; do not free it. + The Windows handle for the icon. + + + Gets the height of this . + The height of this . + + + Gets the size of this . + A structure that specifies the width and height of this . + + + Gets the width of this . + The width of this . + + + Converts an object from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Determines whether this can convert an instance of a specified type to an , using the specified context. + An that provides a format context. + A that specifies the type you want to convert from. + This method returns if this can perform the conversion; otherwise, . + + + Determines whether this can convert an to an instance of a specified type, using the specified context. + An that provides a format context. + A that specifies the type you want to convert to. + This method returns if this can perform the conversion; otherwise, . + + + Converts a specified object to an . + An that provides a format context. + A that holds information about a specific culture. + The to be converted. + The conversion could not be performed. + If this method succeeds, it returns the that it created by converting the specified object. Otherwise, it throws an exception. + + + Converts an (or an object that can be cast to an ) to a specified type. + An that provides a format context. + A object that specifies formatting conventions used by a particular culture. + The object to convert. This object should be of type icon or some type that can be cast to . + The type to convert the icon to. + The conversion could not be performed. + This method returns the converted object. + + + Defines methods for obtaining and releasing an existing handle to a Windows device context. + + + Returns the handle to a Windows device context. + An representing the handle of a device context. + + + Releases the handle of a Windows device context. + + + An abstract base class that provides functionality for the and descended classes. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Releases all resources used by this . + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates an from the specified file. + A string that contains the name of the file from which to create the . + The file does not have a valid image format. + + -or- + + GDI+ does not support the pixel format of the file. + The specified file does not exist. + + is a . + The this method creates. + + + Creates an from the specified file using embedded color management information in that file. + A string that contains the name of the file from which to create the . + Set to to use color management information embedded in the image file; otherwise, . + The file does not have a valid image format. + + -or- + + GDI+ does not support the pixel format of the file. + The specified file does not exist. + + is a . + The this method creates. + + + Creates a from a handle to a GDI bitmap. + The GDI bitmap handle from which to create the . + The this method creates. + + + Creates a from a handle to a GDI bitmap and a handle to a GDI palette. + The GDI bitmap handle from which to create the . + A handle to a GDI palette used to define the bitmap colors if the bitmap specified in the parameter is not a device-independent bitmap (DIB). + The this method creates. + + + Creates an from the specified data stream. + A that contains the data for this . + The stream does not have a valid image format + + -or- + + is . + The this method creates. + + + Creates an from the specified data stream, optionally using embedded color management information in that stream. + A that contains the data for this . + + to use color management information embedded in the data stream; otherwise, . + The stream does not have a valid image format + + -or- + + is . + The this method creates. + + + Creates an from the specified data stream, optionally using embedded color management information and validating the image data. + A that contains the data for this . + + to use color management information embedded in the data stream; otherwise, . + + to validate the image data; otherwise, . + The stream does not have a valid image format. + The this method creates. + + + Gets the bounds of the image in the specified unit. + One of the values indicating the unit of measure for the bounding rectangle. + The that represents the bounds of the image, in the specified unit. + + + Returns information about the parameters supported by the specified image encoder. + A GUID that specifies the image encoder. + An that contains an array of objects. Each contains information about one of the parameters supported by the specified image encoder. + + + Returns the number of frames of the specified dimension. + A that specifies the identity of the dimension type. + The number of frames in the specified dimension. + + + Returns the color depth, in number of bits per pixel, of the specified pixel format. + The member that specifies the format for which to find the size. + The color depth of the specified pixel format. + + + Gets the specified property item from this . + The ID of the property item to get. + The image format of this image does not support property items. + The this method gets. + + + Returns a thumbnail for this . + The width, in pixels, of the requested thumbnail image. + The height, in pixels, of the requested thumbnail image. + A delegate. + + Note You must create a delegate and pass a reference to the delegate as the parameter, but the delegate is not used. + Must be . + An that represents the thumbnail. + + + Returns a value that indicates whether the pixel format for this contains alpha information. + The to test. + + if contains alpha information; otherwise, . + + + Returns a value that indicates whether the pixel format is 32 bits per pixel. + The to test. + + if is canonical; otherwise, . + + + Returns a value that indicates whether the pixel format is 64 bits per pixel. + The enumeration to test. + + if is extended; otherwise, . + + + Removes the specified property item from this . + The ID of the property item to remove. + The image does not contain the requested property item. + + -or- + + The image format for this image does not support property items. + + + Rotates, flips, or rotates and flips the . + A member that specifies the type of rotation and flip to apply to the image. + + + Saves this image to the specified stream, with the specified encoder and image encoder parameters. + The where the image will be saved. + The for this . + An that specifies parameters used by the image encoder. + + is . + The image was saved with the wrong image format. + + + Saves this image to the specified stream in the specified format. + The where the image will be saved. + An that specifies the format of the saved image. + + or is . + The image was saved with the wrong image format + + + Saves this to the specified file or stream. + A string that contains the name of the file to which to save this . + + is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Saves this to the specified file, with the specified encoder and image-encoder parameters. + A string that contains the name of the file to which to save this . + The for this . + An to use for this . + + or is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Saves this to the specified file in the specified format. + A string that contains the name of the file to which to save this . + The for this . + + or is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Adds a frame to the file or stream specified in a previous call to the method. + An that contains the frame to add. + An that holds parameters required by the image encoder that is used by the save-add operation. + + is . + + + Adds a frame to the file or stream specified in a previous call to the method. Use this method to save selected frames from a multiple-frame image to another multiple-frame image. + An that holds parameters required by the image encoder that is used by the save-add operation. + + + Selects the frame specified by the dimension and index. + A that specifies the identity of the dimension type. + The index of the active frame. + Always returns 0. + + + Stores a property item (piece of metadata) in this . + The to be stored. + The image format of this image does not support property items. + + + Populates a with the data needed to serialize the target object. + + The destination (see ) for this serialization. + + + Gets attribute flags for the pixel data of this . + The integer representing a bitwise combination of for this . + + + Gets an array of GUIDs that represent the dimensions of frames within this . + An array of GUIDs that specify the dimensions of frames within this from most significant to least significant. + + + Gets the height, in pixels, of this . + The height, in pixels, of this . + + + Gets the horizontal resolution, in pixels per inch, of this . + The horizontal resolution, in pixels per inch, of this . + + + Gets or sets the color palette used for this . + A that represents the color palette used for this . + + + Gets the width and height of this image. + A structure that represents the width and height of this . + + + Gets the pixel format for this . + A that represents the pixel format for this . + + + Gets IDs of the property items stored in this . + An array of the property IDs, one for each property item stored in this image. + + + Gets all the property items (pieces of metadata) stored in this . + An array of objects, one for each property item stored in the image. + + + Gets the file format of this . + The that represents the file format of this . + + + Gets the width and height, in pixels, of this image. + A structure that represents the width and height, in pixels, of this image. + + + Gets or sets an object that provides additional data about the image. + The that provides additional data about the image. + + + Gets the vertical resolution, in pixels per inch, of this . + The vertical resolution, in pixels per inch, of this . + + + Gets the width, in pixels, of this . + The width, in pixels, of this . + + + Provides a callback method for determining when the method should prematurely cancel execution. + This method returns if it decides that the method should prematurely stop execution; otherwise, it returns . + + + Animates an image that has time-based frames. + + + Displays a multiple-frame image as an animation. + The object to animate. + An object that specifies the method that is called when the animation frame changes. + + + Returns a Boolean value indicating whether the specified image contains time-based frames. + The object to test. + This method returns if the specified image contains time-based frames; otherwise, . + + + Terminates a running animation. + The object to stop animating. + An object that specifies the method that is called when the animation frame changes. + + + Advances the frame in all images currently being animated. The new frame is drawn the next time the image is rendered. + + + Advances the frame in the specified image. The new frame is drawn the next time the image is rendered. This method applies only to images with time-based frames. + The object for which to update frames. + + + + is a class that can be used to convert objects from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Determines whether this can convert an instance of a specified type to an , using the specified context. + An that provides a format context. + A that specifies the type you want to convert from. + This method returns if this can perform the conversion; otherwise, . + + + Determines whether this can convert an to an instance of a specified type, using the specified context. + An that provides a format context. + A that specifies the type you want to convert to. + This method returns if this can perform the conversion; otherwise, . + + + Converts a specified object to an . + An that provides a format context. + A that holds information about a specific culture. + The to be converted. + The conversion cannot be completed. + If this method succeeds, it returns the that it created by converting the specified object. Otherwise, it throws an exception. + + + Converts an (or an object that can be cast to an ) to the specified type. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions used by a particular culture. + The to convert. + The to convert the to. + The conversion cannot be completed. + This method returns the converted object. + + + Gets the set of properties for this type. + A type descriptor through which additional context can be provided. + The value of the object to get the properties for. + An array of objects that describe the properties. + The set of properties that should be exposed for this data type. If no properties should be exposed, this can return . The default implementation always returns . + + + Indicates whether this object supports properties. By default, this is . + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find the properties of this object. + + + + is a class that can be used to convert objects from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Indicates whether this converter can convert an object in the specified source type to the native type of the converter. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + The type you want to convert from. + This method returns if this object can perform the conversion. + + + Gets a value indicating whether this converter can convert an object to the specified destination type using the context. + An that specifies the context for this type conversion. + The that represents the type to which you want to convert this object. + This method returns if this object can perform the conversion. + + + Converts the specified object to an object. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions for a particular culture. + The object to convert. + The conversion cannot be completed. + The converted object. + + + Converts the specified object to the specified type. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions for a particular culture. + The object to convert. + The type to convert the object to. + The conversion cannot be completed. + + is . + The converted object. + + + Gets a collection that contains a set of standard values for the data type this validator is designed for. Returns if the data type does not support a standard set of values. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A collection that contains a standard set of valid values, or . The default implementation always returns . + + + Indicates whether this object supports a standard set of values that can be picked from a list. + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find a common set of values the object supports. + + + Specifies the attributes of a bitmap image. The class is used by the and methods of the class. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the pixel height of the object. Also sometimes referred to as the number of scan lines. + The pixel height of the object. + + + Gets or sets the format of the pixel information in the object that returned this object. + A that specifies the format of the pixel information in the associated object. + + + Reserved. Do not use. + Reserved. Do not use. + + + Gets or sets the address of the first pixel data in the bitmap. This can also be thought of as the first scan line in the bitmap. + The address of the first pixel data in the bitmap. + + + Gets or sets the stride width (also called scan width) of the object. + The stride width, in bytes, of the object. + + + Gets or sets the pixel width of the object. This can also be thought of as the number of pixels in one scan line. + The pixel width of the object. + + + Specifies which GDI+ objects use color adjustment information. + + + The number of types specified. + + + Color adjustment information for objects. + + + Color adjustment information for objects. + + + The number of types specified. + + + Color adjustment information that is used by all GDI+ objects that do not have their own color adjustment information. + + + Color adjustment information for objects. + + + Color adjustment information for text. + + + Specifies individual channels in the CMYK (cyan, magenta, yellow, black) color space. This enumeration is used by the methods. + + + The cyan color channel. + + + The black color channel. + + + The last selected channel should be used. + + + The magenta color channel. + + + The yellow color channel. + + + Defines a map for converting colors. Several methods of the class adjust image colors by using a color-remap table, which is an array of structures. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the new structure to which to convert. + The new structure to which to convert. + + + Gets or sets the existing structure to be converted. + The existing structure to be converted. + + + Specifies the types of color maps. + + + Specifies a color map for a . + + + A default color map. + + + Defines a 5 x 5 matrix that contains the coordinates for the RGBAW space. Several methods of the class adjust image colors by using a color matrix. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the elements in the specified matrix . + The values of the elements for the new . + + + Gets or sets the element at the specified row and column in the . + The row of the element. + The column of the element. + The element at the specified row and column. + + + Gets or sets the element at the 0 (zero) row and 0 column of this . + The element at the 0 row and 0 column of this . + + + Gets or sets the element at the 0 (zero) row and first column of this . + The element at the 0 row and first column of this . + + + Gets or sets the element at the 0 (zero) row and second column of this . + The element at the 0 row and second column of this . + + + Gets or sets the element at the 0 (zero) row and third column of this . Represents the alpha component. + The element at the 0 row and third column of this . + + + Gets or sets the element at the 0 (zero) row and fourth column of this . + The element at the 0 row and fourth column of this . + + + Gets or sets the element at the first row and 0 (zero) column of this . + The element at the first row and 0 column of this . + + + Gets or sets the element at the first row and first column of this . + The element at the first row and first column of this . + + + Gets or sets the element at the first row and second column of this . + The element at the first row and second column of this . + + + Gets or sets the element at the first row and third column of this . Represents the alpha component. + The element at the first row and third column of this . + + + Gets or sets the element at the first row and fourth column of this . + The element at the first row and fourth column of this . + + + Gets or sets the element at the second row and 0 (zero) column of this . + The element at the second row and 0 column of this . + + + Gets or sets the element at the second row and first column of this . + The element at the second row and first column of this . + + + Gets or sets the element at the second row and second column of this . + The element at the second row and second column of this . + + + Gets or sets the element at the second row and third column of this . + The element at the second row and third column of this . + + + Gets or sets the element at the second row and fourth column of this . + The element at the second row and fourth column of this . + + + Gets or sets the element at the third row and 0 (zero) column of this . + The element at the third row and 0 column of this . + + + Gets or sets the element at the third row and first column of this . + The element at the third row and first column of this . + + + Gets or sets the element at the third row and second column of this . + The element at the third row and second column of this . + + + Gets or sets the element at the third row and third column of this . Represents the alpha component. + The element at the third row and third column of this . + + + Gets or sets the element at the third row and fourth column of this . + The element at the third row and fourth column of this . + + + Gets or sets the element at the fourth row and 0 (zero) column of this . + The element at the fourth row and 0 column of this . + + + Gets or sets the element at the fourth row and first column of this . + The element at the fourth row and first column of this . + + + Gets or sets the element at the fourth row and second column of this . + The element at the fourth row and second column of this . + + + Gets or sets the element at the fourth row and third column of this . Represents the alpha component. + The element at the fourth row and third column of this . + + + Gets or sets the element at the fourth row and fourth column of this . + The element at the fourth row and fourth column of this . + + + Specifies the types of images and colors that will be affected by the color and grayscale adjustment settings of an . + + + Only gray shades are adjusted. + + + All color values, including gray shades, are adjusted by the same color-adjustment matrix. + + + All colors are adjusted, but gray shades are not adjusted. A gray shade is any color that has the same value for its red, green, and blue components. + + + Specifies two modes for color component values. + + + The integer values supplied are 32-bit values. + + + The integer values supplied are 64-bit values. + + + Defines an array of colors that make up a color palette. The colors are 32-bit ARGB colors. Not inheritable. + + + Gets an array of structures. + The array of structure that make up this . + + + Gets a value that specifies how to interpret the color information in the array of colors. + The following flag values are valid: + + 0x00000001 + The color values in the array contain alpha information. + + 0x00000002 + The colors in the array are grayscale values. + + 0x00000004 + The colors in the array are halftone values. + + + Specifies the methods available for use with a metafile to read and write graphic commands. + + + See methods. + + + See methods. + + + See . + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See methods. + + + Specifies a character string, a location, and formatting information. + + + See methods. + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See . + + + Identifies a record that marks the last EMF+ record of a metafile. + + + See methods. + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See . + + + Identifies a record that is the EMF+ header. + + + Indicates invalid data. + + + The maximum value for this enumeration. + + + The minimum value for this enumeration. + + + Marks the end of a multiple-format section. + + + Marks a multiple-format section. + + + Marks the start of a multiple-format section. + + + See methods. + + + Marks an object. + + + See methods. + + + See . + + + See . + + + See . + + + See methods. + + + See . + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See . + + + See . + + + See methods. + + + See . + + + See . + + + See . + + + See . + + + See methods. + + + Used internally. + + + See methods. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Increases or decreases the size of a logical palette based on the specified value. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Copies the color data for a rectangle of pixels in a DIB to the specified destination rectangle. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Specifies the nature of the records that are placed in an Enhanced Metafile (EMF) file. This enumeration is used by several constructors in the class. + + + Specifies that all the records in the metafile are EMF records, which can be displayed by GDI or GDI+. + + + Specifies that all EMF+ records in the metafile are associated with an alternate EMF record. Metafiles of type can be displayed by GDI or by GDI+. + + + Specifies that all the records in the metafile are EMF+ records, which can be displayed by GDI+ but not by GDI. + + + An object encapsulates a globally unique identifier (GUID) that identifies the category of an image encoder parameter. + + + An object that is initialized with the globally unique identifier for the chrominance table parameter category. + + + An object that is initialized with the globally unique identifier for the color depth parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the color space category. + + + An object that is initialized with the globally unique identifier for the compression parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the image items category. + + + Represents an object that is initialized with the globally unique identifier for the luminance table parameter category. + + + Gets an object that is initialized with the globally unique identifier for the quality parameter category. + + + Represents an object that is initialized with the globally unique identifier for the render method parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the save as CMYK category. + + + Represents an object that is initialized with the globally unique identifier for the save flag parameter category. + + + Represents an object that is initialized with the globally unique identifier for the scan method parameter category. + + + Represents an object that is initialized with the globally unique identifier for the transformation parameter category. + + + Represents an object that is initialized with the globally unique identifier for the version parameter category. + + + Initializes a new instance of the class from the specified globally unique identifier (GUID). The GUID specifies an image encoder parameter category. + A globally unique identifier that identifies an image encoder parameter category. + + + Gets a globally unique identifier (GUID) that identifies an image encoder parameter category. + The GUID that identifies an image encoder parameter category. + + + Used to pass a value, or an array of values, to an image encoder. + + + Initializes a new instance of the class with the specified object and one unsigned 8-bit integer. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + An 8-bit unsigned integer that specifies the value stored in the object. + + + Initializes a new instance of the class with the specified object and one 8-bit value. Sets the property to or , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A byte that specifies the value stored in the object. + If , the property is set to ; otherwise, the property is set to . + + + Initializes a new instance of the class with the specified object and an array of unsigned 8-bit integers. Sets the property to , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 8-bit unsigned integers that specifies the values stored in the object. + + + Initializes a new instance of the class with the specified object and an array of bytes. Sets the property to or , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of bytes that specifies the values stored in the object. + If , the property is set to ; otherwise, the property is set to . + + + Initializes a new instance of the class with the specified object and one, 16-bit integer. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 16-bit integer that specifies the value stored in the object. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and an array of 16-bit integers. Sets the property to , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 16-bit integers that specifies the values stored in the object. The integers in the array must be nonnegative. + + + Initializes a new instance of the class with the specified object, number of values, data type of the values, and a pointer to the values stored in the object. + An object that encapsulates the globally unique identifier of the parameter category. + An integer that specifies the number of values stored in the object. The property is set to this value. + A member of the enumeration that specifies the data type of the values stored in the object. The and properties are set to this value. + A pointer to an array of values of the type specified by the parameter. + + + Initializes a new instance of the class with the specified object and a pair of 32-bit integers. The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 32-bit integer that represents the numerator of a fraction. Must be nonnegative. + A 32-bit integer that represents the denominator of a fraction. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and three integers that specify the number of values, the data type of the values, and a pointer to the values stored in the object. + An object that encapsulates the globally unique identifier of the parameter category. + An integer that specifies the number of values stored in the object. The property is set to this value. + A member of the enumeration that specifies the data type of the values stored in the object. The and properties are set to this value. + A pointer to an array of values of the type specified by the parameter. + Type is not a valid . + + + Initializes a new instance of the class with the specified object and four, 32-bit integers. The four integers represent a range of fractions. The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 32-bit integer that represents the numerator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the denominator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the denominator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the numerator of the largest fraction in the range. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and two arrays of 32-bit integers. The two arrays represent an array of fractions. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 32-bit integers that specifies the numerators of the fractions. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the fractions. The integers in the array must be nonnegative. A denominator of a given index is paired with the numerator of the same index. + + + Initializes a new instance of the class with the specified object and four arrays of 32-bit integers. The four arrays represent an array rational ranges. A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the other three arrays. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 32-bit integers that specifies the numerators of the minimum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the minimum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the numerators of the maximum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the maximum values for the ranges. The integers in the array must be nonnegative. + + + Initializes a new instance of the class with the specified object and one 64-bit integer. Sets the property to (32 bits), and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 64-bit integer that specifies the value stored in the object. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + + + Initializes a new instance of the class with the specified object and a pair of 64-bit integers. The pair of integers represents a range of integers, the first integer being the smallest number in the range, and the second integer being the largest number in the range. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 64-bit integer that represents the smallest number in a range of integers. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + A 64-bit integer that represents the largest number in a range of integers. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + + + Initializes a new instance of the class with the specified object and an array of 64-bit integers. Sets the property to (32-bit), and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 64-bit integers that specifies the values stored in the object. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. + + + Initializes a new instance of the class with the specified object and two arrays of 64-bit integers. The two arrays represent an array integer ranges. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 64-bit integers that specifies the minimum values for the integer ranges. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. + An array of 64-bit integers that specifies the maximum values for the integer ranges. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. A maximum value of a given index is paired with the minimum value of the same index. + + + Initializes a new instance of the class with the specified object and a character string. The string is converted to a null-terminated ASCII string before it is stored in the object. Sets the property to , and sets the property to the length of the ASCII string including the NULL terminator. + An object that encapsulates the globally unique identifier of the parameter category. + A that specifies the value stored in the object. + + + Releases all resources used by this object. + + + Allows an object to attempt to free resources and perform other cleanup operations before the object is reclaimed by garbage collection. + + + Gets or sets the object associated with this object. The object encapsulates the globally unique identifier (GUID) that specifies the category (for example , , or ) of the parameter stored in this object. + An object that encapsulates the GUID that specifies the category of the parameter stored in this object. + + + Gets the number of elements in the array of values stored in this object. + An integer that indicates the number of elements in the array of values stored in this object. + + + Gets the data type of the values stored in this object. + A member of the enumeration that indicates the data type of the values stored in this object. + + + Gets the data type of the values stored in this object. + A member of the enumeration that indicates the data type of the values stored in this object. + + + Encapsulates an array of objects. + + + Initializes a new instance of the class that can contain one object. + + + Initializes a new instance of the class that can contain the specified number of objects. + An integer that specifies the number of objects that the object can contain. + + + Releases all resources used by this object. + + + Gets or sets an array of objects. + The array of objects. + + + Specifies the data type of the used with the or method of an image. + + + An 8-bit ASCII value. + + + An 8-bit unsigned integer. + + + A 32-bit unsigned integer. + + + Two long values that specify a range of integer values. + + + A pointer to a block of custom metadata. + + + A pair of 32-bit unsigned integers. Each pair represents a fraction, the first integer being the numerator and the second integer being the denominator. + + + A set of four, 32-bit unsigned integers. The first two integers represent one fraction, and the second two integers represent a second fraction. + + + A 16-bit, unsigned integer. + + + A byte that has no data type defined. + + + Used to specify the parameter value passed to a JPEG or TIFF image encoder when using the or methods. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies the CCITT3 compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the CCITT4 compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the LZW compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the Compression category. + + + Specifies no compression. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the RLE compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies that a multiple-frame file or stream should be closed. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Specifies that a frame is to be added to the page dimension of an image. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies the last frame in a multiple-frame image. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Specifies that the image has more than one frame (page). Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies that the image is to be flipped horizontally (about the vertical axis). Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be flipped vertically (about the horizontal axis). Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated 180 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated clockwise 270 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated clockwise 90 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Provides properties that get the frame dimensions of an image. Not inheritable. + + + Initializes a new instance of the class using the specified structure. + A structure that contains a GUID for this object. + + + Returns a value that indicates whether the specified object is a equivalent to this object. + The object to test. + + if is a equivalent to this object; otherwise, . + + + Returns a hash code for this object. + The hash code of this object. + + + Converts this object to a human-readable string. + A string that represents this object. + + + Gets a globally unique identifier (GUID) that represents this object. + A structure that contains a GUID that represents this object. + + + Gets the page dimension. + The page dimension. + + + Gets the resolution dimension. + The resolution dimension. + + + Gets the time dimension. + The time dimension. + + + Contains information about how bitmap and metafile colors are manipulated during rendering. + + + Initializes a new instance of the class. + + + Clears the brush color-remap table of this object. + + + Clears the color key (transparency range) for the default category. + + + Clears the color key (transparency range) for a specified category. + An element of that specifies the category for which the color key is cleared. + + + Clears the color-adjustment matrix for the default category. + + + Clears the color-adjustment matrix for a specified category. + An element of that specifies the category for which the color-adjustment matrix is cleared. + + + Disables gamma correction for the default category. + + + Disables gamma correction for a specified category. + An element of that specifies the category for which gamma correction is disabled. + + + Clears the setting for the default category. + + + Clears the setting for a specified category. + An element of that specifies the category for which the setting is cleared. + + + Clears the CMYK (cyan-magenta-yellow-black) output channel setting for the default category. + + + Clears the (cyan-magenta-yellow-black) output channel setting for a specified category. + An element of that specifies the category for which the output channel setting is cleared. + + + Clears the output channel color profile setting for the default category. + + + Clears the output channel color profile setting for a specified category. + An element of that specifies the category for which the output channel profile setting is cleared. + + + Clears the color-remap table for the default category. + + + Clears the color-remap table for a specified category. + An element of that specifies the category for which the remap table is cleared. + + + Clears the threshold value for the default category. + + + Clears the threshold value for a specified category. + An element of that specifies the category for which the threshold is cleared. + + + Creates an exact copy of this object. + The object this class creates, cast as an object. + + + Releases all resources used by this object. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Adjusts the colors in a palette according to the adjustment settings of a specified category. + A that on input contains the palette to be adjusted, and on output contains the adjusted palette. + An element of that specifies the category whose adjustment settings will be applied to the palette. + + + Sets the color-remap table for the brush category. + An array of objects. + + + Sets the color key for the default category. + The low color-key value. + The high color-key value. + + + Sets the color key (transparency range) for a specified category. + The low color-key value. + The high color-key value. + An element of that specifies the category for which the color key is set. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for the default category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for the default category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for a specified category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. + An element of that specifies the category for which the color-adjustment and grayscale-adjustment matrices are set. + + + Sets the color-adjustment matrix for the default category. + The color-adjustment matrix. + + + Sets the color-adjustment matrix for the default category. + The color-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment matrix. + + + Sets the color-adjustment matrix for a specified category. + The color-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment matrix. + An element of that specifies the category for which the color-adjustment matrix is set. + + + Sets the gamma value for the default category. + The gamma correction value. + + + Sets the gamma value for a specified category. + The gamma correction value. + An element of the enumeration that specifies the category for which the gamma value is set. + + + Turns off color adjustment for the default category. You can call the method to reinstate the color-adjustment settings that were in place before the call to the method. + + + Turns off color adjustment for a specified category. You can call the method to reinstate the color-adjustment settings that were in place before the call to the method. + An element of that specifies the category for which color correction is turned off. + + + Sets the CMYK (cyan-magenta-yellow-black) output channel for the default category. + An element of that specifies the output channel. + + + Sets the CMYK (cyan-magenta-yellow-black) output channel for a specified category. + An element of that specifies the output channel. + An element of that specifies the category for which the output channel is set. + + + Sets the output channel color-profile file for the default category. + The path name of a color-profile file. If the color-profile file is in the %SystemRoot%\System32\Spool\Drivers\Color directory, this parameter can be the file name. Otherwise, this parameter must be the fully qualified path name. + + + Sets the output channel color-profile file for a specified category. + The path name of a color-profile file. If the color-profile file is in the %SystemRoot%\System32\Spool\Drivers\Color directory, this parameter can be the file name. Otherwise, this parameter must be the fully qualified path name. + An element of that specifies the category for which the output channel color-profile file is set. + + + Sets the color-remap table for the default category. + An array of color pairs of type . Each color pair contains an existing color (the first value) and the color that it will be mapped to (the second value). + + + Sets the color-remap table for a specified category. + An array of color pairs of type . Each color pair contains an existing color (the first value) and the color that it will be mapped to (the second value). + An element of that specifies the category for which the color-remap table is set. + + + Sets the threshold (transparency range) for the default category. + A real number that specifies the threshold value. + + + Sets the threshold (transparency range) for a specified category. + A threshold value from 0.0 to 1.0 that is used as a breakpoint to sort colors that will be mapped to either a maximum or a minimum value. + An element of that specifies the category for which the color threshold is set. + + + Sets the wrap mode that is used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + + + Sets the wrap mode and color used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + An object that specifies the color of pixels outside of a rendered image. This color is visible if the mode parameter is set to and the source rectangle passed to is larger than the image itself. + + + Sets the wrap mode and color used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + A color object that specifies the color of pixels outside of a rendered image. This color is visible if the mode parameter is set to and the source rectangle passed to is larger than the image itself. + This parameter has no effect. Set it to . + + + Provides attributes of an image encoder/decoder (codec). + + + The decoder has blocking behavior during the decoding process. + + + The codec is built into GDI+. + + + The codec supports decoding (reading). + + + The codec supports encoding (saving). + + + The encoder requires a seekable output stream. + + + The codec supports raster images (bitmaps). + + + The codec supports vector images (metafiles). + + + Not used. + + + Not used. + + + The class provides the necessary storage members and methods to retrieve all pertinent information about the installed image encoders and decoders (called codecs). Not inheritable. + + + Returns an array of objects that contain information about the image decoders built into GDI+. + An array of objects. Each object in the array contains information about one of the built-in image decoders. + + + Returns an array of objects that contain information about the image encoders built into GDI+. + An array of objects. Each object in the array contains information about one of the built-in image encoders. + + + Gets or sets a structure that contains a GUID that identifies a specific codec. + A structure that contains a GUID that identifies a specific codec. + + + Gets or sets a string that contains the name of the codec. + A string that contains the name of the codec. + + + Gets or sets string that contains the path name of the DLL that holds the codec. If the codec is not in a DLL, this pointer is . + A string that contains the path name of the DLL that holds the codec. + + + Gets or sets string that contains the file name extension(s) used in the codec. The extensions are separated by semicolons. + A string that contains the file name extension(s) used in the codec. + + + Gets or sets 32-bit value used to store additional information about the codec. This property returns a combination of flags from the enumeration. + A 32-bit value used to store additional information about the codec. + + + Gets or sets a string that describes the codec's file format. + A string that describes the codec's file format. + + + Gets or sets a structure that contains a GUID that identifies the codec's format. + A structure that contains a GUID that identifies the codec's format. + + + Gets or sets a string that contains the codec's Multipurpose Internet Mail Extensions (MIME) type. + A string that contains the codec's Multipurpose Internet Mail Extensions (MIME) type. + + + Gets or sets a two dimensional array of bytes that can be used as a filter. + A two dimensional array of bytes that can be used as a filter. + + + Gets or sets a two dimensional array of bytes that represents the signature of the codec. + A two dimensional array of bytes that represents the signature of the codec. + + + Gets or sets the version number of the codec. + The version number of the codec. + + + Specifies the attributes of the pixel data contained in an object. The property returns a member of this enumeration. + + + The pixel data can be cached for faster access. + + + The pixel data uses a CMYK color space. + + + The pixel data is grayscale. + + + The pixel data uses an RGB color space. + + + Specifies that the image is stored using a YCBCR color space. + + + Specifies that the image is stored using a YCCK color space. + + + The pixel data contains alpha information. + + + Specifies that dots per inch information is stored in the image. + + + Specifies that the pixel size is stored in the image. + + + Specifies that the pixel data has alpha values other than 0 (transparent) and 255 (opaque). + + + There is no format information. + + + The pixel data is partially scalable, but there are some limitations. + + + The pixel data is read-only. + + + The pixel data is scalable. + + + Specifies the file format of the image. Not inheritable. + + + Initializes a new instance of the class by using the specified structure. + The structure that specifies a particular image format. + + + Returns a value that indicates whether the specified object is an object that is equivalent to this object. + The object to test. + + if is an object that is equivalent to this object; otherwise, . + + + Returns a hash code value that represents this object. + A hash code that represents this object. + + + Converts this object to a human-readable string. + A string that represents this object. + + + Gets the bitmap (BMP) image format. + An object that indicates the bitmap image format. + + + Gets the enhanced metafile (EMF) image format. + An object that indicates the enhanced metafile image format. + + + Gets the Exchangeable Image File (Exif) format. + An object that indicates the Exif format. + + + Gets the Graphics Interchange Format (GIF) image format. + An object that indicates the GIF image format. + + + Gets a structure that represents this object. + A structure that represents this object. + + + Gets the Windows icon image format. + An object that indicates the Windows icon image format. + + + Gets the Joint Photographic Experts Group (JPEG) image format. + An object that indicates the JPEG image format. + + + Gets the format of a bitmap in memory. + An object that indicates the format of a bitmap in memory. + + + Gets the W3C Portable Network Graphics (PNG) image format. + An object that indicates the PNG image format. + + + Gets the Tagged Image File Format (TIFF) image format. + An object that indicates the TIFF image format. + + + Gets the Windows metafile (WMF) image format. + An object that indicates the Windows metafile image format. + + + Specifies flags that are passed to the flags parameter of the method. The method locks a portion of an image so that you can read or write the pixel data. + + + Specifies that a portion of the image is locked for reading. + + + Specifies that a portion of the image is locked for reading or writing. + + + Specifies that the buffer used for reading or writing pixel data is allocated by the user. If this flag is set, the parameter of the method serves as an input parameter (and possibly as an output parameter). If this flag is cleared, then the parameter serves only as an output parameter. + + + Specifies that a portion of the image is locked for writing. + + + Defines a graphic metafile. A metafile contains records that describe a sequence of graphics operations that can be recorded (constructed) and played back (displayed). This class is not inheritable. + + + Initializes a new instance of the class from the specified handle. + A handle to an enhanced metafile. + + to delete the enhanced metafile handle when the is deleted; otherwise, . + + + Initializes a new instance of the class from the specified handle to a device context and an enumeration that specifies the format of the . + The handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class from the specified handle to a device context and an enumeration that specifies the format of the . A string can be supplied to name the file. + The handle to a device context. + An that specifies the format of the . + A descriptive name for the new . + + + Initializes a new instance of the class from the specified handle and a . + A windows handle to a . + A . + + + Initializes a new instance of the class from the specified handle and a . Also, the parameter can be used to delete the handle when the metafile is deleted. + A windows handle to a . + A . + + to delete the handle to the new when the is deleted; otherwise, . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle. + The handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . A string can be provided to name the file. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle. + The handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . A string can be provided to name the file. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream. + The from which to create the new . + + is . + + + Initializes a new instance of the class from the specified data stream. + A that contains the data for this . + A Windows handle to a device context. + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and an enumeration that specifies the format of the . Also, a string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified file name. + A that represents the file name from which to create the new . + + + Initializes a new instance of the class with the specified file name. + A that represents the file name of the new . + A Windows handle to a device context. + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and an enumeration that specifies the format of the . A descriptive string can be added, as well. + A that represents the file name of the new . + A Windows handle to a device context. + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that represents the file name of the new . + A Windows handle to a device context. + A structure that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + A that contains a descriptive name for the new . + + + Returns a Windows handle to an enhanced . + A Windows handle to this enhanced . + + + Returns the associated with this . + The associated with this . + + + Returns the associated with the specified . + The handle to the enhanced for which a header is returned. + The associated with the specified . + + + Returns the associated with the specified . + The handle to the for which to return a header. + A . + The associated with the specified . + + + Returns the associated with the specified . + A containing the for which a header is retrieved. + The associated with the specified . + + + Returns the associated with the specified . + A containing the name of the for which a header is retrieved. + The associated with the specified . + + + Plays an individual metafile record. + Element of the that specifies the type of metafile record being played. + A set of flags that specify attributes of the record. + The number of bytes in the record data. + An array of bytes that contains the record data. + + + Specifies the unit of measurement for the rectangle used to size and position a metafile. This is specified during the creation of the object. + + + The unit of measurement is 1/300 of an inch. + + + The unit of measurement is 0.01 millimeter. Provided for compatibility with GDI. + + + The unit of measurement is 1 inch. + + + The unit of measurement is 1 millimeter. + + + The unit of measurement is 1 pixel. + + + The unit of measurement is 1 printer's point. + + + Contains attributes of an associated . Not inheritable. + + + Returns a value that indicates whether the associated is device dependent. + + if the associated is device dependent; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile format. + + if the associated is in the Windows enhanced metafile format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile format or the Windows enhanced metafile plus format. + + if the associated is in the Windows enhanced metafile format or the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile plus format. + + if the associated is in the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Dual enhanced metafile format. This format supports both the enhanced and the enhanced plus format. + + if the associated is in the Dual enhanced metafile format; otherwise, . + + + Returns a value that indicates whether the associated supports only the Windows enhanced metafile plus format. + + if the associated supports only the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows metafile format. + + if the associated is in the Windows metafile format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows placeable metafile format. + + if the associated is in the Windows placeable metafile format; otherwise, . + + + Gets a that bounds the associated . + A that bounds the associated . + + + Gets the horizontal resolution, in dots per inch, of the associated . + The horizontal resolution, in dots per inch, of the associated . + + + Gets the vertical resolution, in dots per inch, of the associated . + The vertical resolution, in dots per inch, of the associated . + + + Gets the size, in bytes, of the enhanced metafile plus header file. + The size, in bytes, of the enhanced metafile plus header file. + + + Gets the logical horizontal resolution, in dots per inch, of the associated . + The logical horizontal resolution, in dots per inch, of the associated . + + + Gets the logical vertical resolution, in dots per inch, of the associated . + The logical vertical resolution, in dots per inch, of the associated . + + + Gets the size, in bytes, of the associated . + The size, in bytes, of the associated . + + + Gets the type of the associated . + A enumeration that represents the type of the associated . + + + Gets the version number of the associated . + The version number of the associated . + + + Gets the Windows metafile (WMF) header file for the associated . + A that contains the WMF header file for the associated . + + + Specifies types of metafiles. The property returns a member of this enumeration. + + + Specifies an Enhanced Metafile (EMF) file. Such a file contains only GDI records. + + + Specifies an EMF+ Dual file. Such a file contains GDI+ records along with alternative GDI records and can be displayed by using either GDI or GDI+. Displaying the records using GDI may cause some quality degradation. + + + Specifies an EMF+ file. Such a file contains only GDI+ records and must be displayed by using GDI+. Displaying the records using GDI may cause unpredictable results. + + + Specifies a metafile format that is not recognized in GDI+. + + + Specifies a WMF (Windows Metafile) file. Such a file contains only GDI records. + + + Specifies a WMF (Windows Metafile) file that has a placeable metafile header in front of it. + + + Contains information about a windows-format (WMF) metafile. + + + Initializes a new instance of the class. + + + Gets or sets the size, in bytes, of the header file. + The size, in bytes, of the header file. + + + Gets or sets the size, in bytes, of the largest record in the associated object. + The size, in bytes, of the largest record in the associated object. + + + Gets or sets the maximum number of objects that exist in the object at the same time. + The maximum number of objects that exist in the object at the same time. + + + Not used. Always returns 0. + Always 0. + + + Gets or sets the size, in bytes, of the associated object. + The size, in bytes, of the associated object. + + + Gets or sets the type of the associated object. + The type of the associated object. + + + Gets or sets the version number of the header format. + The version number of the header format. + + + Specifies the type of color data in the system palette. The data can be color data with alpha, grayscale data only, or halftone data. + + + Grayscale data. + + + Halftone data. + + + Alpha data. + + + Specifies the format of the color data for each pixel in the image. + + + The pixel data contains alpha values that are not premultiplied. + + + The default pixel format of 32 bits per pixel. The format specifies 24-bit color depth and an 8-bit alpha channel. + + + No pixel format is specified. + + + Reserved. + + + The pixel format is 16 bits per pixel. The color information specifies 32,768 shades of color, of which 5 bits are red, 5 bits are green, 5 bits are blue, and 1 bit is alpha. + + + The pixel format is 16 bits per pixel. The color information specifies 65536 shades of gray. + + + Specifies that the format is 16 bits per pixel; 5 bits each are used for the red, green, and blue components. The remaining bit is not used. + + + Specifies that the format is 16 bits per pixel; 5 bits are used for the red component, 6 bits are used for the green component, and 5 bits are used for the blue component. + + + Specifies that the pixel format is 1 bit per pixel and that it uses indexed color. The color table therefore has two colors in it. + + + Specifies that the format is 24 bits per pixel; 8 bits each are used for the red, green, and blue components. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied, according to the alpha component. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the red, green, and blue components. The remaining 8 bits are not used. + + + Specifies that the format is 48 bits per pixel; 16 bits each are used for the red, green, and blue components. + + + Specifies that the format is 4 bits per pixel, indexed. + + + Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. + + + Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied according to the alpha component. + + + Specifies that the format is 8 bits per pixel, indexed. The color table therefore has 256 colors in it. + + + The pixel data contains GDI colors. + + + The pixel data contains color-indexed values, which means the values are an index to colors in the system color table, as opposed to individual color values. + + + The maximum value for this enumeration. + + + The pixel format contains premultiplied alpha values. + + + The pixel format is undefined. + + + This delegate is not used. For an example of enumerating the records of a metafile, see . + Not used. + Not used. + Not used. + Not used. + + + Encapsulates a metadata property to be included in an image file. Not inheritable. + + + Gets or sets the ID of the property. + The integer that represents the ID of the property. + + + Gets or sets the length (in bytes) of the property. + An integer that represents the length (in bytes) of the byte array. + + + Gets or sets an integer that defines the type of data contained in the property. + An integer that defines the type of data contained in . + + + Gets or sets the value of the property item. + A byte array that represents the value of the property item. + + + Defines a placeable metafile. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the y-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + The y-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the x-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + The x-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the x-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + The x-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the y-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + The y-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the checksum value for the previous ten s in the header. + The checksum value for the previous ten s in the header. + + + Gets or sets the handle of the metafile in memory. + The handle of the metafile in memory. + + + Gets or sets the number of twips per inch. + The number of twips per inch. + + + Gets or sets a value indicating the presence of a placeable metafile header. + A value indicating presence of a placeable metafile header. + + + Reserved. Do not use. + Reserved. Do not use. + + + Defines an object used to draw lines and curves. This class cannot be inherited. + + + Initializes a new instance of the class with the specified . + A that determines the fill properties of this . + + is . + + + Initializes a new instance of the class with the specified and . + A that determines the characteristics of this . + The width of the new . + + is . + + + Initializes a new instance of the class with the specified color. + A structure that indicates the color of this . + + + Initializes a new instance of the class with the specified and properties. + A structure that indicates the color of this . + A value indicating the width of this . + + + Creates an exact copy of this . + An that can be cast to a . + + + Releases all resources used by this . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Multiplies the transformation matrix for this by the specified . + The object by which to multiply the transformation matrix. + + + Multiplies the transformation matrix for this by the specified in the specified order. + The by which to multiply the transformation matrix. + The order in which to perform the multiplication operation. + + + Resets the geometric transformation matrix for this to identity. + + + Rotates the local geometric transformation by the specified angle. This method prepends the rotation to the transformation. + The angle of rotation. + + + Rotates the local geometric transformation by the specified angle in the specified order. + The angle of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transformation by the specified factors. This method prepends the scaling matrix to the transformation. + The factor by which to scale the transformation in the x-axis direction. + The factor by which to scale the transformation in the y-axis direction. + + + Scales the local geometric transformation by the specified factors in the specified order. + The factor by which to scale the transformation in the x-axis direction. + The factor by which to scale the transformation in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Sets the values that determine the style of cap used to end lines drawn by this . + A that represents the cap style to use at the beginning of lines drawn with this . + A that represents the cap style to use at the end of lines drawn with this . + A that represents the cap style to use at the beginning or end of dashed lines drawn with this . + + + Translates the local geometric transformation by the specified dimensions. This method prepends the translation to the transformation. + The value of the translation in x. + The value of the translation in y. + + + Translates the local geometric transformation by the specified dimensions in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets the alignment for this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + A that represents the alignment for this . + + + Gets or sets the that determines attributes of this . + The property is set on an immutable , such as those returned by the class. + A that determines attributes of this . + + + Gets or sets the color of this . + The property is set on an immutable , such as those returned by the class. + A structure that represents the color of this . + + + Gets or sets an array of values that specifies a compound pen. A compound pen draws a compound line made up of parallel lines and spaces. + The property is set on an immutable , such as those returned by the class. + An array of real numbers that specifies the compound array. The elements in the array must be in increasing order, not less than 0, and not greater than 1. + + + Gets or sets a custom cap to use at the end of lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the cap used at the end of lines drawn with this . + + + Gets or sets a custom cap to use at the beginning of lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the cap used at the beginning of lines drawn with this . + + + Gets or sets the cap style used at the end of the dashes that make up dashed lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the beginning and end of the dashes that make up dashed lines drawn with this . + + + Gets or sets the distance from the start of a line to the beginning of a dash pattern. + The property is set on an immutable , such as those returned by the class. + The distance from the start of a line to the beginning of a dash pattern. + + + Gets or sets an array of custom dashes and spaces. + The property is set on an immutable , such as those returned by the class. + An array of real numbers that specifies the lengths of alternating dashes and spaces in dashed lines. + + + Gets or sets the style used for dashed lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the style used for dashed lines drawn with this . + + + Gets or sets the cap style used at the end of lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the end of lines drawn with this . + + + Gets or sets the join style for the ends of two consecutive lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the join style for the ends of two consecutive lines drawn with this . + + + Gets or sets the limit of the thickness of the join on a mitered corner. + The property is set on an immutable , such as those returned by the class. + The limit of the thickness of the join on a mitered corner. + + + Gets the style of lines drawn with this . + A enumeration that specifies the style of lines drawn with this . + + + Gets or sets the cap style used at the beginning of lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the beginning of lines drawn with this . + + + Gets or sets a copy of the geometric transformation for this . + The property is set on an immutable , such as those returned by the class. + A copy of the that represents the geometric transformation for this . + + + Gets or sets the width of this , in units of the object used for drawing. + The property is set on an immutable , such as those returned by the class. + The width of this . + + + Pens for all the standard colors. This class cannot be inherited. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + Specifies the printer's duplex setting. + + + The printer's default duplex setting. + + + Double-sided, horizontal printing. + + + Single-sided printing. + + + Double-sided, vertical printing. + + + Represents the exception that is thrown when you try to access a printer using printer settings that are not valid. + + + Initializes a new instance of the class. + A that specifies the settings for a printer. + + + Initializes a new instance of the class with serialized data. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + is . + The class name is or is 0. + + + Overridden. Sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + is . + + + Specifies the dimensions of the margins of a printed page. + + + Initializes a new instance of the class with 1-inch wide margins. + + + Initializes a new instance of the class with the specified left, right, top, and bottom margins. + The left margin, in hundredths of an inch. + The right margin, in hundredths of an inch. + The top margin, in hundredths of an inch. + The bottom margin, in hundredths of an inch. + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + + Retrieves a duplicate of this object, member by member. + A duplicate of this object. + + + Compares this to the specified to determine whether they have the same dimensions. + The object to which to compare this . + + if the specified object is a and has the same , , and values as this ; otherwise, . + + + Calculates and retrieves a hash code based on the width of the left, right, top, and bottom margins. + A hash code based on the left, right, top, and bottom margins. + + + Compares two to determine if they have the same dimensions. + The first to compare for equality. + The second to compare for equality. + + to indicate the , , , and properties of both margins have the same value; otherwise, . + + + Compares two to determine whether they are of unequal width. + The first to compare for inequality. + The second to compare for inequality. + + to indicate if the , , , or properties of both margins are not equal; otherwise, . + + + Converts the to a string. + A representation of the . + + + Gets or sets the bottom margin, in hundredths of an inch. + The property is set to a value that is less than 0. + The bottom margin, in hundredths of an inch. + + + Gets or sets the left margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The left margin width, in hundredths of an inch. + + + Gets or sets the right margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The right margin width, in hundredths of an inch. + + + Gets or sets the top margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The top margin width, in hundredths of an inch. + + + Provides a for . + + + Initializes a new instance of the class. + + + Returns whether this converter can convert an object of the specified source type to the native type of the converter using the specified context. + An that provides a format context. + A that represents the type from which you want to convert. + + if an object can perform the conversion; otherwise, . + + + Returns whether this converter can convert an object to the given destination type using the context. + An that provides a format context. + A that represents the type to which you want to convert. + + if this converter can perform the conversion; otherwise, . + + + Converts the specified object to the converter's native type. + An that provides a format context. + A that provides the language to convert to. + The to convert. + + does not contain values for all four margins. For example, "100,100,100,100" specifies 1 inch for the left, right, top, and bottom margins. + The conversion cannot be performed. + An that represents the converted value. + + + Converts the given value object to the specified destination type using the specified context and arguments. + An that provides a format context. + A that provides the language to convert to. + The to convert. + The to which to convert the value. + + is . + The conversion cannot be performed. + An that represents the converted value. + + + Creates an given a set of property values for the object. + An that provides a format context. + An of new property values. + + is . + An representing the specified , or if the object cannot be created. + + + Returns whether changing a value on this object requires a call to the method to create a new value, using the specified context. + An that provides a format context. + + if changing a property on this object requires a call to to create a new value; otherwise, . This method always returns . + + + Specifies settings that apply to a single, printed page. + + + Initializes a new instance of the class using the default printer. + + + Initializes a new instance of the class using a specified printer. + The that describes the printer to use. + + + Creates a copy of this . + A copy of this object. + + + Copies the relevant information from the to the specified structure. + The handle to a Win32 structure. + The printer named in the property does not exist or there is no default printer installed. + + + Copies relevant information to the from the specified structure. + The handle to a Win32 structure. + The printer handle is not valid. + The printer named in the property does not exist or there is no default printer installed. + + + Converts the to string form. + A string showing the various property settings for the . + + + Gets the size of the page, taking into account the page orientation specified by the property. + The printer named in the property does not exist. + A that represents the length and width, in hundredths of an inch, of the page. + + + Gets or sets a value indicating whether the page should be printed in color. + The printer named in the property does not exist. + + if the page should be printed in color; otherwise, . The default is determined by the printer. + + + Gets the x-coordinate, in hundredths of an inch, of the hard margin at the left of the page. + The x-coordinate, in hundredths of an inch, of the left-hand hard margin. + + + Gets the y-coordinate, in hundredths of an inch, of the hard margin at the top of the page. + The y-coordinate, in hundredths of an inch, of the hard margin at the top of the page. + + + Gets or sets a value indicating whether the page is printed in landscape or portrait orientation. + The printer named in the property does not exist. + + if the page should be printed in landscape orientation; otherwise, . The default is determined by the printer. + + + Gets or sets the margins for this page. + The printer named in the property does not exist. + A that represents the margins, in hundredths of an inch, for the page. The default is 1-inch margins on all sides. + + + Gets or sets the paper size for the page. + The printer named in the property does not exist or there is no default printer installed. + A that represents the size of the paper. The default is the printer's default paper size. + + + Gets or sets the page's paper source; for example, the printer's upper tray. + The printer named in the property does not exist or there is no default printer installed. + A that specifies the source of the paper. The default is the printer's default paper source. + + + Gets the bounds of the printable area of the page for the printer. + A representing the length and width, in hundredths of an inch, of the area the printer is capable of printing in. + + + Gets or sets the printer resolution for the page. + The printer named in the property does not exist or there is no default printer installed. + A that specifies the printer resolution for the page. The default is the printer's default resolution. + + + Gets or sets the printer settings associated with the page. + A that represents the printer settings associated with the page. + + + Specifies the standard paper sizes. + + + A2 paper (420 mm by 594 mm). + + + A3 paper (297 mm by 420 mm). + + + A3 extra paper (322 mm by 445 mm). + + + A3 extra transverse paper (322 mm by 445 mm). + + + A3 rotated paper (420 mm by 297 mm). + + + A3 transverse paper (297 mm by 420 mm). + + + A4 paper (210 mm by 297 mm). + + + A4 extra paper (236 mm by 322 mm). This value is specific to the PostScript driver and is used only by Linotronic printers to help save paper. + + + A4 plus paper (210 mm by 330 mm). + + + A4 rotated paper (297 mm by 210 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A4 small paper (210 mm by 297 mm). + + + A4 transverse paper (210 mm by 297 mm). + + + A5 paper (148 mm by 210 mm). + + + A5 extra paper (174 mm by 235 mm). + + + A5 rotated paper (210 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A5 transverse paper (148 mm by 210 mm). + + + A6 paper (105 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A6 rotated paper (148 mm by 105 mm). Requires Windows 98, Windows NT 4.0, or later. + + + SuperA/SuperA/A4 paper (227 mm by 356 mm). + + + B4 paper (250 mm by 353 mm). + + + B4 envelope (250 mm by 353 mm). + + + JIS B4 rotated paper (364 mm by 257 mm). Requires Windows 98, Windows NT 4.0, or later. + + + B5 paper (176 mm by 250 mm). + + + B5 envelope (176 mm by 250 mm). + + + ISO B5 extra paper (201 mm by 276 mm). + + + JIS B5 rotated paper (257 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later. + + + JIS B5 transverse paper (182 mm by 257 mm). + + + B6 envelope (176 mm by 125 mm). + + + JIS B6 paper (128 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later. + + + JIS B6 rotated paper (182 mm by 128 mm). Requires Windows 98, Windows NT 4.0, or later. + + + SuperB/SuperB/A3 paper (305 mm by 487 mm). + + + C3 envelope (324 mm by 458 mm). + + + C4 envelope (229 mm by 324 mm). + + + C5 envelope (162 mm by 229 mm). + + + C65 envelope (114 mm by 229 mm). + + + C6 envelope (114 mm by 162 mm). + + + C paper (17 in. by 22 in.). + + + The paper size is defined by the user. + + + DL envelope (110 mm by 220 mm). + + + D paper (22 in. by 34 in.). + + + E paper (34 in. by 44 in.). + + + Executive paper (7.25 in. by 10.5 in.). + + + Folio paper (8.5 in. by 13 in.). + + + German legal fanfold (8.5 in. by 13 in.). + + + German standard fanfold (8.5 in. by 12 in.). + + + Invitation envelope (220 mm by 220 mm). + + + ISO B4 (250 mm by 353 mm). + + + Italy envelope (110 mm by 230 mm). + + + Japanese double postcard (200 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated double postcard (148 mm by 200 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese You #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese You #4 rotated envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese postcard (100 mm by 148 mm). + + + Japanese rotated postcard (148 mm by 100 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Ledger paper (17 in. by 11 in.). + + + Legal paper (8.5 in. by 14 in.). + + + Legal extra paper (9.275 in. by 15 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + Letter paper (8.5 in. by 11 in.). + + + Letter extra paper (9.275 in. by 12 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + Letter extra transverse paper (9.275 in. by 12 in.). + + + Letter plus paper (8.5 in. by 12.69 in.). + + + Letter rotated paper (11 in. by 8.5 in.). + + + Letter small paper (8.5 in. by 11 in.). + + + Letter transverse paper (8.275 in. by 11 in.). + + + Monarch envelope (3.875 in. by 7.5 in.). + + + Note paper (8.5 in. by 11 in.). + + + #10 envelope (4.125 in. by 9.5 in.). + + + #11 envelope (4.5 in. by 10.375 in.). + + + #12 envelope (4.75 in. by 11 in.). + + + #14 envelope (5 in. by 11.5 in.). + + + #9 envelope (3.875 in. by 8.875 in.). + + + 6 3/4 envelope (3.625 in. by 6.5 in.). + + + 16K paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 16K rotated paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K big paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K big rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #1 envelope (102 mm by 165 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #10 envelope (324 mm by 458 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #10 rotated envelope (458 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #1 rotated envelope (165 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #2 envelope (102 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #2 rotated envelope (176 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #3 envelope (125 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #3 rotated envelope (176 mm by 125 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #4 envelope (110 mm by 208 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #4 rotated envelope (208 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #5 envelope (110 mm by 220 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Envelope #5 rotated envelope (220 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #6 envelope (120 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #6 rotated envelope (230 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #7 envelope (160 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #7 rotated envelope (230 mm by 160 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #8 envelope (120 mm by 309 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #8 rotated envelope (309 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #9 envelope (229 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #9 rotated envelope (324 mm by 229 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Quarto paper (215 mm by 275 mm). + + + Standard paper (10 in. by 11 in.). + + + Standard paper (10 in. by 14 in.). + + + Standard paper (11 in. by 17 in.). + + + Standard paper (12 in. by 11 in.). Requires Windows 98, Windows NT 4.0, or later. + + + Standard paper (15 in. by 11 in.). + + + Standard paper (9 in. by 11 in.). + + + Statement paper (5.5 in. by 8.5 in.). + + + Tabloid paper (11 in. by 17 in.). + + + Tabloid extra paper (11.69 in. by 18 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + US standard fanfold (14.875 in. by 11 in.). + + + Specifies the size of a piece of paper. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The name of the paper. + The width of the paper, in hundredths of an inch. + The height of the paper, in hundredths of an inch. + + + Provides information about the in string form. + A string. + + + Gets or sets the height of the paper, in hundredths of an inch. + The property is not set to . + The height of the paper, in hundredths of an inch. + + + Gets the type of paper. + The property is not set to . + One of the values. + + + Gets or sets the name of the type of paper. + The property is not set to . + The name of the type of paper. + + + Gets or sets an integer representing one of the values or a custom value. + An integer representing one of the values, or a custom value. + + + Gets or sets the width of the paper, in hundredths of an inch. + The property is not set to . + The width of the paper, in hundredths of an inch. + + + Specifies the paper tray from which the printer gets paper. + + + Initializes a new instance of the class. + + + Provides information about the in string form. + A string. + + + Gets the paper source. + One of the values. + + + Gets or sets the integer representing one of the values or a custom value. + The integer value representing one of the values or a custom value. + + + Gets or sets the name of the paper source. + The name of the paper source. + + + Standard paper sources. + + + Automatically fed paper. + + + A paper cassette. + + + A printer-specific paper source. + + + An envelope. + + + The printer's default input bin. + + + The printer's large-capacity bin. + + + Large-format paper. + + + The lower bin of a printer. + + + Manually fed paper. + + + Manually fed envelope. + + + The middle bin of a printer. + + + Small-format paper. + + + A tractor feed. + + + The upper bin of a printer (or the default bin, if the printer only has one bin). + + + Specifies print preview information for a single page. This class cannot be inherited. + + + Initializes a new instance of the class. + The image of the printed page. + The size of the printed page, in hundredths of an inch. + + + Gets the image of the printed page. + An representing the printed page. + + + Gets the size of the printed page, in hundredths of an inch. + A that specifies the size of the printed page, in hundredths of an inch. + + + Specifies a print controller that displays a document on a screen as a series of images. + + + Initializes a new instance of the class. + + + Captures the pages of a document as a series of images. + An array of type that contains the pages of a as a series of images. + + + Completes the control sequence that determines when and how to preview a page in a print document. + A that represents the document being previewed. + A that contains data about how to preview a page in the print document. + + + Completes the control sequence that determines when and how to preview a print document. + A that represents the document being previewed. + A that contains data about how to preview the print document. + + + Begins the control sequence that determines when and how to preview a page in a print document. + A that represents the document being previewed. + A that contains data about how to preview a page in the print document. Initially, the property of this parameter will be . The value returned from this method will be used to set this property. + A that represents a page from a . + + + Begins the control sequence that determines when and how to preview a print document. + A that represents the document being previewed. + A that contains data about how to print the document. + The printer named in the property does not exist. + + + Gets a value indicating whether this controller is used for print preview. + + in all cases. + + + Gets or sets a value indicating whether to use anti-aliasing when displaying the print preview. + + if the print preview uses anti-aliasing; otherwise, . The default is . + + + Specifies the type of print operation occurring. + + + The print operation is printing to a file. + + + The print operation is a print preview. + + + The print operation is printing to a printer. + + + Controls how a document is printed, when printing from a Windows Forms application. + + + Initializes a new instance of the class. + + + When overridden in a derived class, completes the control sequence that determines when and how to print a page of a document. + A that represents the document currently being printed. + A that contains the event data. + + + When overridden in a derived class, completes the control sequence that determines when and how to print a document. + A that represents the document currently being printed. + A that contains the event data. + + + When overridden in a derived class, begins the control sequence that determines when and how to print a page of a document. + A that represents the document currently being printed. + A that contains the event data. + A that represents a page from a . + + + When overridden in a derived class, begins the control sequence that determines when and how to print a document. + A that represents the document currently being printed. + A that contains the event data. + + + Gets a value indicating whether the is used for print preview. + + in all cases. + + + Defines a reusable object that sends output to a printer, when printing from a Windows Forms application. + + + Occurs when the method is called and before the first page of the document prints. + + + Occurs when the last page of the document has printed. + + + Occurs when the output to print for the current page is needed. + + + Occurs immediately before each event. + + + Initializes a new instance of the class. + + + Raises the event. It is called after the method is called and before the first page of the document prints. + A that contains the event data. + + + Raises the event. It is called when the last page of the document has printed. + A that contains the event data. + + + Raises the event. It is called before a page prints. + A that contains the event data. + + + Raises the event. It is called immediately before each event. + A that contains the event data. + + + Starts the document's printing process. + The printer named in the property does not exist. + + + Provides information about the print document, in string form. + A string. + + + Gets or sets page settings that are used as defaults for all pages to be printed. + A that specifies the default page settings for the document. + + + Gets or sets the document name to display (for example, in a print status dialog box or printer queue) while printing the document. + The document name to display while printing the document. The default is "document". + + + Gets or sets a value indicating whether the position of a graphics object associated with a page is located just inside the user-specified margins or at the top-left corner of the printable area of the page. + + if the graphics origin starts at the page margins; if the graphics origin is at the top-left corner of the printable page. The default is . + + + Gets or sets the print controller that guides the printing process. + The that guides the printing process. The default is a new instance of the class. + + + Gets or sets the printer that prints the document. + A that specifies where and how the document is printed. The default is a with its properties set to their default values. + + + Represents the resolution supported by a printer. + + + Initializes a new instance of the class. + + + This member overrides the method. + A that contains information about the . + + + Gets or sets the printer resolution. + The value assigned is not a member of the enumeration. + One of the values. + + + Gets the horizontal printer resolution, in dots per inch. + The horizontal printer resolution, in dots per inch, if is set to ; otherwise, a value. + + + Gets the vertical printer resolution, in dots per inch. + The vertical printer resolution, in dots per inch. + + + Specifies a printer resolution. + + + Custom resolution. + + + Draft-quality resolution. + + + High resolution. + + + Low resolution. + + + Medium resolution. + + + Specifies information about how a document is printed, including the printer that prints it, when printing from a Windows Forms application. + + + Initializes a new instance of the class. + + + Creates a copy of this . + A copy of this object. + + + Returns a that contains printer information that is useful when creating a . + The printer named in the property does not exist. + A that contains information from a printer. + + + Returns a that contains printer information, optionally specifying the origin at the margins. + + to indicate the origin at the margins; otherwise, . + A that contains printer information from the . + + + Returns a that contains printer information associated with the specified . + The to retrieve a graphics object for. + A that contains printer information from the . + + + Creates a associated with the specified page settings and optionally specifying the origin at the margins. + The to retrieve a object for. + + to specify the origin at the margins; otherwise, . + A that contains printer information from the . + + + Creates a handle to a structure that corresponds to the printer settings. + The printer named in the property does not exist. + The printer's initialization information could not be retrieved. + A handle to a structure. + + + Creates a handle to a structure that corresponds to the printer and the page settings specified through the parameter. + The object that the structure's handle corresponds to. + The printer named in the property does not exist. + The printer's initialization information could not be retrieved. + A handle to a structure. + + + Creates a handle to a structure that corresponds to the printer settings. + A handle to a structure. + + + Gets a value indicating whether the printer supports printing the specified image file. + The image to print. + + if the printer supports printing the specified image; otherwise, . + + + Returns a value indicating whether the printer supports printing the specified image format. + An to print. + + if the printer supports printing the specified image format; otherwise, . + + + Copies the relevant information out of the given handle and into the . + The handle to a Win32 structure. + The printer handle is not valid. + + + Copies the relevant information out of the given handle and into the . + The handle to a Win32 structure. + The printer handle is invalid. + + + Provides information about the in string form. + A string. + + + Gets a value indicating whether the printer supports double-sided printing. + + if the printer supports double-sided printing; otherwise, . + + + Gets or sets a value indicating whether the printed document is collated. + + if the printed document is collated; otherwise, . The default is . + + + Gets or sets the number of copies of the document to print. + The value of the property is less than zero. + The number of copies to print. The default is 1. + + + Gets the default page settings for this printer. + A that represents the default page settings for this printer. + + + Gets or sets the printer setting for double-sided printing. + The value of the property is not one of the values. + One of the values. The default is determined by the printer. + + + Gets or sets the page number of the first page to print. + The property's value is less than zero. + The page number of the first page to print. + + + Gets the names of all printers installed on the computer. + The available printers could not be enumerated. + A that represents the names of all printers installed on the computer. + + + Gets a value indicating whether the property designates the default printer, except when the user explicitly sets . + + if designates the default printer; otherwise, . + + + Gets a value indicating whether the printer is a plotter. + + if the printer is a plotter; if the printer is a raster. + + + Gets a value indicating whether the property designates a valid printer. + + if the property designates a valid printer; otherwise, . + + + Gets the angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation. + The angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation. + + + Gets the maximum number of copies that the printer enables the user to print at a time. + The maximum number of copies that the printer enables the user to print at a time. + + + Gets or sets the maximum or that can be selected in a . + The value of the property is less than zero. + The maximum or that can be selected in a . + + + Gets or sets the minimum or that can be selected in a . + The value of the property is less than zero. + The minimum or that can be selected in a . + + + Gets the paper sizes that are supported by this printer. + A that represents the paper sizes that are supported by this printer. + + + Gets the paper source trays that are available on the printer. + A that represents the paper source trays that are available on this printer. + + + Gets or sets the name of the printer to use. + The name of the printer to use. + + + Gets all the resolutions that are supported by this printer. + A that represents the resolutions that are supported by this printer. + + + Gets or sets the file name, when printing to a file. + The file name, when printing to a file. + + + Gets or sets the page numbers that the user has specified to be printed. + The value of the property is not one of the values. + One of the values. + + + Gets or sets a value indicating whether the printing output is sent to a file instead of a port. + + if the printing output is sent to a file; otherwise, . The default is . + + + Gets a value indicating whether this printer supports color printing. + + if this printer supports color; otherwise, . + + + Gets or sets the number of the last page to print. + The value of the property is less than zero. + The number of the last page to print. + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a to the end of the collection. + The to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + A zero-based array that receives the items copied from the collection. + The index at which to start copying items. + + + For a description of this member, see . + An enumerator associated with the collection. + + + Gets the number of different paper sizes in the collection. + The number of different paper sizes in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds the specified to end of the . + The to add to the collection. + The zero-based index where the was added. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The destination array for the contents of the collection. + The index at which to start the copy operation. + + + For a description of this member, see . + An object that can be used to iterate through the collection. + + + Gets the number of different paper sources in the collection. + The number of different paper sources in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a to the end of the collection. + The to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The destination array. + The index at which to start the copy operation. + + + For a description of this member, see . + An object that can be used to iterate through the collection. + + + Gets the number of available printer resolutions in the collection. + The number of available printer resolutions in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a string to the end of the collection. + The string to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The array for items to be copied to. + The starting index. + + + For a description of this member, see . + An enumerator that can be used to iterate through the collection. + + + Gets the number of strings in the collection. + The number of strings in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Specifies several of the units of measure used for printing. + + + The default unit (0.01 in.). + + + One-hundredth of a millimeter (0.01 mm). + + + One-tenth of a millimeter (0.1 mm). + + + One-thousandth of an inch (0.001 in.). + + + Specifies a series of conversion methods that are useful when interoperating with the Win32 printing API. This class cannot be inherited. + + + Converts a double-precision floating-point number from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A double-precision floating-point number that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a 32-bit signed integer from one type to another type. + The value being converted. + The unit to convert from. + The unit to convert to. + A 32-bit signed integer that represents the converted . + + + Provides data for the and events. + + + Initializes a new instance of the class. + + + Returns in all cases. + + in all cases. + + + Represents the method that will handle the or event of a . + The source of the event. + A that contains the event data. + + + Provides data for the event. + + + Initializes a new instance of the class. + The used to paint the item. + The area between the margins. + The total area of the paper. + The for the page. + + + Gets or sets a value indicating whether the print job should be canceled. + + if the print job should be canceled; otherwise, . + + + Gets the used to paint the page. + The used to paint the page. + + + Gets or sets a value indicating whether an additional page should be printed. + + if an additional page should be printed; otherwise, . The default is . + + + Gets the rectangular area that represents the portion of the page inside the margins. + The rectangular area, measured in hundredths of an inch, that represents the portion of the page inside the margins. + + + Gets the rectangular area that represents the total area of the page. + The rectangular area that represents the total area of the page. + + + Gets the page settings for the current page. + The page settings for the current page. + + + Represents the method that will handle the event of a . + The source of the event. + A that contains the event data. + + + Specifies the part of the document to print. + + + All pages are printed. + + + The currently displayed page is printed. + + + The selected pages are printed. + + + The pages between and are printed. + + + Provides data for the event. + + + Initializes a new instance of the class. + The page settings for the page to be printed. + + + Gets or sets the page settings for the page to be printed. + The page settings for the page to be printed. + + + Represents the method that handles the event of a . + The source of the event. + A that contains the event data. + + + Specifies a print controller that sends information to a printer. + + + Initializes a new instance of the class. + + + Completes the control sequence that determines when and how to print a page of a document. + A that represents the document being printed. + A that contains data about how to print a page in the document. + The native Win32 Application Programming Interface (API) could not finish writing to a page. + + + Completes the control sequence that determines when and how to print a document. + A that represents the document being printed. + A that contains data about how to print the document. + The native Win32 Application Programming Interface (API) could not complete the print job. + + -or- + + The native Windows API could not delete the specified device context (DC). + + + Begins the control sequence that determines when and how to print a page in a document. + A that represents the document being printed. + A that contains data about how to print a page in the document. Initially, the property of this parameter will be . The value returned from the method will be used to set this property. + The native Win32 Application Programming Interface (API) could not prepare the printer driver to accept data. + + -or- + + The native Windows API could not update the specified printer or plotter device context (DC) using the specified information. + A object that represents a page from a . + + + Begins the control sequence that determines when and how to print a document. + A that represents the document being printed. + A that contains data about how to print the document. + The printer settings are not valid. + The native Win32 Application Programming Interface (API) could not start a print job. + + + Describes the interior of a graphics shape composed of rectangles and paths. This class cannot be inherited. + + + Initializes a new . + + + Initializes a new with the specified . + A that defines the new . + + is . + + + Initializes a new from the specified data. + A that defines the interior of the new . + + is . + + + Initializes a new from the specified structure. + A structure that defines the interior of the new . + + + Initializes a new from the specified structure. + A structure that defines the interior of the new . + + + Creates an exact copy of this . + The that this method creates. + + + Updates this to contain the portion of the specified that does not intersect with this . + The to complement this . + + is . + + + Updates this to contain the portion of the specified structure that does not intersect with this . + The structure to complement this . + + + Updates this to contain the portion of the specified structure that does not intersect with this . + The structure to complement this . + + + Updates this to contain the portion of the specified that does not intersect with this . + The object to complement this object. + + is . + + + Releases all resources used by this . + + + Tests whether the specified is identical to this on the specified drawing surface. + The to test. + A that represents a drawing surface. + + or is . + + if the interior of region is identical to the interior of this region when the transformation associated with the parameter is applied; otherwise, . + + + Updates this to contain only the portion of its interior that does not intersect with the specified . + The to exclude from this . + + is . + + + Updates this to contain only the portion of its interior that does not intersect with the specified structure. + The structure to exclude from this . + + + Updates this to contain only the portion of its interior that does not intersect with the specified structure. + The structure to exclude from this . + + + Updates this to contain only the portion of its interior that does not intersect with the specified . + The to exclude from this . + + is . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Initializes a new from a handle to the specified existing GDI region. + A handle to an existing . + The new . + + + Gets a structure that represents a rectangle that bounds this on the drawing surface of a object. + The on which this is drawn. + + is . + A structure that represents the bounding rectangle for this on the specified drawing surface. + + + Returns a Windows handle to this in the specified graphics context. + The on which this is drawn. + + is . + A Windows handle to this . + + + Returns a that represents the information that describes this . + A that represents the information that describes this . + + + Returns an array of structures that approximate this after the specified matrix transformation is applied. + A that represents a geometric transformation to apply to the region. + + is . + An array of structures that approximate this after the specified matrix transformation is applied. + + + Updates this to the intersection of itself with the specified . + The to intersect with this . + + + Updates this to the intersection of itself with the specified structure. + The structure to intersect with this . + + + Updates this to the intersection of itself with the specified structure. + The structure to intersect with this . + + + Updates this to the intersection of itself with the specified . + The to intersect with this . + + + Tests whether this has an empty interior on the specified drawing surface. + A that represents a drawing surface. + + is . + + if the interior of this is empty when the transformation associated with is applied; otherwise, . + + + Tests whether this has an infinite interior on the specified drawing surface. + A that represents a drawing surface. + + is . + + if the interior of this is infinite when the transformation associated with is applied; otherwise, . + + + Tests whether the specified structure is contained within this . + The structure to test. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this . + The structure to test. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this . + The structure to test. + This method returns when any portion of is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when any portion of the is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this . + The structure to test. + + when any portion of is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this object when drawn using the specified object. + The x-coordinate of the point to test. + The y-coordinate of the point to test. + A that represents a graphics context. + + when the specified point is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this when drawn using the specified . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + A that represents a graphics context. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + + when the specified point is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this when drawn using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + A that represents a graphics context. + + when the specified point is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + + when any portion of the specified rectangle is contained within this object; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this when drawn using the specified . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + A that represents a graphics context. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Initializes this to an empty interior. + + + Initializes this object to an infinite interior. + + + Releases the handle of the . + The handle to the . + + is . + + + Transforms this by the specified . + The by which to transform this . + + is . + + + Offsets the coordinates of this by the specified amount. + The amount to offset this horizontally. + The amount to offset this vertically. + + + Offsets the coordinates of this by the specified amount. + The amount to offset this horizontally. + The amount to offset this vertically. + + + Updates this to the union of itself and the specified . + The to unite with this . + + is . + + + Updates this to the union of itself and the specified structure. + The structure to unite with this . + + + Updates this to the union of itself and the specified structure. + The structure to unite with this . + + + Updates this to the union of itself and the specified . + The to unite with this . + + is . + + + Updates this to the union minus the intersection of itself with the specified . + The to with this . + + is . + + + Updates this to the union minus the intersection of itself with the specified structure. + The structure to with this . + + + Updates this to the union minus the intersection of itself with the specified structure. + The structure to with this . + + + Updates this to the union minus the intersection of itself with the specified . + The to with this . + + is . + + + Specifies how much an image is rotated and the axis used to flip the image. + + + Specifies a 180-degree clockwise rotation without flipping. + + + Specifies a 180-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 180-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 180-degree clockwise rotation followed by a vertical flip. + + + Specifies a 270-degree clockwise rotation without flipping. + + + Specifies a 270-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 270-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 270-degree clockwise rotation followed by a vertical flip. + + + Specifies a 90-degree clockwise rotation without flipping. + + + Specifies a 90-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 90-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 90-degree clockwise rotation followed by a vertical flip. + + + Specifies no clockwise rotation and no flipping. + + + Specifies no clockwise rotation followed by a horizontal flip. + + + Specifies no clockwise rotation followed by a horizontal and vertical flip. + + + Specifies no clockwise rotation followed by a vertical flip. + + + Defines a brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths. This class cannot be inherited. + + + Initializes a new object of the specified color. + A structure that represents the color of this brush. + + + Creates an exact copy of this object. + The object that this method creates. + + + Gets or sets the color of this object. + The property is set on an immutable . + A structure that represents the color of this brush. + + + Specifies the alignment of a text string relative to its layout rectangle. + + + Specifies that text is aligned in the center of the layout rectangle. + + + Specifies that text is aligned far from the origin position of the layout rectangle. In a left-to-right layout, the far position is right. In a right-to-left layout, the far position is left. + + + Specifies the text be aligned near the layout. In a left-to-right layout, the near position is left. In a right-to-left layout, the near position is right. + + + The enumeration specifies how to substitute digits in a string according to a user's locale or language. + + + Specifies substitution digits that correspond with the official national language of the user's locale. + + + Specifies to disable substitutions. + + + Specifies substitution digits that correspond with the user's native script or language, which may be different from the official national language of the user's locale. + + + Specifies a user-defined substitution scheme. + + + Encapsulates text layout information (such as alignment, orientation and tab stops) display manipulations (such as ellipsis insertion and national digit substitution) and OpenType features. This class cannot be inherited. + + + Initializes a new object. + + + Initializes a new object from the specified existing object. + The object from which to initialize the new object. + + is . + + + Initializes a new object with the specified enumeration. + The enumeration for the new object. + + + Initializes a new object with the specified enumeration and language. + The enumeration for the new object. + A value that indicates the language of the text. + + + Creates an exact copy of this object. + The object this method creates. + + + Releases all resources used by this object. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Gets the tab stops for this object. + The number of spaces between the beginning of a text line and the first tab stop. + An array of distances (in number of spaces) between tab stops. + + + Specifies the language and method to be used when local digits are substituted for western digits. + A National Language Support (NLS) language identifier that identifies the language that will be used when local digits are substituted for western digits. You can pass the property of a object as the NLS language identifier. For example, suppose you create a object by passing the string "ar-EG" to a constructor. If you pass the property of that object along with to the method, then Arabic-Indic digits will be substituted for western digits at display time. + An element of the enumeration that specifies how digits are displayed. + + + Specifies an array of structures that represent the ranges of characters measured by a call to the method. + An array of structures that specifies the ranges of characters measured by a call to the method. + More than 32 character ranges are set. + + + Sets tab stops for this object. + The number of spaces between the beginning of a line of text and the first tab stop. + An array of distances between tab stops in the units specified by the property. + + + Converts this object to a human-readable string. + A string representation of this object. + + + Gets or sets horizontal alignment of the string. + A enumeration that specifies the horizontal alignment of the string. + + + Gets the language that is used when local digits are substituted for western digits. + A National Language Support (NLS) language identifier that identifies the language that will be used when local digits are substituted for western digits. You can pass the property of a object as the NLS language identifier. For example, suppose you create a object by passing the string "ar-EG" to a constructor. If you pass the property of that object along with to the method, then Arabic-Indic digits will be substituted for western digits at display time. + + + Gets the method to be used for digit substitution. + A enumeration value that specifies how to substitute characters in a string that cannot be displayed because they are not supported by the current font. + + + Gets or sets a enumeration that contains formatting information. + A enumeration that contains formatting information. + + + Gets a generic default object. + The generic default object. + + + Gets a generic typographic object. + A generic typographic object. + + + Gets or sets the object for this object. + The object for this object, the default is . + + + Gets or sets the vertical alignment of the string. + A enumeration that represents the vertical line alignment. + + + Gets or sets the enumeration for this object. + A enumeration that indicates how text drawn with this object is trimmed when it exceeds the edges of the layout rectangle. + + + Specifies the display and layout information for text strings. + + + Text is displayed from right to left. + + + Text is vertically aligned. + + + Control characters such as the left-to-right mark are shown in the output with a representative glyph. + + + Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang. + + + Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line. + + + Includes the trailing space at the end of each line. By default the boundary rectangle returned by the method excludes the space at the end of each line. Set this flag to include that space in measurement. + + + Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped. + + + Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square. + + + Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length. + + + Specifies how to trim characters from a string that does not completely fit into a layout shape. + + + Specifies that the text is trimmed to the nearest character. + + + Specifies that the text is trimmed to the nearest character, and an ellipsis is inserted at the end of a trimmed line. + + + The center is removed from trimmed lines and replaced by an ellipsis. The algorithm keeps as much of the last slash-delimited segment of the line as possible. + + + Specifies that text is trimmed to the nearest word, and an ellipsis is inserted at the end of a trimmed line. + + + Specifies no trimming. + + + Specifies that text is trimmed to the nearest word. + + + Specifies the units of measure for a text string. + + + Specifies the device unit as the unit of measure. + + + Specifies 1/300 of an inch as the unit of measure. + + + Specifies a printer's em size of 32 as the unit of measure. + + + Specifies an inch as the unit of measure. + + + Specifies a millimeter as the unit of measure. + + + Specifies a pixel as the unit of measure. + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + Specifies world units as the unit of measure. + + + Each property of the class is a that is the color of a Windows display element. + + + Creates a from the specified structure. + The structure from which to create the . + The this method creates. + + + Gets a that is the color of the active window's border. + A that is the color of the active window's border. + + + Gets a that is the color of the background of the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the text in the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the application workspace. + A that is the color of the application workspace. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the dark shadow color of a 3-D element. + A that is the dark shadow color of a 3-D element. + + + Gets a that is the light color of a 3-D element. + A that is the light color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the color of text in a 3-D element. + A that is the color of text in a 3-D element. + + + Gets a that is the color of the desktop. + A that is the color of the desktop. + + + Gets a that is the lightest color in the color gradient of an active window's title bar. + A that is the lightest color in the color gradient of an active window's title bar. + + + Gets a that is the lightest color in the color gradient of an inactive window's title bar. + A that is the lightest color in the color gradient of an inactive window's title bar. + + + Gets a that is the color of dimmed text. + A that is the color of dimmed text. + + + Gets a that is the color of the background of selected items. + A that is the color of the background of selected items. + + + Gets a that is the color of the text of selected items. + A that is the color of the text of selected items. + + + Gets a that is the color used to designate a hot-tracked item. + A that is the color used to designate a hot-tracked item. + + + Gets a that is the color of an inactive window's border. + A that is the color of an inactive window's border. + + + Gets a that is the color of the background of an inactive window's title bar. + A that is the color of the background of an inactive window's title bar. + + + Gets a that is the color of the text in an inactive window's title bar. + A that is the color of the text in an inactive window's title bar. + + + Gets a that is the color of the background of a ToolTip. + A that is the color of the background of a ToolTip. + + + Gets a that is the color of the text of a ToolTip. + A is the color of the text of a ToolTip. + + + Gets a that is the color of a menu's background. + A that is the color of a menu's background. + + + Gets a that is the color of the background of a menu bar. + A that is the color of the background of a menu bar. + + + Gets a that is the color used to highlight menu items when the menu appears as a flat menu. + A that is the color used to highlight menu items when the menu appears as a flat menu. + + + Gets a that is the color of a menu's text. + A that is the color of a menu's text. + + + Gets a that is the color of the background of a scroll bar. + A that is the color of the background of a scroll bar. + + + Gets a that is the color of the background in the client area of a window. + A that is the color of the background in the client area of a window. + + + Gets a that is the color of a window frame. + A that is the color of a window frame. + + + Gets a that is the color of the text in the client area of a window. + A that is the color of the text in the client area of a window. + + + Specifies the fonts used to display text in Windows display elements. + + + Returns a font object that corresponds to the specified system font name. + The name of the system font you need a font object for. + A if the specified name matches a value in ; otherwise, . + + + Gets a that is used to display text in the title bars of windows. + A that is used to display text in the title bars of windows. + + + Gets the default font that applications can use for dialog boxes and forms. + The default of the system. The value returned will vary depending on the user's operating system and the local culture setting of their system. + + + Gets a font that applications can use for dialog boxes and forms. + A that can be used for dialog boxes and forms, depending on the operating system and local culture setting of the system. + + + Gets a that is used for icon titles. + A that is used for icon titles. + + + Gets a that is used for menus. + A that is used for menus. + + + Gets a that is used for message boxes. + A that is used for message boxes + + + Gets a that is used to display text in the title bars of small windows, such as tool windows. + A that is used to display text in the title bars of small windows, such as tool windows. + + + Gets a that is used to display text in the status bar. + A that is used to display text in the status bar. + + + Each property of the class is an object for Windows system-wide icons. This class cannot be inherited. + + + Gets an object that contains the default application icon (WIN32: IDI_APPLICATION). + An object that contains the default application icon. + + + Gets an object that contains the system asterisk icon (WIN32: IDI_ASTERISK). + An object that contains the system asterisk icon. + + + Gets an object that contains the system error icon (WIN32: IDI_ERROR). + An object that contains the system error icon. + + + Gets an object that contains the system exclamation icon (WIN32: IDI_EXCLAMATION). + An object that contains the system exclamation icon. + + + Gets an object that contains the system hand icon (WIN32: IDI_HAND). + An object that contains the system hand icon. + + + Gets an object that contains the system information icon (WIN32: IDI_INFORMATION). + An object that contains the system information icon. + + + Gets an object that contains the system question icon (WIN32: IDI_QUESTION). + An object that contains the system question icon. + + + Gets an object that contains the shield icon. + An object that contains the shield icon. + + + Gets an object that contains the system warning icon (WIN32: IDI_WARNING). + An object that contains the system warning icon. + + + Gets an object that contains the Windows logo icon (WIN32: IDI_WINLOGO). + An object that contains the Windows logo icon. + + + Each property of the class is a that is the color of a Windows display element and that has a width of 1 pixel. + + + Creates a from the specified . + The for the new . + The this method creates. + + + Gets a that is the color of the active window's border. + A that is the color of the active window's border. + + + Gets a that is the color of the background of the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the text in the active window's title bar. + A that is the color of the text in the active window's title bar. + + + Gets a that is the color of the application workspace. + A that is the color of the application workspace. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the dark shadow color of a 3-D element. + A that is the dark shadow color of a 3-D element. + + + Gets a that is the light color of a 3-D element. + A that is the light color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the color of text in a 3-D element. + A that is the color of text in a 3-D element. + + + Gets a that is the color of the Windows desktop. + A that is the color of the Windows desktop. + + + Gets a that is the lightest color in the color gradient of an active window's title bar. + A that is the lightest color in the color gradient of an active window's title bar. + + + Gets a that is the lightest color in the color gradient of an inactive window's title bar. + A that is the lightest color in the color gradient of an inactive window's title bar. + + + Gets a that is the color of dimmed text. + A that is the color of dimmed text. + + + Gets a that is the color of the background of selected items. + A that is the color of the background of selected items. + + + Gets a that is the color of the text of selected items. + A that is the color of the text of selected items. + + + Gets a that is the color used to designate a hot-tracked item. + A that is the color used to designate a hot-tracked item. + + + Gets a is the color of the border of an inactive window. + A that is the color of the border of an inactive window. + + + Gets a that is the color of the title bar caption of an inactive window. + A that is the color of the title bar caption of an inactive window. + + + Gets a that is the color of the text in an inactive window's title bar. + A that is the color of the text in an inactive window's title bar. + + + Gets a that is the color of the background of a ToolTip. + A that is the color of the background of a ToolTip. + + + Gets a that is the color of the text of a ToolTip. + A that is the color of the text of a ToolTip. + + + Gets a that is the color of a menu's background. + A that is the color of a menu's background. + + + Gets a that is the color of the background of a menu bar. + A that is the color of the background of a menu bar. + + + Gets a that is the color used to highlight menu items when the menu appears as a flat menu. + A that is the color used to highlight menu items when the menu appears as a flat menu. + + + Gets a that is the color of a menu's text. + A that is the color of a menu's text. + + + Gets a that is the color of the background of a scroll bar. + A that is the color of the background of a scroll bar. + + + Gets a that is the color of the background in the client area of a window. + A that is the color of the background in the client area of a window. + + + Gets a that is the color of a window frame. + A that is the color of a window frame. + + + Gets a that is the color of the text in the client area of a window. + A that is the color of the text in the client area of a window. + + + Provides a base class for installed and private font collections. + + + Releases all resources used by this . + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Gets the array of objects associated with this . + An array of objects. + + + Specifies a generic object. + + + A generic Monospace object. + + + A generic Sans Serif object. + + + A generic Serif object. + + + Specifies the type of display for hot-key prefixes that relate to text. + + + Do not display the hot-key prefix. + + + No hot-key prefix. + + + Display the hot-key prefix. + + + Represents the fonts installed on the system. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Provides a collection of font families built from font files that are provided by the client application. + + + Initializes a new instance of the class. + + + Adds a font from the specified file to this . + A that contains the file name of the font to add. + The specified font is not supported or the font file cannot be found. + + + Adds a font contained in system memory to this . + The memory address of the font to add. + The memory length of the font to add. + + + Specifies the quality of text rendering. + + + Each character is drawn using its antialiased glyph bitmap without hinting. Better quality due to antialiasing. Stem width differences may be noticeable because hinting is turned off. + + + Each character is drawn using its antialiased glyph bitmap with hinting. Much better quality due to antialiasing, but at a higher performance cost. + + + Each character is drawn using its glyph ClearType bitmap with hinting. The highest quality setting. Used to take advantage of ClearType font features. + + + Each character is drawn using its glyph bitmap. Hinting is not used. + + + Each character is drawn using its glyph bitmap. Hinting is used to improve character appearance on stems and curvature. + + + Each character is drawn using its glyph bitmap, with the system default rendering hint. The text will be drawn using whatever font-smoothing settings the user has selected for the system. + + + Each property of the class is a object that uses an image to fill the interior of a shape. This class cannot be inherited. + + + Initializes a new object that uses the specified image. + The object with which this object fills interiors. + + + Initializes a new object that uses the specified image and wrap mode. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + + + Initializes a new object that uses the specified image, wrap mode, and bounding rectangle. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, wrap mode, and bounding rectangle. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image and bounding rectangle. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, bounding rectangle, and image attributes. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + An object that contains additional information about the image used by this object. + + + Initializes a new object that uses the specified image and bounding rectangle. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, bounding rectangle, and image attributes. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + An object that contains additional information about the image used by this object. + + + Creates an exact copy of this object. + The object this method creates, cast as an object. + + + Multiplies the object that represents the local geometric transformation of this object by the specified object by prepending the specified object. + The object by which to multiply the geometric transformation. + + + Multiplies the object that represents the local geometric transformation of this object by the specified object in the specified order. + The object by which to multiply the geometric transformation. + A enumeration that specifies the order in which to multiply the two matrices. + + + Resets the property of this object to identity. + + + Rotates the local geometric transformation of this object by the specified amount. This method prepends the rotation to the transformation. + The angle of rotation. + + + Rotates the local geometric transformation of this object by the specified amount in the specified order. + The angle of rotation. + A enumeration that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transformation of this object by the specified amounts. This method prepends the scaling matrix to the transformation. + The amount by which to scale the transformation in the x direction. + The amount by which to scale the transformation in the y direction. + + + Scales the local geometric transformation of this object by the specified amounts in the specified order. + The amount by which to scale the transformation in the x direction. + The amount by which to scale the transformation in the y direction. + A enumeration that specifies whether to append or prepend the scaling matrix. + + + Translates the local geometric transformation of this object by the specified dimensions. This method prepends the translation to the transformation. + The dimension by which to translate the transformation in the x direction. + The dimension by which to translate the transformation in the y direction. + + + Translates the local geometric transformation of this object by the specified dimensions in the specified order. + The dimension by which to translate the transformation in the x direction. + The dimension by which to translate the transformation in the y direction. + The order (prepend or append) in which to apply the translation. + + + Gets the object associated with this object. + An object that represents the image with which this object fills shapes. + + + Gets or sets a copy of the object that defines a local geometric transformation for the image associated with this object. + A copy of the object that defines a geometric transformation that applies only to fills drawn by using this object. + + + Gets or sets a enumeration that indicates the wrap mode for this object. + A enumeration that specifies how fills drawn by using this object are tiled. + + + Allows you to specify an icon to represent a control in a container, such as the Microsoft Visual Studio Form Designer. + + + A object that has its small image and its large image set to . + + + Initializes a new object with an image from a specified file. + The name of a file that contains a 16 by 16 bitmap. + + + Initializes a new object based on a 16 x 16 bitmap that is embedded as a resource in a specified assembly. + A whose defining assembly is searched for the bitmap resource. + + + Initializes a new object based on a 16 by 16 bitmap that is embedded as a resource in a specified assembly. + A whose defining assembly is searched for the bitmap resource. + The name of the embedded bitmap resource. + + + Indicates whether the specified object is a object and is identical to this object. + The to test. + This method returns if is both a object and is identical to this object. + + + Gets a hash code for this object. + The hash code for this object. + + + Gets the small associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type of the object specified by the component parameter. For example, if you pass an object of type ControlA to the component parameter, then this method searches the assembly that defines ControlA. + The small associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type of the object specified by the component parameter. For example, if you pass an object of type ControlA to the component parameter, then this method searches the assembly that defines ControlA. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An object associated with this object. + + + Gets the small associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type specified by the type parameter. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + The small associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type specified by the component type. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for an embedded bitmap resource in the assembly that defines the type specified by the component type. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + The name of the embedded bitmap resource. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An associated with this object. + + + Returns an object based on a bitmap resource that is embedded in an assembly. + This method searches for an embedded bitmap resource in the assembly that defines the type specified by the t parameter. For example, if you pass typeof(ControlA) to the t parameter, then this method searches the assembly that defines ControlA. + The name of the embedded bitmap resource. + Specifies whether this method returns a large image (true) or a small image (false). The small image is 16 by 16, and the large image is 32 x 32. + An object based on the retrieved bitmap. + + + \ No newline at end of file diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.xml b/LeatherProject/packages/System.Drawing.Common.5.0.3/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.xml new file mode 100644 index 0000000..99486f8 --- /dev/null +++ b/LeatherProject/packages/System.Drawing.Common.5.0.3/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.xml @@ -0,0 +1,12076 @@ + + + + System.Drawing.Common + + + + Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A is an object used to work with images defined by pixel data. + + + Initializes a new instance of the class from the specified existing image. + The from which to create the new . + + + Initializes a new instance of the class from the specified existing image, scaled to the specified size. + The from which to create the new . + The structure that represent the size of the new . + The operation failed. + + + Initializes a new instance of the class from the specified existing image, scaled to the specified size. + The from which to create the new . + The width, in pixels, of the new . + The height, in pixels, of the new . + The operation failed. + + + Initializes a new instance of the class with the specified size. + The width, in pixels, of the new . + The height, in pixels, of the new . + The operation failed. + + + Initializes a new instance of the class with the specified size and with the resolution of the specified object. + The width, in pixels, of the new . + The height, in pixels, of the new . + The object that specifies the resolution for the new . + + is . + + + Initializes a new instance of the class with the specified size and format. + The width, in pixels, of the new . + The height, in pixels, of the new . + The pixel format for the new . This must specify a value that begins with Format. + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + + + Initializes a new instance of the class with the specified size, pixel format, and pixel data. + The width, in pixels, of the new . + The height, in pixels, of the new . + Integer that specifies the byte offset between the beginning of one scan line and the next. This is usually (but not necessarily) the number of bytes in the pixel format (for example, 2 for 16 bits per pixel) multiplied by the width of the bitmap. The value passed to this parameter must be a multiple of four. + The pixel format for the new . This must specify a value that begins with Format. + Pointer to an array of bytes that contains the pixel data. + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + + + Initializes a new instance of the class from the specified data stream. + The data stream used to load the image. + + does not contain image data or is . + + -or- + + contains a PNG image file with a single dimension greater than 65,535 pixels. + + + Initializes a new instance of the class from the specified data stream. + The data stream used to load the image. + + to use color correction for this ; otherwise, . + + does not contain image data or is . + + -or- + + contains a PNG image file with a single dimension greater than 65,535 pixels. + + + Initializes a new instance of the class from the specified file. + The bitmap file name and path. + The specified file is not found. + + + Initializes a new instance of the class from the specified file. + The name of the bitmap file. + + to use color correction for this ; otherwise, . + + + Initializes a new instance of the class from a specified resource. + The class used to extract the resource. + The name of the resource. + + + Creates a copy of the section of this defined by structure and with a specified enumeration. + Defines the portion of this to copy. Coordinates are relative to this . + The pixel format for the new . This must specify a value that begins with Format. + + is outside of the source bitmap bounds. + The height or width of is 0. + + -or- + + A value is specified whose name does not start with Format. For example, specifying will cause an , but will not. + The new that this method creates. + + + Creates a copy of the section of this defined with a specified enumeration. + Defines the portion of this to copy. + Specifies the enumeration for the destination . + + is outside of the source bitmap bounds. + The height or width of is 0. + The that this method creates. + + + Creates a from a Windows handle to an icon. + A handle to an icon. + The that this method creates. + + + Creates a from the specified Windows resource. + A handle to an instance of the executable file that contains the resource. + A string that contains the name of the resource bitmap. + The that this method creates. + + + Creates a GDI bitmap object from this . + The height or width of the bitmap is greater than . + The operation failed. + A handle to the GDI bitmap object that this method creates. + + + Creates a GDI bitmap object from this . + A structure that specifies the background color. This parameter is ignored if the bitmap is totally opaque. + The height or width of the bitmap is greater than . + The operation failed. + A handle to the GDI bitmap object that this method creates. + + + Returns the handle to an icon. + The operation failed. + A Windows handle to an icon with the same image as the . + + + Gets the color of the specified pixel in this . + The x-coordinate of the pixel to retrieve. + The y-coordinate of the pixel to retrieve. + + is less than 0, or greater than or equal to . + + -or- + + is less than 0, or greater than or equal to . + The operation failed. + A structure that represents the color of the specified pixel. + + + Locks a into system memory. + A structure that specifies the portion of the to lock. + An enumeration that specifies the access level (read/write) for the . + A enumeration that specifies the data format of this . + The is not a specific bits-per-pixel value. + + -or- + + The incorrect is passed in for a bitmap. + The operation failed. + A that contains information about this lock operation. + + + Locks a into system memory. + A rectangle structure that specifies the portion of the to lock. + One of the values that specifies the access level (read/write) for the . + One of the values that specifies the data format of the . + A that contains information about the lock operation. + + value is not a specific bits-per-pixel value. + + -or- + + The incorrect is passed in for a bitmap. + The operation failed. + A that contains information about the lock operation. + + + Makes the default transparent color transparent for this . + The image format of the is an icon format. + The operation failed. + + + Makes the specified color transparent for this . + The structure that represents the color to make transparent. + The image format of the is an icon format. + The operation failed. + + + Sets the color of the specified pixel in this . + The x-coordinate of the pixel to set. + The y-coordinate of the pixel to set. + A structure that represents the color to assign to the specified pixel. + The operation failed. + + + Sets the resolution for this . + The horizontal resolution, in dots per inch, of the . + The vertical resolution, in dots per inch, of the . + The operation failed. + + + Unlocks this from system memory. + A that specifies information about the lock operation. + The operation failed. + + + Specifies that, when interpreting declarations, the assembly should look for the indicated resources in the same assembly, but with the configuration value appended to the declared file name. + + + Initializes a new instance of the class. + + + Specifies that, when interpreting declarations, the assembly should look for the indicated resources in a satellite assembly, but with the configuration value appended to the declared file name. + + + Initializes a new instance of the class. + + + Defines objects used to fill the interiors of graphical shapes such as rectangles, ellipses, pies, polygons, and paths. + + + Initializes a new instance of the class. + + + When overridden in a derived class, creates an exact copy of this . + The new that this method creates. + + + Releases all resources used by this object. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + In a derived class, sets a reference to a GDI+ brush object. + A pointer to the GDI+ brush object. + + + Brushes for all the standard colors. This class cannot be inherited. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Gets a system-defined object. + A object set to a system-defined color. + + + Provides a graphics buffer for double buffering. + + + Releases all resources used by the object. + + + Writes the contents of the graphics buffer to the default device. + + + Writes the contents of the graphics buffer to the specified object. + A object to which to write the contents of the graphics buffer. + + + Writes the contents of the graphics buffer to the device context associated with the specified handle. + An that points to the device context to which to write the contents of the graphics buffer. + + + Gets a object that outputs to the graphics buffer. + A object that outputs to the graphics buffer. + + + Provides methods for creating graphics buffers that can be used for double buffering. + + + Initializes a new instance of the class. + + + Creates a graphics buffer of the specified size using the pixel format of the specified . + The to match the pixel format for the new buffer to. + A indicating the size of the buffer to create. + A that can be used to draw to a buffer of the specified dimensions. + + + Creates a graphics buffer of the specified size using the pixel format of the specified . + An to a device context to match the pixel format of the new buffer to. + A indicating the size of the buffer to create. + A that can be used to draw to a buffer of the specified dimensions. + + + Releases all resources used by the . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Disposes of the current graphics buffer, if a buffer has been allocated and has not yet been disposed. + + + Gets or sets the maximum size of the buffer to use. + The height or width of the size is less than or equal to zero. + A indicating the maximum size of the buffer dimensions. + + + Provides access to the main buffered graphics context object for the application domain. + + + Gets the for the current application domain. + The for the current application domain. + + + Specifies a range of character positions within a string. + + + Initializes a new instance of the structure, specifying a range of character positions within a string. + The position of the first character in the range. For example, if is set to 0, the first position of the range is position 0 in the string. + The number of positions in the range. + + + Gets a value indicating whether this object is equivalent to the specified object. + The object to compare to for equality. + + to indicate the specified object is an instance with the same and value as this instance; otherwise, . + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + Compares two objects. Gets a value indicating whether the and values of the two objects are equal. + A to compare for equality. + A to compare for equality. + + to indicate the two objects have the same and values; otherwise, . + + + Compares two objects. Gets a value indicating whether the or values of the two objects are not equal. + A to compare for inequality. + A to compare for inequality. + + to indicate the either the or values of the two objects differ; otherwise, . + + + Gets or sets the position in the string of the first character of this . + The first position of this . + + + Gets or sets the number of positions in this . + The number of positions in this . + + + Specifies alignment of content on the drawing surface. + + + Content is vertically aligned at the bottom, and horizontally aligned at the center. + + + Content is vertically aligned at the bottom, and horizontally aligned on the left. + + + Content is vertically aligned at the bottom, and horizontally aligned on the right. + + + Content is vertically aligned in the middle, and horizontally aligned at the center. + + + Content is vertically aligned in the middle, and horizontally aligned on the left. + + + Content is vertically aligned in the middle, and horizontally aligned on the right. + + + Content is vertically aligned at the top, and horizontally aligned at the center. + + + Content is vertically aligned at the top, and horizontally aligned on the left. + + + Content is vertically aligned at the top, and horizontally aligned on the right. + + + Determines how the source color in a copy pixel operation is combined with the destination color to result in a final color. + + + The destination area is filled by using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.) + + + Windows that are layered on top of your window are included in the resulting image. By default, the image contains only your window. Note that this generally cannot be used for printing device contexts. + + + The destination area is inverted. + + + The colors of the source area are merged with the colors of the selected brush of the destination device context using the Boolean operator. + + + The colors of the inverted source area are merged with the colors of the destination area by using the Boolean operator. + + + The bitmap is not mirrored. + + + The inverted source area is copied to the destination. + + + The source and destination colors are combined using the Boolean operator, and then resultant color is then inverted. + + + The brush currently selected in the destination device context is copied to the destination bitmap. + + + The colors of the brush currently selected in the destination device context are combined with the colors of the destination are using the Boolean operator. + + + The colors of the brush currently selected in the destination device context are combined with the colors of the inverted source area using the Boolean operator. The result of this operation is combined with the colors of the destination area using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The source area is copied directly to the destination area. + + + The inverted colors of the destination area are combined with the colors of the source area using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The colors of the source and destination areas are combined using the Boolean operator. + + + The destination area is filled by using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.) + + + Represents a collection of category name strings. + + + Initializes a new instance of the class using the specified collection. + A that contains the names to initialize the collection values to. + + + Initializes a new instance of the class using the specified array of names. + An array of strings that contains the names of the categories to initialize the collection values to. + + + Indicates whether the specified category is contained in the collection. + The string to check for in the collection. + + if the specified category is contained in the collection; otherwise, . + + + Copies the collection elements to the specified array at the specified index. + The array to copy to. + The index of the destination array at which to begin copying. + + + Gets the index of the specified value. + The category name to retrieve the index of in the collection. + The index in the collection, or if the string does not exist in the collection. + + + Gets the category name at the specified index. + The index of the collection element to access. + The category name at the specified index. + + + Represents an adjustable arrow-shaped line cap. This class cannot be inherited. + + + Initializes a new instance of the class with the specified width and height. The arrow end caps created with this constructor are always filled. + The width of the arrow. + The height of the arrow. + + + Initializes a new instance of the class with the specified width, height, and fill property. Whether an arrow end cap is filled depends on the argument passed to the parameter. + The width of the arrow. + The height of the arrow. + + to fill the arrow cap; otherwise, . + + + Gets or sets whether the arrow cap is filled. + This property is if the arrow cap is filled; otherwise, . + + + Gets or sets the height of the arrow cap. + The height of the arrow cap. + + + Gets or sets the number of units between the outline of the arrow cap and the fill. + The number of units between the outline of the arrow cap and the fill of the arrow cap. + + + Gets or sets the width of the arrow cap. + The width, in units, of the arrow cap. + + + Defines a blend pattern for a object. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified number of factors and positions. + The number of elements in the and arrays. + + + Gets or sets an array of blend factors for the gradient. + An array of blend factors that specify the percentages of the starting color and the ending color to be used at the corresponding position. + + + Gets or sets an array of blend positions for the gradient. + An array of blend positions that specify the percentages of distance along the gradient line. + + + Defines arrays of colors and positions used for interpolating color blending in a multicolor gradient. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified number of colors and positions. + The number of colors and positions in this . + + + Gets or sets an array of colors that represents the colors to use at corresponding positions along a gradient. + An array of structures that represents the colors to use at corresponding positions along a gradient. + + + Gets or sets the positions along a gradient line. + An array of values that specify percentages of distance along the gradient line. + + + Specifies how different clipping regions can be combined. + + + Specifies that the existing region is replaced by the result of the existing region being removed from the new region. Said differently, the existing region is excluded from the new region. + + + Specifies that the existing region is replaced by the result of the new region being removed from the existing region. Said differently, the new region is excluded from the existing region. + + + Two clipping regions are combined by taking their intersection. + + + One clipping region is replaced by another. + + + Two clipping regions are combined by taking the union of both. + + + Two clipping regions are combined by taking only the areas enclosed by one or the other region, but not both. + + + Specifies how the source colors are combined with the background colors. + + + Specifies that when a color is rendered, it overwrites the background color. + + + Specifies that when a color is rendered, it is blended with the background color. The blend is determined by the alpha component of the color being rendered. + + + Specifies the quality level to use during compositing. + + + Assume linear values. + + + Default quality. + + + Gamma correction is used. + + + High quality, low speed compositing. + + + High speed, low quality. + + + Invalid quality. + + + Specifies the system to use when evaluating coordinates. + + + Specifies that coordinates are in the device coordinate context. On a computer screen the device coordinates are usually measured in pixels. + + + Specifies that coordinates are in the page coordinate context. Their units are defined by the property, and must be one of the elements of the enumeration. + + + Specifies that coordinates are in the world coordinate context. World coordinates are used in a nonphysical environment, such as a modeling environment. + + + Encapsulates a custom user-defined line cap. + + + Initializes a new instance of the class with the specified outline and fill. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + + + Initializes a new instance of the class from the specified existing enumeration with the specified outline and fill. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + The line cap from which to create the custom cap. + + + Initializes a new instance of the class from the specified existing enumeration with the specified outline, fill, and inset. + A object that defines the fill for the custom cap. + A object that defines the outline of the custom cap. + The line cap from which to create the custom cap. + The distance between the cap and the line. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Releases all resources used by this object. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an to attempt to free resources and perform other cleanup operations before the is reclaimed by garbage collection. + + + Gets the caps used to start and end lines that make up this custom cap. + The enumeration used at the beginning of a line within this cap. + The enumeration used at the end of a line within this cap. + + + Sets the caps used to start and end lines that make up this custom cap. + The enumeration used at the beginning of a line within this cap. + The enumeration used at the end of a line within this cap. + + + Gets or sets the enumeration on which this is based. + The enumeration on which this is based. + + + Gets or sets the distance between the cap and the line. + The distance between the beginning of the cap and the end of the line. + + + Gets or sets the enumeration that determines how lines that compose this object are joined. + The enumeration this object uses to join lines. + + + Gets or sets the amount by which to scale this Class object with respect to the width of the object. + The amount by which to scale the cap. + + + Specifies the type of graphic shape to use on both ends of each dash in a dashed line. + + + Specifies a square cap that squares off both ends of each dash. + + + Specifies a circular cap that rounds off both ends of each dash. + + + Specifies a triangular cap that points both ends of each dash. + + + Specifies the style of dashed lines drawn with a object. + + + Specifies a user-defined custom dash style. + + + Specifies a line consisting of dashes. + + + Specifies a line consisting of a repeating pattern of dash-dot. + + + Specifies a line consisting of a repeating pattern of dash-dot-dot. + + + Specifies a line consisting of dots. + + + Specifies a solid line. + + + Specifies how the interior of a closed path is filled. + + + Specifies the alternate fill mode. + + + Specifies the winding fill mode. + + + Specifies whether commands in the graphics stack are terminated (flushed) immediately or executed as soon as possible. + + + Specifies that the stack of all graphics operations is flushed immediately. + + + Specifies that all graphics operations on the stack are executed as soon as possible. This synchronizes the graphics state. + + + Represents the internal data of a graphics container. This class is used when saving the state of a object using the and methods. This class cannot be inherited. + + + Represents a series of connected lines and curves. This class cannot be inherited. + + + Initializes a new instance of the class with a value of . + + + Initializes a new instance of the class with the specified enumeration. + The enumeration that determines how the interior of this is filled. + + + Initializes a new instance of the class with the specified and arrays. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + + + Initializes a new instance of the class with the specified and arrays and with the specified enumeration element. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Initializes a new instance of the array with the specified and arrays. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + + + Initializes a new instance of the array with the specified and arrays and with the specified enumeration element. + An array of structures that defines the coordinates of the points that make up this . + An array of enumeration elements that specifies the type of each corresponding point in the array. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Appends an elliptical arc to the current figure. + A that represents the rectangular bounds of the ellipse from which the arc is taken. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + A that represents the rectangular bounds of the ellipse from which the arc is taken. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + The x-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The y-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The width of the rectangular region that defines the ellipse from which the arc is drawn. + The height of the rectangular region that defines the ellipse from which the arc is drawn. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Appends an elliptical arc to the current figure. + The x-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The y-coordinate of the upper-left corner of the rectangular region that defines the ellipse from which the arc is drawn. + The width of the rectangular region that defines the ellipse from which the arc is drawn. + The height of the rectangular region that defines the ellipse from which the arc is drawn. + The starting angle of the arc, measured in degrees clockwise from the x-axis. + The angle between and the end of the arc. + + + Adds a cubic Bézier curve to the current figure. + A that represents the starting point of the curve. + A that represents the first control point for the curve. + A that represents the second control point for the curve. + A that represents the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + A that represents the starting point of the curve. + A that represents the first control point for the curve. + A that represents the second control point for the curve. + A that represents the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point for the curve. + The y-coordinate of the first control point for the curve. + The x-coordinate of the second control point for the curve. + The y-coordinate of the second control point for the curve. + The x-coordinate of the endpoint of the curve. + The y-coordinate of the endpoint of the curve. + + + Adds a cubic Bézier curve to the current figure. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point for the curve. + The y-coordinate of the first control point for the curve. + The x-coordinate of the second control point for the curve. + The y-coordinate of the second control point for the curve. + The x-coordinate of the endpoint of the curve. + The y-coordinate of the endpoint of the curve. + + + Adds a sequence of connected cubic Bézier curves to the current figure. + An array of structures that represents the points that define the curves. + + + Adds a sequence of connected cubic Bézier curves to the current figure. + An array of structures that represents the points that define the curves. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + A value between from 0 through 1 that specifies the amount that the curve bends between points, with 0 being the smallest curve (sharpest corner) and 1 being the smoothest curve. + + + Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + The index of the element in the array that is used as the first point in the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array. + An array of structures that represents the points that define the curve. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + The index of the element in the array that is used as the first point in the curve. + The number of segments used to draw the curve. A segment can be thought of as a line connecting two points. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds a spline curve to the current figure. + An array of structures that represents the points that define the curve. + A value that specifies the amount that the curve bends between control points. Values greater than 1 produce unpredictable results. + + + Adds an ellipse to the current path. + A that represents the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + A that represents the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The width of the bounding rectangle that defines the ellipse. + The height of the bounding rectangle that defines the ellipse. + + + Adds an ellipse to the current path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper left corner of the bounding rectangle that defines the ellipse. + The width of the bounding rectangle that defines the ellipse. + The height of the bounding rectangle that defines the ellipse. + + + Appends a line segment to this . + A that represents the starting point of the line. + A that represents the endpoint of the line. + + + Appends a line segment to this . + A that represents the starting point of the line. + A that represents the endpoint of the line. + + + Appends a line segment to the current figure. + The x-coordinate of the starting point of the line. + The y-coordinate of the starting point of the line. + The x-coordinate of the endpoint of the line. + The y-coordinate of the endpoint of the line. + + + Appends a line segment to this . + The x-coordinate of the starting point of the line. + The y-coordinate of the starting point of the line. + The x-coordinate of the endpoint of the line. + The y-coordinate of the endpoint of the line. + + + Appends a series of connected line segments to the end of this . + An array of structures that represents the points that define the line segments to add. + + + Appends a series of connected line segments to the end of this . + An array of structures that represents the points that define the line segments to add. + + + Appends the specified to this path. + The to add. + A Boolean value that specifies whether the first figure in the added path is part of the last figure in this path. A value of specifies that (if possible) the first figure in the added path is part of the last figure in this path. A value of specifies that the first figure in the added path is separate from the last figure in this path. + + + Adds the outline of a pie shape to this path. + A that represents the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds the outline of a pie shape to this path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The width of the bounding rectangle that defines the ellipse from which the pie is drawn. + The height of the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds the outline of a pie shape to this path. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie is drawn. + The width of the bounding rectangle that defines the ellipse from which the pie is drawn. + The height of the bounding rectangle that defines the ellipse from which the pie is drawn. + The starting angle for the pie section, measured in degrees clockwise from the x-axis. + The angle between and the end of the pie section, measured in degrees clockwise from . + + + Adds a polygon to this path. + An array of structures that defines the polygon to add. + + + Adds a polygon to this path. + An array of structures that defines the polygon to add. + + + Adds a rectangle to this path. + A that represents the rectangle to add. + + + Adds a rectangle to this path. + A that represents the rectangle to add. + + + Adds a series of rectangles to this path. + An array of structures that represents the rectangles to add. + + + Adds a series of rectangles to this path. + An array of structures that represents the rectangles to add. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the point where the text starts. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the point where the text starts. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the rectangle that bounds the text. + A that specifies text formatting information, such as line spacing and alignment. + + + Adds a text string to this path. + The to add. + A that represents the name of the font with which the test is drawn. + A enumeration that represents style information about the text (bold, italic, and so on). This must be cast as an integer (see the example code later in this section). + The height of the em square box that bounds the character. + A that represents the rectangle that bounds the text. + A that specifies text formatting information, such as line spacing and alignment. + + + Clears all markers from this path. + + + Creates an exact copy of this path. + The this method creates, cast as an object. + + + Closes all open figures in this path and starts a new figure. It closes each open figure by connecting a line from its endpoint to its starting point. + + + Closes the current figure and starts a new figure. If the current figure contains a sequence of connected lines and curves, the method closes the loop by connecting a line from the endpoint to the starting point. + + + Releases all resources used by this . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Converts each curve in this path into a sequence of connected line segments. + + + Applies the specified transform and then converts each curve in this into a sequence of connected line segments. + A by which to transform this before flattening. + + + Converts each curve in this into a sequence of connected line segments. + A by which to transform this before flattening. + Specifies the maximum permitted error between the curve and its flattened approximation. A value of 0.25 is the default. Reducing the flatness value will increase the number of line segments in the approximation. + + + Returns a rectangle that bounds this . + A that represents a rectangle that bounds this . + + + Returns a rectangle that bounds this when this path is transformed by the specified . + The that specifies a transformation to be applied to this path before the bounding rectangle is calculated. This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle. + A that represents a rectangle that bounds this . + + + Returns a rectangle that bounds this when the current path is transformed by the specified and drawn with the specified . + The that specifies a transformation to be applied to this path before the bounding rectangle is calculated. This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle. + The with which to draw the . + A that represents a rectangle that bounds this . + + + Gets the last point in the array of this . + A that represents the last point in this . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + A that specifies the location to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + A that specifies the location to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + A that specifies the location to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + A that specifies the location to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within (under) the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + This method returns if the specified point is contained within the outline of this when drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within (under) the outline of this when drawn with the specified and using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The to test. + The for which to test visibility. + This method returns if the specified point is contained within (under) the outline of this as drawn with the specified ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + A that represents the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this; otherwise, . + + + Indicates whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this , using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + This method returns if the specified point is contained within this ; otherwise, . + + + Indicates whether the specified point is contained within this in the visible clip region of the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + The for which to test visibility. + This method returns if the specified point is contained within this ; otherwise, . + + + Empties the and arrays and sets the to . + + + Reverses the order of points in the array of this . + + + Sets a marker on this . + + + Starts a new figure without closing the current figure. All subsequent points added to the path are added to this new figure. + + + Applies a transform matrix to this . + A that represents the transformation to apply. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that defines a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + A enumeration that specifies whether this warp operation uses perspective or bilinear mode. + + + Applies a warp transform, defined by a rectangle and a parallelogram, to this . + An array of structures that define a parallelogram to which the rectangle defined by is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points. + A that represents the rectangle that is transformed to the parallelogram defined by . + A that specifies a geometric transform to apply to the path. + A enumeration that specifies whether this warp operation uses perspective or bilinear mode. + A value from 0 through 1 that specifies how flat the resulting path is. For more information, see the methods. + + + Adds an additional outline to the path. + A that specifies the width between the original outline of the path and the new outline this method creates. + + + Adds an additional outline to the . + A that specifies the width between the original outline of the path and the new outline this method creates. + A that specifies a transform to apply to the path before widening. + + + Replaces this with curves that enclose the area that is filled when this path is drawn by the specified pen. + A that specifies the width between the original outline of the path and the new outline this method creates. + A that specifies a transform to apply to the path before widening. + A value that specifies the flatness for curves. + + + Gets or sets a enumeration that determines how the interiors of shapes in this are filled. + A enumeration that specifies how the interiors of shapes in this are filled. + + + Gets a that encapsulates arrays of points () and types () for this . + A that encapsulates arrays for both the points and types for this . + + + Gets the points in the path. + An array of objects that represent the path. + + + Gets the types of the corresponding points in the array. + An array of bytes that specifies the types of the corresponding points in the path. + + + Gets the number of elements in the or the array. + An integer that specifies the number of elements in the or the array. + + + Provides the ability to iterate through subpaths in a and test the types of shapes contained in each subpath. This class cannot be inherited. + + + Initializes a new instance of the class with the specified object. + The object for which this helper class is to be initialized. + + + Copies the property and property arrays of the associated into the two specified arrays. + Upon return, contains an array of structures that represents the points in the path. + Upon return, contains an array of bytes that represents the types of points in the path. + Specifies the starting index of the arrays. + Specifies the ending index of the arrays. + The number of points copied. + + + Releases all resources used by this object. + + + Copies the property and property arrays of the associated into the two specified arrays. + Upon return, contains an array of structures that represents the points in the path. + Upon return, contains an array of bytes that represents the types of points in the path. + The number of points copied. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Indicates whether the path associated with this contains a curve. + This method returns if the current subpath contains a curve; otherwise, . + + + This object has a object associated with it. The method increments the associated to the next marker in its path and copies all the points contained between the current marker and the next marker (or end of path) to a second object passed in to the parameter. + The object to which the points will be copied. + The number of points between this marker and the next. + + + Increments the to the next marker in the path and returns the start and stop indexes by way of the [out] parameters. + [out] The integer reference supplied to this parameter receives the index of the point that starts a subpath. + [out] The integer reference supplied to this parameter receives the index of the point that ends the subpath to which points. + The number of points between this marker and the next. + + + Gets the starting index and the ending index of the next group of data points that all have the same type. + [out] Receives the point type shared by all points in the group. Possible types can be retrieved from the enumeration. + [out] Receives the starting index of the group of points. + [out] Receives the ending index of the group of points. + This method returns the number of data points in the group. If there are no more groups in the path, this method returns 0. + + + Gets the next figure (subpath) from the associated path of this . + A that is to have its data points set to match the data points of the retrieved figure (subpath) for this iterator. + [out] Indicates whether the current subpath is closed. It is if the if the figure is closed, otherwise it is . + The number of data points in the retrieved figure (subpath). If there are no more figures to retrieve, zero is returned. + + + Moves the to the next subpath in the path. The start index and end index of the next subpath are contained in the [out] parameters. + [out] Receives the starting index of the next subpath. + [out] Receives the ending index of the next subpath. + [out] Indicates whether the subpath is closed. + The number of subpaths in the object. + + + Rewinds this to the beginning of its associated path. + + + Gets the number of points in the path. + The number of points in the path. + + + Gets the number of subpaths in the path. + The number of subpaths in the path. + + + Represents the state of a object. This object is returned by a call to the methods. This class cannot be inherited. + + + Defines a rectangular brush with a hatch style, a foreground color, and a background color. This class cannot be inherited. + + + Initializes a new instance of the class with the specified enumeration and foreground color. + One of the values that represents the pattern drawn by this . + The structure that represents the color of lines drawn by this . + + + Initializes a new instance of the class with the specified enumeration, foreground color, and background color. + One of the values that represents the pattern drawn by this . + The structure that represents the color of lines drawn by this . + The structure that represents the color of spaces between the lines drawn by this . + + + Creates an exact copy of this object. + The this method creates, cast as an object. + + + Gets the color of spaces between the hatch lines drawn by this object. + A structure that represents the background color for this . + + + Gets the color of hatch lines drawn by this object. + A structure that represents the foreground color for this . + + + Gets the hatch style of this object. + One of the values that represents the pattern of this . + + + Specifies the different patterns available for objects. + + + A pattern of lines on a diagonal from upper right to lower left. + + + Specifies horizontal and vertical lines that cross. + + + Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than, and are twice the width of . This hatch pattern is not antialiased. + + + Specifies horizontal lines that are spaced 50 percent closer together than and are twice the width of . + + + Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than , and are twice its width, but the lines are not antialiased. + + + Specifies vertical lines that are spaced 50 percent closer together than and are twice its width. + + + Specifies dashed diagonal lines, that slant to the right from top points to bottom points. + + + Specifies dashed horizontal lines. + + + Specifies dashed diagonal lines, that slant to the left from top points to bottom points. + + + Specifies dashed vertical lines. + + + Specifies a hatch that has the appearance of layered bricks that slant to the left from top points to bottom points. + + + A pattern of crisscross diagonal lines. + + + Specifies a hatch that has the appearance of divots. + + + Specifies forward diagonal and backward diagonal lines, each of which is composed of dots, that cross. + + + Specifies horizontal and vertical lines, each of which is composed of dots, that cross. + + + A pattern of lines on a diagonal from upper left to lower right. + + + A pattern of horizontal lines. + + + Specifies a hatch that has the appearance of horizontally layered bricks. + + + Specifies a hatch that has the appearance of a checkerboard with squares that are twice the size of . + + + Specifies a hatch that has the appearance of confetti, and is composed of larger pieces than . + + + Specifies the hatch style . + + + Specifies diagonal lines that slant to the right from top points to bottom points and are spaced 50 percent closer together than , but are not antialiased. + + + Specifies horizontal lines that are spaced 50 percent closer together than . + + + Specifies diagonal lines that slant to the left from top points to bottom points and are spaced 50 percent closer together than , but they are not antialiased. + + + Specifies vertical lines that are spaced 50 percent closer together than . + + + Specifies hatch style . + + + Specifies hatch style . + + + Specifies horizontal lines that are spaced 75 percent closer together than hatch style (or 25 percent closer together than ). + + + Specifies vertical lines that are spaced 75 percent closer together than hatch style (or 25 percent closer together than ). + + + Specifies forward diagonal and backward diagonal lines that cross but are not antialiased. + + + Specifies a 5-percent hatch. The ratio of foreground color to background color is 5:95. + + + Specifies a 10-percent hatch. The ratio of foreground color to background color is 10:90. + + + Specifies a 20-percent hatch. The ratio of foreground color to background color is 20:80. + + + Specifies a 25-percent hatch. The ratio of foreground color to background color is 25:75. + + + Specifies a 30-percent hatch. The ratio of foreground color to background color is 30:70. + + + Specifies a 40-percent hatch. The ratio of foreground color to background color is 40:60. + + + Specifies a 50-percent hatch. The ratio of foreground color to background color is 50:50. + + + Specifies a 60-percent hatch. The ratio of foreground color to background color is 60:40. + + + Specifies a 70-percent hatch. The ratio of foreground color to background color is 70:30. + + + Specifies a 75-percent hatch. The ratio of foreground color to background color is 75:25. + + + Specifies a 80-percent hatch. The ratio of foreground color to background color is 80:100. + + + Specifies a 90-percent hatch. The ratio of foreground color to background color is 90:10. + + + Specifies a hatch that has the appearance of a plaid material. + + + Specifies a hatch that has the appearance of diagonally layered shingles that slant to the right from top points to bottom points. + + + Specifies a hatch that has the appearance of a checkerboard. + + + Specifies a hatch that has the appearance of confetti. + + + Specifies horizontal and vertical lines that cross and are spaced 50 percent closer together than hatch style . + + + Specifies a hatch that has the appearance of a checkerboard placed diagonally. + + + Specifies a hatch that has the appearance of spheres laid adjacent to one another. + + + Specifies a hatch that has the appearance of a trellis. + + + A pattern of vertical lines. + + + Specifies horizontal lines that are composed of tildes. + + + Specifies a hatch that has the appearance of a woven material. + + + Specifies diagonal lines that slant to the right from top points to bottom points, have the same spacing as hatch style , and are triple its width, but are not antialiased. + + + Specifies diagonal lines that slant to the left from top points to bottom points, have the same spacing as hatch style , and are triple its width, but are not antialiased. + + + Specifies horizontal lines that are composed of zigzags. + + + The enumeration specifies the algorithm that is used when images are scaled or rotated. + + + Specifies bicubic interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 25 percent of its original size. + + + Specifies bilinear interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 50 percent of its original size. + + + Specifies default mode. + + + Specifies high quality interpolation. + + + Specifies high-quality, bicubic interpolation. Prefiltering is performed to ensure high-quality shrinking. This mode produces the highest quality transformed images. + + + Specifies high-quality, bilinear interpolation. Prefiltering is performed to ensure high-quality shrinking. + + + Equivalent to the element of the enumeration. + + + Specifies low quality interpolation. + + + Specifies nearest-neighbor interpolation. + + + Encapsulates a with a linear gradient. This class cannot be inherited. + + + Initializes a new instance of the class with the specified points and colors. + A structure that represents the starting point of the linear gradient. + A structure that represents the endpoint of the linear gradient. + A structure that represents the starting color of the linear gradient. + A structure that represents the ending color of the linear gradient. + + + Initializes a new instance of the class with the specified points and colors. + A structure that represents the starting point of the linear gradient. + A structure that represents the endpoint of the linear gradient. + A structure that represents the starting color of the linear gradient. + A structure that represents the ending color of the linear gradient. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and orientation. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + A enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + Set to to specify that the angle is affected by the transform associated with this ; otherwise, . + + + Creates a new instance of the based on a rectangle, starting and ending colors, and an orientation mode. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + A enumeration element that specifies the orientation of the gradient. The orientation determines the starting and ending points of the gradient. For example, specifies that the starting point is the upper-left corner of the rectangle and the ending point is the lower-right corner of the rectangle. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + + + Creates a new instance of the class based on a rectangle, starting and ending colors, and an orientation angle. + A structure that specifies the bounds of the linear gradient. + A structure that represents the starting color for the gradient. + A structure that represents the ending color for the gradient. + The angle, measured in degrees clockwise from the x-axis, of the gradient's orientation line. + Set to to specify that the angle is affected by the transform associated with this ; otherwise, . + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Multiplies the that represents the local geometric transform of this by the specified by prepending the specified . + The by which to multiply the geometric transform. + + + Multiplies the that represents the local geometric transform of this by the specified in the specified order. + The by which to multiply the geometric transform. + A that specifies in which order to multiply the two matrices. + + + Resets the property to identity. + + + Rotates the local geometric transform by the specified amount. This method prepends the rotation to the transform. + The angle of rotation. + + + Rotates the local geometric transform by the specified amount in the specified order. + The angle of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transform by the specified amounts. This method prepends the scaling matrix to the transform. + The amount by which to scale the transform in the x-axis direction. + The amount by which to scale the transform in the y-axis direction. + + + Scales the local geometric transform by the specified amounts in the specified order. + The amount by which to scale the transform in the x-axis direction. + The amount by which to scale the transform in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Creates a linear gradient with a center color and a linear falloff to a single color on both ends. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + + + Creates a linear gradient with a center color and a linear falloff to a single color on both ends. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + A value from 0 through1 that specifies how fast the colors falloff from the starting color to (ending color) + + + Creates a gradient falloff based on a bell-shaped curve. + A value from 0 through 1 that specifies the center of the gradient (the point where the starting color and ending color are blended equally). + + + Creates a gradient falloff based on a bell-shaped curve. + A value from 0 through 1 that specifies the center of the gradient (the point where the gradient is composed of only the ending color). + A value from 0 through 1 that specifies how fast the colors falloff from the . + + + Translates the local geometric transform by the specified dimensions. This method prepends the translation to the transform. + The value of the translation in x. + The value of the translation in y. + + + Translates the local geometric transform by the specified dimensions in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets a that specifies positions and factors that define a custom falloff for the gradient. + A that represents a custom falloff for the gradient. + + + Gets or sets a value indicating whether gamma correction is enabled for this . + The value is if gamma correction is enabled for this ; otherwise, . + + + Gets or sets a that defines a multicolor linear gradient. + A that defines a multicolor linear gradient. + + + Gets or sets the starting and ending colors of the gradient. + An array of two structures that represents the starting and ending colors of the gradient. + + + Gets a rectangular region that defines the starting and ending points of the gradient. + A structure that specifies the starting and ending points of the gradient. + + + Gets or sets a copy that defines a local geometric transform for this . + A copy of the that defines a geometric transform that applies only to fills drawn with this . + + + Gets or sets a enumeration that indicates the wrap mode for this . + A that specifies how fills drawn with this are tiled. + + + Specifies the direction of a linear gradient. + + + Specifies a gradient from upper right to lower left. + + + Specifies a gradient from upper left to lower right. + + + Specifies a gradient from left to right. + + + Specifies a gradient from top to bottom. + + + Specifies the available cap styles with which a object can end a line. + + + Specifies a mask used to check whether a line cap is an anchor cap. + + + Specifies an arrow-shaped anchor cap. + + + Specifies a custom line cap. + + + Specifies a diamond anchor cap. + + + Specifies a flat line cap. + + + Specifies no anchor. + + + Specifies a round line cap. + + + Specifies a round anchor cap. + + + Specifies a square line cap. + + + Specifies a square anchor line cap. + + + Specifies a triangular line cap. + + + Specifies how to join consecutive line or curve segments in a figure (subpath) contained in a object. + + + Specifies a beveled join. This produces a diagonal corner. + + + Specifies a mitered join. This produces a sharp corner or a clipped corner, depending on whether the length of the miter exceeds the miter limit. + + + Specifies a mitered join. This produces a sharp corner or a beveled corner, depending on whether the length of the miter exceeds the miter limit. + + + Specifies a circular join. This produces a smooth, circular arc between the lines. + + + Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inherited. + + + Initializes a new instance of the class as the identity matrix. + + + Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points. + A structure that represents the rectangle to be transformed. + An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners. + + + Initializes a new instance of the class to the geometric transform defined by the specified rectangle and array of points. + A structure that represents the rectangle to be transformed. + An array of three structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners. + + + Initializes a new instance of the class with the specified elements. + The value in the first row and first column of the new . + The value in the first row and second column of the new . + The value in the second row and first column of the new . + The value in the second row and second column of the new . + The value in the third row and first column of the new . + The value in the third row and second column of the new . + + + Creates an exact copy of this . + The that this method creates. + + + Releases all resources used by this . + + + Tests whether the specified object is a and is identical to this . + The object to test. + This method returns if is the specified identical to this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Returns a hash code. + The hash code for this . + + + Inverts this , if it is invertible. + + + Multiplies this by the matrix specified in the parameter, by prepending the specified . + The by which this is to be multiplied. + + + Multiplies this by the matrix specified in the parameter, and in the order specified in the parameter. + The by which this is to be multiplied. + The that represents the order of the multiplication. + + + Resets this to have the elements of the identity matrix. + + + Prepend to this a clockwise rotation, around the origin and by the specified angle. + The angle of the rotation, in degrees. + + + Applies a clockwise rotation of an amount specified in the parameter, around the origin (zero x and y coordinates) for this . + The angle (extent) of the rotation, in degrees. + A that specifies the order (append or prepend) in which the rotation is applied to this . + + + Applies a clockwise rotation to this around the point specified in the parameter, and by prepending the rotation. + The angle (extent) of the rotation, in degrees. + A that represents the center of the rotation. + + + Applies a clockwise rotation about the specified point to this in the specified order. + The angle of the rotation, in degrees. + A that represents the center of the rotation. + A that specifies the order (append or prepend) in which the rotation is applied. + + + Applies the specified scale vector to this by prepending the scale vector. + The value by which to scale this in the x-axis direction. + The value by which to scale this in the y-axis direction. + + + Applies the specified scale vector ( and ) to this using the specified order. + The value by which to scale this in the x-axis direction. + The value by which to scale this in the y-axis direction. + A that specifies the order (append or prepend) in which the scale vector is applied to this . + + + Applies the specified shear vector to this by prepending the shear transformation. + The horizontal shear factor. + The vertical shear factor. + + + Applies the specified shear vector to this in the specified order. + The horizontal shear factor. + The vertical shear factor. + A that specifies the order (append or prepend) in which the shear is applied. + + + Applies the geometric transform represented by this to a specified array of points. + An array of structures that represents the points to transform. + + + Applies the geometric transform represented by this to a specified array of points. + An array of structures that represents the points to transform. + + + Applies only the scale and rotate components of this to the specified array of points. + An array of structures that represents the points to transform. + + + Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored. + An array of structures that represents the points to transform. + + + Applies the specified translation vector ( and ) to this by prepending the translation vector. + The x value by which to translate this . + The y value by which to translate this . + + + Applies the specified translation vector to this in the specified order. + The x value by which to translate this . + The y value by which to translate this . + A that specifies the order (append or prepend) in which the translation is applied to this . + + + Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored. + An array of structures that represents the points to transform. + + + Gets an array of floating-point values that represents the elements of this . + An array of floating-point values that represents the elements of this . + + + Gets a value indicating whether this is the identity matrix. + This property is if this is identity; otherwise, . + + + Gets a value indicating whether this is invertible. + This property is if this is invertible; otherwise, . + + + Gets the x translation value (the dx value, or the element in the third row and first column) of this . + The x translation value of this . + + + Gets the y translation value (the dy value, or the element in the third row and second column) of this . + The y translation value of this . + + + Specifies the order for matrix transform operations. + + + The new operation is applied after the old operation. + + + The new operation is applied before the old operation. + + + Contains the graphical data that makes up a object. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Gets or sets an array of structures that represents the points through which the path is constructed. + An array of objects that represents the points through which the path is constructed. + + + Gets or sets the types of the corresponding points in the path. + An array of bytes that specify the types of the corresponding points in the path. + + + Encapsulates a object that fills the interior of a object with a gradient. This class cannot be inherited. + + + Initializes a new instance of the class with the specified path. + The that defines the area filled by this . + + + Initializes a new instance of the class with the specified points. + An array of structures that represents the points that make up the vertices of the path. + + + Initializes a new instance of the class with the specified points and wrap mode. + An array of structures that represents the points that make up the vertices of the path. + A that specifies how fills drawn with this are tiled. + + + Initializes a new instance of the class with the specified points. + An array of structures that represents the points that make up the vertices of the path. + + + Initializes a new instance of the class with the specified points and wrap mode. + An array of structures that represents the points that make up the vertices of the path. + A that specifies how fills drawn with this are tiled. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Updates the brush's transformation matrix with the product of brush's transformation matrix multiplied by another matrix. + The that will be multiplied by the brush's current transformation matrix. + + + Updates the brush's transformation matrix with the product of the brush's transformation matrix multiplied by another matrix. + The that will be multiplied by the brush's current transformation matrix. + A that specifies in which order to multiply the two matrices. + + + Resets the property to identity. + + + Rotates the local geometric transform by the specified amount. This method prepends the rotation to the transform. + The angle (extent) of rotation. + + + Rotates the local geometric transform by the specified amount in the specified order. + The angle (extent) of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transform by the specified amounts. This method prepends the scaling matrix to the transform. + The transform scale factor in the x-axis direction. + The transform scale factor in the y-axis direction. + + + Scales the local geometric transform by the specified amounts in the specified order. + The transform scale factor in the x-axis direction. + The transform scale factor in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Creates a gradient with a center color and a linear falloff to one surrounding color. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + + + Creates a gradient with a center color and a linear falloff to each surrounding color. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + A value from 0 through 1 that specifies the maximum intensity of the center color that gets blended with the boundary color. A value of 1 causes the highest possible intensity of the center color, and it is the default value. + + + Creates a gradient brush that changes color starting from the center of the path outward to the path's boundary. The transition from one color to another is based on a bell-shaped curve. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + + + Creates a gradient brush that changes color starting from the center of the path outward to the path's boundary. The transition from one color to another is based on a bell-shaped curve. + A value from 0 through 1 that specifies where, along any radial from the center of the path to the path's boundary, the center color will be at its highest intensity. A value of 1 (the default) places the highest intensity at the center of the path. + A value from 0 through 1 that specifies the maximum intensity of the center color that gets blended with the boundary color. A value of 1 causes the highest possible intensity of the center color, and it is the default value. + + + Applies the specified translation to the local geometric transform. This method prepends the translation to the transform. + The value of the translation in x. + The value of the translation in y. + + + Applies the specified translation to the local geometric transform in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets a that specifies positions and factors that define a custom falloff for the gradient. + A that represents a custom falloff for the gradient. + + + Gets or sets the color at the center of the path gradient. + A that represents the color at the center of the path gradient. + + + Gets or sets the center point of the path gradient. + A that represents the center point of the path gradient. + + + Gets or sets the focus point for the gradient falloff. + A that represents the focus point for the gradient falloff. + + + Gets or sets a that defines a multicolor linear gradient. + A that defines a multicolor linear gradient. + + + Gets a bounding rectangle for this . + A that represents a rectangular region that bounds the path this fills. + + + Gets or sets an array of colors that correspond to the points in the path this fills. + An array of structures that represents the colors associated with each point in the path this fills. + + + Gets or sets a copy of the that defines a local geometric transform for this . + A copy of the that defines a geometric transform that applies only to fills drawn with this . + + + Gets or sets a that indicates the wrap mode for this . + A that specifies how fills drawn with this are tiled. + + + Specifies the type of point in a object. + + + A default Bézier curve. + + + A cubic Bézier curve. + + + The endpoint of a subpath. + + + The corresponding segment is dashed. + + + A line segment. + + + A path marker. + + + A mask point. + + + The starting point of a object. + + + Specifies the alignment of a object in relation to the theoretical, zero-width line. + + + Specifies that the object is centered over the theoretical line. + + + Specifies that the is positioned on the inside of the theoretical line. + + + Specifies the is positioned to the left of the theoretical line. + + + Specifies the is positioned on the outside of the theoretical line. + + + Specifies the is positioned to the right of the theoretical line. + + + Specifies the type of fill a object uses to fill lines. + + + Specifies a hatch fill. + + + Specifies a linear gradient fill. + + + Specifies a path gradient fill. + + + Specifies a solid fill. + + + Specifies a bitmap texture fill. + + + Specifies how pixels are offset during rendering. + + + Specifies the default mode. + + + Specifies that pixels are offset by -.5 units, both horizontally and vertically, for high speed antialiasing. + + + Specifies high quality, low speed rendering. + + + Specifies high speed, low quality rendering. + + + Specifies an invalid mode. + + + Specifies no pixel offset. + + + Specifies the overall quality when rendering GDI+ objects. + + + Specifies the default mode. + + + Specifies high quality, low speed rendering. + + + Specifies an invalid mode. + + + Specifies low quality, high speed rendering. + + + Encapsulates the data that makes up a object. This class cannot be inherited. + + + Gets or sets an array of bytes that specify the object. + An array of bytes that specify the object. + + + Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas. + + + Specifies antialiased rendering. + + + Specifies no antialiasing. + + + Specifies antialiased rendering. + + + Specifies no antialiasing. + + + Specifies an invalid mode. + + + Specifies no antialiasing. + + + Specifies the type of warp transformation applied in a method. + + + Specifies a bilinear warp. + + + Specifies a perspective warp. + + + Specifies how a texture or gradient is tiled when it is smaller than the area being filled. + + + The texture or gradient is not tiled. + + + Tiles the gradient or texture. + + + Reverses the texture or gradient horizontally and then tiles the texture or gradient. + + + Reverses the texture or gradient horizontally and vertically and then tiles the texture or gradient. + + + Reverses the texture or gradient vertically and then tiles the texture or gradient. + + + Defines a particular format for text, including font face, size, and style attributes. This class cannot be inherited. + + + Initializes a new that uses the specified existing and enumeration. + The existing from which to create the new . + The to apply to the new . Multiple values of the enumeration can be combined with the operator. + + + Initializes a new using a specified size. + The of the new . + The em-size, in points, of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size and style. + The of the new . + The em-size, in points, of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, and unit. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, unit, and character set. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a + + GDI character set to use for the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is . + + + Initializes a new using a specified size, style, unit, and character set. + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a + + GDI character set to use for this font. + A Boolean value indicating whether the new font is derived from a GDI vertical font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + is + + + Initializes a new using a specified size and unit. Sets the style to . + The of the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + + is . + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size. + A string representation of the for the new . + The em-size, in points, of the new font. + + is less than or equal to 0, evaluates to infinity or is not a valid number. + + + Initializes a new using a specified size and style. + A string representation of the for the new . + The em-size, in points, of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size, style, and unit. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + + is less than or equal to 0, evaluates to infinity or is not a valid number. + + + Initializes a new using a specified size, style, unit, and character set. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a GDI character set to use for this font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using the specified size, style, unit, and character set. + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + The of the new font. + A that specifies a GDI character set to use for this font. + A Boolean value indicating whether the new is derived from a GDI vertical font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Initializes a new using a specified size and unit. The style is set to . + A string representation of the for the new . + The em-size of the new font in the units specified by the parameter. + The of the new font. + + is less than or equal to 0, evaluates to infinity, or is not a valid number. + + + Creates an exact copy of this . + The this method creates, cast as an . + + + Releases all resources used by this . + + + Indicates whether the specified object is a and has the same , , , , , and property values as this . + The object to test. + + if the parameter is a and has the same , , , , , and property values as this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates a from the specified Windows handle to a device context. + A handle to a device context. + The font for the specified device context is not a TrueType font. + The this method creates. + + + Creates a from the specified Windows handle. + A Windows handle to a GDI font. + + points to an object that is not a TrueType font. + The this method creates. + + + Creates a from the specified GDI logical font (LOGFONT) structure. + An that represents the GDI structure from which to create the . + The that this method creates. + + + Creates a from the specified GDI logical font (LOGFONT) structure. + An that represents the GDI structure from which to create the . + A handle to a device context that contains additional information about the structure. + The font is not a TrueType font. + The that this method creates. + + + Gets the hash code for this . + The hash code for this . + + + Returns the line spacing, in pixels, of this font. + The line spacing, in pixels, of this font. + + + Returns the line spacing, in the current unit of a specified , of this font. + A that holds the vertical resolution, in dots per inch, of the display device as well as settings for page unit and page scale. + + is . + The line spacing, in pixels, of this font. + + + Returns the height, in pixels, of this when drawn to a device with the specified vertical resolution. + The vertical resolution, in dots per inch, used to calculate the height of the font. + The height, in pixels, of this . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Returns a handle to this . + The operation was unsuccessful. + A Windows handle to this . + + + Creates a GDI logical font (LOGFONT) structure from this . + An to represent the structure that this method creates. + + + Creates a GDI logical font (LOGFONT) structure from this . + An to represent the structure that this method creates. + A that provides additional information for the structure. + + is . + + + Returns a human-readable string representation of this . + A string that represents this . + + + Gets a value that indicates whether this is bold. + + if this is bold; otherwise, . + + + Gets the associated with this . + The associated with this . + + + Gets a byte value that specifies the GDI character set that this uses. + A byte value that specifies the GDI character set that this uses. The default is 1. + + + Gets a Boolean value that indicates whether this is derived from a GDI vertical font. + + if this is derived from a GDI vertical font; otherwise, . + + + Gets the line spacing of this font. + The line spacing, in pixels, of this font. + + + Gets a value indicating whether the font is a member of . + + if the font is a member of ; otherwise, . The default is . + + + Gets a value that indicates whether this font has the italic style applied. + + to indicate this font has the italic style applied; otherwise, . + + + Gets the face name of this . + A string representation of the face name of this . + + + Gets the name of the font originally specified. + The string representing the name of the font originally specified. + + + Gets the em-size of this measured in the units specified by the property. + The em-size of this . + + + Gets the em-size, in points, of this . + The em-size, in points, of this . + + + Gets a value that indicates whether this specifies a horizontal line through the font. + + if this has a horizontal line through it; otherwise, . + + + Gets style information for this . + A enumeration that contains style information for this . + + + Gets the name of the system font if the property returns . + The name of the system font, if returns ; otherwise, an empty string (""). + + + Gets a value that indicates whether this is underlined. + + if this is underlined; otherwise, . + + + Gets the unit of measure for this . + A that represents the unit of measure for this . + + + Converts objects from one data type to another. + + + Initializes a new object. + + + Determines whether this converter can convert an object in the specified source type to the native type of the converter. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + The type you want to convert from. + This method returns if this object can perform the conversion. + + + Gets a value indicating whether this converter can convert an object to the given destination type using the context. + An object that provides a format context. + A object that represents the type you want to convert to. + This method returns if this converter can perform the conversion; otherwise, . + + + Converts the specified object to the native type of the converter. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies the culture used to represent the font. + The object to convert. + The conversion could not be performed. + The converted object. + + + Converts the specified object to another type. + A formatter context. This object can be used to get additional information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies the culture used to represent the object. + The object to convert. + The data type to convert the object to. + The conversion was not successful. + The converted object. + + + Creates an object of this type by using a specified set of property values for the object. + A type descriptor through which additional context can be provided. + A dictionary of new property values. The dictionary contains a series of name-value pairs, one for each property returned from the method. + The newly created object, or if the object could not be created. The default implementation returns . + + useful for creating non-changeable objects that have changeable properties. + + + Determines whether changing a value on this object should require a call to the method to create a new value. + A type descriptor through which additional context can be provided. + This method returns if the object should be called when a change is made to one or more properties of this object; otherwise, . + + + Retrieves the set of properties for this type. By default, a type does not have any properties to return. + A type descriptor through which additional context can be provided. + The value of the object to get the properties for. + An array of objects that describe the properties. + The set of properties that should be exposed for this data type. If no properties should be exposed, this may return . The default implementation always returns . + + An easy implementation of this method can call the method for the correct data type. + + + Determines whether this object supports properties. The default is . + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find the properties of this object; otherwise, . + + + + is a type converter that is used to convert a font name to and from various other representations. + + + Initializes a new instance of the class. + + + Determines if this converter can convert an object in the given source type to the native type of the converter. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + The type you wish to convert from. + + if the converter can perform the conversion; otherwise, . + + + Converts the given object to the converter's native type. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + A to use to perform the conversion + The object to convert. + The conversion cannot be completed. + The converted object. + + + Retrieves a collection containing a set of standard values for the data type this converter is designed for. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + A collection containing a standard set of valid values, or . The default is . + + + Determines if the list of standard values returned from the method is an exclusive list. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + + if the collection returned from is an exclusive list of possible values; otherwise, . The default is . + + + Determines if this object supports a standard set of values that can be picked from a list. + An that can be used to extract additional information about the environment this converter is being invoked from. This may be , so you should always check. Also, properties on the context object may return . + + if should be called to find a common set of values the object supports; otherwise, . + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + Converts font units to and from other unit types. + + + Initializes a new instance of the class. + + + Returns a collection of standard values valid for the type. + An that provides a format context. + + + Defines a group of type faces having a similar basic design and certain variations in styles. This class cannot be inherited. + + + Initializes a new from the specified generic font family. + The from which to create the new . + + + Initializes a new with the specified name. + The name of the new . + + is an empty string (""). + + -or- + + specifies a font that is not installed on the computer running the application. + + -or- + + specifies a font that is not a TrueType font. + + + Initializes a new in the specified with the specified name. + A that represents the name of the new . + The that contains this . + + is an empty string (""). + + -or- + + specifies a font that is not installed on the computer running the application. + + -or- + + specifies a font that is not a TrueType font. + + + Releases all resources used by this . + + + Indicates whether the specified object is a and is identical to this . + The object to test. + + if is a and is identical to this ; otherwise, . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Returns the cell ascent, in design units, of the of the specified style. + A that contains style information for the font. + The cell ascent for this that uses the specified . + + + Returns the cell descent, in design units, of the of the specified style. + A that contains style information for the font. + The cell descent metric for this that uses the specified . + + + Gets the height, in font design units, of the em square for the specified style. + The for which to get the em height. + The height of the em square. + + + Returns an array that contains all the objects available for the specified graphics context. + The object from which to return objects. + + is . + An array of objects available for the specified object. + + + Gets a hash code for this . + The hash code for this . + + + Returns the line spacing, in design units, of the of the specified style. The line spacing is the vertical distance between the base lines of two consecutive lines of text. + The to apply. + The distance between two consecutive lines of text. + + + Returns the name, in the specified language, of this . + The language in which the name is returned. + A that represents the name, in the specified language, of this . + + + Indicates whether the specified enumeration is available. + The to test. + + if the specified is available; otherwise, . + + + Converts this to a human-readable string representation. + The string that represents this . + + + Returns an array that contains all the objects associated with the current graphics context. + An array of objects associated with the current graphics context. + + + Gets a generic monospace . + A that represents a generic monospace font. + + + Gets a generic sans serif object. + A object that represents a generic sans serif font. + + + Gets a generic serif . + A that represents a generic serif font. + + + Gets the name of this . + A that represents the name of this . + + + Specifies style information applied to text. + + + Bold text. + + + Italic text. + + + Normal text. + + + Text with a line through the middle. + + + Underlined text. + + + Encapsulates a GDI+ drawing surface. This class cannot be inherited. + + + Adds a comment to the current . + Array of bytes that contains the comment. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container. + This method returns a that represents the state of this at the time of the method call. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container with the specified scale transformation. + + structure that, together with the parameter, specifies a scale transformation for the container. + + structure that, together with the parameter, specifies a scale transformation for the container. + Member of the enumeration that specifies the unit of measure for the container. + This method returns a that represents the state of this at the time of the method call. + + + Saves a graphics container with the current state of this and opens and uses a new graphics container with the specified scale transformation. + + structure that, together with the parameter, specifies a scale transformation for the new graphics container. + + structure that, together with the parameter, specifies a scale transformation for the new graphics container. + Member of the enumeration that specifies the unit of measure for the container. + This method returns a that represents the state of this at the time of the method call. + + + Clears the entire drawing surface and fills it with the specified background color. + + structure that represents the background color of the drawing surface. + + + Performs a bit-block transfer of color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The point at the upper-left corner of the source rectangle. + The point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + The operation failed. + + + Performs a bit-block transfer of color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The point at the upper-left corner of the source rectangle. + The point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + One of the values. + + is not a member of . + The operation failed. + + + Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The x-coordinate of the point at the upper-left corner of the source rectangle. + The y-coordinate of the point at the upper-left corner of the source rectangle. + The x-coordinate of the point at the upper-left corner of the destination rectangle. + The y-coordinate of the point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + The operation failed. + + + Performs a bit-block transfer of the color data, corresponding to a rectangle of pixels, from the screen to the drawing surface of the . + The x-coordinate of the point at the upper-left corner of the source rectangle. + The y-coordinate of the point at the upper-left corner of the source rectangle + The x-coordinate of the point at the upper-left corner of the destination rectangle. + The y-coordinate of the point at the upper-left corner of the destination rectangle. + The size of the area to be transferred. + One of the values. + + is not a member of . + The operation failed. + + + Releases all resources used by this . + + + Draws an arc representing a portion of an ellipse specified by a structure. + + that determines the color, width, and style of the arc. + + structure that defines the boundaries of the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws an arc representing a portion of an ellipse specified by a structure. + + that determines the color, width, and style of the arc. + + structure that defines the boundaries of the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is + + + Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height. + + that determines the color, width, and style of the arc. + The x-coordinate of the upper-left corner of the rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the rectangle that defines the ellipse. + Width of the rectangle that defines the ellipse. + Height of the rectangle that defines the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height. + + that determines the color, width, and style of the arc. + The x-coordinate of the upper-left corner of the rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the rectangle that defines the ellipse. + Width of the rectangle that defines the ellipse. + Height of the rectangle that defines the ellipse. + Angle in degrees measured clockwise from the x-axis to the starting point of the arc. + Angle in degrees measured clockwise from the parameter to ending point of the arc. + + is . + + + Draws a Bézier spline defined by four structures. + + structure that determines the color, width, and style of the curve. + + structure that represents the starting point of the curve. + + structure that represents the first control point for the curve. + + structure that represents the second control point for the curve. + + structure that represents the ending point of the curve. + + is . + + + Draws a Bézier spline defined by four structures. + + that determines the color, width, and style of the curve. + + structure that represents the starting point of the curve. + + structure that represents the first control point for the curve. + + structure that represents the second control point for the curve. + + structure that represents the ending point of the curve. + + is . + + + Draws a Bézier spline defined by four ordered pairs of coordinates that represent points. + + that determines the color, width, and style of the curve. + The x-coordinate of the starting point of the curve. + The y-coordinate of the starting point of the curve. + The x-coordinate of the first control point of the curve. + The y-coordinate of the first control point of the curve. + The x-coordinate of the second control point of the curve. + The y-coordinate of the second control point of the curve. + The x-coordinate of the ending point of the curve. + The y-coordinate of the ending point of the curve. + + is . + + + Draws a series of Bézier splines from an array of structures. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10. + + is . + + -or- + + is . + + + Draws a series of Bézier splines from an array of structures. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that determine the curve. The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures using a specified tension. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + Member of the enumeration that determines how the curve is filled. This parameter is required but ignored. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a closed cardinal spline defined by an array of structures using a specified tension. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + Member of the enumeration that determines how the curve is filled. This parameter is required but is ignored. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. + + that determines the color, width, and height of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures. The drawing begins offset from the beginning of the array. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. The drawing begins offset from the beginning of the array. + + that determines the color, width, and style of the curve. + Array of structures that define the spline. + Offset from the first element in the array of the parameter to the starting point in the curve. + Number of segments after the starting point to include in the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws a cardinal spline through a specified array of structures using a specified tension. + + that determines the color, width, and style of the curve. + Array of structures that represent the points that define the curve. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Draws an ellipse specified by a bounding structure. + + that determines the color, width, and style of the ellipse. + + structure that defines the boundaries of the ellipse. + + is . + + + Draws an ellipse defined by a bounding . + + that determines the color, width, and style of the ellipse. + + structure that defines the boundaries of the ellipse. + + is . + + + Draws an ellipse defined by a bounding rectangle specified by coordinates for the upper-left corner of the rectangle, a height, and a width. + + that determines the color, width, and style of the ellipse. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width. + + that determines the color, width, and style of the ellipse. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Draws the image represented by the specified within the area specified by a structure. + + to draw. + + structure that specifies the location and size of the resulting image on the display surface. The image contained in the parameter is scaled to the dimensions of this rectangular area. + + is . + + + Draws the image represented by the specified at the specified coordinates. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws the image represented by the specified without scaling the image. + + to draw. + + structure that specifies the location and size of the resulting image. The image is not scaled to fit this rectangle, but retains its original size. If the image is larger than the rectangle, it is clipped to fit inside it. + + is . + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + + structure that represents the location of the upper-left corner of the drawn image. + + is . + + + Draws the specified at the specified location and with the specified shape and size. + + to draw. + Array of three structures that define a parallelogram. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + + structure that represents the upper-left corner of the drawn image. + + is . + + + Draws the specified at the specified location and with the specified shape and size. + + to draw. + Array of three structures that define a parallelogram. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + Array of three structures that define a parallelogram. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for . + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + The x-coordinate of the upper-left corner of the portion of the source image to draw. + The y-coordinate of the upper-left corner of the portion of the source image to draw. + Width of the portion of the source image to draw. + Height of the portion of the source image to draw. + Member of the enumeration that specifies the units of measure used to determine the source rectangle. + + that specifies recoloring and gamma information for the object. + + delegate that specifies a method to call during the drawing of the image. This method is called frequently to check whether to stop execution of the method according to application-determined criteria. + Value specifying additional data for the delegate to use when checking whether to stop execution of the method. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. + + is . + + + Draws the specified portion of the specified at the specified location and with the specified size. + + to draw. + + structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified image, using its original physical size, at the location specified by a coordinate pair. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a portion of an image at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + structure that specifies the portion of the object to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Width of the drawn image. + Height of the drawn image. + + is . + + + Draws the specified , using its original physical size, at the specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a portion of an image at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + structure that specifies the portion of the to draw. + Member of the enumeration that specifies the units of measure used by the parameter. + + is . + + + Draws the specified at the specified location and with the specified size. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Width of the drawn image. + Height of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + + structure that specifies the upper-left corner of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + + that specifies the upper-left corner of the drawn image. The X and Y properties of the rectangle specify the upper-left corner. The Width and Height properties are ignored. + + is . + + + Draws the specified image using its original physical size at the location specified by a coordinate pair. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + + is . + + + Draws a specified image using its original physical size at a specified location. + + to draw. + The x-coordinate of the upper-left corner of the drawn image. + The y-coordinate of the upper-left corner of the drawn image. + Not used. + Not used. + + is . + + + Draws the specified image without scaling and clips it, if necessary, to fit in the specified rectangle. + The to draw. + The in which to draw the image. + + is . + + + Draws a line connecting two structures. + + that determines the color, width, and style of the line. + + structure that represents the first point to connect. + + structure that represents the second point to connect. + + is . + + + Draws a line connecting two structures. + + that determines the color, width, and style of the line. + + structure that represents the first point to connect. + + structure that represents the second point to connect. + + is . + + + Draws a line connecting the two points specified by the coordinate pairs. + + that determines the color, width, and style of the line. + The x-coordinate of the first point. + The y-coordinate of the first point. + The x-coordinate of the second point. + The y-coordinate of the second point. + + is . + + + Draws a line connecting the two points specified by the coordinate pairs. + + that determines the color, width, and style of the line. + The x-coordinate of the first point. + The y-coordinate of the first point. + The x-coordinate of the second point. + The y-coordinate of the second point. + + is . + + + Draws a series of line segments that connect an array of structures. + + that determines the color, width, and style of the line segments. + Array of structures that represent the points to connect. + + is . + + -or- + + is . + + + Draws a series of line segments that connect an array of structures. + + that determines the color, width, and style of the line segments. + Array of structures that represent the points to connect. + + is . + + -or- + + is . + + + Draws a . + + that determines the color, width, and style of the path. + + to draw. + + is . + + -or- + + is . + + + Draws a pie shape defined by an ellipse specified by a structure and two radial lines. + + that determines the color, width, and style of the pie shape. + + structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a structure and two radial lines. + + that determines the color, width, and style of the pie shape. + + structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines. + + that determines the color, width, and style of the pie shape. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + Width of the bounding rectangle that defines the ellipse from which the pie shape comes. + Height of the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines. + + that determines the color, width, and style of the pie shape. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes. + Width of the bounding rectangle that defines the ellipse from which the pie shape comes. + Height of the bounding rectangle that defines the ellipse from which the pie shape comes. + Angle measured in degrees clockwise from the x-axis to the first side of the pie shape. + Angle measured in degrees clockwise from the parameter to the second side of the pie shape. + + is . + + + Draws a polygon defined by an array of structures. + + that determines the color, width, and style of the polygon. + Array of structures that represent the vertices of the polygon. + + is . + + + Draws a polygon defined by an array of structures. + + that determines the color, width, and style of the polygon. + Array of structures that represent the vertices of the polygon. + + is . + + -or- + + is . + + + Draws a rectangle specified by a structure. + A that determines the color, width, and style of the rectangle. + A structure that represents the rectangle to draw. + + is . + + + Draws a rectangle specified by a coordinate pair, a width, and a height. + + that determines the color, width, and style of the rectangle. + The x-coordinate of the upper-left corner of the rectangle to draw. + The y-coordinate of the upper-left corner of the rectangle to draw. + Width of the rectangle to draw. + Height of the rectangle to draw. + + is . + + + Draws a rectangle specified by a coordinate pair, a width, and a height. + A that determines the color, width, and style of the rectangle. + The x-coordinate of the upper-left corner of the rectangle to draw. + The y-coordinate of the upper-left corner of the rectangle to draw. + The width of the rectangle to draw. + The height of the rectangle to draw. + + is . + + + Draws a series of rectangles specified by structures. + + that determines the color, width, and style of the outlines of the rectangles. + Array of structures that represent the rectangles to draw. + + is . + + -or- + + is . + + is a zero-length array. + + + Draws a series of rectangles specified by structures. + + that determines the color, width, and style of the outlines of the rectangles. + Array of structures that represent the rectangles to draw. + + is . + + -or- + + is . + + is a zero-length array. + + + Draws the specified text string at the specified location with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the upper-left corner of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the upper-left corner of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string in the specified rectangle with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the location of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string in the specified rectangle with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + + structure that specifies the location of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects. + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + The x-coordinate of the upper-left corner of the drawn text. + The y-coordinate of the upper-left corner of the drawn text. + + is . + + -or- + + is . + + + Draws the specified text string at the specified location with the specified and objects using the formatting attributes of the specified . + String to draw. + + that defines the text format of the string. + + that determines the color and texture of the drawn text. + The x-coordinate of the upper-left corner of the drawn text. + The y-coordinate of the upper-left corner of the drawn text. + + that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + + is . + + -or- + + is . + + + Closes the current graphics container and restores the state of this to the state saved by a call to the method. + + that represents the container this method restores. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display at a specified point using specified image attributes. + + to enumerate. + + structure that specifies the location of the upper-left corner of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in the specified , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structures that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records in a selected rectangle from a , one at a time, to a callback method for display in a specified parallelogram using specified image attributes. + + to enumerate. + Array of three structures that define a parallelogram that determines the size and location of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of the specified , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + + Sends the records of a selected rectangle from a , one at a time, to a callback method for display in a specified rectangle using specified image attributes. + + to enumerate. + + structure that specifies the location and size of the drawn metafile. + + structure that specifies the portion of the metafile, relative to its upper-left corner, to draw. + Member of the enumeration that specifies the unit of measure used to determine the portion of the metafile that the rectangle specified by the parameter contains. + + delegate that specifies the method to which the metafile records are sent. + Internal pointer that is required, but ignored. You can pass for this parameter. + + that specifies image attribute information for the drawn image. + + + Updates the clip region of this to exclude the area specified by a structure. + + structure that specifies the rectangle to exclude from the clip region. + + + Updates the clip region of this to exclude the area specified by a . + + that specifies the region to exclude from the clip region. + + + Fills the interior of a closed cardinal spline curve defined by an array of structures. + + that determines the characteristics of the fill. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode and tension. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures. + + that determines the characteristics of the fill. + Array of structures that define the spline. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + + is . + + -or- + + is . + + + Fills the interior of a closed cardinal spline curve defined by an array of structures using the specified fill mode and tension. + A that determines the characteristics of the fill. + Array of structures that define the spline. + Member of the enumeration that determines how the curve is filled. + Value greater than or equal to 0.0F that specifies the tension of the curve. + + is . + + -or- + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse. + Width of the bounding rectangle that defines the ellipse. + Height of the bounding rectangle that defines the ellipse. + + is . + + + Fills the interior of a . + + that determines the characteristics of the fill. + + that represents the path to fill. + + is . + + -or- + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a structure and two radial lines. + + that determines the characteristics of the fill. + + structure that represents the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, a height, and two radial lines. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + Width of the bounding rectangle that defines the ellipse from which the pie section comes. + Height of the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, a height, and two radial lines. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie section comes. + Width of the bounding rectangle that defines the ellipse from which the pie section comes. + Height of the bounding rectangle that defines the ellipse from which the pie section comes. + Angle in degrees measured clockwise from the x-axis to the first side of the pie section. + Angle in degrees measured clockwise from the parameter to the second side of the pie section. + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + Member of the enumeration that determines the style of the fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + + is . + + -or- + + is . + + + Fills the interior of a polygon defined by an array of points specified by structures using the specified fill mode. + + that determines the characteristics of the fill. + Array of structures that represent the vertices of the polygon to fill. + Member of the enumeration that determines the style of the fill. + + is . + + -or- + + is . + + + Fills the interior of a rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a structure. + + that determines the characteristics of the fill. + + structure that represents the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the rectangle to fill. + The y-coordinate of the upper-left corner of the rectangle to fill. + Width of the rectangle to fill. + Height of the rectangle to fill. + + is . + + + Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. + + that determines the characteristics of the fill. + The x-coordinate of the upper-left corner of the rectangle to fill. + The y-coordinate of the upper-left corner of the rectangle to fill. + Width of the rectangle to fill. + Height of the rectangle to fill. + + is . + + + Fills the interiors of a series of rectangles specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the rectangles to fill. + + is . + + -or- + + is . + + is a zero-length array. + + + Fills the interiors of a series of rectangles specified by structures. + + that determines the characteristics of the fill. + Array of structures that represent the rectangles to fill. + + is . + + -or- + + is . + + is a zero-length array. + + + Fills the interior of a . + + that determines the characteristics of the fill. + + that represents the area to fill. + + is . + + -or- + + is . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Forces execution of all pending graphics operations and returns immediately without waiting for the operations to finish. + + + Forces execution of all pending graphics operations with the method waiting or not waiting, as specified, to return before the operations finish. + Member of the enumeration that specifies whether the method returns immediately or waits for any existing operations to finish. + + + Creates a new from the specified handle to a device context. + Handle to a device context. + This method returns a new for the specified device context. + + + Creates a new from the specified handle to a device context and handle to a device. + Handle to a device context. + Handle to a device. + This method returns a new for the specified device context and device. + + + Returns a for the specified device context. + Handle to a device context. + A for the specified device context. + + + Creates a new from the specified handle to a window. + Handle to a window. + This method returns a new for the specified window handle. + + + Creates a new for the specified windows handle. + Handle to a window. + A for the specified window handle. + + + Creates a new from the specified . + + from which to create the new . + + is . + + has an indexed pixel format or its format is undefined. + This method returns a new for the specified . + + + Gets the cumulative graphics context. + An representing the cumulative graphics context. + + + Gets a handle to the current Windows halftone palette. + Internal pointer that specifies the handle to the palette. + + + Gets the handle to the device context associated with this . + Handle to the device context associated with this . + + + Gets the nearest color to the specified structure. + + structure for which to find a match. + A structure that represents the nearest color to the one specified with the parameter. + + + Updates the clip region of this to the intersection of the current clip region and the specified structure. + + structure to intersect with the current clip region. + + + Updates the clip region of this to the intersection of the current clip region and the specified structure. + + structure to intersect with the current clip region. + + + Updates the clip region of this to the intersection of the current clip region and the specified . + + to intersect with the current region. + + + Indicates whether the specified structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the point specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the specified structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the point specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the rectangle specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a structure is contained within the visible clip region of this . + + structure to test for visibility. + + if the rectangle specified by the parameter is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the point specified by a pair of coordinates is contained within the visible clip region of this . + The x-coordinate of the point to test for visibility. + The y-coordinate of the point to test for visibility. + + if the point defined by the and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this . + The x-coordinate of the upper-left corner of the rectangle to test for visibility. + The y-coordinate of the upper-left corner of the rectangle to test for visibility. + Width of the rectangle to test for visibility. + Height of the rectangle to test for visibility. + + if the rectangle defined by the , , , and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the point specified by a pair of coordinates is contained within the visible clip region of this . + The x-coordinate of the point to test for visibility. + The y-coordinate of the point to test for visibility. + + if the point defined by the and parameters is contained within the visible clip region of this ; otherwise, . + + + Indicates whether the rectangle specified by a pair of coordinates, a width, and a height is contained within the visible clip region of this . + The x-coordinate of the upper-left corner of the rectangle to test for visibility. + The y-coordinate of the upper-left corner of the rectangle to test for visibility. + Width of the rectangle to test for visibility. + Height of the rectangle to test for visibility. + + if the rectangle defined by the , , , and parameters is contained within the visible clip region of this ; otherwise, . + + + Gets an array of objects, each of which bounds a range of character positions within the specified string. + String to measure. + + that defines the text format of the string. + + structure that specifies the layout rectangle for the string. + + that represents formatting information, such as line spacing, for the string. + This method returns an array of objects, each of which bounds a range of character positions within the specified string. + + + Measures the specified string when drawn with the specified . + String to measure. + + that defines the text format of the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + defines the text format of the string. + + structure that represents the upper-left corner of the string. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified within the specified layout area. + String to measure. + + defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified by the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + that defines the text format of the string. + + structure that specifies the maximum layout area for the text. + + that represents formatting information, such as line spacing, for the string. + Number of characters in the string. + Number of text lines in the string. + + is . + This method returns a structure that represents the size of the string, in the units specified by the property, of the parameter as drawn with the parameter and the parameter. + + + Measures the specified string when drawn with the specified . + String to measure. + + that defines the format of the string. + Maximum width of the string in pixels. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter. + + + Measures the specified string when drawn with the specified and formatted with the specified . + String to measure. + + that defines the text format of the string. + Maximum width of the string. + + that represents formatting information, such as line spacing, for the string. + + is . + This method returns a structure that represents the size, in the units specified by the property, of the string specified in the parameter as drawn with the parameter and the parameter. + + + Multiplies the world transformation of this and specified the . + 4x4 that multiplies the world transformation. + + + Multiplies the world transformation of this and specified the in the specified order. + 4x4 that multiplies the world transformation. + Member of the enumeration that determines the order of the multiplication. + + + Releases a device context handle obtained by a previous call to the method of this . + + + Releases a device context handle obtained by a previous call to the method of this . + Handle to a device context obtained by a previous call to the method of this . + + + Releases a handle to a device context. + Handle to a device context. + + + Resets the clip region of this to an infinite region. + + + Resets the world transformation matrix of this to the identity matrix. + + + Restores the state of this to the state represented by a . + + that represents the state to which to restore this . + + + Applies the specified rotation to the transformation matrix of this . + Angle of rotation in degrees. + + + Applies the specified rotation to the transformation matrix of this in the specified order. + Angle of rotation in degrees. + Member of the enumeration that specifies whether the rotation is appended or prepended to the matrix transformation. + + + Saves the current state of this and identifies the saved state with a . + This method returns a that represents the saved state of this . + + + Applies the specified scaling operation to the transformation matrix of this by prepending it to the object's transformation matrix. + Scale factor in the x direction. + Scale factor in the y direction. + + + Applies the specified scaling operation to the transformation matrix of this in the specified order. + Scale factor in the x direction. + Scale factor in the y direction. + Member of the enumeration that specifies whether the scaling operation is prepended or appended to the transformation matrix. + + + Sets the clipping region of this to the specified . + + that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the specified . + + to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the property of the specified . + + from which to take the new clip region. + + + Sets the clipping region of this to the result of the specified combining operation of the current clip region and the property of the specified . + + that specifies the clip region to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the rectangle specified by a structure. + + structure that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the rectangle specified by a structure. + + structure to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the rectangle specified by a structure. + + structure that represents the new clip region. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the rectangle specified by a structure. + + structure to combine. + Member of the enumeration that specifies the combining operation to use. + + + Sets the clipping region of this to the result of the specified operation combining the current clip region and the specified . + + to combine. + Member from the enumeration that specifies the combining operation to use. + + + Transforms an array of points from one coordinate space to another using the current world and page transformations of this . + Member of the enumeration that specifies the destination coordinate space. + Member of the enumeration that specifies the source coordinate space. + Array of structures that represents the points to transformation. + + + Transforms an array of points from one coordinate space to another using the current world and page transformations of this . + Member of the enumeration that specifies the destination coordinate space. + Member of the enumeration that specifies the source coordinate space. + Array of structures that represent the points to transform. + + + Translates the clipping region of this by specified amounts in the horizontal and vertical directions. + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Translates the clipping region of this by specified amounts in the horizontal and vertical directions. + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Changes the origin of the coordinate system by prepending the specified translation to the transformation matrix of this . + The x-coordinate of the translation. + The y-coordinate of the translation. + + + Changes the origin of the coordinate system by applying the specified translation to the transformation matrix of this in the specified order. + The x-coordinate of the translation. + The y-coordinate of the translation. + Member of the enumeration that specifies whether the translation is prepended or appended to the transformation matrix. + + + Gets or sets a that limits the drawing region of this . + A that limits the portion of this that is currently available for drawing. + + + Gets a structure that bounds the clipping region of this . + A structure that represents a bounding rectangle for the clipping region of this . + + + Gets a value that specifies how composited images are drawn to this . + This property specifies a member of the enumeration. The default is . + + + Gets or sets the rendering quality of composited images drawn to this . + This property specifies a member of the enumeration. The default is . + + + Gets the horizontal resolution of this . + The value, in dots per inch, for the horizontal resolution supported by this . + + + Gets the vertical resolution of this . + The value, in dots per inch, for the vertical resolution supported by this . + + + Gets or sets the interpolation mode associated with this . + One of the values. + + + Gets a value indicating whether the clipping region of this is empty. + + if the clipping region of this is empty; otherwise, . + + + Gets a value indicating whether the visible clipping region of this is empty. + + if the visible portion of the clipping region of this is empty; otherwise, . + + + Gets or sets the scaling between world units and page units for this . + This property specifies a value for the scaling between world units and page units for this . + + + Gets or sets the unit of measure used for page coordinates in this . + + is set to , which is not a physical unit. + One of the values other than . + + + Gets or sets a value specifying how pixels are offset during rendering of this . + This property specifies a member of the enumeration + + + Gets or sets the rendering origin of this for dithering and for hatch brushes. + A structure that represents the dither origin for 8-bits-per-pixel and 16-bits-per-pixel dithering and is also used to set the origin for hatch brushes. + + + Gets or sets the rendering quality for this . + One of the values. + + + Gets or sets the gamma correction value for rendering text. + The gamma correction value used for rendering antialiased and ClearType text. + + + Gets or sets the rendering mode for text associated with this . + One of the values. + + + Gets or sets a copy of the geometric world transformation for this . + A copy of the that represents the geometric world transformation for this . + + + Gets the bounding rectangle of the visible clipping region of this . + A structure that represents a bounding rectangle for the visible clipping region of this . + + + Provides a callback method for deciding when the method should prematurely cancel execution and stop drawing an image. + Internal pointer that specifies data for the callback method. This parameter is not passed by all overloads. You can test for its absence by checking for the value . + This method returns if it decides that the method should prematurely stop execution. Otherwise it returns to indicate that the method should continue execution. + + + Provides a callback method for the method. + Member of the enumeration that specifies the type of metafile record. + Set of flags that specify attributes of the record. + Number of bytes in the record data. + Pointer to a buffer that contains the record data. + Not used. + Return if you want to continue enumerating records; otherwise, . + + + Specifies the unit of measure for the given data. + + + Specifies the unit of measure of the display device. Typically pixels for video displays, and 1/100 inch for printers. + + + Specifies the document unit (1/300 inch) as the unit of measure. + + + Specifies the inch as the unit of measure. + + + Specifies the millimeter as the unit of measure. + + + Specifies a device pixel as the unit of measure. + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + Specifies the world coordinate system unit as the unit of measure. + + + Represents a Windows icon, which is a small bitmap image that is used to represent an object. Icons can be thought of as transparent bitmaps, although their size is determined by the system. + + + Initializes a new instance of the class and attempts to find a version of the icon that matches the requested size. + The from which to load the newly sized icon. + A structure that specifies the height and width of the new . + The parameter is . + + + Initializes a new instance of the class and attempts to find a version of the icon that matches the requested size. + The icon to load the different size from. + The width of the new icon. + The height of the new icon. + The parameter is . + + + Initializes a new instance of the class from the specified data stream. + The data stream from which to load the . + The parameter is . + + + Initializes a new instance of the class of the specified size from the specified stream. + The stream that contains the icon data. + The desired size of the icon. + The is or does not contain image data. + + + Initializes a new instance of the class from the specified data stream and with the specified width and height. + The data stream from which to load the icon. + The width, in pixels, of the icon. + The height, in pixels, of the icon. + The parameter is . + + + Initializes a new instance of the class from the specified file name. + The file to load the from. + + + Initializes a new instance of the class of the specified size from the specified file. + The name and path to the file that contains the icon data. + The desired size of the icon. + The is or does not contain image data. + + + Initializes a new instance of the class with the specified width and height from the specified file. + The name and path to the file that contains the data. + The desired width of the . + The desired height of the . + The is or does not contain image data. + + + Initializes a new instance of the class from a resource in the specified assembly. + A that specifies the assembly in which to look for the resource. + The resource name to load. + An icon specified by cannot be found in the assembly that contains the specified . + + + Clones the , creating a duplicate image. + An object that can be cast to an . + + + Releases all resources used by this . + + + Returns an icon representation of an image that is contained in the specified file. + The path to the file that contains an image. + The does not indicate a valid file. + + -or- + + The indicates a Universal Naming Convention (UNC) path. + The representation of the image that is contained in the specified file. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates a GDI+ from the specified Windows handle to an icon (). + A Windows handle to an icon. + The this method creates. + + + Saves this to the specified output . + The to save to. + + + Populates a with the data that is required to serialize the target object. + + The destination (see ) for this serialization. + + + Converts this to a GDI+ . + A that represents the converted . + + + Gets a human-readable string that describes the . + A string that describes the . + + + Gets the Windows handle for this . This is not a copy of the handle; do not free it. + The Windows handle for the icon. + + + Gets the height of this . + The height of this . + + + Gets the size of this . + A structure that specifies the width and height of this . + + + Gets the width of this . + The width of this . + + + Converts an object from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Determines whether this can convert an instance of a specified type to an , using the specified context. + An that provides a format context. + A that specifies the type you want to convert from. + This method returns if this can perform the conversion; otherwise, . + + + Determines whether this can convert an to an instance of a specified type, using the specified context. + An that provides a format context. + A that specifies the type you want to convert to. + This method returns if this can perform the conversion; otherwise, . + + + Converts a specified object to an . + An that provides a format context. + A that holds information about a specific culture. + The to be converted. + The conversion could not be performed. + If this method succeeds, it returns the that it created by converting the specified object. Otherwise, it throws an exception. + + + Converts an (or an object that can be cast to an ) to a specified type. + An that provides a format context. + A object that specifies formatting conventions used by a particular culture. + The object to convert. This object should be of type icon or some type that can be cast to . + The type to convert the icon to. + The conversion could not be performed. + This method returns the converted object. + + + Defines methods for obtaining and releasing an existing handle to a Windows device context. + + + Returns the handle to a Windows device context. + An representing the handle of a device context. + + + Releases the handle of a Windows device context. + + + An abstract base class that provides functionality for the and descended classes. + + + Creates an exact copy of this . + The this method creates, cast as an object. + + + Releases all resources used by this . + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Creates an from the specified file. + A string that contains the name of the file from which to create the . + The file does not have a valid image format. + + -or- + + GDI+ does not support the pixel format of the file. + The specified file does not exist. + + is a . + The this method creates. + + + Creates an from the specified file using embedded color management information in that file. + A string that contains the name of the file from which to create the . + Set to to use color management information embedded in the image file; otherwise, . + The file does not have a valid image format. + + -or- + + GDI+ does not support the pixel format of the file. + The specified file does not exist. + + is a . + The this method creates. + + + Creates a from a handle to a GDI bitmap. + The GDI bitmap handle from which to create the . + The this method creates. + + + Creates a from a handle to a GDI bitmap and a handle to a GDI palette. + The GDI bitmap handle from which to create the . + A handle to a GDI palette used to define the bitmap colors if the bitmap specified in the parameter is not a device-independent bitmap (DIB). + The this method creates. + + + Creates an from the specified data stream. + A that contains the data for this . + The stream does not have a valid image format + + -or- + + is . + The this method creates. + + + Creates an from the specified data stream, optionally using embedded color management information in that stream. + A that contains the data for this . + + to use color management information embedded in the data stream; otherwise, . + The stream does not have a valid image format + + -or- + + is . + The this method creates. + + + Creates an from the specified data stream, optionally using embedded color management information and validating the image data. + A that contains the data for this . + + to use color management information embedded in the data stream; otherwise, . + + to validate the image data; otherwise, . + The stream does not have a valid image format. + The this method creates. + + + Gets the bounds of the image in the specified unit. + One of the values indicating the unit of measure for the bounding rectangle. + The that represents the bounds of the image, in the specified unit. + + + Returns information about the parameters supported by the specified image encoder. + A GUID that specifies the image encoder. + An that contains an array of objects. Each contains information about one of the parameters supported by the specified image encoder. + + + Returns the number of frames of the specified dimension. + A that specifies the identity of the dimension type. + The number of frames in the specified dimension. + + + Returns the color depth, in number of bits per pixel, of the specified pixel format. + The member that specifies the format for which to find the size. + The color depth of the specified pixel format. + + + Gets the specified property item from this . + The ID of the property item to get. + The image format of this image does not support property items. + The this method gets. + + + Returns a thumbnail for this . + The width, in pixels, of the requested thumbnail image. + The height, in pixels, of the requested thumbnail image. + A delegate. + + Note You must create a delegate and pass a reference to the delegate as the parameter, but the delegate is not used. + Must be . + An that represents the thumbnail. + + + Returns a value that indicates whether the pixel format for this contains alpha information. + The to test. + + if contains alpha information; otherwise, . + + + Returns a value that indicates whether the pixel format is 32 bits per pixel. + The to test. + + if is canonical; otherwise, . + + + Returns a value that indicates whether the pixel format is 64 bits per pixel. + The enumeration to test. + + if is extended; otherwise, . + + + Removes the specified property item from this . + The ID of the property item to remove. + The image does not contain the requested property item. + + -or- + + The image format for this image does not support property items. + + + Rotates, flips, or rotates and flips the . + A member that specifies the type of rotation and flip to apply to the image. + + + Saves this image to the specified stream, with the specified encoder and image encoder parameters. + The where the image will be saved. + The for this . + An that specifies parameters used by the image encoder. + + is . + The image was saved with the wrong image format. + + + Saves this image to the specified stream in the specified format. + The where the image will be saved. + An that specifies the format of the saved image. + + or is . + The image was saved with the wrong image format + + + Saves this to the specified file or stream. + A string that contains the name of the file to which to save this . + + is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Saves this to the specified file, with the specified encoder and image-encoder parameters. + A string that contains the name of the file to which to save this . + The for this . + An to use for this . + + or is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Saves this to the specified file in the specified format. + A string that contains the name of the file to which to save this . + The for this . + + or is . + The image was saved with the wrong image format. + + -or- + + The image was saved to the same file it was created from. + + + Adds a frame to the file or stream specified in a previous call to the method. + An that contains the frame to add. + An that holds parameters required by the image encoder that is used by the save-add operation. + + is . + + + Adds a frame to the file or stream specified in a previous call to the method. Use this method to save selected frames from a multiple-frame image to another multiple-frame image. + An that holds parameters required by the image encoder that is used by the save-add operation. + + + Selects the frame specified by the dimension and index. + A that specifies the identity of the dimension type. + The index of the active frame. + Always returns 0. + + + Stores a property item (piece of metadata) in this . + The to be stored. + The image format of this image does not support property items. + + + Populates a with the data needed to serialize the target object. + + The destination (see ) for this serialization. + + + Gets attribute flags for the pixel data of this . + The integer representing a bitwise combination of for this . + + + Gets an array of GUIDs that represent the dimensions of frames within this . + An array of GUIDs that specify the dimensions of frames within this from most significant to least significant. + + + Gets the height, in pixels, of this . + The height, in pixels, of this . + + + Gets the horizontal resolution, in pixels per inch, of this . + The horizontal resolution, in pixels per inch, of this . + + + Gets or sets the color palette used for this . + A that represents the color palette used for this . + + + Gets the width and height of this image. + A structure that represents the width and height of this . + + + Gets the pixel format for this . + A that represents the pixel format for this . + + + Gets IDs of the property items stored in this . + An array of the property IDs, one for each property item stored in this image. + + + Gets all the property items (pieces of metadata) stored in this . + An array of objects, one for each property item stored in the image. + + + Gets the file format of this . + The that represents the file format of this . + + + Gets the width and height, in pixels, of this image. + A structure that represents the width and height, in pixels, of this image. + + + Gets or sets an object that provides additional data about the image. + The that provides additional data about the image. + + + Gets the vertical resolution, in pixels per inch, of this . + The vertical resolution, in pixels per inch, of this . + + + Gets the width, in pixels, of this . + The width, in pixels, of this . + + + Provides a callback method for determining when the method should prematurely cancel execution. + This method returns if it decides that the method should prematurely stop execution; otherwise, it returns . + + + Animates an image that has time-based frames. + + + Displays a multiple-frame image as an animation. + The object to animate. + An object that specifies the method that is called when the animation frame changes. + + + Returns a Boolean value indicating whether the specified image contains time-based frames. + The object to test. + This method returns if the specified image contains time-based frames; otherwise, . + + + Terminates a running animation. + The object to stop animating. + An object that specifies the method that is called when the animation frame changes. + + + Advances the frame in all images currently being animated. The new frame is drawn the next time the image is rendered. + + + Advances the frame in the specified image. The new frame is drawn the next time the image is rendered. This method applies only to images with time-based frames. + The object for which to update frames. + + + + is a class that can be used to convert objects from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Determines whether this can convert an instance of a specified type to an , using the specified context. + An that provides a format context. + A that specifies the type you want to convert from. + This method returns if this can perform the conversion; otherwise, . + + + Determines whether this can convert an to an instance of a specified type, using the specified context. + An that provides a format context. + A that specifies the type you want to convert to. + This method returns if this can perform the conversion; otherwise, . + + + Converts a specified object to an . + An that provides a format context. + A that holds information about a specific culture. + The to be converted. + The conversion cannot be completed. + If this method succeeds, it returns the that it created by converting the specified object. Otherwise, it throws an exception. + + + Converts an (or an object that can be cast to an ) to the specified type. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions used by a particular culture. + The to convert. + The to convert the to. + The conversion cannot be completed. + This method returns the converted object. + + + Gets the set of properties for this type. + A type descriptor through which additional context can be provided. + The value of the object to get the properties for. + An array of objects that describe the properties. + The set of properties that should be exposed for this data type. If no properties should be exposed, this can return . The default implementation always returns . + + + Indicates whether this object supports properties. By default, this is . + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find the properties of this object. + + + + is a class that can be used to convert objects from one data type to another. Access this class through the object. + + + Initializes a new instance of the class. + + + Indicates whether this converter can convert an object in the specified source type to the native type of the converter. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + The type you want to convert from. + This method returns if this object can perform the conversion. + + + Gets a value indicating whether this converter can convert an object to the specified destination type using the context. + An that specifies the context for this type conversion. + The that represents the type to which you want to convert this object. + This method returns if this object can perform the conversion. + + + Converts the specified object to an object. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions for a particular culture. + The object to convert. + The conversion cannot be completed. + The converted object. + + + Converts the specified object to the specified type. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A object that specifies formatting conventions for a particular culture. + The object to convert. + The type to convert the object to. + The conversion cannot be completed. + + is . + The converted object. + + + Gets a collection that contains a set of standard values for the data type this validator is designed for. Returns if the data type does not support a standard set of values. + A formatter context. This object can be used to get more information about the environment this converter is being called from. This may be , so you should always check. Also, properties on the context object may also return . + A collection that contains a standard set of valid values, or . The default implementation always returns . + + + Indicates whether this object supports a standard set of values that can be picked from a list. + A type descriptor through which additional context can be provided. + This method returns if the method should be called to find a common set of values the object supports. + + + Specifies the attributes of a bitmap image. The class is used by the and methods of the class. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the pixel height of the object. Also sometimes referred to as the number of scan lines. + The pixel height of the object. + + + Gets or sets the format of the pixel information in the object that returned this object. + A that specifies the format of the pixel information in the associated object. + + + Reserved. Do not use. + Reserved. Do not use. + + + Gets or sets the address of the first pixel data in the bitmap. This can also be thought of as the first scan line in the bitmap. + The address of the first pixel data in the bitmap. + + + Gets or sets the stride width (also called scan width) of the object. + The stride width, in bytes, of the object. + + + Gets or sets the pixel width of the object. This can also be thought of as the number of pixels in one scan line. + The pixel width of the object. + + + Specifies which GDI+ objects use color adjustment information. + + + The number of types specified. + + + Color adjustment information for objects. + + + Color adjustment information for objects. + + + The number of types specified. + + + Color adjustment information that is used by all GDI+ objects that do not have their own color adjustment information. + + + Color adjustment information for objects. + + + Color adjustment information for text. + + + Specifies individual channels in the CMYK (cyan, magenta, yellow, black) color space. This enumeration is used by the methods. + + + The cyan color channel. + + + The black color channel. + + + The last selected channel should be used. + + + The magenta color channel. + + + The yellow color channel. + + + Defines a map for converting colors. Several methods of the class adjust image colors by using a color-remap table, which is an array of structures. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the new structure to which to convert. + The new structure to which to convert. + + + Gets or sets the existing structure to be converted. + The existing structure to be converted. + + + Specifies the types of color maps. + + + Specifies a color map for a . + + + A default color map. + + + Defines a 5 x 5 matrix that contains the coordinates for the RGBAW space. Several methods of the class adjust image colors by using a color matrix. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class using the elements in the specified matrix . + The values of the elements for the new . + + + Gets or sets the element at the specified row and column in the . + The row of the element. + The column of the element. + The element at the specified row and column. + + + Gets or sets the element at the 0 (zero) row and 0 column of this . + The element at the 0 row and 0 column of this . + + + Gets or sets the element at the 0 (zero) row and first column of this . + The element at the 0 row and first column of this . + + + Gets or sets the element at the 0 (zero) row and second column of this . + The element at the 0 row and second column of this . + + + Gets or sets the element at the 0 (zero) row and third column of this . Represents the alpha component. + The element at the 0 row and third column of this . + + + Gets or sets the element at the 0 (zero) row and fourth column of this . + The element at the 0 row and fourth column of this . + + + Gets or sets the element at the first row and 0 (zero) column of this . + The element at the first row and 0 column of this . + + + Gets or sets the element at the first row and first column of this . + The element at the first row and first column of this . + + + Gets or sets the element at the first row and second column of this . + The element at the first row and second column of this . + + + Gets or sets the element at the first row and third column of this . Represents the alpha component. + The element at the first row and third column of this . + + + Gets or sets the element at the first row and fourth column of this . + The element at the first row and fourth column of this . + + + Gets or sets the element at the second row and 0 (zero) column of this . + The element at the second row and 0 column of this . + + + Gets or sets the element at the second row and first column of this . + The element at the second row and first column of this . + + + Gets or sets the element at the second row and second column of this . + The element at the second row and second column of this . + + + Gets or sets the element at the second row and third column of this . + The element at the second row and third column of this . + + + Gets or sets the element at the second row and fourth column of this . + The element at the second row and fourth column of this . + + + Gets or sets the element at the third row and 0 (zero) column of this . + The element at the third row and 0 column of this . + + + Gets or sets the element at the third row and first column of this . + The element at the third row and first column of this . + + + Gets or sets the element at the third row and second column of this . + The element at the third row and second column of this . + + + Gets or sets the element at the third row and third column of this . Represents the alpha component. + The element at the third row and third column of this . + + + Gets or sets the element at the third row and fourth column of this . + The element at the third row and fourth column of this . + + + Gets or sets the element at the fourth row and 0 (zero) column of this . + The element at the fourth row and 0 column of this . + + + Gets or sets the element at the fourth row and first column of this . + The element at the fourth row and first column of this . + + + Gets or sets the element at the fourth row and second column of this . + The element at the fourth row and second column of this . + + + Gets or sets the element at the fourth row and third column of this . Represents the alpha component. + The element at the fourth row and third column of this . + + + Gets or sets the element at the fourth row and fourth column of this . + The element at the fourth row and fourth column of this . + + + Specifies the types of images and colors that will be affected by the color and grayscale adjustment settings of an . + + + Only gray shades are adjusted. + + + All color values, including gray shades, are adjusted by the same color-adjustment matrix. + + + All colors are adjusted, but gray shades are not adjusted. A gray shade is any color that has the same value for its red, green, and blue components. + + + Specifies two modes for color component values. + + + The integer values supplied are 32-bit values. + + + The integer values supplied are 64-bit values. + + + Defines an array of colors that make up a color palette. The colors are 32-bit ARGB colors. Not inheritable. + + + Gets an array of structures. + The array of structure that make up this . + + + Gets a value that specifies how to interpret the color information in the array of colors. + The following flag values are valid: + + 0x00000001 + The color values in the array contain alpha information. + + 0x00000002 + The colors in the array are grayscale values. + + 0x00000004 + The colors in the array are halftone values. + + + Specifies the methods available for use with a metafile to read and write graphic commands. + + + See methods. + + + See methods. + + + See . + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See methods. + + + Specifies a character string, a location, and formatting information. + + + See methods. + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Enhanced-Format Metafiles" in the GDI section of the MSDN Library. + + + See . + + + Identifies a record that marks the last EMF+ record of a metafile. + + + See methods. + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See . + + + Identifies a record that is the EMF+ header. + + + Indicates invalid data. + + + The maximum value for this enumeration. + + + The minimum value for this enumeration. + + + Marks the end of a multiple-format section. + + + Marks a multiple-format section. + + + Marks the start of a multiple-format section. + + + See methods. + + + Marks an object. + + + See methods. + + + See . + + + See . + + + See . + + + See methods. + + + See . + + + See methods. + + + See . + + + See methods. + + + See methods. + + + See methods. + + + See . + + + See . + + + See . + + + See methods. + + + See . + + + See . + + + See . + + + See . + + + See methods. + + + Used internally. + + + See methods. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Increases or decreases the size of a logical palette based on the specified value. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Copies the color data for a rectangle of pixels in a DIB to the specified destination rectangle. + + + See "Windows-Format Metafiles" in the GDI section of the MSDN Library. + + + Specifies the nature of the records that are placed in an Enhanced Metafile (EMF) file. This enumeration is used by several constructors in the class. + + + Specifies that all the records in the metafile are EMF records, which can be displayed by GDI or GDI+. + + + Specifies that all EMF+ records in the metafile are associated with an alternate EMF record. Metafiles of type can be displayed by GDI or by GDI+. + + + Specifies that all the records in the metafile are EMF+ records, which can be displayed by GDI+ but not by GDI. + + + An object encapsulates a globally unique identifier (GUID) that identifies the category of an image encoder parameter. + + + An object that is initialized with the globally unique identifier for the chrominance table parameter category. + + + An object that is initialized with the globally unique identifier for the color depth parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the color space category. + + + An object that is initialized with the globally unique identifier for the compression parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the image items category. + + + Represents an object that is initialized with the globally unique identifier for the luminance table parameter category. + + + Gets an object that is initialized with the globally unique identifier for the quality parameter category. + + + Represents an object that is initialized with the globally unique identifier for the render method parameter category. + + + Represents an encoder that's initialized with the globally unique identifier for the save as CMYK category. + + + Represents an object that is initialized with the globally unique identifier for the save flag parameter category. + + + Represents an object that is initialized with the globally unique identifier for the scan method parameter category. + + + Represents an object that is initialized with the globally unique identifier for the transformation parameter category. + + + Represents an object that is initialized with the globally unique identifier for the version parameter category. + + + Initializes a new instance of the class from the specified globally unique identifier (GUID). The GUID specifies an image encoder parameter category. + A globally unique identifier that identifies an image encoder parameter category. + + + Gets a globally unique identifier (GUID) that identifies an image encoder parameter category. + The GUID that identifies an image encoder parameter category. + + + Used to pass a value, or an array of values, to an image encoder. + + + Initializes a new instance of the class with the specified object and one unsigned 8-bit integer. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + An 8-bit unsigned integer that specifies the value stored in the object. + + + Initializes a new instance of the class with the specified object and one 8-bit value. Sets the property to or , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A byte that specifies the value stored in the object. + If , the property is set to ; otherwise, the property is set to . + + + Initializes a new instance of the class with the specified object and an array of unsigned 8-bit integers. Sets the property to , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 8-bit unsigned integers that specifies the values stored in the object. + + + Initializes a new instance of the class with the specified object and an array of bytes. Sets the property to or , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of bytes that specifies the values stored in the object. + If , the property is set to ; otherwise, the property is set to . + + + Initializes a new instance of the class with the specified object and one, 16-bit integer. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 16-bit integer that specifies the value stored in the object. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and an array of 16-bit integers. Sets the property to , and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 16-bit integers that specifies the values stored in the object. The integers in the array must be nonnegative. + + + Initializes a new instance of the class with the specified object, number of values, data type of the values, and a pointer to the values stored in the object. + An object that encapsulates the globally unique identifier of the parameter category. + An integer that specifies the number of values stored in the object. The property is set to this value. + A member of the enumeration that specifies the data type of the values stored in the object. The and properties are set to this value. + A pointer to an array of values of the type specified by the parameter. + + + Initializes a new instance of the class with the specified object and a pair of 32-bit integers. The pair of integers represents a fraction, the first integer being the numerator, and the second integer being the denominator. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 32-bit integer that represents the numerator of a fraction. Must be nonnegative. + A 32-bit integer that represents the denominator of a fraction. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and three integers that specify the number of values, the data type of the values, and a pointer to the values stored in the object. + An object that encapsulates the globally unique identifier of the parameter category. + An integer that specifies the number of values stored in the object. The property is set to this value. + A member of the enumeration that specifies the data type of the values stored in the object. The and properties are set to this value. + A pointer to an array of values of the type specified by the parameter. + Type is not a valid . + + + Initializes a new instance of the class with the specified object and four, 32-bit integers. The four integers represent a range of fractions. The first two integers represent the smallest fraction in the range, and the remaining two integers represent the largest fraction in the range. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 32-bit integer that represents the numerator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the denominator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the denominator of the smallest fraction in the range. Must be nonnegative. + A 32-bit integer that represents the numerator of the largest fraction in the range. Must be nonnegative. + + + Initializes a new instance of the class with the specified object and two arrays of 32-bit integers. The two arrays represent an array of fractions. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 32-bit integers that specifies the numerators of the fractions. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the fractions. The integers in the array must be nonnegative. A denominator of a given index is paired with the numerator of the same index. + + + Initializes a new instance of the class with the specified object and four arrays of 32-bit integers. The four arrays represent an array rational ranges. A rational range is the set of all fractions from a minimum fractional value through a maximum fractional value. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the other three arrays. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 32-bit integers that specifies the numerators of the minimum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the minimum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the numerators of the maximum values for the ranges. The integers in the array must be nonnegative. + An array of 32-bit integers that specifies the denominators of the maximum values for the ranges. The integers in the array must be nonnegative. + + + Initializes a new instance of the class with the specified object and one 64-bit integer. Sets the property to (32 bits), and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 64-bit integer that specifies the value stored in the object. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + + + Initializes a new instance of the class with the specified object and a pair of 64-bit integers. The pair of integers represents a range of integers, the first integer being the smallest number in the range, and the second integer being the largest number in the range. Sets the property to , and sets the property to 1. + An object that encapsulates the globally unique identifier of the parameter category. + A 64-bit integer that represents the smallest number in a range of integers. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + A 64-bit integer that represents the largest number in a range of integers. Must be nonnegative. This parameter is converted to a 32-bit integer before it is stored in the object. + + + Initializes a new instance of the class with the specified object and an array of 64-bit integers. Sets the property to (32-bit), and sets the property to the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 64-bit integers that specifies the values stored in the object. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. + + + Initializes a new instance of the class with the specified object and two arrays of 64-bit integers. The two arrays represent an array integer ranges. Sets the property to , and sets the property to the number of elements in the array, which must be the same as the number of elements in the array. + An object that encapsulates the globally unique identifier of the parameter category. + An array of 64-bit integers that specifies the minimum values for the integer ranges. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. + An array of 64-bit integers that specifies the maximum values for the integer ranges. The integers in the array must be nonnegative. The 64-bit integers are converted to 32-bit integers before they are stored in the object. A maximum value of a given index is paired with the minimum value of the same index. + + + Initializes a new instance of the class with the specified object and a character string. The string is converted to a null-terminated ASCII string before it is stored in the object. Sets the property to , and sets the property to the length of the ASCII string including the NULL terminator. + An object that encapsulates the globally unique identifier of the parameter category. + A that specifies the value stored in the object. + + + Releases all resources used by this object. + + + Allows an object to attempt to free resources and perform other cleanup operations before the object is reclaimed by garbage collection. + + + Gets or sets the object associated with this object. The object encapsulates the globally unique identifier (GUID) that specifies the category (for example , , or ) of the parameter stored in this object. + An object that encapsulates the GUID that specifies the category of the parameter stored in this object. + + + Gets the number of elements in the array of values stored in this object. + An integer that indicates the number of elements in the array of values stored in this object. + + + Gets the data type of the values stored in this object. + A member of the enumeration that indicates the data type of the values stored in this object. + + + Gets the data type of the values stored in this object. + A member of the enumeration that indicates the data type of the values stored in this object. + + + Encapsulates an array of objects. + + + Initializes a new instance of the class that can contain one object. + + + Initializes a new instance of the class that can contain the specified number of objects. + An integer that specifies the number of objects that the object can contain. + + + Releases all resources used by this object. + + + Gets or sets an array of objects. + The array of objects. + + + Specifies the data type of the used with the or method of an image. + + + An 8-bit ASCII value. + + + An 8-bit unsigned integer. + + + A 32-bit unsigned integer. + + + Two long values that specify a range of integer values. + + + A pointer to a block of custom metadata. + + + A pair of 32-bit unsigned integers. Each pair represents a fraction, the first integer being the numerator and the second integer being the denominator. + + + A set of four, 32-bit unsigned integers. The first two integers represent one fraction, and the second two integers represent a second fraction. + + + A 16-bit, unsigned integer. + + + A byte that has no data type defined. + + + Used to specify the parameter value passed to a JPEG or TIFF image encoder when using the or methods. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies the CCITT3 compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the CCITT4 compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the LZW compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the Compression category. + + + Specifies no compression. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies the RLE compression scheme. Can be passed to the TIFF encoder as a parameter that belongs to the compression category. + + + Specifies that a multiple-frame file or stream should be closed. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Specifies that a frame is to be added to the page dimension of an image. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies the last frame in a multiple-frame image. Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Specifies that the image has more than one frame (page). Can be passed to the TIFF encoder as a parameter that belongs to the save flag category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Specifies that the image is to be flipped horizontally (about the vertical axis). Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be flipped vertically (about the horizontal axis). Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated 180 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated clockwise 270 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Specifies that the image is to be rotated clockwise 90 degrees about its center. Can be passed to the JPEG encoder as a parameter that belongs to the transformation category. + + + Not used in GDI+ version 1.0. + + + Not used in GDI+ version 1.0. + + + Provides properties that get the frame dimensions of an image. Not inheritable. + + + Initializes a new instance of the class using the specified structure. + A structure that contains a GUID for this object. + + + Returns a value that indicates whether the specified object is a equivalent to this object. + The object to test. + + if is a equivalent to this object; otherwise, . + + + Returns a hash code for this object. + The hash code of this object. + + + Converts this object to a human-readable string. + A string that represents this object. + + + Gets a globally unique identifier (GUID) that represents this object. + A structure that contains a GUID that represents this object. + + + Gets the page dimension. + The page dimension. + + + Gets the resolution dimension. + The resolution dimension. + + + Gets the time dimension. + The time dimension. + + + Contains information about how bitmap and metafile colors are manipulated during rendering. + + + Initializes a new instance of the class. + + + Clears the brush color-remap table of this object. + + + Clears the color key (transparency range) for the default category. + + + Clears the color key (transparency range) for a specified category. + An element of that specifies the category for which the color key is cleared. + + + Clears the color-adjustment matrix for the default category. + + + Clears the color-adjustment matrix for a specified category. + An element of that specifies the category for which the color-adjustment matrix is cleared. + + + Disables gamma correction for the default category. + + + Disables gamma correction for a specified category. + An element of that specifies the category for which gamma correction is disabled. + + + Clears the setting for the default category. + + + Clears the setting for a specified category. + An element of that specifies the category for which the setting is cleared. + + + Clears the CMYK (cyan-magenta-yellow-black) output channel setting for the default category. + + + Clears the (cyan-magenta-yellow-black) output channel setting for a specified category. + An element of that specifies the category for which the output channel setting is cleared. + + + Clears the output channel color profile setting for the default category. + + + Clears the output channel color profile setting for a specified category. + An element of that specifies the category for which the output channel profile setting is cleared. + + + Clears the color-remap table for the default category. + + + Clears the color-remap table for a specified category. + An element of that specifies the category for which the remap table is cleared. + + + Clears the threshold value for the default category. + + + Clears the threshold value for a specified category. + An element of that specifies the category for which the threshold is cleared. + + + Creates an exact copy of this object. + The object this class creates, cast as an object. + + + Releases all resources used by this object. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Adjusts the colors in a palette according to the adjustment settings of a specified category. + A that on input contains the palette to be adjusted, and on output contains the adjusted palette. + An element of that specifies the category whose adjustment settings will be applied to the palette. + + + Sets the color-remap table for the brush category. + An array of objects. + + + Sets the color key for the default category. + The low color-key value. + The high color-key value. + + + Sets the color key (transparency range) for a specified category. + The low color-key value. + The high color-key value. + An element of that specifies the category for which the color key is set. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for the default category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for the default category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. + + + Sets the color-adjustment matrix and the grayscale-adjustment matrix for a specified category. + The color-adjustment matrix. + The grayscale-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. + An element of that specifies the category for which the color-adjustment and grayscale-adjustment matrices are set. + + + Sets the color-adjustment matrix for the default category. + The color-adjustment matrix. + + + Sets the color-adjustment matrix for the default category. + The color-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment matrix. + + + Sets the color-adjustment matrix for a specified category. + The color-adjustment matrix. + An element of that specifies the type of image and color that will be affected by the color-adjustment matrix. + An element of that specifies the category for which the color-adjustment matrix is set. + + + Sets the gamma value for the default category. + The gamma correction value. + + + Sets the gamma value for a specified category. + The gamma correction value. + An element of the enumeration that specifies the category for which the gamma value is set. + + + Turns off color adjustment for the default category. You can call the method to reinstate the color-adjustment settings that were in place before the call to the method. + + + Turns off color adjustment for a specified category. You can call the method to reinstate the color-adjustment settings that were in place before the call to the method. + An element of that specifies the category for which color correction is turned off. + + + Sets the CMYK (cyan-magenta-yellow-black) output channel for the default category. + An element of that specifies the output channel. + + + Sets the CMYK (cyan-magenta-yellow-black) output channel for a specified category. + An element of that specifies the output channel. + An element of that specifies the category for which the output channel is set. + + + Sets the output channel color-profile file for the default category. + The path name of a color-profile file. If the color-profile file is in the %SystemRoot%\System32\Spool\Drivers\Color directory, this parameter can be the file name. Otherwise, this parameter must be the fully qualified path name. + + + Sets the output channel color-profile file for a specified category. + The path name of a color-profile file. If the color-profile file is in the %SystemRoot%\System32\Spool\Drivers\Color directory, this parameter can be the file name. Otherwise, this parameter must be the fully qualified path name. + An element of that specifies the category for which the output channel color-profile file is set. + + + Sets the color-remap table for the default category. + An array of color pairs of type . Each color pair contains an existing color (the first value) and the color that it will be mapped to (the second value). + + + Sets the color-remap table for a specified category. + An array of color pairs of type . Each color pair contains an existing color (the first value) and the color that it will be mapped to (the second value). + An element of that specifies the category for which the color-remap table is set. + + + Sets the threshold (transparency range) for the default category. + A real number that specifies the threshold value. + + + Sets the threshold (transparency range) for a specified category. + A threshold value from 0.0 to 1.0 that is used as a breakpoint to sort colors that will be mapped to either a maximum or a minimum value. + An element of that specifies the category for which the color threshold is set. + + + Sets the wrap mode that is used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + + + Sets the wrap mode and color used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + An object that specifies the color of pixels outside of a rendered image. This color is visible if the mode parameter is set to and the source rectangle passed to is larger than the image itself. + + + Sets the wrap mode and color used to decide how to tile a texture across a shape, or at shape boundaries. A texture is tiled across a shape to fill it in when the texture is smaller than the shape it is filling. + An element of that specifies how repeated copies of an image are used to tile an area. + A color object that specifies the color of pixels outside of a rendered image. This color is visible if the mode parameter is set to and the source rectangle passed to is larger than the image itself. + This parameter has no effect. Set it to . + + + Provides attributes of an image encoder/decoder (codec). + + + The decoder has blocking behavior during the decoding process. + + + The codec is built into GDI+. + + + The codec supports decoding (reading). + + + The codec supports encoding (saving). + + + The encoder requires a seekable output stream. + + + The codec supports raster images (bitmaps). + + + The codec supports vector images (metafiles). + + + Not used. + + + Not used. + + + The class provides the necessary storage members and methods to retrieve all pertinent information about the installed image encoders and decoders (called codecs). Not inheritable. + + + Returns an array of objects that contain information about the image decoders built into GDI+. + An array of objects. Each object in the array contains information about one of the built-in image decoders. + + + Returns an array of objects that contain information about the image encoders built into GDI+. + An array of objects. Each object in the array contains information about one of the built-in image encoders. + + + Gets or sets a structure that contains a GUID that identifies a specific codec. + A structure that contains a GUID that identifies a specific codec. + + + Gets or sets a string that contains the name of the codec. + A string that contains the name of the codec. + + + Gets or sets string that contains the path name of the DLL that holds the codec. If the codec is not in a DLL, this pointer is . + A string that contains the path name of the DLL that holds the codec. + + + Gets or sets string that contains the file name extension(s) used in the codec. The extensions are separated by semicolons. + A string that contains the file name extension(s) used in the codec. + + + Gets or sets 32-bit value used to store additional information about the codec. This property returns a combination of flags from the enumeration. + A 32-bit value used to store additional information about the codec. + + + Gets or sets a string that describes the codec's file format. + A string that describes the codec's file format. + + + Gets or sets a structure that contains a GUID that identifies the codec's format. + A structure that contains a GUID that identifies the codec's format. + + + Gets or sets a string that contains the codec's Multipurpose Internet Mail Extensions (MIME) type. + A string that contains the codec's Multipurpose Internet Mail Extensions (MIME) type. + + + Gets or sets a two dimensional array of bytes that can be used as a filter. + A two dimensional array of bytes that can be used as a filter. + + + Gets or sets a two dimensional array of bytes that represents the signature of the codec. + A two dimensional array of bytes that represents the signature of the codec. + + + Gets or sets the version number of the codec. + The version number of the codec. + + + Specifies the attributes of the pixel data contained in an object. The property returns a member of this enumeration. + + + The pixel data can be cached for faster access. + + + The pixel data uses a CMYK color space. + + + The pixel data is grayscale. + + + The pixel data uses an RGB color space. + + + Specifies that the image is stored using a YCBCR color space. + + + Specifies that the image is stored using a YCCK color space. + + + The pixel data contains alpha information. + + + Specifies that dots per inch information is stored in the image. + + + Specifies that the pixel size is stored in the image. + + + Specifies that the pixel data has alpha values other than 0 (transparent) and 255 (opaque). + + + There is no format information. + + + The pixel data is partially scalable, but there are some limitations. + + + The pixel data is read-only. + + + The pixel data is scalable. + + + Specifies the file format of the image. Not inheritable. + + + Initializes a new instance of the class by using the specified structure. + The structure that specifies a particular image format. + + + Returns a value that indicates whether the specified object is an object that is equivalent to this object. + The object to test. + + if is an object that is equivalent to this object; otherwise, . + + + Returns a hash code value that represents this object. + A hash code that represents this object. + + + Converts this object to a human-readable string. + A string that represents this object. + + + Gets the bitmap (BMP) image format. + An object that indicates the bitmap image format. + + + Gets the enhanced metafile (EMF) image format. + An object that indicates the enhanced metafile image format. + + + Gets the Exchangeable Image File (Exif) format. + An object that indicates the Exif format. + + + Gets the Graphics Interchange Format (GIF) image format. + An object that indicates the GIF image format. + + + Gets a structure that represents this object. + A structure that represents this object. + + + Gets the Windows icon image format. + An object that indicates the Windows icon image format. + + + Gets the Joint Photographic Experts Group (JPEG) image format. + An object that indicates the JPEG image format. + + + Gets the format of a bitmap in memory. + An object that indicates the format of a bitmap in memory. + + + Gets the W3C Portable Network Graphics (PNG) image format. + An object that indicates the PNG image format. + + + Gets the Tagged Image File Format (TIFF) image format. + An object that indicates the TIFF image format. + + + Gets the Windows metafile (WMF) image format. + An object that indicates the Windows metafile image format. + + + Specifies flags that are passed to the flags parameter of the method. The method locks a portion of an image so that you can read or write the pixel data. + + + Specifies that a portion of the image is locked for reading. + + + Specifies that a portion of the image is locked for reading or writing. + + + Specifies that the buffer used for reading or writing pixel data is allocated by the user. If this flag is set, the parameter of the method serves as an input parameter (and possibly as an output parameter). If this flag is cleared, then the parameter serves only as an output parameter. + + + Specifies that a portion of the image is locked for writing. + + + Defines a graphic metafile. A metafile contains records that describe a sequence of graphics operations that can be recorded (constructed) and played back (displayed). This class is not inheritable. + + + Initializes a new instance of the class from the specified handle. + A handle to an enhanced metafile. + + to delete the enhanced metafile handle when the is deleted; otherwise, . + + + Initializes a new instance of the class from the specified handle to a device context and an enumeration that specifies the format of the . + The handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class from the specified handle to a device context and an enumeration that specifies the format of the . A string can be supplied to name the file. + The handle to a device context. + An that specifies the format of the . + A descriptive name for the new . + + + Initializes a new instance of the class from the specified handle and a . + A windows handle to a . + A . + + + Initializes a new instance of the class from the specified handle and a . Also, the parameter can be used to delete the handle when the metafile is deleted. + A windows handle to a . + A . + + to delete the handle to the new when the is deleted; otherwise, . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle. + The handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . A string can be provided to name the file. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle. + The handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified device context, bounded by the specified rectangle that uses the supplied unit of measure, and an enumeration that specifies the format of the . A string can be provided to name the file. + The handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream. + The from which to create the new . + + is . + + + Initializes a new instance of the class from the specified data stream. + A that contains the data for this . + A Windows handle to a device context. + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and an enumeration that specifies the format of the . Also, a string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class from the specified data stream, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A string that contains a descriptive name for the new can be added. + A that contains the data for this . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class from the specified file name. + A that represents the file name from which to create the new . + + + Initializes a new instance of the class with the specified file name. + A that represents the file name of the new . + A Windows handle to a device context. + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and an enumeration that specifies the format of the . A descriptive string can be added, as well. + A that represents the file name of the new . + A Windows handle to a device context. + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that represents the file name of the new . + A Windows handle to a device context. + A structure that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, and a structure that represents the rectangle that bounds the new . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , the supplied unit of measure, and an enumeration that specifies the format of the . A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + An that specifies the format of the . + A that contains a descriptive name for the new . + + + Initializes a new instance of the class with the specified file name, a Windows handle to a device context, a structure that represents the rectangle that bounds the new , and the supplied unit of measure. A descriptive string can also be added. + A that represents the file name of the new . + A Windows handle to a device context. + A that represents the rectangle that bounds the new . + A that specifies the unit of measure for . + A that contains a descriptive name for the new . + + + Returns a Windows handle to an enhanced . + A Windows handle to this enhanced . + + + Returns the associated with this . + The associated with this . + + + Returns the associated with the specified . + The handle to the enhanced for which a header is returned. + The associated with the specified . + + + Returns the associated with the specified . + The handle to the for which to return a header. + A . + The associated with the specified . + + + Returns the associated with the specified . + A containing the for which a header is retrieved. + The associated with the specified . + + + Returns the associated with the specified . + A containing the name of the for which a header is retrieved. + The associated with the specified . + + + Plays an individual metafile record. + Element of the that specifies the type of metafile record being played. + A set of flags that specify attributes of the record. + The number of bytes in the record data. + An array of bytes that contains the record data. + + + Specifies the unit of measurement for the rectangle used to size and position a metafile. This is specified during the creation of the object. + + + The unit of measurement is 1/300 of an inch. + + + The unit of measurement is 0.01 millimeter. Provided for compatibility with GDI. + + + The unit of measurement is 1 inch. + + + The unit of measurement is 1 millimeter. + + + The unit of measurement is 1 pixel. + + + The unit of measurement is 1 printer's point. + + + Contains attributes of an associated . Not inheritable. + + + Returns a value that indicates whether the associated is device dependent. + + if the associated is device dependent; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile format. + + if the associated is in the Windows enhanced metafile format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile format or the Windows enhanced metafile plus format. + + if the associated is in the Windows enhanced metafile format or the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows enhanced metafile plus format. + + if the associated is in the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Dual enhanced metafile format. This format supports both the enhanced and the enhanced plus format. + + if the associated is in the Dual enhanced metafile format; otherwise, . + + + Returns a value that indicates whether the associated supports only the Windows enhanced metafile plus format. + + if the associated supports only the Windows enhanced metafile plus format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows metafile format. + + if the associated is in the Windows metafile format; otherwise, . + + + Returns a value that indicates whether the associated is in the Windows placeable metafile format. + + if the associated is in the Windows placeable metafile format; otherwise, . + + + Gets a that bounds the associated . + A that bounds the associated . + + + Gets the horizontal resolution, in dots per inch, of the associated . + The horizontal resolution, in dots per inch, of the associated . + + + Gets the vertical resolution, in dots per inch, of the associated . + The vertical resolution, in dots per inch, of the associated . + + + Gets the size, in bytes, of the enhanced metafile plus header file. + The size, in bytes, of the enhanced metafile plus header file. + + + Gets the logical horizontal resolution, in dots per inch, of the associated . + The logical horizontal resolution, in dots per inch, of the associated . + + + Gets the logical vertical resolution, in dots per inch, of the associated . + The logical vertical resolution, in dots per inch, of the associated . + + + Gets the size, in bytes, of the associated . + The size, in bytes, of the associated . + + + Gets the type of the associated . + A enumeration that represents the type of the associated . + + + Gets the version number of the associated . + The version number of the associated . + + + Gets the Windows metafile (WMF) header file for the associated . + A that contains the WMF header file for the associated . + + + Specifies types of metafiles. The property returns a member of this enumeration. + + + Specifies an Enhanced Metafile (EMF) file. Such a file contains only GDI records. + + + Specifies an EMF+ Dual file. Such a file contains GDI+ records along with alternative GDI records and can be displayed by using either GDI or GDI+. Displaying the records using GDI may cause some quality degradation. + + + Specifies an EMF+ file. Such a file contains only GDI+ records and must be displayed by using GDI+. Displaying the records using GDI may cause unpredictable results. + + + Specifies a metafile format that is not recognized in GDI+. + + + Specifies a WMF (Windows Metafile) file. Such a file contains only GDI records. + + + Specifies a WMF (Windows Metafile) file that has a placeable metafile header in front of it. + + + Contains information about a windows-format (WMF) metafile. + + + Initializes a new instance of the class. + + + Gets or sets the size, in bytes, of the header file. + The size, in bytes, of the header file. + + + Gets or sets the size, in bytes, of the largest record in the associated object. + The size, in bytes, of the largest record in the associated object. + + + Gets or sets the maximum number of objects that exist in the object at the same time. + The maximum number of objects that exist in the object at the same time. + + + Not used. Always returns 0. + Always 0. + + + Gets or sets the size, in bytes, of the associated object. + The size, in bytes, of the associated object. + + + Gets or sets the type of the associated object. + The type of the associated object. + + + Gets or sets the version number of the header format. + The version number of the header format. + + + Specifies the type of color data in the system palette. The data can be color data with alpha, grayscale data only, or halftone data. + + + Grayscale data. + + + Halftone data. + + + Alpha data. + + + Specifies the format of the color data for each pixel in the image. + + + The pixel data contains alpha values that are not premultiplied. + + + The default pixel format of 32 bits per pixel. The format specifies 24-bit color depth and an 8-bit alpha channel. + + + No pixel format is specified. + + + Reserved. + + + The pixel format is 16 bits per pixel. The color information specifies 32,768 shades of color, of which 5 bits are red, 5 bits are green, 5 bits are blue, and 1 bit is alpha. + + + The pixel format is 16 bits per pixel. The color information specifies 65536 shades of gray. + + + Specifies that the format is 16 bits per pixel; 5 bits each are used for the red, green, and blue components. The remaining bit is not used. + + + Specifies that the format is 16 bits per pixel; 5 bits are used for the red component, 6 bits are used for the green component, and 5 bits are used for the blue component. + + + Specifies that the pixel format is 1 bit per pixel and that it uses indexed color. The color table therefore has two colors in it. + + + Specifies that the format is 24 bits per pixel; 8 bits each are used for the red, green, and blue components. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied, according to the alpha component. + + + Specifies that the format is 32 bits per pixel; 8 bits each are used for the red, green, and blue components. The remaining 8 bits are not used. + + + Specifies that the format is 48 bits per pixel; 16 bits each are used for the red, green, and blue components. + + + Specifies that the format is 4 bits per pixel, indexed. + + + Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. + + + Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied according to the alpha component. + + + Specifies that the format is 8 bits per pixel, indexed. The color table therefore has 256 colors in it. + + + The pixel data contains GDI colors. + + + The pixel data contains color-indexed values, which means the values are an index to colors in the system color table, as opposed to individual color values. + + + The maximum value for this enumeration. + + + The pixel format contains premultiplied alpha values. + + + The pixel format is undefined. + + + This delegate is not used. For an example of enumerating the records of a metafile, see . + Not used. + Not used. + Not used. + Not used. + + + Encapsulates a metadata property to be included in an image file. Not inheritable. + + + Gets or sets the ID of the property. + The integer that represents the ID of the property. + + + Gets or sets the length (in bytes) of the property. + An integer that represents the length (in bytes) of the byte array. + + + Gets or sets an integer that defines the type of data contained in the property. + An integer that defines the type of data contained in . + + + Gets or sets the value of the property item. + A byte array that represents the value of the property item. + + + Defines a placeable metafile. Not inheritable. + + + Initializes a new instance of the class. + + + Gets or sets the y-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + The y-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the x-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + The x-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the x-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + The x-coordinate of the lower-right corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the y-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + The y-coordinate of the upper-left corner of the bounding rectangle of the metafile image on the output device. + + + Gets or sets the checksum value for the previous ten s in the header. + The checksum value for the previous ten s in the header. + + + Gets or sets the handle of the metafile in memory. + The handle of the metafile in memory. + + + Gets or sets the number of twips per inch. + The number of twips per inch. + + + Gets or sets a value indicating the presence of a placeable metafile header. + A value indicating presence of a placeable metafile header. + + + Reserved. Do not use. + Reserved. Do not use. + + + Defines an object used to draw lines and curves. This class cannot be inherited. + + + Initializes a new instance of the class with the specified . + A that determines the fill properties of this . + + is . + + + Initializes a new instance of the class with the specified and . + A that determines the characteristics of this . + The width of the new . + + is . + + + Initializes a new instance of the class with the specified color. + A structure that indicates the color of this . + + + Initializes a new instance of the class with the specified and properties. + A structure that indicates the color of this . + A value indicating the width of this . + + + Creates an exact copy of this . + An that can be cast to a . + + + Releases all resources used by this . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Multiplies the transformation matrix for this by the specified . + The object by which to multiply the transformation matrix. + + + Multiplies the transformation matrix for this by the specified in the specified order. + The by which to multiply the transformation matrix. + The order in which to perform the multiplication operation. + + + Resets the geometric transformation matrix for this to identity. + + + Rotates the local geometric transformation by the specified angle. This method prepends the rotation to the transformation. + The angle of rotation. + + + Rotates the local geometric transformation by the specified angle in the specified order. + The angle of rotation. + A that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transformation by the specified factors. This method prepends the scaling matrix to the transformation. + The factor by which to scale the transformation in the x-axis direction. + The factor by which to scale the transformation in the y-axis direction. + + + Scales the local geometric transformation by the specified factors in the specified order. + The factor by which to scale the transformation in the x-axis direction. + The factor by which to scale the transformation in the y-axis direction. + A that specifies whether to append or prepend the scaling matrix. + + + Sets the values that determine the style of cap used to end lines drawn by this . + A that represents the cap style to use at the beginning of lines drawn with this . + A that represents the cap style to use at the end of lines drawn with this . + A that represents the cap style to use at the beginning or end of dashed lines drawn with this . + + + Translates the local geometric transformation by the specified dimensions. This method prepends the translation to the transformation. + The value of the translation in x. + The value of the translation in y. + + + Translates the local geometric transformation by the specified dimensions in the specified order. + The value of the translation in x. + The value of the translation in y. + The order (prepend or append) in which to apply the translation. + + + Gets or sets the alignment for this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + A that represents the alignment for this . + + + Gets or sets the that determines attributes of this . + The property is set on an immutable , such as those returned by the class. + A that determines attributes of this . + + + Gets or sets the color of this . + The property is set on an immutable , such as those returned by the class. + A structure that represents the color of this . + + + Gets or sets an array of values that specifies a compound pen. A compound pen draws a compound line made up of parallel lines and spaces. + The property is set on an immutable , such as those returned by the class. + An array of real numbers that specifies the compound array. The elements in the array must be in increasing order, not less than 0, and not greater than 1. + + + Gets or sets a custom cap to use at the end of lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the cap used at the end of lines drawn with this . + + + Gets or sets a custom cap to use at the beginning of lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the cap used at the beginning of lines drawn with this . + + + Gets or sets the cap style used at the end of the dashes that make up dashed lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the beginning and end of the dashes that make up dashed lines drawn with this . + + + Gets or sets the distance from the start of a line to the beginning of a dash pattern. + The property is set on an immutable , such as those returned by the class. + The distance from the start of a line to the beginning of a dash pattern. + + + Gets or sets an array of custom dashes and spaces. + The property is set on an immutable , such as those returned by the class. + An array of real numbers that specifies the lengths of alternating dashes and spaces in dashed lines. + + + Gets or sets the style used for dashed lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the style used for dashed lines drawn with this . + + + Gets or sets the cap style used at the end of lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the end of lines drawn with this . + + + Gets or sets the join style for the ends of two consecutive lines drawn with this . + The property is set on an immutable , such as those returned by the class. + A that represents the join style for the ends of two consecutive lines drawn with this . + + + Gets or sets the limit of the thickness of the join on a mitered corner. + The property is set on an immutable , such as those returned by the class. + The limit of the thickness of the join on a mitered corner. + + + Gets the style of lines drawn with this . + A enumeration that specifies the style of lines drawn with this . + + + Gets or sets the cap style used at the beginning of lines drawn with this . + The specified value is not a member of . + The property is set on an immutable , such as those returned by the class. + One of the values that represents the cap style used at the beginning of lines drawn with this . + + + Gets or sets a copy of the geometric transformation for this . + The property is set on an immutable , such as those returned by the class. + A copy of the that represents the geometric transformation for this . + + + Gets or sets the width of this , in units of the object used for drawing. + The property is set on an immutable , such as those returned by the class. + The width of this . + + + Pens for all the standard colors. This class cannot be inherited. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + A system-defined object with a width of 1. + A object set to a system-defined color. + + + Specifies the printer's duplex setting. + + + The printer's default duplex setting. + + + Double-sided, horizontal printing. + + + Single-sided printing. + + + Double-sided, vertical printing. + + + Represents the exception that is thrown when you try to access a printer using printer settings that are not valid. + + + Initializes a new instance of the class. + A that specifies the settings for a printer. + + + Initializes a new instance of the class with serialized data. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + is . + The class name is or is 0. + + + Overridden. Sets the with information about the exception. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + is . + + + Specifies the dimensions of the margins of a printed page. + + + Initializes a new instance of the class with 1-inch wide margins. + + + Initializes a new instance of the class with the specified left, right, top, and bottom margins. + The left margin, in hundredths of an inch. + The right margin, in hundredths of an inch. + The top margin, in hundredths of an inch. + The bottom margin, in hundredths of an inch. + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + -or- + + The parameter value is less than 0. + + + Retrieves a duplicate of this object, member by member. + A duplicate of this object. + + + Compares this to the specified to determine whether they have the same dimensions. + The object to which to compare this . + + if the specified object is a and has the same , , and values as this ; otherwise, . + + + Calculates and retrieves a hash code based on the width of the left, right, top, and bottom margins. + A hash code based on the left, right, top, and bottom margins. + + + Compares two to determine if they have the same dimensions. + The first to compare for equality. + The second to compare for equality. + + to indicate the , , , and properties of both margins have the same value; otherwise, . + + + Compares two to determine whether they are of unequal width. + The first to compare for inequality. + The second to compare for inequality. + + to indicate if the , , , or properties of both margins are not equal; otherwise, . + + + Converts the to a string. + A representation of the . + + + Gets or sets the bottom margin, in hundredths of an inch. + The property is set to a value that is less than 0. + The bottom margin, in hundredths of an inch. + + + Gets or sets the left margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The left margin width, in hundredths of an inch. + + + Gets or sets the right margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The right margin width, in hundredths of an inch. + + + Gets or sets the top margin width, in hundredths of an inch. + The property is set to a value that is less than 0. + The top margin width, in hundredths of an inch. + + + Provides a for . + + + Initializes a new instance of the class. + + + Returns whether this converter can convert an object of the specified source type to the native type of the converter using the specified context. + An that provides a format context. + A that represents the type from which you want to convert. + + if an object can perform the conversion; otherwise, . + + + Returns whether this converter can convert an object to the given destination type using the context. + An that provides a format context. + A that represents the type to which you want to convert. + + if this converter can perform the conversion; otherwise, . + + + Converts the specified object to the converter's native type. + An that provides a format context. + A that provides the language to convert to. + The to convert. + + does not contain values for all four margins. For example, "100,100,100,100" specifies 1 inch for the left, right, top, and bottom margins. + The conversion cannot be performed. + An that represents the converted value. + + + Converts the given value object to the specified destination type using the specified context and arguments. + An that provides a format context. + A that provides the language to convert to. + The to convert. + The to which to convert the value. + + is . + The conversion cannot be performed. + An that represents the converted value. + + + Creates an given a set of property values for the object. + An that provides a format context. + An of new property values. + + is . + An representing the specified , or if the object cannot be created. + + + Returns whether changing a value on this object requires a call to the method to create a new value, using the specified context. + An that provides a format context. + + if changing a property on this object requires a call to to create a new value; otherwise, . This method always returns . + + + Specifies settings that apply to a single, printed page. + + + Initializes a new instance of the class using the default printer. + + + Initializes a new instance of the class using a specified printer. + The that describes the printer to use. + + + Creates a copy of this . + A copy of this object. + + + Copies the relevant information from the to the specified structure. + The handle to a Win32 structure. + The printer named in the property does not exist or there is no default printer installed. + + + Copies relevant information to the from the specified structure. + The handle to a Win32 structure. + The printer handle is not valid. + The printer named in the property does not exist or there is no default printer installed. + + + Converts the to string form. + A string showing the various property settings for the . + + + Gets the size of the page, taking into account the page orientation specified by the property. + The printer named in the property does not exist. + A that represents the length and width, in hundredths of an inch, of the page. + + + Gets or sets a value indicating whether the page should be printed in color. + The printer named in the property does not exist. + + if the page should be printed in color; otherwise, . The default is determined by the printer. + + + Gets the x-coordinate, in hundredths of an inch, of the hard margin at the left of the page. + The x-coordinate, in hundredths of an inch, of the left-hand hard margin. + + + Gets the y-coordinate, in hundredths of an inch, of the hard margin at the top of the page. + The y-coordinate, in hundredths of an inch, of the hard margin at the top of the page. + + + Gets or sets a value indicating whether the page is printed in landscape or portrait orientation. + The printer named in the property does not exist. + + if the page should be printed in landscape orientation; otherwise, . The default is determined by the printer. + + + Gets or sets the margins for this page. + The printer named in the property does not exist. + A that represents the margins, in hundredths of an inch, for the page. The default is 1-inch margins on all sides. + + + Gets or sets the paper size for the page. + The printer named in the property does not exist or there is no default printer installed. + A that represents the size of the paper. The default is the printer's default paper size. + + + Gets or sets the page's paper source; for example, the printer's upper tray. + The printer named in the property does not exist or there is no default printer installed. + A that specifies the source of the paper. The default is the printer's default paper source. + + + Gets the bounds of the printable area of the page for the printer. + A representing the length and width, in hundredths of an inch, of the area the printer is capable of printing in. + + + Gets or sets the printer resolution for the page. + The printer named in the property does not exist or there is no default printer installed. + A that specifies the printer resolution for the page. The default is the printer's default resolution. + + + Gets or sets the printer settings associated with the page. + A that represents the printer settings associated with the page. + + + Specifies the standard paper sizes. + + + A2 paper (420 mm by 594 mm). + + + A3 paper (297 mm by 420 mm). + + + A3 extra paper (322 mm by 445 mm). + + + A3 extra transverse paper (322 mm by 445 mm). + + + A3 rotated paper (420 mm by 297 mm). + + + A3 transverse paper (297 mm by 420 mm). + + + A4 paper (210 mm by 297 mm). + + + A4 extra paper (236 mm by 322 mm). This value is specific to the PostScript driver and is used only by Linotronic printers to help save paper. + + + A4 plus paper (210 mm by 330 mm). + + + A4 rotated paper (297 mm by 210 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A4 small paper (210 mm by 297 mm). + + + A4 transverse paper (210 mm by 297 mm). + + + A5 paper (148 mm by 210 mm). + + + A5 extra paper (174 mm by 235 mm). + + + A5 rotated paper (210 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A5 transverse paper (148 mm by 210 mm). + + + A6 paper (105 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + A6 rotated paper (148 mm by 105 mm). Requires Windows 98, Windows NT 4.0, or later. + + + SuperA/SuperA/A4 paper (227 mm by 356 mm). + + + B4 paper (250 mm by 353 mm). + + + B4 envelope (250 mm by 353 mm). + + + JIS B4 rotated paper (364 mm by 257 mm). Requires Windows 98, Windows NT 4.0, or later. + + + B5 paper (176 mm by 250 mm). + + + B5 envelope (176 mm by 250 mm). + + + ISO B5 extra paper (201 mm by 276 mm). + + + JIS B5 rotated paper (257 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later. + + + JIS B5 transverse paper (182 mm by 257 mm). + + + B6 envelope (176 mm by 125 mm). + + + JIS B6 paper (128 mm by 182 mm). Requires Windows 98, Windows NT 4.0, or later. + + + JIS B6 rotated paper (182 mm by 128 mm). Requires Windows 98, Windows NT 4.0, or later. + + + SuperB/SuperB/A3 paper (305 mm by 487 mm). + + + C3 envelope (324 mm by 458 mm). + + + C4 envelope (229 mm by 324 mm). + + + C5 envelope (162 mm by 229 mm). + + + C65 envelope (114 mm by 229 mm). + + + C6 envelope (114 mm by 162 mm). + + + C paper (17 in. by 22 in.). + + + The paper size is defined by the user. + + + DL envelope (110 mm by 220 mm). + + + D paper (22 in. by 34 in.). + + + E paper (34 in. by 44 in.). + + + Executive paper (7.25 in. by 10.5 in.). + + + Folio paper (8.5 in. by 13 in.). + + + German legal fanfold (8.5 in. by 13 in.). + + + German standard fanfold (8.5 in. by 12 in.). + + + Invitation envelope (220 mm by 220 mm). + + + ISO B4 (250 mm by 353 mm). + + + Italy envelope (110 mm by 230 mm). + + + Japanese double postcard (200 mm by 148 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated double postcard (148 mm by 200 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Chou #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Chou #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Kaku #2 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese rotated Kaku #3 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese You #4 envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese You #4 rotated envelope. Requires Windows 98, Windows NT 4.0, or later. + + + Japanese postcard (100 mm by 148 mm). + + + Japanese rotated postcard (148 mm by 100 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Ledger paper (17 in. by 11 in.). + + + Legal paper (8.5 in. by 14 in.). + + + Legal extra paper (9.275 in. by 15 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + Letter paper (8.5 in. by 11 in.). + + + Letter extra paper (9.275 in. by 12 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + Letter extra transverse paper (9.275 in. by 12 in.). + + + Letter plus paper (8.5 in. by 12.69 in.). + + + Letter rotated paper (11 in. by 8.5 in.). + + + Letter small paper (8.5 in. by 11 in.). + + + Letter transverse paper (8.275 in. by 11 in.). + + + Monarch envelope (3.875 in. by 7.5 in.). + + + Note paper (8.5 in. by 11 in.). + + + #10 envelope (4.125 in. by 9.5 in.). + + + #11 envelope (4.5 in. by 10.375 in.). + + + #12 envelope (4.75 in. by 11 in.). + + + #14 envelope (5 in. by 11.5 in.). + + + #9 envelope (3.875 in. by 8.875 in.). + + + 6 3/4 envelope (3.625 in. by 6.5 in.). + + + 16K paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 16K rotated paper (146 mm by 215 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K big paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K big rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + 32K rotated paper (97 mm by 151 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #1 envelope (102 mm by 165 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #10 envelope (324 mm by 458 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #10 rotated envelope (458 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #1 rotated envelope (165 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #2 envelope (102 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #2 rotated envelope (176 mm by 102 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #3 envelope (125 mm by 176 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #3 rotated envelope (176 mm by 125 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #4 envelope (110 mm by 208 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #4 rotated envelope (208 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #5 envelope (110 mm by 220 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Envelope #5 rotated envelope (220 mm by 110 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #6 envelope (120 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #6 rotated envelope (230 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #7 envelope (160 mm by 230 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #7 rotated envelope (230 mm by 160 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #8 envelope (120 mm by 309 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #8 rotated envelope (309 mm by 120 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #9 envelope (229 mm by 324 mm). Requires Windows 98, Windows NT 4.0, or later. + + + #9 rotated envelope (324 mm by 229 mm). Requires Windows 98, Windows NT 4.0, or later. + + + Quarto paper (215 mm by 275 mm). + + + Standard paper (10 in. by 11 in.). + + + Standard paper (10 in. by 14 in.). + + + Standard paper (11 in. by 17 in.). + + + Standard paper (12 in. by 11 in.). Requires Windows 98, Windows NT 4.0, or later. + + + Standard paper (15 in. by 11 in.). + + + Standard paper (9 in. by 11 in.). + + + Statement paper (5.5 in. by 8.5 in.). + + + Tabloid paper (11 in. by 17 in.). + + + Tabloid extra paper (11.69 in. by 18 in.). This value is specific to the PostScript driver and is used only by Linotronic printers in order to conserve paper. + + + US standard fanfold (14.875 in. by 11 in.). + + + Specifies the size of a piece of paper. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class. + The name of the paper. + The width of the paper, in hundredths of an inch. + The height of the paper, in hundredths of an inch. + + + Provides information about the in string form. + A string. + + + Gets or sets the height of the paper, in hundredths of an inch. + The property is not set to . + The height of the paper, in hundredths of an inch. + + + Gets the type of paper. + The property is not set to . + One of the values. + + + Gets or sets the name of the type of paper. + The property is not set to . + The name of the type of paper. + + + Gets or sets an integer representing one of the values or a custom value. + An integer representing one of the values, or a custom value. + + + Gets or sets the width of the paper, in hundredths of an inch. + The property is not set to . + The width of the paper, in hundredths of an inch. + + + Specifies the paper tray from which the printer gets paper. + + + Initializes a new instance of the class. + + + Provides information about the in string form. + A string. + + + Gets the paper source. + One of the values. + + + Gets or sets the integer representing one of the values or a custom value. + The integer value representing one of the values or a custom value. + + + Gets or sets the name of the paper source. + The name of the paper source. + + + Standard paper sources. + + + Automatically fed paper. + + + A paper cassette. + + + A printer-specific paper source. + + + An envelope. + + + The printer's default input bin. + + + The printer's large-capacity bin. + + + Large-format paper. + + + The lower bin of a printer. + + + Manually fed paper. + + + Manually fed envelope. + + + The middle bin of a printer. + + + Small-format paper. + + + A tractor feed. + + + The upper bin of a printer (or the default bin, if the printer only has one bin). + + + Specifies print preview information for a single page. This class cannot be inherited. + + + Initializes a new instance of the class. + The image of the printed page. + The size of the printed page, in hundredths of an inch. + + + Gets the image of the printed page. + An representing the printed page. + + + Gets the size of the printed page, in hundredths of an inch. + A that specifies the size of the printed page, in hundredths of an inch. + + + Specifies a print controller that displays a document on a screen as a series of images. + + + Initializes a new instance of the class. + + + Captures the pages of a document as a series of images. + An array of type that contains the pages of a as a series of images. + + + Completes the control sequence that determines when and how to preview a page in a print document. + A that represents the document being previewed. + A that contains data about how to preview a page in the print document. + + + Completes the control sequence that determines when and how to preview a print document. + A that represents the document being previewed. + A that contains data about how to preview the print document. + + + Begins the control sequence that determines when and how to preview a page in a print document. + A that represents the document being previewed. + A that contains data about how to preview a page in the print document. Initially, the property of this parameter will be . The value returned from this method will be used to set this property. + A that represents a page from a . + + + Begins the control sequence that determines when and how to preview a print document. + A that represents the document being previewed. + A that contains data about how to print the document. + The printer named in the property does not exist. + + + Gets a value indicating whether this controller is used for print preview. + + in all cases. + + + Gets or sets a value indicating whether to use anti-aliasing when displaying the print preview. + + if the print preview uses anti-aliasing; otherwise, . The default is . + + + Specifies the type of print operation occurring. + + + The print operation is printing to a file. + + + The print operation is a print preview. + + + The print operation is printing to a printer. + + + Controls how a document is printed, when printing from a Windows Forms application. + + + Initializes a new instance of the class. + + + When overridden in a derived class, completes the control sequence that determines when and how to print a page of a document. + A that represents the document currently being printed. + A that contains the event data. + + + When overridden in a derived class, completes the control sequence that determines when and how to print a document. + A that represents the document currently being printed. + A that contains the event data. + + + When overridden in a derived class, begins the control sequence that determines when and how to print a page of a document. + A that represents the document currently being printed. + A that contains the event data. + A that represents a page from a . + + + When overridden in a derived class, begins the control sequence that determines when and how to print a document. + A that represents the document currently being printed. + A that contains the event data. + + + Gets a value indicating whether the is used for print preview. + + in all cases. + + + Defines a reusable object that sends output to a printer, when printing from a Windows Forms application. + + + Occurs when the method is called and before the first page of the document prints. + + + Occurs when the last page of the document has printed. + + + Occurs when the output to print for the current page is needed. + + + Occurs immediately before each event. + + + Initializes a new instance of the class. + + + Raises the event. It is called after the method is called and before the first page of the document prints. + A that contains the event data. + + + Raises the event. It is called when the last page of the document has printed. + A that contains the event data. + + + Raises the event. It is called before a page prints. + A that contains the event data. + + + Raises the event. It is called immediately before each event. + A that contains the event data. + + + Starts the document's printing process. + The printer named in the property does not exist. + + + Provides information about the print document, in string form. + A string. + + + Gets or sets page settings that are used as defaults for all pages to be printed. + A that specifies the default page settings for the document. + + + Gets or sets the document name to display (for example, in a print status dialog box or printer queue) while printing the document. + The document name to display while printing the document. The default is "document". + + + Gets or sets a value indicating whether the position of a graphics object associated with a page is located just inside the user-specified margins or at the top-left corner of the printable area of the page. + + if the graphics origin starts at the page margins; if the graphics origin is at the top-left corner of the printable page. The default is . + + + Gets or sets the print controller that guides the printing process. + The that guides the printing process. The default is a new instance of the class. + + + Gets or sets the printer that prints the document. + A that specifies where and how the document is printed. The default is a with its properties set to their default values. + + + Represents the resolution supported by a printer. + + + Initializes a new instance of the class. + + + This member overrides the method. + A that contains information about the . + + + Gets or sets the printer resolution. + The value assigned is not a member of the enumeration. + One of the values. + + + Gets the horizontal printer resolution, in dots per inch. + The horizontal printer resolution, in dots per inch, if is set to ; otherwise, a value. + + + Gets the vertical printer resolution, in dots per inch. + The vertical printer resolution, in dots per inch. + + + Specifies a printer resolution. + + + Custom resolution. + + + Draft-quality resolution. + + + High resolution. + + + Low resolution. + + + Medium resolution. + + + Specifies information about how a document is printed, including the printer that prints it, when printing from a Windows Forms application. + + + Initializes a new instance of the class. + + + Creates a copy of this . + A copy of this object. + + + Returns a that contains printer information that is useful when creating a . + The printer named in the property does not exist. + A that contains information from a printer. + + + Returns a that contains printer information, optionally specifying the origin at the margins. + + to indicate the origin at the margins; otherwise, . + A that contains printer information from the . + + + Returns a that contains printer information associated with the specified . + The to retrieve a graphics object for. + A that contains printer information from the . + + + Creates a associated with the specified page settings and optionally specifying the origin at the margins. + The to retrieve a object for. + + to specify the origin at the margins; otherwise, . + A that contains printer information from the . + + + Creates a handle to a structure that corresponds to the printer settings. + The printer named in the property does not exist. + The printer's initialization information could not be retrieved. + A handle to a structure. + + + Creates a handle to a structure that corresponds to the printer and the page settings specified through the parameter. + The object that the structure's handle corresponds to. + The printer named in the property does not exist. + The printer's initialization information could not be retrieved. + A handle to a structure. + + + Creates a handle to a structure that corresponds to the printer settings. + A handle to a structure. + + + Gets a value indicating whether the printer supports printing the specified image file. + The image to print. + + if the printer supports printing the specified image; otherwise, . + + + Returns a value indicating whether the printer supports printing the specified image format. + An to print. + + if the printer supports printing the specified image format; otherwise, . + + + Copies the relevant information out of the given handle and into the . + The handle to a Win32 structure. + The printer handle is not valid. + + + Copies the relevant information out of the given handle and into the . + The handle to a Win32 structure. + The printer handle is invalid. + + + Provides information about the in string form. + A string. + + + Gets a value indicating whether the printer supports double-sided printing. + + if the printer supports double-sided printing; otherwise, . + + + Gets or sets a value indicating whether the printed document is collated. + + if the printed document is collated; otherwise, . The default is . + + + Gets or sets the number of copies of the document to print. + The value of the property is less than zero. + The number of copies to print. The default is 1. + + + Gets the default page settings for this printer. + A that represents the default page settings for this printer. + + + Gets or sets the printer setting for double-sided printing. + The value of the property is not one of the values. + One of the values. The default is determined by the printer. + + + Gets or sets the page number of the first page to print. + The property's value is less than zero. + The page number of the first page to print. + + + Gets the names of all printers installed on the computer. + The available printers could not be enumerated. + A that represents the names of all printers installed on the computer. + + + Gets a value indicating whether the property designates the default printer, except when the user explicitly sets . + + if designates the default printer; otherwise, . + + + Gets a value indicating whether the printer is a plotter. + + if the printer is a plotter; if the printer is a raster. + + + Gets a value indicating whether the property designates a valid printer. + + if the property designates a valid printer; otherwise, . + + + Gets the angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation. + The angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation. + + + Gets the maximum number of copies that the printer enables the user to print at a time. + The maximum number of copies that the printer enables the user to print at a time. + + + Gets or sets the maximum or that can be selected in a . + The value of the property is less than zero. + The maximum or that can be selected in a . + + + Gets or sets the minimum or that can be selected in a . + The value of the property is less than zero. + The minimum or that can be selected in a . + + + Gets the paper sizes that are supported by this printer. + A that represents the paper sizes that are supported by this printer. + + + Gets the paper source trays that are available on the printer. + A that represents the paper source trays that are available on this printer. + + + Gets or sets the name of the printer to use. + The name of the printer to use. + + + Gets all the resolutions that are supported by this printer. + A that represents the resolutions that are supported by this printer. + + + Gets or sets the file name, when printing to a file. + The file name, when printing to a file. + + + Gets or sets the page numbers that the user has specified to be printed. + The value of the property is not one of the values. + One of the values. + + + Gets or sets a value indicating whether the printing output is sent to a file instead of a port. + + if the printing output is sent to a file; otherwise, . The default is . + + + Gets a value indicating whether this printer supports color printing. + + if this printer supports color; otherwise, . + + + Gets or sets the number of the last page to print. + The value of the property is less than zero. + The number of the last page to print. + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a to the end of the collection. + The to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + A zero-based array that receives the items copied from the collection. + The index at which to start copying items. + + + For a description of this member, see . + An enumerator associated with the collection. + + + Gets the number of different paper sizes in the collection. + The number of different paper sizes in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds the specified to end of the . + The to add to the collection. + The zero-based index where the was added. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The destination array for the contents of the collection. + The index at which to start the copy operation. + + + For a description of this member, see . + An object that can be used to iterate through the collection. + + + Gets the number of different paper sources in the collection. + The number of different paper sources in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a to the end of the collection. + The to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The destination array. + The index at which to start the copy operation. + + + For a description of this member, see . + An object that can be used to iterate through the collection. + + + Gets the number of available printer resolutions in the collection. + The number of available printer resolutions in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Contains a collection of objects. + + + Initializes a new instance of the class. + An array of type . + + + Adds a string to the end of the collection. + The string to add to the collection. + The zero-based index of the newly added item. + + + Copies the contents of the current to the specified array, starting at the specified index. + A zero-based array that receives the items copied from the . + The index at which to start copying items. + + + Returns an enumerator that can iterate through the collection. + An for the . + + + For a description of this member, see . + The array for items to be copied to. + The starting index. + + + For a description of this member, see . + An enumerator that can be used to iterate through the collection. + + + Gets the number of strings in the collection. + The number of strings in the collection. + + + Gets the at a specified index. + The index of the to get. + The at the specified index. + + + For a description of this member, see . + The number of elements contained in the . + + + For a description of this member, see . + + if access to the is synchronized (thread safe); otherwise, . + + + For a description of this member, see . + An object that can be used to synchronize access to the . + + + Specifies several of the units of measure used for printing. + + + The default unit (0.01 in.). + + + One-hundredth of a millimeter (0.01 mm). + + + One-tenth of a millimeter (0.1 mm). + + + One-thousandth of an inch (0.001 in.). + + + Specifies a series of conversion methods that are useful when interoperating with the Win32 printing API. This class cannot be inherited. + + + Converts a double-precision floating-point number from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A double-precision floating-point number that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a from one type to another type. + The being converted. + The unit to convert from. + The unit to convert to. + A that represents the converted . + + + Converts a 32-bit signed integer from one type to another type. + The value being converted. + The unit to convert from. + The unit to convert to. + A 32-bit signed integer that represents the converted . + + + Provides data for the and events. + + + Initializes a new instance of the class. + + + Returns in all cases. + + in all cases. + + + Represents the method that will handle the or event of a . + The source of the event. + A that contains the event data. + + + Provides data for the event. + + + Initializes a new instance of the class. + The used to paint the item. + The area between the margins. + The total area of the paper. + The for the page. + + + Gets or sets a value indicating whether the print job should be canceled. + + if the print job should be canceled; otherwise, . + + + Gets the used to paint the page. + The used to paint the page. + + + Gets or sets a value indicating whether an additional page should be printed. + + if an additional page should be printed; otherwise, . The default is . + + + Gets the rectangular area that represents the portion of the page inside the margins. + The rectangular area, measured in hundredths of an inch, that represents the portion of the page inside the margins. + + + Gets the rectangular area that represents the total area of the page. + The rectangular area that represents the total area of the page. + + + Gets the page settings for the current page. + The page settings for the current page. + + + Represents the method that will handle the event of a . + The source of the event. + A that contains the event data. + + + Specifies the part of the document to print. + + + All pages are printed. + + + The currently displayed page is printed. + + + The selected pages are printed. + + + The pages between and are printed. + + + Provides data for the event. + + + Initializes a new instance of the class. + The page settings for the page to be printed. + + + Gets or sets the page settings for the page to be printed. + The page settings for the page to be printed. + + + Represents the method that handles the event of a . + The source of the event. + A that contains the event data. + + + Specifies a print controller that sends information to a printer. + + + Initializes a new instance of the class. + + + Completes the control sequence that determines when and how to print a page of a document. + A that represents the document being printed. + A that contains data about how to print a page in the document. + The native Win32 Application Programming Interface (API) could not finish writing to a page. + + + Completes the control sequence that determines when and how to print a document. + A that represents the document being printed. + A that contains data about how to print the document. + The native Win32 Application Programming Interface (API) could not complete the print job. + + -or- + + The native Windows API could not delete the specified device context (DC). + + + Begins the control sequence that determines when and how to print a page in a document. + A that represents the document being printed. + A that contains data about how to print a page in the document. Initially, the property of this parameter will be . The value returned from the method will be used to set this property. + The native Win32 Application Programming Interface (API) could not prepare the printer driver to accept data. + + -or- + + The native Windows API could not update the specified printer or plotter device context (DC) using the specified information. + A object that represents a page from a . + + + Begins the control sequence that determines when and how to print a document. + A that represents the document being printed. + A that contains data about how to print the document. + The printer settings are not valid. + The native Win32 Application Programming Interface (API) could not start a print job. + + + Describes the interior of a graphics shape composed of rectangles and paths. This class cannot be inherited. + + + Initializes a new . + + + Initializes a new with the specified . + A that defines the new . + + is . + + + Initializes a new from the specified data. + A that defines the interior of the new . + + is . + + + Initializes a new from the specified structure. + A structure that defines the interior of the new . + + + Initializes a new from the specified structure. + A structure that defines the interior of the new . + + + Creates an exact copy of this . + The that this method creates. + + + Updates this to contain the portion of the specified that does not intersect with this . + The to complement this . + + is . + + + Updates this to contain the portion of the specified structure that does not intersect with this . + The structure to complement this . + + + Updates this to contain the portion of the specified structure that does not intersect with this . + The structure to complement this . + + + Updates this to contain the portion of the specified that does not intersect with this . + The object to complement this object. + + is . + + + Releases all resources used by this . + + + Tests whether the specified is identical to this on the specified drawing surface. + The to test. + A that represents a drawing surface. + + or is . + + if the interior of region is identical to the interior of this region when the transformation associated with the parameter is applied; otherwise, . + + + Updates this to contain only the portion of its interior that does not intersect with the specified . + The to exclude from this . + + is . + + + Updates this to contain only the portion of its interior that does not intersect with the specified structure. + The structure to exclude from this . + + + Updates this to contain only the portion of its interior that does not intersect with the specified structure. + The structure to exclude from this . + + + Updates this to contain only the portion of its interior that does not intersect with the specified . + The to exclude from this . + + is . + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Initializes a new from a handle to the specified existing GDI region. + A handle to an existing . + The new . + + + Gets a structure that represents a rectangle that bounds this on the drawing surface of a object. + The on which this is drawn. + + is . + A structure that represents the bounding rectangle for this on the specified drawing surface. + + + Returns a Windows handle to this in the specified graphics context. + The on which this is drawn. + + is . + A Windows handle to this . + + + Returns a that represents the information that describes this . + A that represents the information that describes this . + + + Returns an array of structures that approximate this after the specified matrix transformation is applied. + A that represents a geometric transformation to apply to the region. + + is . + An array of structures that approximate this after the specified matrix transformation is applied. + + + Updates this to the intersection of itself with the specified . + The to intersect with this . + + + Updates this to the intersection of itself with the specified structure. + The structure to intersect with this . + + + Updates this to the intersection of itself with the specified structure. + The structure to intersect with this . + + + Updates this to the intersection of itself with the specified . + The to intersect with this . + + + Tests whether this has an empty interior on the specified drawing surface. + A that represents a drawing surface. + + is . + + if the interior of this is empty when the transformation associated with is applied; otherwise, . + + + Tests whether this has an infinite interior on the specified drawing surface. + A that represents a drawing surface. + + is . + + if the interior of this is infinite when the transformation associated with is applied; otherwise, . + + + Tests whether the specified structure is contained within this . + The structure to test. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this . + The structure to test. + + when is contained within this ; otherwise, . + + + Tests whether the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this . + The structure to test. + This method returns when any portion of is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when any portion of the is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this . + The structure to test. + + when any portion of is contained within this ; otherwise, . + + + Tests whether any portion of the specified structure is contained within this when drawn using the specified . + The structure to test. + A that represents a graphics context. + + when is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this object when drawn using the specified object. + The x-coordinate of the point to test. + The y-coordinate of the point to test. + A that represents a graphics context. + + when the specified point is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this when drawn using the specified . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + A that represents a graphics context. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + + when the specified point is contained within this ; otherwise, . + + + Tests whether the specified point is contained within this when drawn using the specified . + The x-coordinate of the point to test. + The y-coordinate of the point to test. + A that represents a graphics context. + + when the specified point is contained within this ; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + + when any portion of the specified rectangle is contained within this object; otherwise, . + + + Tests whether any portion of the specified rectangle is contained within this when drawn using the specified . + The x-coordinate of the upper-left corner of the rectangle to test. + The y-coordinate of the upper-left corner of the rectangle to test. + The width of the rectangle to test. + The height of the rectangle to test. + A that represents a graphics context. + + when any portion of the specified rectangle is contained within this ; otherwise, . + + + Initializes this to an empty interior. + + + Initializes this object to an infinite interior. + + + Releases the handle of the . + The handle to the . + + is . + + + Transforms this by the specified . + The by which to transform this . + + is . + + + Offsets the coordinates of this by the specified amount. + The amount to offset this horizontally. + The amount to offset this vertically. + + + Offsets the coordinates of this by the specified amount. + The amount to offset this horizontally. + The amount to offset this vertically. + + + Updates this to the union of itself and the specified . + The to unite with this . + + is . + + + Updates this to the union of itself and the specified structure. + The structure to unite with this . + + + Updates this to the union of itself and the specified structure. + The structure to unite with this . + + + Updates this to the union of itself and the specified . + The to unite with this . + + is . + + + Updates this to the union minus the intersection of itself with the specified . + The to with this . + + is . + + + Updates this to the union minus the intersection of itself with the specified structure. + The structure to with this . + + + Updates this to the union minus the intersection of itself with the specified structure. + The structure to with this . + + + Updates this to the union minus the intersection of itself with the specified . + The to with this . + + is . + + + Specifies how much an image is rotated and the axis used to flip the image. + + + Specifies a 180-degree clockwise rotation without flipping. + + + Specifies a 180-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 180-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 180-degree clockwise rotation followed by a vertical flip. + + + Specifies a 270-degree clockwise rotation without flipping. + + + Specifies a 270-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 270-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 270-degree clockwise rotation followed by a vertical flip. + + + Specifies a 90-degree clockwise rotation without flipping. + + + Specifies a 90-degree clockwise rotation followed by a horizontal flip. + + + Specifies a 90-degree clockwise rotation followed by a horizontal and vertical flip. + + + Specifies a 90-degree clockwise rotation followed by a vertical flip. + + + Specifies no clockwise rotation and no flipping. + + + Specifies no clockwise rotation followed by a horizontal flip. + + + Specifies no clockwise rotation followed by a horizontal and vertical flip. + + + Specifies no clockwise rotation followed by a vertical flip. + + + Defines a brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths. This class cannot be inherited. + + + Initializes a new object of the specified color. + A structure that represents the color of this brush. + + + Creates an exact copy of this object. + The object that this method creates. + + + Gets or sets the color of this object. + The property is set on an immutable . + A structure that represents the color of this brush. + + + Specifies the alignment of a text string relative to its layout rectangle. + + + Specifies that text is aligned in the center of the layout rectangle. + + + Specifies that text is aligned far from the origin position of the layout rectangle. In a left-to-right layout, the far position is right. In a right-to-left layout, the far position is left. + + + Specifies the text be aligned near the layout. In a left-to-right layout, the near position is left. In a right-to-left layout, the near position is right. + + + The enumeration specifies how to substitute digits in a string according to a user's locale or language. + + + Specifies substitution digits that correspond with the official national language of the user's locale. + + + Specifies to disable substitutions. + + + Specifies substitution digits that correspond with the user's native script or language, which may be different from the official national language of the user's locale. + + + Specifies a user-defined substitution scheme. + + + Encapsulates text layout information (such as alignment, orientation and tab stops) display manipulations (such as ellipsis insertion and national digit substitution) and OpenType features. This class cannot be inherited. + + + Initializes a new object. + + + Initializes a new object from the specified existing object. + The object from which to initialize the new object. + + is . + + + Initializes a new object with the specified enumeration. + The enumeration for the new object. + + + Initializes a new object with the specified enumeration and language. + The enumeration for the new object. + A value that indicates the language of the text. + + + Creates an exact copy of this object. + The object this method creates. + + + Releases all resources used by this object. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Gets the tab stops for this object. + The number of spaces between the beginning of a text line and the first tab stop. + An array of distances (in number of spaces) between tab stops. + + + Specifies the language and method to be used when local digits are substituted for western digits. + A National Language Support (NLS) language identifier that identifies the language that will be used when local digits are substituted for western digits. You can pass the property of a object as the NLS language identifier. For example, suppose you create a object by passing the string "ar-EG" to a constructor. If you pass the property of that object along with to the method, then Arabic-Indic digits will be substituted for western digits at display time. + An element of the enumeration that specifies how digits are displayed. + + + Specifies an array of structures that represent the ranges of characters measured by a call to the method. + An array of structures that specifies the ranges of characters measured by a call to the method. + More than 32 character ranges are set. + + + Sets tab stops for this object. + The number of spaces between the beginning of a line of text and the first tab stop. + An array of distances between tab stops in the units specified by the property. + + + Converts this object to a human-readable string. + A string representation of this object. + + + Gets or sets horizontal alignment of the string. + A enumeration that specifies the horizontal alignment of the string. + + + Gets the language that is used when local digits are substituted for western digits. + A National Language Support (NLS) language identifier that identifies the language that will be used when local digits are substituted for western digits. You can pass the property of a object as the NLS language identifier. For example, suppose you create a object by passing the string "ar-EG" to a constructor. If you pass the property of that object along with to the method, then Arabic-Indic digits will be substituted for western digits at display time. + + + Gets the method to be used for digit substitution. + A enumeration value that specifies how to substitute characters in a string that cannot be displayed because they are not supported by the current font. + + + Gets or sets a enumeration that contains formatting information. + A enumeration that contains formatting information. + + + Gets a generic default object. + The generic default object. + + + Gets a generic typographic object. + A generic typographic object. + + + Gets or sets the object for this object. + The object for this object, the default is . + + + Gets or sets the vertical alignment of the string. + A enumeration that represents the vertical line alignment. + + + Gets or sets the enumeration for this object. + A enumeration that indicates how text drawn with this object is trimmed when it exceeds the edges of the layout rectangle. + + + Specifies the display and layout information for text strings. + + + Text is displayed from right to left. + + + Text is vertically aligned. + + + Control characters such as the left-to-right mark are shown in the output with a representative glyph. + + + Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang. + + + Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line. + + + Includes the trailing space at the end of each line. By default the boundary rectangle returned by the method excludes the space at the end of each line. Set this flag to include that space in measurement. + + + Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped. + + + Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square. + + + Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length. + + + Specifies how to trim characters from a string that does not completely fit into a layout shape. + + + Specifies that the text is trimmed to the nearest character. + + + Specifies that the text is trimmed to the nearest character, and an ellipsis is inserted at the end of a trimmed line. + + + The center is removed from trimmed lines and replaced by an ellipsis. The algorithm keeps as much of the last slash-delimited segment of the line as possible. + + + Specifies that text is trimmed to the nearest word, and an ellipsis is inserted at the end of a trimmed line. + + + Specifies no trimming. + + + Specifies that text is trimmed to the nearest word. + + + Specifies the units of measure for a text string. + + + Specifies the device unit as the unit of measure. + + + Specifies 1/300 of an inch as the unit of measure. + + + Specifies a printer's em size of 32 as the unit of measure. + + + Specifies an inch as the unit of measure. + + + Specifies a millimeter as the unit of measure. + + + Specifies a pixel as the unit of measure. + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + Specifies world units as the unit of measure. + + + Each property of the class is a that is the color of a Windows display element. + + + Creates a from the specified structure. + The structure from which to create the . + The this method creates. + + + Gets a that is the color of the active window's border. + A that is the color of the active window's border. + + + Gets a that is the color of the background of the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the text in the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the application workspace. + A that is the color of the application workspace. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the dark shadow color of a 3-D element. + A that is the dark shadow color of a 3-D element. + + + Gets a that is the light color of a 3-D element. + A that is the light color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the color of text in a 3-D element. + A that is the color of text in a 3-D element. + + + Gets a that is the color of the desktop. + A that is the color of the desktop. + + + Gets a that is the lightest color in the color gradient of an active window's title bar. + A that is the lightest color in the color gradient of an active window's title bar. + + + Gets a that is the lightest color in the color gradient of an inactive window's title bar. + A that is the lightest color in the color gradient of an inactive window's title bar. + + + Gets a that is the color of dimmed text. + A that is the color of dimmed text. + + + Gets a that is the color of the background of selected items. + A that is the color of the background of selected items. + + + Gets a that is the color of the text of selected items. + A that is the color of the text of selected items. + + + Gets a that is the color used to designate a hot-tracked item. + A that is the color used to designate a hot-tracked item. + + + Gets a that is the color of an inactive window's border. + A that is the color of an inactive window's border. + + + Gets a that is the color of the background of an inactive window's title bar. + A that is the color of the background of an inactive window's title bar. + + + Gets a that is the color of the text in an inactive window's title bar. + A that is the color of the text in an inactive window's title bar. + + + Gets a that is the color of the background of a ToolTip. + A that is the color of the background of a ToolTip. + + + Gets a that is the color of the text of a ToolTip. + A is the color of the text of a ToolTip. + + + Gets a that is the color of a menu's background. + A that is the color of a menu's background. + + + Gets a that is the color of the background of a menu bar. + A that is the color of the background of a menu bar. + + + Gets a that is the color used to highlight menu items when the menu appears as a flat menu. + A that is the color used to highlight menu items when the menu appears as a flat menu. + + + Gets a that is the color of a menu's text. + A that is the color of a menu's text. + + + Gets a that is the color of the background of a scroll bar. + A that is the color of the background of a scroll bar. + + + Gets a that is the color of the background in the client area of a window. + A that is the color of the background in the client area of a window. + + + Gets a that is the color of a window frame. + A that is the color of a window frame. + + + Gets a that is the color of the text in the client area of a window. + A that is the color of the text in the client area of a window. + + + Specifies the fonts used to display text in Windows display elements. + + + Returns a font object that corresponds to the specified system font name. + The name of the system font you need a font object for. + A if the specified name matches a value in ; otherwise, . + + + Gets a that is used to display text in the title bars of windows. + A that is used to display text in the title bars of windows. + + + Gets the default font that applications can use for dialog boxes and forms. + The default of the system. The value returned will vary depending on the user's operating system and the local culture setting of their system. + + + Gets a font that applications can use for dialog boxes and forms. + A that can be used for dialog boxes and forms, depending on the operating system and local culture setting of the system. + + + Gets a that is used for icon titles. + A that is used for icon titles. + + + Gets a that is used for menus. + A that is used for menus. + + + Gets a that is used for message boxes. + A that is used for message boxes + + + Gets a that is used to display text in the title bars of small windows, such as tool windows. + A that is used to display text in the title bars of small windows, such as tool windows. + + + Gets a that is used to display text in the status bar. + A that is used to display text in the status bar. + + + Each property of the class is an object for Windows system-wide icons. This class cannot be inherited. + + + Gets an object that contains the default application icon (WIN32: IDI_APPLICATION). + An object that contains the default application icon. + + + Gets an object that contains the system asterisk icon (WIN32: IDI_ASTERISK). + An object that contains the system asterisk icon. + + + Gets an object that contains the system error icon (WIN32: IDI_ERROR). + An object that contains the system error icon. + + + Gets an object that contains the system exclamation icon (WIN32: IDI_EXCLAMATION). + An object that contains the system exclamation icon. + + + Gets an object that contains the system hand icon (WIN32: IDI_HAND). + An object that contains the system hand icon. + + + Gets an object that contains the system information icon (WIN32: IDI_INFORMATION). + An object that contains the system information icon. + + + Gets an object that contains the system question icon (WIN32: IDI_QUESTION). + An object that contains the system question icon. + + + Gets an object that contains the shield icon. + An object that contains the shield icon. + + + Gets an object that contains the system warning icon (WIN32: IDI_WARNING). + An object that contains the system warning icon. + + + Gets an object that contains the Windows logo icon (WIN32: IDI_WINLOGO). + An object that contains the Windows logo icon. + + + Each property of the class is a that is the color of a Windows display element and that has a width of 1 pixel. + + + Creates a from the specified . + The for the new . + The this method creates. + + + Gets a that is the color of the active window's border. + A that is the color of the active window's border. + + + Gets a that is the color of the background of the active window's title bar. + A that is the color of the background of the active window's title bar. + + + Gets a that is the color of the text in the active window's title bar. + A that is the color of the text in the active window's title bar. + + + Gets a that is the color of the application workspace. + A that is the color of the application workspace. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the face color of a 3-D element. + A that is the face color of a 3-D element. + + + Gets a that is the shadow color of a 3-D element. + A that is the shadow color of a 3-D element. + + + Gets a that is the dark shadow color of a 3-D element. + A that is the dark shadow color of a 3-D element. + + + Gets a that is the light color of a 3-D element. + A that is the light color of a 3-D element. + + + Gets a that is the highlight color of a 3-D element. + A that is the highlight color of a 3-D element. + + + Gets a that is the color of text in a 3-D element. + A that is the color of text in a 3-D element. + + + Gets a that is the color of the Windows desktop. + A that is the color of the Windows desktop. + + + Gets a that is the lightest color in the color gradient of an active window's title bar. + A that is the lightest color in the color gradient of an active window's title bar. + + + Gets a that is the lightest color in the color gradient of an inactive window's title bar. + A that is the lightest color in the color gradient of an inactive window's title bar. + + + Gets a that is the color of dimmed text. + A that is the color of dimmed text. + + + Gets a that is the color of the background of selected items. + A that is the color of the background of selected items. + + + Gets a that is the color of the text of selected items. + A that is the color of the text of selected items. + + + Gets a that is the color used to designate a hot-tracked item. + A that is the color used to designate a hot-tracked item. + + + Gets a is the color of the border of an inactive window. + A that is the color of the border of an inactive window. + + + Gets a that is the color of the title bar caption of an inactive window. + A that is the color of the title bar caption of an inactive window. + + + Gets a that is the color of the text in an inactive window's title bar. + A that is the color of the text in an inactive window's title bar. + + + Gets a that is the color of the background of a ToolTip. + A that is the color of the background of a ToolTip. + + + Gets a that is the color of the text of a ToolTip. + A that is the color of the text of a ToolTip. + + + Gets a that is the color of a menu's background. + A that is the color of a menu's background. + + + Gets a that is the color of the background of a menu bar. + A that is the color of the background of a menu bar. + + + Gets a that is the color used to highlight menu items when the menu appears as a flat menu. + A that is the color used to highlight menu items when the menu appears as a flat menu. + + + Gets a that is the color of a menu's text. + A that is the color of a menu's text. + + + Gets a that is the color of the background of a scroll bar. + A that is the color of the background of a scroll bar. + + + Gets a that is the color of the background in the client area of a window. + A that is the color of the background in the client area of a window. + + + Gets a that is the color of a window frame. + A that is the color of a window frame. + + + Gets a that is the color of the text in the client area of a window. + A that is the color of the text in the client area of a window. + + + Provides a base class for installed and private font collections. + + + Releases all resources used by this . + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. + + + Gets the array of objects associated with this . + An array of objects. + + + Specifies a generic object. + + + A generic Monospace object. + + + A generic Sans Serif object. + + + A generic Serif object. + + + Specifies the type of display for hot-key prefixes that relate to text. + + + Do not display the hot-key prefix. + + + No hot-key prefix. + + + Display the hot-key prefix. + + + Represents the fonts installed on the system. This class cannot be inherited. + + + Initializes a new instance of the class. + + + Provides a collection of font families built from font files that are provided by the client application. + + + Initializes a new instance of the class. + + + Adds a font from the specified file to this . + A that contains the file name of the font to add. + The specified font is not supported or the font file cannot be found. + + + Adds a font contained in system memory to this . + The memory address of the font to add. + The memory length of the font to add. + + + Specifies the quality of text rendering. + + + Each character is drawn using its antialiased glyph bitmap without hinting. Better quality due to antialiasing. Stem width differences may be noticeable because hinting is turned off. + + + Each character is drawn using its antialiased glyph bitmap with hinting. Much better quality due to antialiasing, but at a higher performance cost. + + + Each character is drawn using its glyph ClearType bitmap with hinting. The highest quality setting. Used to take advantage of ClearType font features. + + + Each character is drawn using its glyph bitmap. Hinting is not used. + + + Each character is drawn using its glyph bitmap. Hinting is used to improve character appearance on stems and curvature. + + + Each character is drawn using its glyph bitmap, with the system default rendering hint. The text will be drawn using whatever font-smoothing settings the user has selected for the system. + + + Each property of the class is a object that uses an image to fill the interior of a shape. This class cannot be inherited. + + + Initializes a new object that uses the specified image. + The object with which this object fills interiors. + + + Initializes a new object that uses the specified image and wrap mode. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + + + Initializes a new object that uses the specified image, wrap mode, and bounding rectangle. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, wrap mode, and bounding rectangle. + The object with which this object fills interiors. + A enumeration that specifies how this object is tiled. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image and bounding rectangle. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, bounding rectangle, and image attributes. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + An object that contains additional information about the image used by this object. + + + Initializes a new object that uses the specified image and bounding rectangle. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + + + Initializes a new object that uses the specified image, bounding rectangle, and image attributes. + The object with which this object fills interiors. + A structure that represents the bounding rectangle for this object. + An object that contains additional information about the image used by this object. + + + Creates an exact copy of this object. + The object this method creates, cast as an object. + + + Multiplies the object that represents the local geometric transformation of this object by the specified object by prepending the specified object. + The object by which to multiply the geometric transformation. + + + Multiplies the object that represents the local geometric transformation of this object by the specified object in the specified order. + The object by which to multiply the geometric transformation. + A enumeration that specifies the order in which to multiply the two matrices. + + + Resets the property of this object to identity. + + + Rotates the local geometric transformation of this object by the specified amount. This method prepends the rotation to the transformation. + The angle of rotation. + + + Rotates the local geometric transformation of this object by the specified amount in the specified order. + The angle of rotation. + A enumeration that specifies whether to append or prepend the rotation matrix. + + + Scales the local geometric transformation of this object by the specified amounts. This method prepends the scaling matrix to the transformation. + The amount by which to scale the transformation in the x direction. + The amount by which to scale the transformation in the y direction. + + + Scales the local geometric transformation of this object by the specified amounts in the specified order. + The amount by which to scale the transformation in the x direction. + The amount by which to scale the transformation in the y direction. + A enumeration that specifies whether to append or prepend the scaling matrix. + + + Translates the local geometric transformation of this object by the specified dimensions. This method prepends the translation to the transformation. + The dimension by which to translate the transformation in the x direction. + The dimension by which to translate the transformation in the y direction. + + + Translates the local geometric transformation of this object by the specified dimensions in the specified order. + The dimension by which to translate the transformation in the x direction. + The dimension by which to translate the transformation in the y direction. + The order (prepend or append) in which to apply the translation. + + + Gets the object associated with this object. + An object that represents the image with which this object fills shapes. + + + Gets or sets a copy of the object that defines a local geometric transformation for the image associated with this object. + A copy of the object that defines a geometric transformation that applies only to fills drawn by using this object. + + + Gets or sets a enumeration that indicates the wrap mode for this object. + A enumeration that specifies how fills drawn by using this object are tiled. + + + Allows you to specify an icon to represent a control in a container, such as the Microsoft Visual Studio Form Designer. + + + A object that has its small image and its large image set to . + + + Initializes a new object with an image from a specified file. + The name of a file that contains a 16 by 16 bitmap. + + + Initializes a new object based on a 16 x 16 bitmap that is embedded as a resource in a specified assembly. + A whose defining assembly is searched for the bitmap resource. + + + Initializes a new object based on a 16 by 16 bitmap that is embedded as a resource in a specified assembly. + A whose defining assembly is searched for the bitmap resource. + The name of the embedded bitmap resource. + + + Indicates whether the specified object is a object and is identical to this object. + The to test. + This method returns if is both a object and is identical to this object. + + + Gets a hash code for this object. + The hash code for this object. + + + Gets the small associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type of the object specified by the component parameter. For example, if you pass an object of type ControlA to the component parameter, then this method searches the assembly that defines ControlA. + The small associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type of the object specified by the component parameter. For example, if you pass an object of type ControlA to the component parameter, then this method searches the assembly that defines ControlA. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An object associated with this object. + + + Gets the small associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type specified by the type parameter. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + The small associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for a bitmap resource in the assembly that defines the type specified by the component type. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An associated with this object. + + + Gets the small or large associated with this object. + If this object does not already have a small image, this method searches for an embedded bitmap resource in the assembly that defines the type specified by the component type. For example, if you pass typeof(ControlA) to the type parameter, then this method searches the assembly that defines ControlA. + The name of the embedded bitmap resource. + Specifies whether this method returns a large image () or a small image (). The small image is 16 by 16, and the large image is 32 by 32. + An associated with this object. + + + Returns an object based on a bitmap resource that is embedded in an assembly. + This method searches for an embedded bitmap resource in the assembly that defines the type specified by the t parameter. For example, if you pass typeof(ControlA) to the t parameter, then this method searches the assembly that defines ControlA. + The name of the embedded bitmap resource. + Specifies whether this method returns a large image (true) or a small image (false). The small image is 16 by 16, and the large image is 32 x 32. + An object based on the retrieved bitmap. + + + \ No newline at end of file diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/useSharedDesignerContext.txt b/LeatherProject/packages/System.Drawing.Common.5.0.3/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/LeatherProject/packages/System.Drawing.Common.5.0.3/version.txt b/LeatherProject/packages/System.Drawing.Common.5.0.3/version.txt new file mode 100644 index 0000000..f5ebce6 --- /dev/null +++ b/LeatherProject/packages/System.Drawing.Common.5.0.3/version.txt @@ -0,0 +1 @@ +7211aa01b34bb55ca67bdddd6e80ce23ee201bd2