Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CommonUI / System / Drawing / Advanced / MetafileHeader.cs / 2 / MetafileHeader.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Drawing.Imaging {
using System.Configuration.Assemblies;
using System.Diagnostics;
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Drawing.Internal;
///
///
/// Contains attributes of an
/// associated .
///
[StructLayout(LayoutKind.Sequential)]
public sealed class MetafileHeader
{
// determine which to use by nullity
internal MetafileHeaderWmf wmf;
internal MetafileHeaderEmf emf;
internal MetafileHeader()
{
}
///
///
/// Gets the type of the associated .
///
public MetafileType Type
{
get
{
return IsWmf() ? wmf.type : emf.type;
}
}
///
///
///
/// Gets the size, in bytes, of the associated
/// .
///
///
public int MetafileSize
{
get
{
return IsWmf() ? wmf.size : emf.size;
}
}
///
///
/// Gets the version number of the associated
/// .
///
public int Version
{
get
{
return IsWmf() ? wmf.version : emf.version;
}
}
/* FxCop rule 'AvoidBuildingNonCallableCode' - Left here in case it is needed in the future.
private EmfPlusFlags EmfPlusFlags
{
get
{
return IsWmf() ? wmf.emfPlusFlags : emf.emfPlusFlags;
}
}
*/
///
///
/// Gets the horizontal resolution, in
/// dots-per-inch, of the associated .
///
public float DpiX
{
get
{
return IsWmf() ? wmf.dpiX : emf.dpiX;
}
}
///
///
/// Gets the vertical resolution, in
/// dots-per-inch, of the associated .
///
public float DpiY
{
get
{
return IsWmf() ? wmf.dpiY : emf.dpiY;
}
}
///
///
/// Gets a that bounds the associated
/// .
///
public Rectangle Bounds
{
get
{
return IsWmf() ?
new Rectangle(wmf.X, wmf.Y, wmf.Width, wmf.Height) :
new Rectangle(emf.X, emf.Y, emf.Width, emf.Height);
}
}
///
///
/// Returns a value indicating whether the
/// associated is in the Windows metafile
/// format.
///
public bool IsWmf()
{
if ((wmf == null) && (emf == null))
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
if ((wmf != null) &&
((wmf.type == MetafileType.Wmf) ||
(wmf.type == MetafileType.WmfPlaceable)))
return true;
else
return false;
}
///
///
///
/// Returns a value indicating whether the
/// associated is in the Windows Placeable metafile
/// format.
///
///
public bool IsWmfPlaceable()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((wmf != null) && (wmf.type == MetafileType.WmfPlaceable));
}
///
///
/// Returns a value indicating whether the
/// associated is in the Windows enhanced metafile
/// format.
///
public bool IsEmf()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type == MetafileType.Emf));
}
///
///
/// Returns a value indicating whether the
/// associated is in the Windows enhanced metafile
/// format or the Windows enhanced metafile plus.
///
public bool IsEmfOrEmfPlus()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type >= MetafileType.Emf));
}
///
///
/// Returns a value indicating whether the
/// associated is in the Windows enhanced metafile
/// plus format.
///
public bool IsEmfPlus()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type >= MetafileType.EmfPlusOnly));
}
///
///
/// Returns a value indicating whether the
/// associated is in the Dual enhanced
/// metafile format. This format supports both the enhanced and the enhanced
/// plus format.
///
public bool IsEmfPlusDual()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type == MetafileType.EmfPlusDual));
}
///
///
///
/// Returns a value indicating whether the associated supports only the Windows
/// enhanced metafile plus format.
///
///
public bool IsEmfPlusOnly()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type == MetafileType.EmfPlusOnly));
}
///
///
///
/// Returns a value indicating whether the associated is device-dependent.
///
///
public bool IsDisplay()
{
return IsEmfPlus() &&
((((int)emf.emfPlusFlags) & ((int)EmfPlusFlags.Display)) != 0);
}
///
///
/// Gets the WMF header file for the associated
/// .
///
public MetaHeader WmfHeader
{
get
{
if (wmf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return wmf.WmfHeader;
}
}
///
///
///
/// Gets the WMF header file for the associated .
///
///
/* FxCop rule 'AvoidBuildingNonCallableCode' - Left here in case it is needed in the future.
internal SafeNativeMethods.ENHMETAHEADER EmfHeader
{
get
{
if (emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return emf.EmfHeader;
}
}
*/
///
///
/// Gets the size, in bytes, of the
/// enhanced metafile plus header file.
///
public int EmfPlusHeaderSize
{
get {
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return IsWmf() ? wmf.EmfPlusHeaderSize : emf.EmfPlusHeaderSize;
}
}
///
///
///
/// Gets the logical horizontal resolution, in
/// dots-per-inch, of the associated .
///
///
public int LogicalDpiX
{
get {
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return IsWmf() ? wmf.LogicalDpiX : emf.LogicalDpiX;
}
}
///
///
/// Gets the logical vertical resolution, in
/// dots-per-inch, of the associated .
///
public int LogicalDpiY
{
get {
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return IsWmf() ? wmf.LogicalDpiY : emf.LogicalDpiX;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Drawing.Imaging {
using System.Configuration.Assemblies;
using System.Diagnostics;
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Drawing.Internal;
///
///
/// Contains attributes of an
/// associated .
///
[StructLayout(LayoutKind.Sequential)]
public sealed class MetafileHeader
{
// determine which to use by nullity
internal MetafileHeaderWmf wmf;
internal MetafileHeaderEmf emf;
internal MetafileHeader()
{
}
///
///
/// Gets the type of the associated .
///
public MetafileType Type
{
get
{
return IsWmf() ? wmf.type : emf.type;
}
}
///
///
///
/// Gets the size, in bytes, of the associated
/// .
///
///
public int MetafileSize
{
get
{
return IsWmf() ? wmf.size : emf.size;
}
}
///
///
/// Gets the version number of the associated
/// .
///
public int Version
{
get
{
return IsWmf() ? wmf.version : emf.version;
}
}
/* FxCop rule 'AvoidBuildingNonCallableCode' - Left here in case it is needed in the future.
private EmfPlusFlags EmfPlusFlags
{
get
{
return IsWmf() ? wmf.emfPlusFlags : emf.emfPlusFlags;
}
}
*/
///
///
/// Gets the horizontal resolution, in
/// dots-per-inch, of the associated .
///
public float DpiX
{
get
{
return IsWmf() ? wmf.dpiX : emf.dpiX;
}
}
///
///
/// Gets the vertical resolution, in
/// dots-per-inch, of the associated .
///
public float DpiY
{
get
{
return IsWmf() ? wmf.dpiY : emf.dpiY;
}
}
///
///
/// Gets a that bounds the associated
/// .
///
public Rectangle Bounds
{
get
{
return IsWmf() ?
new Rectangle(wmf.X, wmf.Y, wmf.Width, wmf.Height) :
new Rectangle(emf.X, emf.Y, emf.Width, emf.Height);
}
}
///
///
/// Returns a value indicating whether the
/// associated is in the Windows metafile
/// format.
///
public bool IsWmf()
{
if ((wmf == null) && (emf == null))
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
if ((wmf != null) &&
((wmf.type == MetafileType.Wmf) ||
(wmf.type == MetafileType.WmfPlaceable)))
return true;
else
return false;
}
///
///
///
/// Returns a value indicating whether the
/// associated is in the Windows Placeable metafile
/// format.
///
///
public bool IsWmfPlaceable()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((wmf != null) && (wmf.type == MetafileType.WmfPlaceable));
}
///
///
/// Returns a value indicating whether the
/// associated is in the Windows enhanced metafile
/// format.
///
public bool IsEmf()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type == MetafileType.Emf));
}
///
///
/// Returns a value indicating whether the
/// associated is in the Windows enhanced metafile
/// format or the Windows enhanced metafile plus.
///
public bool IsEmfOrEmfPlus()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type >= MetafileType.Emf));
}
///
///
/// Returns a value indicating whether the
/// associated is in the Windows enhanced metafile
/// plus format.
///
public bool IsEmfPlus()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type >= MetafileType.EmfPlusOnly));
}
///
///
/// Returns a value indicating whether the
/// associated is in the Dual enhanced
/// metafile format. This format supports both the enhanced and the enhanced
/// plus format.
///
public bool IsEmfPlusDual()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type == MetafileType.EmfPlusDual));
}
///
///
///
/// Returns a value indicating whether the associated supports only the Windows
/// enhanced metafile plus format.
///
///
public bool IsEmfPlusOnly()
{
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return ((emf != null) && (emf.type == MetafileType.EmfPlusOnly));
}
///
///
///
/// Returns a value indicating whether the associated is device-dependent.
///
///
public bool IsDisplay()
{
return IsEmfPlus() &&
((((int)emf.emfPlusFlags) & ((int)EmfPlusFlags.Display)) != 0);
}
///
///
/// Gets the WMF header file for the associated
/// .
///
public MetaHeader WmfHeader
{
get
{
if (wmf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return wmf.WmfHeader;
}
}
///
///
///
/// Gets the WMF header file for the associated .
///
///
/* FxCop rule 'AvoidBuildingNonCallableCode' - Left here in case it is needed in the future.
internal SafeNativeMethods.ENHMETAHEADER EmfHeader
{
get
{
if (emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return emf.EmfHeader;
}
}
*/
///
///
/// Gets the size, in bytes, of the
/// enhanced metafile plus header file.
///
public int EmfPlusHeaderSize
{
get {
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return IsWmf() ? wmf.EmfPlusHeaderSize : emf.EmfPlusHeaderSize;
}
}
///
///
///
/// Gets the logical horizontal resolution, in
/// dots-per-inch, of the associated .
///
///
public int LogicalDpiX
{
get {
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return IsWmf() ? wmf.LogicalDpiX : emf.LogicalDpiX;
}
}
///
///
/// Gets the logical vertical resolution, in
/// dots-per-inch, of the associated .
///
public int LogicalDpiY
{
get {
if (wmf == null && emf == null)
throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter);
return IsWmf() ? wmf.LogicalDpiY : emf.LogicalDpiX;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SelectorAutomationPeer.cs
- BaseParagraph.cs
- BitmapFrameEncode.cs
- XmlCharacterData.cs
- MethodImplAttribute.cs
- RelationshipConverter.cs
- DynamicPropertyReader.cs
- AssemblyName.cs
- DaylightTime.cs
- WebPermission.cs
- WebBrowserSiteBase.cs
- DataBindingCollection.cs
- TextViewBase.cs
- DataGridTableCollection.cs
- Hyperlink.cs
- QilGenerator.cs
- xml.cs
- BCLDebug.cs
- RegexGroupCollection.cs
- AutoResetEvent.cs
- DataComponentGenerator.cs
- TypeExtensionConverter.cs
- LineVisual.cs
- BindingCollection.cs
- FileDialogCustomPlaces.cs
- HttpRuntimeSection.cs
- VariableQuery.cs
- TextServicesCompartmentEventSink.cs
- ProviderConnectionPointCollection.cs
- SqlInternalConnectionTds.cs
- ComAdminWrapper.cs
- BuildManagerHost.cs
- OSFeature.cs
- MimeReflector.cs
- BitmapEffectInput.cs
- CodeLabeledStatement.cs
- InvokeGenerator.cs
- DrawingImage.cs
- RuntimeIdentifierPropertyAttribute.cs
- WorkflowTransactionService.cs
- ParseChildrenAsPropertiesAttribute.cs
- XmlCharType.cs
- NameSpaceEvent.cs
- DictionaryBase.cs
- ConfigXmlText.cs
- FileVersionInfo.cs
- NativeMethods.cs
- UnsettableComboBox.cs
- MdImport.cs
- SqlParameterCollection.cs
- ManipulationDevice.cs
- FatalException.cs
- _SSPISessionCache.cs
- httpapplicationstate.cs
- SqlMethodCallConverter.cs
- HttpRuntime.cs
- PageTheme.cs
- _IPv6Address.cs
- TextSpanModifier.cs
- ConfigurationSchemaErrors.cs
- Propagator.Evaluator.cs
- HtmlForm.cs
- SimpleTextLine.cs
- ConditionalAttribute.cs
- Scheduling.cs
- CheckBox.cs
- SelectionRangeConverter.cs
- IpcManager.cs
- TypeTypeConverter.cs
- Content.cs
- GrammarBuilderRuleRef.cs
- XPathNodeIterator.cs
- PageCatalogPart.cs
- XmlAttributes.cs
- CapabilitiesSection.cs
- basevalidator.cs
- DesignerForm.cs
- LayoutUtils.cs
- TextServicesCompartmentEventSink.cs
- SpinLock.cs
- TemplateBindingExpressionConverter.cs
- Pool.cs
- URLEditor.cs
- CodeComment.cs
- TabItemWrapperAutomationPeer.cs
- ViewStateException.cs
- Point3DAnimationBase.cs
- ProfilePropertyNameValidator.cs
- TreeNodeClickEventArgs.cs
- DaylightTime.cs
- NullableConverter.cs
- WindowHideOrCloseTracker.cs
- XhtmlCssHandler.cs
- Type.cs
- ServicesUtilities.cs
- TransactionManager.cs
- TextLine.cs
- MultipleViewPattern.cs
- SecurityElement.cs
- DisableDpiAwarenessAttribute.cs