Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / PrintConfig / PageTrueTypeFont.cs / 1 / PageTrueTypeFont.cs
/*++
Copyright (C) 2003 Microsoft Corporation
All rights reserved.
Module Name:
PageTrueTypeFont.cs
Abstract:
Definition and implementation of this public feature/parameter related types.
Author:
[....] ([....]) 7/24/2003
--*/
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 a TrueType font handling mode option.
///
internal class TrueTypeFontModeOption: PrintCapabilityOption
{
#region Constructors
internal TrueTypeFontModeOption(PrintCapabilityFeature ownerFeature) : base(ownerFeature)
{
_value = 0;
}
#endregion Constructors
#region Public Properties
///
/// Gets the TrueType font handling mode's value.
///
public TrueTypeFontMode Value
{
get
{
return _value;
}
}
#endregion Public Properties
#region Public Methods
///
/// Converts the TrueType font handling mode to human-readable string.
///
/// A string that represents this TrueType font handling mode.
public override string ToString()
{
return Value.ToString();
}
#endregion Public Methods
#region Internal Fields
internal TrueTypeFontMode _value;
#endregion Internal Fields
}
///
/// Represents page TrueType font handling mode capability.
///
internal class PageTrueTypeFontModeCapability : PrintCapabilityFeature
{
#region Constructors
internal PageTrueTypeFontModeCapability(InternalPrintCapabilities ownerPrintCap)
: base(ownerPrintCap)
{
}
#endregion Constructors
#region Public Properties
///
/// Gets the collection object that represents TrueType font handling modes
/// supported by the device.
///
public Collection TrueTypeFontModes
{
get
{
return _trueTypeFontModes;
}
}
#endregion Public Properties
#region Internal Methods
internal static PrintCapabilityFeature NewFeatureCallback(InternalPrintCapabilities printCap)
{
PageTrueTypeFontModeCapability cap = new PageTrueTypeFontModeCapability(printCap);
cap._trueTypeFontModes = new Collection();
return cap;
}
internal override sealed bool AddOptionCallback(PrintCapabilityOption baseOption)
{
bool added = false;
TrueTypeFontModeOption option = baseOption as TrueTypeFontModeOption;
// validate the option is complete before adding it to the collection
if (option._optionName != null)
{
int enumValue = PrintSchemaMapper.SchemaNameToEnumValueWithArray(
PrintSchemaTags.Keywords.PageTrueTypeFontModeKeys.ModeNames,
PrintSchemaTags.Keywords.PageTrueTypeFontModeKeys.ModeEnums,
option._optionName);
if (enumValue > 0)
{
option._value = (TrueTypeFontMode)enumValue;
this.TrueTypeFontModes.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)
{
TrueTypeFontModeOption option = new TrueTypeFontModeOption(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.TrueTypeFontModes.Count > 0);
}
}
internal override sealed string FeatureName
{
get
{
return PrintSchemaTags.Keywords.PageTrueTypeFontModeKeys.Self;
}
}
internal override sealed bool HasSubFeature
{
get
{
return false;
}
}
#endregion Internal Properties
#region Internal Fields
internal Collection _trueTypeFontModes;
#endregion Internal Fields
}
///
/// Represents page TrueType font handling mode setting.
///
internal class PageTrueTypeFontModeSetting : PrintTicketFeature
{
#region Constructors
///
/// Constructs a new page TrueType font handling mode setting object.
///
internal PageTrueTypeFontModeSetting(InternalPrintTicket ownerPrintTicket)
: base(ownerPrintTicket)
{
this._featureName = PrintSchemaTags.Keywords.PageTrueTypeFontModeKeys.Self;
this._propertyMaps = new PTPropertyMapEntry[] {
new PTPropertyMapEntry(this,
PrintSchemaTags.Framework.OptionNameProperty,
PTPropValueTypes.EnumStringValue,
PrintSchemaTags.Keywords.PageTrueTypeFontModeKeys.ModeNames,
PrintSchemaTags.Keywords.PageTrueTypeFontModeKeys.ModeEnums)
};
}
#endregion Constructors
#region Public Properties
///
/// Gets or sets the value of the page TrueType font handling mode setting.
///
///
/// If the setting is not specified yet, getter will return 0.
///
///
/// The value to set is not one of the standard .
///
public TrueTypeFontMode Value
{
get
{
return (TrueTypeFontMode)this[PrintSchemaTags.Framework.OptionNameProperty];
}
set
{
if (value < PrintSchema.TrueTypeFontModeEnumMin ||
value > PrintSchema.TrueTypeFontModeEnumMax)
{
throw new ArgumentOutOfRangeException("value");
}
this[PrintSchemaTags.Framework.OptionNameProperty] = (int)value;
}
}
#endregion Public Properties
#region Public Methods
///
/// Converts the page TrueType font handling mode setting to human-readable string.
///
/// A string that represents this page TrueType font handling mode 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
- PageTheme.cs
- EdmProperty.cs
- TdsParserSafeHandles.cs
- Site.cs
- CodeDOMProvider.cs
- DeclarativeCatalogPart.cs
- Menu.cs
- ProviderManager.cs
- Zone.cs
- DataRowChangeEvent.cs
- LinqTreeNodeEvaluator.cs
- ClientTarget.cs
- PrtTicket_Public.cs
- StatusBarDrawItemEvent.cs
- FilterFactory.cs
- TreeNodeClickEventArgs.cs
- CfgParser.cs
- TemplateInstanceAttribute.cs
- Int64Converter.cs
- SettingsPropertyValue.cs
- DbDataAdapter.cs
- LogEntry.cs
- ModelUIElement3D.cs
- RegexBoyerMoore.cs
- SqlErrorCollection.cs
- StringValidator.cs
- StreamAsIStream.cs
- ColorMap.cs
- TableCellCollection.cs
- EdmItemError.cs
- Debug.cs
- GatewayDefinition.cs
- RichTextBox.cs
- AdvancedBindingEditor.cs
- TrustLevelCollection.cs
- ScrollChrome.cs
- EdmMember.cs
- ServiceDesigner.cs
- FillErrorEventArgs.cs
- FormClosedEvent.cs
- WebScriptMetadataMessageEncoderFactory.cs
- TemplateNameScope.cs
- Part.cs
- InstanceCreationEditor.cs
- BlockingCollection.cs
- AutomationPattern.cs
- VarInfo.cs
- IFormattable.cs
- Stack.cs
- ConfigUtil.cs
- FormatConvertedBitmap.cs
- DataBoundControl.cs
- BitmapEffectDrawing.cs
- TypeDefinition.cs
- validation.cs
- SqlClientMetaDataCollectionNames.cs
- PathParser.cs
- GridView.cs
- SQLInt64Storage.cs
- NamespaceInfo.cs
- SecurityPolicySection.cs
- MetadataArtifactLoaderResource.cs
- CodeStatementCollection.cs
- PrePostDescendentsWalker.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- XmlSchemaAnnotation.cs
- RawStylusSystemGestureInputReport.cs
- SqlFunctionAttribute.cs
- SecUtil.cs
- NonSerializedAttribute.cs
- SafeThreadHandle.cs
- HttpException.cs
- _SingleItemRequestCache.cs
- ChangeNode.cs
- XmlReturnWriter.cs
- ProfileWorkflowElement.cs
- DomainConstraint.cs
- Sequence.cs
- PartDesigner.cs
- NativeWindow.cs
- HyperLinkStyle.cs
- ComponentManagerBroker.cs
- GeneralTransformGroup.cs
- RSAPKCS1SignatureDeformatter.cs
- TextBoxAutomationPeer.cs
- ColorDialog.cs
- FixedSOMLineCollection.cs
- ServiceObjectContainer.cs
- DataSourceCacheDurationConverter.cs
- XmlSchemaException.cs
- CommunicationObjectFaultedException.cs
- embossbitmapeffect.cs
- IntranetCredentialPolicy.cs
- SplashScreen.cs
- GeometryValueSerializer.cs
- TextEditorTyping.cs
- ControlTemplate.cs
- Binding.cs
- CreateUserErrorEventArgs.cs
- BamlBinaryReader.cs