private void SaveWatermark(PrintableComponentLink pcl, WatermarkStorage storage)
        {
            switch (storage)
            {
            case WatermarkStorage.Registry: {
                pcl.PrintingSystem.Watermark.SaveToRegistry(registryPath);
                break;
            }

            case WatermarkStorage.XML: {
                pcl.PrintingSystem.Watermark.SaveToXml(xmlFile);
                break;
            }

            case WatermarkStorage.Stream: {
                pcl.PrintingSystem.Watermark.SaveToStream(stream);
                stream.Seek(0, SeekOrigin.Begin);
                break;
            }
            }
        }
        private void RestoreWatermark(PrintableComponentLink pcl, WatermarkStorage storage)
        {
            switch (storage)
            {
            case WatermarkStorage.Registry: {
                pcl.PrintingSystem.Watermark.RestoreFromRegistry(registryPath);
                break;
            }

            case WatermarkStorage.XML: {
                if (File.Exists(xmlFile))
                {
                    pcl.PrintingSystem.Watermark.RestoreFromXml(xmlFile);
                }
                break;
            }

            case WatermarkStorage.Stream: {
                pcl.PrintingSystem.Watermark.RestoreFromStream(stream);
                stream.Seek(0, SeekOrigin.Begin);
                break;
            }
            }
        }
        private WatermarkStorage GetStorage()
        {
            WatermarkStorage storage = WatermarkStorage.Registry;

            switch (radioGroup1.SelectedIndex)
            {
            case 0: {
                storage = WatermarkStorage.Registry;
                break;
            }

            case 1: {
                storage = WatermarkStorage.XML;
                break;
            }

            case 2: {
                storage = WatermarkStorage.Stream;
                break;
            }
            }

            return(storage);
        }