Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Represents information about the state of the stylus.
| XAML |
Cannot be used in XAML.
|
| Scripting |
To create an object using scripting, see CreateFromXAML.
|
Properties
Methods
Equals, FindName, GetHost, GetValue, SetValue
Remarks
For mouse input that is used for ink support in leiu of a stylus, DeviceType returns Mouse.
Examples
The following example uses the PressureFactor property to determine the size of a stroke. The PressureFactor is obtained from the first StylusPoint of each stroke, then the stroke Width and Height is calculated by multiplying the PressureFactor by 20.
| JavaScript |
|---|
var agCtrl;
var inkPresenter; // Corresponds to InkPresenter element in xaml
var newStroke = null; // The Stroke variable we'll use here in mouse handlers
var daWidth;
var daHeight;
function root_Loaded(sender, args)
{
// Get the html object which contains the Silverlight plug-in
agCtrl = sender.GetHost();
inkPresenter = sender.findname("inkPresenterElement");
}
// Capture mouse movement when the left button is pressed then create the stroke.
function InkPresenterMouseDown(sender,args)
{
inkPresenter.CaptureMouse();
newStroke = agCtrl.content.createFromXaml('<Stroke/>');
// Get the DeviceType
if(args.GetStylusInfo().deviceType == "Stylus")
{
var sps = args.GetStylusPoints(inkPresenter);
SetStylusStrokeSize(sps);
}
// If the device type is not a stylus then use the default stroke height and width.
else
{
daWidth = 3;
daHeight = 3;
}
// Set the drawing attributes properties
newStroke.DrawingAttributes.Width = daWidth;
newStroke.DrawingAttributes.Height = daHeight;
newStroke.DrawingAttributes.Color = "Blue";
newStroke.DrawingAttributes.OutlineColor = "Orange";
newStroke.StylusPoints.AddStylusPoints(args.GetStylusPoints(inkPresenter));
inkPresenter.Strokes.Add(newStroke);
}
// Add the new points to the Stroke we're working with
function InkPresenterMouseMove(sender,args)
{
if (newStroke != null)
{
newStroke.StylusPoints.AddStylusPoints(args.GetStylusPoints(inkPresenter));
}
}
// Release the mouse
function InkPresenterMouseUp(sender,args)
{
newStroke = null;
}
// Set the size of the stroke based on the initial pressureFactor of the stroke.
function SetStylusStrokeSize(sps)
{
var p;
// Set variable p to the first StylusPoint in the Stroke
p = sps.getItem(0).pressureFactor;
daWidth = p * 20.0;
daHeight = p * 20.0;
}
|