Skip to content

High level architecture overview

Nikita Tsukanov edited this page May 27, 2017 · 7 revisions

The idea is to split portable (core) and platform-specific (subsystem) code into separate assemblies/packages.

diagram

Also see a bit outdated documentation here

We have subsystems for:

  • Various .NET Runtimes. The approach for scanning assemblies, threading, etc is a bit different for .NETFX/Mono, .NET Core and Xamarin platforms
  • Rendering. Rendering subsystem should provide an implementation of IDrawingContextImpl and means to obtain one for a surface. Surface might be a Win32 window handle (needed for Direct2D), GDK drawable of a framebuffer abstraction that provides a region of unmanaged memory for rendering.
Clone this wiki locally