/Win2D

An easy-to-use Windows Runtime API for immediate mode 2D graphics rendering

Primary LanguageC++Apache License 2.0Apache-2.0

Win2D

Win2D is an easy-to-use Windows Runtime API for immediate mode 2D graphics rendering with GPU acceleration. It is available to C# and C++ developers writing Windows Store apps for Windows 8.1 and Windows Phone 8.1. It utilizes the power of Direct2D, and integrates seamlessly with XAML and ICoreWindow.

Win2D is work in progress and evolving rapidly. The goal of releasing this code in an early, incomplete state is to solicit early developer feedback.

Code Example

To give you a flavor of what the code looks like, here is a snippet of XAML:

xmlns:canvas="using:Microsoft.Graphics.Canvas"

<Grid>
    <canvas:CanvasControl x:Name="canvasControl" Draw="canvasControl_Draw" ClearColor="CornflowerBlue" />
</Grid>

and C#:

void canvasControl_Draw(CanvasControl sender, CanvasDrawEventArgs args)
{
    args.DrawingSession.DrawEllipse(155, 115, 80, 30, Colors.Black, 3);
    args.DrawingSession.DrawText("Hello, world!", 100, 100, Colors.Yellow);
}

Setup

Visual Studio

  • Download here
  • Requires Visual Studio 2013 Update 2 or greater
  • If using Visual Studio Express, requires the 'for Windows' version (not 'for Windows Desktop')

Clone Repository

Build NuGet Packages

  • In Windows search, type 'Visual Studio Tools', and select that folder to open it
  • Launch 'Developer Command Prompt for VS2013'
  • Change directory to your cloned Win2D repository and run 'build'
  • Point Visual Studio at the resulting 'bin' directory:
    • In Visual Studio, go to 'Tools' -> 'NuGet Package Manager' -> 'Package Manager Settings'
    • Choose 'Package Sources'
    • Click the '+' button to add a new source
    • Set 'Name' to 'Win2D' (or a name of your choosing)
    • Set 'Source' to the full path to the 'bin' directory (inside your cloned Win2D repository)
    • Click the 'Update' button
    • Click 'OK'

Quickstart

Follow the steps below to get started on writing your own apps.

  • Go to 'File' -> 'New' -> 'Project...'
  • Select 'Visual C#' -> 'Store Apps' -> 'Universal Apps'
  • Create a 'Blank App (Universal Apps)'
  • Set a 'Name' of your choosing
  • Click 'OK'
  • Go to 'Tools' -> 'NuGet Package Manager' -> 'Manage NuGet Packages for Solution...'
  • If installing the locally built version, change 'Stable Only' to 'Include Prerelease'
  • Select 'Win2D' package and click 'Install'
  • Click 'Close'
  • Change Solution platform from 'Any CPU' to x86
  • You are now ready to hit F5 (Build)

A working sample can be found in the Samples directory.