Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Ink / Events.cs / 1305600 / Events.cs
//----------------------------------------------------------------------------
//
// File: Events.cs
//
// Description:
// Defined our Delegates, EventHandlers and EventArgs
//
// Authors: samgeo
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Windows;
using System.Windows.Media;
using System.Windows.Documents;
using System.Windows.Ink;
using Swi = System.Windows.Ink;
using MS.Utility;
namespace System.Windows.Controls
{
///
/// The delegate to use for the StrokeCollected event
///
public delegate void InkCanvasStrokeCollectedEventHandler(object sender, InkCanvasStrokeCollectedEventArgs e);
///
/// InkCanvasStrokeCollectedEventArgs
///
public class InkCanvasStrokeCollectedEventArgs : RoutedEventArgs
{
///
/// [TBS]
///
public InkCanvasStrokeCollectedEventArgs(Swi.Stroke stroke) : base(InkCanvas.StrokeCollectedEvent)
{
if (stroke == null)
{
throw new ArgumentNullException("stroke");
}
_stroke = stroke;
}
///
/// [TBS]
///
public Swi.Stroke Stroke
{
get { return _stroke; }
}
///
/// The mechanism used to call the type-specific handler on the
/// target.
///
///
/// The generic handler to call in a type-specific way.
///
///
/// The target to call the handler on.
///
protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget)
{
InkCanvasStrokeCollectedEventHandler handler = (InkCanvasStrokeCollectedEventHandler)genericHandler;
handler(genericTarget, this);
}
private Swi.Stroke _stroke;
}
///
/// The delegate to use for the StrokesChanged event
///
public delegate void InkCanvasStrokesReplacedEventHandler(object sender, InkCanvasStrokesReplacedEventArgs e);
///
/// InkCanvasStrokesChangedEventArgs
///
public class InkCanvasStrokesReplacedEventArgs : EventArgs
{
///
/// InkCanvasStrokesReplacedEventArgs
///
internal InkCanvasStrokesReplacedEventArgs(Swi.StrokeCollection newStrokes, Swi.StrokeCollection previousStrokes)
{
if (newStrokes == null)
{
throw new ArgumentNullException("newStrokes");
}
if (previousStrokes == null)
{
throw new ArgumentNullException("previousStrokes");
}
_newStrokes = newStrokes;
_previousStrokes = previousStrokes;
}
///
/// [TBS]
///
public Swi.StrokeCollection NewStrokes
{
get { return _newStrokes; }
}
///
/// [TBS]
///
public Swi.StrokeCollection PreviousStrokes
{
get { return _previousStrokes; }
}
private Swi.StrokeCollection _newStrokes;
private Swi.StrokeCollection _previousStrokes;
}
///
/// The delegate to use for the SelectionChanging event
///
/// This event is only thrown when you change the selection programmatically (through our APIs, not the SelectionService's
/// or through our lasso selection behavior
///
public delegate void InkCanvasSelectionChangingEventHandler(object sender, InkCanvasSelectionChangingEventArgs e);
///
/// Event arguments sent when the SelectionChanging event is raised.
///
public class InkCanvasSelectionChangingEventArgs : CancelEventArgs
{
private StrokeCollection _strokes;
private List _elements;
private bool _strokesChanged;
private bool _elementsChanged;
///
/// Constructor
///
internal InkCanvasSelectionChangingEventArgs(StrokeCollection selectedStrokes, IEnumerable selectedElements)
{
if (selectedStrokes == null)
{
throw new ArgumentNullException("selectedStrokes");
}
if (selectedElements == null)
{
throw new ArgumentNullException("selectedElements");
}
_strokes = selectedStrokes;
List elements =
new List(selectedElements);
_elements = elements;
_strokesChanged = false;
_elementsChanged = false;
}
///
/// An internal flag which indicates the Strokes has changed.
///
internal bool StrokesChanged
{
get
{
return _strokesChanged;
}
}
///
/// An internal flag which indicates the Elements has changed.
///
internal bool ElementsChanged
{
get
{
return _elementsChanged;
}
}
///
/// Set the selected elements
///
/// The new selected elements
public void SetSelectedElements(IEnumerable selectedElements)
{
if ( selectedElements == null )
{
throw new ArgumentNullException("selectedElements");
}
List elements =
new List(selectedElements);
_elements = elements;
_elementsChanged = true;
}
///
/// Get the selected elements
///
/// The selected elements
public ReadOnlyCollection GetSelectedElements()
{
return new ReadOnlyCollection(_elements);
}
///
/// Set the selected strokes
///
/// The new selected strokes
public void SetSelectedStrokes(StrokeCollection selectedStrokes)
{
if ( selectedStrokes == null )
{
throw new ArgumentNullException("selectedStrokes");
}
_strokes = selectedStrokes;
_strokesChanged = true;
}
///
/// Get the selected strokes
///
/// The selected strokes
public StrokeCollection GetSelectedStrokes()
{
//
// make a copy of out internal collection.
//
StrokeCollection sc = new StrokeCollection();
sc.Add(_strokes);
return sc;
}
}
///
/// The delegate to use for the SelectionMoving, SelectionResizing events
///
public delegate void InkCanvasSelectionEditingEventHandler(object sender, InkCanvasSelectionEditingEventArgs e);
///
/// Event arguments sent when the SelectionChanging event is raised.
///
public class InkCanvasSelectionEditingEventArgs : CancelEventArgs
{
private Rect _oldRectangle;
private Rect _newRectangle;
///
/// Constructor
///
internal InkCanvasSelectionEditingEventArgs(Rect oldRectangle, Rect newRectangle)
{
_oldRectangle = oldRectangle;
_newRectangle = newRectangle;
}
///
/// Read access to the OldRectangle, from before the edit.
///
public Rect OldRectangle
{
get { return _oldRectangle;}
}
///
/// Read access to the NewRectangle, resulting from this edit.
///
public Rect NewRectangle
{
get { return _newRectangle;}
set {_newRectangle = value;}
}
}
///
/// The delegate to use for the InkErasing event
///
public delegate void InkCanvasStrokeErasingEventHandler(object sender, InkCanvasStrokeErasingEventArgs e);
///
/// Event arguments sent when the SelectionChanging event is raised.
///
public class InkCanvasStrokeErasingEventArgs : CancelEventArgs
{
private Swi.Stroke _stroke;
///
/// Constructor
///
internal InkCanvasStrokeErasingEventArgs(Swi.Stroke stroke)
{
if (stroke == null)
{
throw new ArgumentNullException("stroke");
}
_stroke = stroke;
}
///
/// Read access to the stroke about to be deleted
///
public Stroke Stroke
{
get { return _stroke;}
}
}
///
/// TBD
///
/// sender
/// e
public delegate void InkCanvasGestureEventHandler(object sender, InkCanvasGestureEventArgs e);
///
/// ApplicationGestureEventArgs
///
public class InkCanvasGestureEventArgs : RoutedEventArgs
{
private StrokeCollection _strokes;
private List _gestureRecognitionResults;
private bool _cancel;
///
/// TBD
///
/// strokes
/// gestureRecognitionResults
public InkCanvasGestureEventArgs(StrokeCollection strokes, IEnumerable gestureRecognitionResults)
: base(InkCanvas.GestureEvent)
{
if (strokes == null)
{
throw new ArgumentNullException("strokes");
}
if (strokes.Count < 1)
{
throw new ArgumentException(SR.Get(SRID.InvalidEmptyStrokeCollection), "strokes");
}
if (gestureRecognitionResults == null)
{
throw new ArgumentNullException("strokes");
}
List results =
new List(gestureRecognitionResults);
if (results.Count == 0)
{
throw new ArgumentException(SR.Get(SRID.InvalidEmptyArray), "gestureRecognitionResults");
}
_strokes = strokes;
_gestureRecognitionResults = results;
}
///
/// TBD
///
public StrokeCollection Strokes
{
get { return _strokes; }
}
///
/// TBD
///
///
public ReadOnlyCollection GetGestureRecognitionResults()
{
return new ReadOnlyCollection(_gestureRecognitionResults);
}
///
/// Indicates whether the Gesture event needs to be cancelled.
///
public bool Cancel
{
get
{
return _cancel;
}
set
{
_cancel = value;
}
}
///
/// The mechanism used to call the type-specific handler on the
/// target.
///
///
/// The generic handler to call in a type-specific way.
///
///
/// The target to call the handler on.
///
protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget)
{
InkCanvasGestureEventHandler handler = (InkCanvasGestureEventHandler)genericHandler;
handler(genericTarget, this);
}
}
}
// 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
- RubberbandSelector.cs
- WebPartUtil.cs
- CssTextWriter.cs
- ViewGenResults.cs
- HttpVersion.cs
- WriteableBitmap.cs
- BuildProvidersCompiler.cs
- Int32Collection.cs
- DescendantOverDescendantQuery.cs
- XamlNamespaceHelper.cs
- RegexCharClass.cs
- CodeTypeDeclaration.cs
- TextParaClient.cs
- ScriptControl.cs
- XomlCompilerResults.cs
- NumericUpDownAcceleration.cs
- RectangleGeometry.cs
- SqlDataSourceRefreshSchemaForm.cs
- RegexRunnerFactory.cs
- HashFinalRequest.cs
- ClusterSafeNativeMethods.cs
- HttpPostedFile.cs
- DbProviderFactories.cs
- XNodeValidator.cs
- DataServiceException.cs
- EncryptedData.cs
- EpmSyndicationContentSerializer.cs
- HttpWebRequest.cs
- ContainerAction.cs
- HttpDebugHandler.cs
- RemotingServices.cs
- ListParagraph.cs
- PageCatalogPart.cs
- SchemaTypeEmitter.cs
- WebPartZoneCollection.cs
- recordstatescratchpad.cs
- InternalPermissions.cs
- FixedSchema.cs
- BindToObject.cs
- BinaryWriter.cs
- PerformanceCounterPermissionEntry.cs
- DataGridViewTextBoxCell.cs
- BinaryReader.cs
- EndOfStreamException.cs
- WpfXamlType.cs
- InputScopeManager.cs
- ControlBuilder.cs
- StringUtil.cs
- InkCanvasSelectionAdorner.cs
- StoreContentChangedEventArgs.cs
- SQLDateTimeStorage.cs
- XmlSchemaObjectTable.cs
- NegotiateStream.cs
- mediaeventargs.cs
- MenuEventArgs.cs
- FormatException.cs
- TextParagraphProperties.cs
- ComponentSerializationService.cs
- Pair.cs
- HostingEnvironment.cs
- RelatedImageListAttribute.cs
- CachedFontFace.cs
- AnimationLayer.cs
- CombinedGeometry.cs
- MetadataProperty.cs
- Scheduler.cs
- BindingCompleteEventArgs.cs
- TimelineGroup.cs
- NumericPagerField.cs
- SqlCharStream.cs
- XmlChildNodes.cs
- VoiceObjectToken.cs
- _WebProxyDataBuilder.cs
- InstallerTypeAttribute.cs
- WindowsBrush.cs
- TraceSource.cs
- SettingsProviderCollection.cs
- HandledEventArgs.cs
- SSmlParser.cs
- SystemIPInterfaceProperties.cs
- DataGridViewUtilities.cs
- EntitySetBaseCollection.cs
- ToolStripContextMenu.cs
- PartialCachingControl.cs
- SamlAudienceRestrictionCondition.cs
- SiteMapNodeItemEventArgs.cs
- TextRangeAdaptor.cs
- TransactionManager.cs
- DrawToolTipEventArgs.cs
- CDSsyncETWBCLProvider.cs
- Matrix3D.cs
- XPSSignatureDefinition.cs
- BasePattern.cs
- ExpandoClass.cs
- SQLChars.cs
- ProfileParameter.cs
- DataGridViewRowsAddedEventArgs.cs
- DataGridPageChangedEventArgs.cs
- DesignSurfaceEvent.cs
- QueryableDataSource.cs