Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / PrintConfig / PageOutputQuality.cs / 1 / PageOutputQuality.cs
/*++
Copyright (C) 2003-2005 Microsoft Corporation
All rights reserved.
Module Name:
PageOutputQuality.cs
Abstract:
Definition and implementation of this public feature/parameter related types.
Author:
[....] ([....]) 05/26/2005
--*/
using System;
using System.IO;
using System.Collections;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Printing;
using MS.Internal.Printing.Configuration;
namespace MS.Internal.Printing.Configuration
{
///
/// Represents an output quality option.
///
internal class OutputQualityOption: PrintCapabilityOption
{
#region Constructors
internal OutputQualityOption(PrintCapabilityFeature ownerFeature) : base(ownerFeature)
{
_value = 0;
}
#endregion Constructors
#region Public Properties
///
/// Gets the output quality option's value.
///
public OutputQuality Value
{
get
{
return _value;
}
}
#endregion Public Properties
#region Public Methods
///
/// Converts the output quality option to human-readable string.
///
/// A string that represents this output quality option.
public override string ToString()
{
return Value.ToString();
}
#endregion Public Methods
#region Internal Fields
internal OutputQuality _value;
#endregion Internal Fields
}
///
/// Represents page output quality capability.
///
internal class PageOutputQualityCapability : PrintCapabilityFeature
{
#region Constructors
internal PageOutputQualityCapability(InternalPrintCapabilities ownerPrintCap)
: base(ownerPrintCap)
{
}
#endregion Constructors
#region Public Properties
///
/// Gets the collection object that represents output quality options supported by the device.
///
public Collection OutputQualityOptions
{
get
{
return _qualityOptions;
}
}
#endregion Public Properties
#region Internal Methods
internal static PrintCapabilityFeature NewFeatureCallback(InternalPrintCapabilities printCap)
{
PageOutputQualityCapability cap = new PageOutputQualityCapability(printCap);
cap._qualityOptions = new Collection();
return cap;
}
internal override sealed bool AddOptionCallback(PrintCapabilityOption baseOption)
{
bool added = false;
OutputQualityOption option = baseOption as OutputQualityOption;
// validate the option is complete before adding it to the collection
if (option._optionName != null)
{
int enumValue = PrintSchemaMapper.SchemaNameToEnumValueWithArray(
PrintSchemaTags.Keywords.PageOutputQualityKeys.OutputQualityNames,
PrintSchemaTags.Keywords.PageOutputQualityKeys.OutputQualityEnums,
option._optionName);
if (enumValue > 0)
{
option._value = (OutputQuality)enumValue;
this.OutputQualityOptions.Add(option);
added = true;
}
}
return added;
}
internal override sealed void AddSubFeatureCallback(PrintCapabilityFeature subFeature)
{
// no sub-feature
return;
}
internal override sealed bool FeaturePropCallback(PrintCapabilityFeature feature, XmlPrintCapReader reader)
{
// no feature property to handle
return false;
}
internal override sealed PrintCapabilityOption NewOptionCallback(PrintCapabilityFeature baseFeature)
{
OutputQualityOption option = new OutputQualityOption(baseFeature);
return option;
}
internal override sealed void OptionAttrCallback(PrintCapabilityOption baseOption, XmlPrintCapReader reader)
{
// no option attribute to handle
return;
}
internal override sealed bool OptionPropCallback(PrintCapabilityOption option, XmlPrintCapReader reader)
{
// no option property to handle
return false;
}
#endregion Internal Methods
#region Internal Properties
internal override sealed bool IsValid
{
get
{
return (this.OutputQualityOptions.Count > 0);
}
}
internal override sealed string FeatureName
{
get
{
return PrintSchemaTags.Keywords.PageOutputQualityKeys.Self;
}
}
internal override sealed bool HasSubFeature
{
get
{
return false;
}
}
#endregion Internal Properties
#region Internal Fields
internal Collection _qualityOptions;
#endregion Internal Fields
}
///
/// Represents page output quality setting.
///
internal class PageOutputQualitySetting : PrintTicketFeature
{
#region Constructors
///
/// Constructs a new page output quality setting object.
///
internal PageOutputQualitySetting(InternalPrintTicket ownerPrintTicket)
: base(ownerPrintTicket)
{
this._featureName = PrintSchemaTags.Keywords.PageOutputQualityKeys.Self;
this._propertyMaps = new PTPropertyMapEntry[] {
new PTPropertyMapEntry(this,
PrintSchemaTags.Framework.OptionNameProperty,
PTPropValueTypes.EnumStringValue,
PrintSchemaTags.Keywords.PageOutputQualityKeys.OutputQualityNames,
PrintSchemaTags.Keywords.PageOutputQualityKeys.OutputQualityEnums)
};
}
#endregion Constructors
#region Public Properties
///
/// Gets or sets the value of this page output quality setting.
///
///
/// If the setting is not specified yet, getter will return 0.
///
///
/// The value to set is not one of the standard .
///
public OutputQuality Value
{
get
{
return (OutputQuality)this[PrintSchemaTags.Framework.OptionNameProperty];
}
set
{
if (value < PrintSchema.OutputQualityEnumMin ||
value > PrintSchema.OutputQualityEnumMax)
{
throw new ArgumentOutOfRangeException("value");
}
this[PrintSchemaTags.Framework.OptionNameProperty] = (int)value;
}
}
#endregion Public Properties
#region Public Methods
///
/// Converts the page output quality setting to human-readable string.
///
/// A string that represents this page output quality setting.
public override string ToString()
{
return Value.ToString();
}
#endregion Public Methods
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Point3DKeyFrameCollection.cs
- AnnotationResourceCollection.cs
- ProfileProvider.cs
- CompilerParameters.cs
- AdPostCacheSubstitution.cs
- ListSurrogate.cs
- RuntimeConfigurationRecord.cs
- WCFBuildProvider.cs
- XmlEntity.cs
- FormatStringEditor.cs
- EntityContainerRelationshipSet.cs
- RegexMatchCollection.cs
- xmlfixedPageInfo.cs
- DataSourceView.cs
- ConfigurationUtility.cs
- SafeNativeMethods.cs
- SoapCodeExporter.cs
- TypeElementCollection.cs
- EasingQuaternionKeyFrame.cs
- ArrangedElement.cs
- _ProxyChain.cs
- RequiredAttributeAttribute.cs
- ValidatorUtils.cs
- NumberSubstitution.cs
- BuildProviderUtils.cs
- TdsValueSetter.cs
- HotCommands.cs
- ModelUIElement3D.cs
- RelatedImageListAttribute.cs
- CodeAttributeArgumentCollection.cs
- UserControlBuildProvider.cs
- ObjectDataSourceStatusEventArgs.cs
- CustomErrorCollection.cs
- FontFamily.cs
- TransformerConfigurationWizardBase.cs
- UIElementParagraph.cs
- ListViewTableCell.cs
- InheritablePropertyChangeInfo.cs
- WebPartEventArgs.cs
- AttachInfo.cs
- CreateUserWizardAutoFormat.cs
- XamlSerializationHelper.cs
- BindStream.cs
- SQLByte.cs
- DateTimeFormatInfo.cs
- DefaultCompensation.cs
- RenderTargetBitmap.cs
- Events.cs
- IPHostEntry.cs
- TimeSpanValidatorAttribute.cs
- XmlSchemaException.cs
- DataListItem.cs
- DataGridViewComboBoxEditingControl.cs
- StylusButtonEventArgs.cs
- PersonalizableAttribute.cs
- WebPartMovingEventArgs.cs
- XmlKeywords.cs
- Decoder.cs
- ProfessionalColors.cs
- WebPartManager.cs
- TextRangeSerialization.cs
- Composition.cs
- SqlServer2KCompatibilityCheck.cs
- NaturalLanguageHyphenator.cs
- CounterCreationDataCollection.cs
- WorkflowNamespace.cs
- SchemaTypeEmitter.cs
- CounterSampleCalculator.cs
- SignerInfo.cs
- TreeViewImageIndexConverter.cs
- ExpressionParser.cs
- DbProviderFactories.cs
- DynamicEntity.cs
- ControlBuilderAttribute.cs
- LinqDataSourceHelper.cs
- MachineKeyConverter.cs
- FieldValue.cs
- FileDataSourceCache.cs
- EventBindingService.cs
- ObjectConverter.cs
- NativeObjectSecurity.cs
- MsdtcWrapper.cs
- ClientProxyGenerator.cs
- Int32CollectionValueSerializer.cs
- COM2Properties.cs
- Handle.cs
- PatternMatcher.cs
- WebBrowserDocumentCompletedEventHandler.cs
- MachineKeyConverter.cs
- NumberSubstitution.cs
- BooleanSwitch.cs
- DataListItem.cs
- ConfigXmlCDataSection.cs
- XmlILCommand.cs
- DataGridViewCellLinkedList.cs
- TreeView.cs
- SwitchAttribute.cs
- VerificationAttribute.cs
- SystemResources.cs
- ComPlusDiagnosticTraceSchemas.cs