Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / HitTestFilterBehavior.cs / 1305600 / HitTestFilterBehavior.cs
//------------------------------------------------------------------------------
// Microsoft Avalon
// Copyright (c) Microsoft Corporation, 2003
//
// File: HitTestFilterBehavior
//-----------------------------------------------------------------------------
using System;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Threading;
using System.Collections;
using System.Diagnostics;
using MS.Internal;
namespace System.Windows.Media
{
///
/// Behavior for filtering visuals while hit tesitng
///
// This enum intentionally does not have a [Flags] attribute. Internally we break this enum
// into flags, but the enum values already contain all legal combinations. Users should not
// be combining these flags. (Windows OS #1010970)
public enum HitTestFilterBehavior
{
///
/// Hit test against current visual and not its children.
///
ContinueSkipChildren = HTFBInterpreter.c_DoHitTest,
///
/// Do not hit test against current visual or its children.
///
ContinueSkipSelfAndChildren = 0,
///
/// Do not hit test against current visual but hit test against children.
///
ContinueSkipSelf = HTFBInterpreter.c_IncludeChidren,
///
/// Hit test against current visual and children.
///
Continue = HTFBInterpreter.c_DoHitTest | HTFBInterpreter.c_IncludeChidren,
///
/// Stop any further hit testing and return.
///
Stop = HTFBInterpreter.c_Stop
}
///
/// Delegate for hit tester to control whether to test against the
/// current scene graph node.
///
public delegate HitTestFilterBehavior HitTestFilterCallback(DependencyObject potentialHitTestTarget);
// Static helper class with methods for interpreting the HitTestFilterBehavior enum.
internal static class HTFBInterpreter
{
internal const int c_DoHitTest = (1 << 1);
internal const int c_IncludeChidren = (1 << 2);
internal const int c_Stop = (1 << 3);
internal static bool DoHitTest(HitTestFilterBehavior behavior)
{
return (((int)behavior) & c_DoHitTest) == c_DoHitTest;
}
internal static bool IncludeChildren(HitTestFilterBehavior behavior)
{
return (((int)behavior) & c_IncludeChidren) == c_IncludeChidren;
}
internal static bool Stop(HitTestFilterBehavior behavior)
{
return (((int)behavior) & c_Stop) == c_Stop;
}
internal static bool SkipSubgraph(HitTestFilterBehavior behavior)
{
return behavior == HitTestFilterBehavior.ContinueSkipSelfAndChildren;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
// Microsoft Avalon
// Copyright (c) Microsoft Corporation, 2003
//
// File: HitTestFilterBehavior
//-----------------------------------------------------------------------------
using System;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Threading;
using System.Collections;
using System.Diagnostics;
using MS.Internal;
namespace System.Windows.Media
{
///
/// Behavior for filtering visuals while hit tesitng
///
// This enum intentionally does not have a [Flags] attribute. Internally we break this enum
// into flags, but the enum values already contain all legal combinations. Users should not
// be combining these flags. (Windows OS #1010970)
public enum HitTestFilterBehavior
{
///
/// Hit test against current visual and not its children.
///
ContinueSkipChildren = HTFBInterpreter.c_DoHitTest,
///
/// Do not hit test against current visual or its children.
///
ContinueSkipSelfAndChildren = 0,
///
/// Do not hit test against current visual but hit test against children.
///
ContinueSkipSelf = HTFBInterpreter.c_IncludeChidren,
///
/// Hit test against current visual and children.
///
Continue = HTFBInterpreter.c_DoHitTest | HTFBInterpreter.c_IncludeChidren,
///
/// Stop any further hit testing and return.
///
Stop = HTFBInterpreter.c_Stop
}
///
/// Delegate for hit tester to control whether to test against the
/// current scene graph node.
///
public delegate HitTestFilterBehavior HitTestFilterCallback(DependencyObject potentialHitTestTarget);
// Static helper class with methods for interpreting the HitTestFilterBehavior enum.
internal static class HTFBInterpreter
{
internal const int c_DoHitTest = (1 << 1);
internal const int c_IncludeChidren = (1 << 2);
internal const int c_Stop = (1 << 3);
internal static bool DoHitTest(HitTestFilterBehavior behavior)
{
return (((int)behavior) & c_DoHitTest) == c_DoHitTest;
}
internal static bool IncludeChildren(HitTestFilterBehavior behavior)
{
return (((int)behavior) & c_IncludeChidren) == c_IncludeChidren;
}
internal static bool Stop(HitTestFilterBehavior behavior)
{
return (((int)behavior) & c_Stop) == c_Stop;
}
internal static bool SkipSubgraph(HitTestFilterBehavior behavior)
{
return behavior == HitTestFilterBehavior.ContinueSkipSelfAndChildren;
}
}
}
// 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
- DesignerForm.cs
- RuntimeWrappedException.cs
- BlurEffect.cs
- HttpModuleAction.cs
- SafeNativeMethods.cs
- InputLangChangeEvent.cs
- XmlAttributeProperties.cs
- IncrementalHitTester.cs
- LinqToSqlWrapper.cs
- DocumentEventArgs.cs
- KnownBoxes.cs
- SynchronizationContext.cs
- FtpRequestCacheValidator.cs
- BitmapSource.cs
- RouteCollection.cs
- HtmlTableRow.cs
- VSWCFServiceContractGenerator.cs
- RegexStringValidator.cs
- BehaviorEditorPart.cs
- ManifestResourceInfo.cs
- FormCollection.cs
- TagMapInfo.cs
- EventProviderWriter.cs
- GraphicsPathIterator.cs
- CodeMethodMap.cs
- PackagePartCollection.cs
- CustomAttribute.cs
- MouseCaptureWithinProperty.cs
- TextContainerHelper.cs
- QueryPrefixOp.cs
- Matrix3DConverter.cs
- RtfToken.cs
- HttpPostedFileWrapper.cs
- EventListenerClientSide.cs
- SafeRightsManagementQueryHandle.cs
- AmbientProperties.cs
- DataControlPagerLinkButton.cs
- MenuItemAutomationPeer.cs
- CustomCredentialPolicy.cs
- PkcsUtils.cs
- WarningException.cs
- BitmapEffectInputConnector.cs
- NameTable.cs
- SafeLocalMemHandle.cs
- ComponentResourceManager.cs
- DataTableMappingCollection.cs
- OleDbConnectionInternal.cs
- ChannelHandler.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ConfigurationStrings.cs
- MediaElementAutomationPeer.cs
- SecurityDocument.cs
- DbDataSourceEnumerator.cs
- AdornerHitTestResult.cs
- SqlRewriteScalarSubqueries.cs
- ToolStripSeparatorRenderEventArgs.cs
- Viewport2DVisual3D.cs
- MobileRedirect.cs
- DynamicPropertyReader.cs
- ListViewDeletedEventArgs.cs
- RenderCapability.cs
- TracingConnectionInitiator.cs
- BuildProvider.cs
- ConfigurationSettings.cs
- MatrixValueSerializer.cs
- SqlDependency.cs
- JsonServiceDocumentSerializer.cs
- ClientScriptManager.cs
- XmlWrappingReader.cs
- LocalizabilityAttribute.cs
- DoubleIndependentAnimationStorage.cs
- InputProcessorProfiles.cs
- CustomError.cs
- WebBrowserUriTypeConverter.cs
- DoubleLinkListEnumerator.cs
- DependencyObject.cs
- InputScopeAttribute.cs
- EllipseGeometry.cs
- TreeView.cs
- altserialization.cs
- Compiler.cs
- MetadataStore.cs
- __ComObject.cs
- ColumnResizeAdorner.cs
- TransformGroup.cs
- SuppressMessageAttribute.cs
- SocketAddress.cs
- ComponentChangedEvent.cs
- ISCIIEncoding.cs
- IdentitySection.cs
- SudsWriter.cs
- NetSectionGroup.cs
- DataGridViewBindingCompleteEventArgs.cs
- SolidBrush.cs
- DoubleStorage.cs
- CultureTable.cs
- DragStartedEventArgs.cs
- SimpleColumnProvider.cs
- DateTime.cs
- ScrollEventArgs.cs