InkOverlay.Renderer Property
InkOverlay.Renderer Property |
Gets or sets the Renderer object that is used to draw ink.
Definition
Visual Basic .NET Public Property Renderer As Renderer C# public Renderer Renderer { get; set; } Managed C++ public: __property Renderer* get_Renderer();
public: __property void set_Renderer(Renderer*);
Property Value
Microsoft.Ink.Renderer. The Renderer object that is used to draw ink.
This property is read/write. This property has no default value.
Exceptions
ArgumentNullException :
COMException :
ObjectDisposedException :
Examples
[C#]
This C# example example creates an InkOverlay object, theInkOverlay, and two Renderer objects: originalRenderer, for the default view, and zoomedRenderer, for a zoomed view. The application determines which Renderer object is attached to theInkOverlay in a click event, menuItemZoomed_Click.
using Microsoft.Ink; using System.Drawing.Drawing2D; //... private Renderer zoomedRenderer; private Renderer originalRenderer; //... public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // ... // Initialize renderers zoomedRenderer = new Renderer(); Matrix zoomBy2 = new Matrix(); zoomBy2.Scale(2, 2); zoomedRenderer.SetObjectTransform(zoomBy2); originalRenderer = theInkOverlay.Renderer; } // ... private void menuItemZoomed_Click(object sender, System.EventArgs e) { if (theInkOverlay.Renderer == originalRenderer) { theInkOverlay.Renderer = zoomedRenderer; menuItemZoomed.Checked = true; } else { theInkOverlay.Renderer = originalRenderer; menuItemZoomed.Checked = false; } Refresh(); }
[VB.NET]
This Microsoft® Visual Basic® .NET example example creates an InkOverlay object, theInkOverlay, and two Renderer objects: originalRenderer, for the default view, and zoomedRenderer, for a zoomed view. The application determines which Renderer object is attached to theInkOverlay in a click event, menuItemZoomed_Click.
Imports Microsoft.Ink Imports System.Drawing.Drawing2D '... Private zoomedRenderer As Renderer Private originalRenderer As Renderer '... Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load { // Initialize renderers zoomedRenderer = New Renderer() Matrix zoomBy2 = New Matrix() zoomBy2.Scale(2, 2) zoomedRenderer.SetObjectTransform(zoomBy2) originalRenderer = theInkOverlay.Renderer } '... Private Sub MenuItemZoomed_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MenuItemInk.Click { If theInkOverlay.Renderer Is originalRenderer Then theInkOverlay.Renderer = zoomedRenderer MenuItemZoomed.Checked = True Else theInkOverlay.Renderer = originalRenderer MenuItemZoomed.Checked = False End If Refresh() }
[C#]
This C# example contains a function that uses the Renderer property to convert a rectangle in ink space coordinates to pixel coordinates.
using Microsoft.Ink; //... private Rectangle InkSpaceToPixelRectangle(Rectangle inkRectangle) { // Get points for corners of rectangle Point leftTop = inkRectangle.Location; Point rightBottom = new Point(inkRectangle.Right, inkRectangle.Bottom); // Convert using Renderer Graphics tempGraphics = CreateGraphics(); theInkOverlay.Renderer.InkSpaceToPixel(tempGraphics, ref leftTop); theInkOverlay.Renderer.InkSpaceToPixel(tempGraphics, ref rightBottom); // Clean up tempGraphics.Dispose(); // Return new rectangle return new Rectangle(leftTop, new Size(rightBottom.X - leftTop.X, rightBottom.Y - leftTop.Y)); }
[VB.NET]
This Visual Basic .NET example contains a function that uses the Renderer property to convert a rectangle in ink space coordinates to pixel coordinates.
Imports Microsoft.Ink '... Private Function InkSpaceToPixelRectangle(ByVal inkRectangle As Rectangle) As Rectangle ' Get points for corners of rectangle Dim leftTop As Point = inkRectangle.Location Dim rightBottom As New Point(inkRectangle.Right, inkRectangle.Bottom) ' Convert using Renderer Dim tempGraphics As Graphics = CreateGraphics() theInkOverlay.Renderer.InkSpaceToPixel(tempGraphics, leftTop) theInkOverlay.Renderer.InkSpaceToPixel(tempGraphics, rightBottom) ' Clean up tempGraphics.Dispose() ' Return new rectangle Return New Rectangle(leftTop, _ New Size(rightBottom.X - leftTop.X, rightBottom.Y - leftTop.Y)) End Function
See Also