AltSoftLab

Be Individuality - Choose Alternative ©

AltGUI - Multipurpose Platform Independent GUI Library for Games, Mobile and Standalone PC Applications.

AltGUI is a pure C# Library without any external dependencies. It can work in virtual environment or as standard PC Application. For this purpose used abstract OS Environment interface. For working as standard PC Application used Windows Forms GUI Library as windows Backend. It's good because Windows Forms working nice in Windows, Linux and Mac OS X operation systems. Also any other backend can be implemented (for example on GTK, Qt, WPF, etc.).

All AltGUI graphical controls are virtual and its render based on AltSketch library.

Read more...

 

Cooperative multitasking - all AltGUI applications working in one thread. Preemptive multitasking (each app working in its own thread) is in the roadmap.

AltStudio is the main AltGUI Development Environment. It's based on SharpDevelop IDE (hardly modified and reengineered). All AltStudio UI is based on AltGUI. So AltStudio can run as Standalone Application or in Virtual Environment (AltOS).

AltSketch Unity Windows Phone Android (MonoDroid) iOS (MonoTouch)AltSketch Microsoft Silverlight XNA MonoGame     AltSketch Windows Forms Mono GTK (the GIMP Toolkit)   

In this topic we present the graphics sub asset of AltSDK that allows you to easy draw vector graphics, print text with platform independant C# FreeType library, image I/O manipulations, work with resources virtual file system, etc. You can use this features directly on screen or on Unity UI (uGUI) and NGUI controls. Also these features can be used without any GUI (just draw in memory bitmaps).

AltSketch main features:
  • Fast realtime Raster and Vector Text Render based on AltNETType (C# port of full FreeType font render engine)
  • Pens with different styles (solid, dotted, etc.) for drawing any geometries
  • Brushes with different styles (solid, gradient, image, hatch, user defined material, etc.) for filling any geometries
  • Boolean operations on geometries
  • Programmable geometries (geometry generation by algorithm)
  • Image IO operations with different formats (PNG, Jpeg, animated GIF, BMP, Tiff, TGA) from files, streams, memory buffers
  • Fast integrated Software Render Backend (independent on any external graphics)
  • Flexible API for Hardware Render Backend (implemented for Unity and many other graphics and game engines)
  • AltSketch Unity Hardware Render Backend uses only very simple Unity API (not requires FSAA for anti-aliasing, no special shaders, etc.).
AltSketch is a pure C# CLS compliant 100% managed, without unsafe blocks Vector Graphics Library with Software and Hardware Render Backends for Games, Scientific Applications & other uses of Computer Graphics. All core functionality collected in one lightweight library AltSketch.dll for Microsoft .NET Framework or Mono (including Silverlight / Moonlight). It depends only on System, System.Data & System.Xml assemblies (.NET Framework 2.0).
 
AltSketch has System.Drawing like program interface and Software & Hardware Render Backends (solid and texure AA visual data triangulation), contains a subsystem AltNETType - port of wonderful font rendering library Freetype (READ MORE about AltNETType API) and subsystem AltNETImage for Image manipulations (loading, saving, transformations).
 
As AltSketch has several integrations with most popular GUI systems and Mobile platforms, you can develop and test a drawing part of your 3D application/game as independent program, and then easy integrate it into your main solution. Now you can draw Graphics in 3D with Brushes and Pens like you do it with any drawing library. It is flexible and useful development method in case of main project bulking and test complexity, or useful for team development process. Now you can develop graphics part of your Mobile applications without using an emulator as stand-alone application, only running on Mobile devices (or Emulator) for final tests.
 
AltSketch has Virtual File System support with Zip containers for resources loading. All AltSketch functionality & extensions works via VirtualFS and all resources can be loaded as from real file system, so from Zip containers (from files or memory streams).
 
Graphics in AltSketch begins with drawing lines and shapes, and continues on with work on images and formatting text. Drawing begins with the Graphics class. You can create a Graphics object based on an ImageSource object if you to draw in memory in SW mode and/or to save a picture as a file. Once you create the Graphics object, you have many methods you can use to perform the drawing:
  • Clear: clears the entire surface and fills it with color.
  • DrawEllipse / FillEllipse: draws an ellipse or circle defined by a bounding rectangle specified by a pair of coordinates, a height, and width.
  • DrawGeometry FillGeometry: draws a vector source geometry as defined by Geometry class
  • DrawIcon and DrawUnstretched: draw the image represented by the specified icon at the specified coordinates, with or without scaling the icon.
  • DrawImage: draws the specified Image object at the specified location.
  • DrawLine: draws a line connecting two points by the coordinate pairs.
  • DrawLines: draws a series of line segments that connect an array of Point structures.
  • DrawPath: draws a series of connected lines and curves.
  • DrawPie FillPie: draws a pie shape defined by an ellipse specified by a coordinate pair, a width, a height, and two radial lines.
  • DrawPolygon FillPolygon: draws a shape with three or more sides as defined by an array of Point structures
  • DrawRectangle FillRectangle: draws a rectangle or square, specified by a coordinate pair, a width, and a height.
  • DrawString: draws the specified text string at the specified location with the specified Brush and Font objects.
To use any of these methods, you must provide an instance of the Pen class. Typically, you specify the Pen class’ color and width in pixels. In Fill methods you must provide an instance of the Brush class. Also Pen supports Brushes as sources for gradient and image drawing. The supported brushes are:
  • SolidColorBrush
  • LinearGradientBrush
  • RadialGratientBrush
  • ImageBrush & TextureBrush
  • PathGradientBrush (coming soon...)
 
AltSDK includes wide variety of subAssets based on AltSketch: ported to AltSketch popular libraries (GUI, Plot, GIS, Computer Science, Physics, Graphics etc.):
 
AltSDK Full Edition (available only on AltSoftLab) includes many Integration Demos with a wide variety GUI-s & frameworks (all Integrations & HW Render Backends are open sourced, so you can easily adapt it to your applications or improve it if you need):
  • Unity Game Engine
  • XNA / MonoGame
  • OpenTK
  • Silverlight / Moonlight
  • Windows Forms
  • GTK
 
AltSDK Social Links:
 
 
AltSDK Demo contains handreds of AltSketch examples in different ways of uses:
 
[MEDIA=youtube]bm3dUnXH7tw[/MEDIA]
 
Some screenshots are represented below. Look more in AltSoftLab Screenshots Gallery
 
AltSketch Unity Vector Text Double Path Transform
 
AltSketch Unity QuickFont
 
AltSketch Unity SVG Transformations
 
AltSketch Unity OxyPlot
 
AltSketch Unity Geometry Polar Transform
 
AltSketch Unity Geometry Bilinear and Perspective Transform
 
AltSketch Unity Pie Chart
 
AltSketch Unity AltNETType
 
AltSketch Unity Geometry Boolean Operations
 
AltSketch Unity NPlot
 
AltSketch Unity Font Atlas
 
AltSketch Unity Vector Text Outline Transformations
 
AltSketch Unity Clipper
 
AltSketch Unity SVG Outline
 
AltSketch Unity ExtBrush

 

AltSketch is a pure C# CLS compliant 100% managed, without unsafe blocks Vector Graphics Library with Software and Hardware Render Backends for Games, Scientific Applications & other uses of Computer Graphics. All core functionality collected in one lightweight library AltSketch.dll for Microsoft .NET Framework or Mono (including Silverlight / Moonlight). AltSketch comes in 2 editions:

  • .NET Framework 2.0 (depends only on System assembly)
  • .NET Framework 4.0 PCL (Portable Class Library for PC/Android/iOS/WinPhone/Silverlight/etc.)

As AltSketch has several integrations with most popular GUI systems and Mobile platforms, you can develop and test a drawing part of your 3D application/game as independent program, and then easy integrate it into your main solution. Now you can draw Graphics in 3D with Brushes and Pens like you do it with any drawing library. It is flexible and useful development method in case of main project bulking and test complexity, or useful for team development process. Now you can develop graphics part of your Mobile applications without using an emulator as stand-alone application, only running on Mobile devices (or Emulator) for final tests.

AltSketch has Virtual File System support with Zip containers for resources loading. All AltSketch functionality & extensions works via VirtualFS and all resources can be loaded as from real file system, so from Zip containers (from files or memory streams).

AltSketch SDK includes wide variety of open source extensions: ported to AltSketch popular libraries (GUI, Plot, GIS, Computer Science, Physics, Graphics etc.).

AltSketch SDK includes many Integration Demos with a wide variety GUI-s & frameworks and platforms (all Integrations & HW Render Backends are open sourced, so you can easily adapt it to your applications or improve it if you need):

Please look Blogs for more information.

NOTE: AltSDK contains full source code of AltSketch Backend & Integration and not depends on any Unity release version. AltSDK Asset requirements ("Unity 4.6 or higher") set by Asset Store Administrators, but AltSketch hasn't such requirements in real.

​​AltNETType is a pure C# CLS compliant 100% managed, without unsafe blocks port of wonderful font rendering library Freetype for MS .NET / Mono (including Silverlight / Moonlight). It is presented as a subsystem of AltSketch in Alt.NETType namespace.

AltNETType source code based on FreeType version 2.4.8. We have plans to update AltNETType to the latest FreeType version.

At this moment not all FreeType like interfaces are available, because for further support we need to know which AltNETType’s functions are used directly. But we are ready to give you all necessary program interfaces. You just need to apply for it in the “Feature Requests” section of the forum

AltNETType uses "ANT_" prefixes at code elements instead of native FreeType "FT_" prefixes; the core class named "ANT". Instead of FT_Init_FreeType & FT_Done_FreeType need to use ANT_Init_AltNETType & ANT_Done_AltNETType.

As we can't provide compilation time configuration of FreeType like parameters, so we decided to realize real time configuration parameters. These parameters placed in Alt.NETType.ANTConfig configuration class. AltNETType changes the behavior depending on ANTConfig settings.

AltNETType native (FreeType.NET) AltNETType (Outline Transformations - Fill and Contour)

AltNETType supports the following font formats:

  • TrueType fonts (TTF) and TrueType collections (TTC)
  • Type 1 fonts (PFA and PFB)
  • CID-keyed Type 1 fonts
  • CFF fonts
  • OpenType fonts (OTF, both TrueType and CFF variants) and OpenType collections (OTC)
  • SFNT-based bitmap fonts
  • X11 PCF fonts
  • Windows FNT fonts
  • BDF fonts (including anti-aliased ones)
  • PFR fonts
  • Type 42 fonts (limited support)

AltNETImage is a subsystem of AltSketch & was designed to be a simple way to load / save a several image format file streams into a Alt.Sketch.Bitmap object. AltNETImage is written entirely in .NET C# code. It does not use any OS-depended or other interoperability code, and it does not use any unsafe code blocks.

Next graphics image file formats supported:

  • BMP
  • GIF
  • JPEG
  • PNG
  • TGA
  • TIFF
  • More image file formats support is coming soon...

AltSketch Gwen PictureBox Control with Animated Gif

We are aiming at the creation of a multi-platform, lightweight and at the same time multifunctional product with a lot of ready solutions based on it. On the one hand, it is a demonstration of AltGUI & AltSketch’s functionality and ways of its use, on the other hand it gives you the possibility of accomplishing your tasks easier and more quickly.

SVG.NET

SVG.NET rendering library has been ported & integrated into AltGUI Extensions Library.

AltGUI Irrlicht SVG


Box2D

2D Physics Engine for Games - Box2D has been ported & integrated into AltGUI Extensions Library.

AltGUI NeoAxis Box2D Dominos


Farseer Physics

Farseer Physics

2D Physics Engine for Games - Farseer Physics has been ported & integrated into AltGUI Extensions Library.

AltGUI XNA MonoGame Farseer Physics Car


GMap.NET

GMap.NET is great and Powerful, Free, cross platform, open source .NET control. Enable use routing, geocoding, directions and maps from Coogle, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yandex, Mapy.cz, Maps.lt, iKarte.lv, NearMap, OviMap, CloudMade, WikiMapia, MapQuest in Windows Forms & Presentation, supports caching and runs on windows mobile!

AltGUI GMap.NET Demo - YahooMap

AltGUI GMap.NET Big Map Maker Demo


HTML Renderer

HTML Renderer - the rich formatting power of HTML in your .NET applications using simple controls or static rendering code.
The library is 100% managed C# code without any external dependencies (no WebBrowser control, ActiveX / COM or MSHTML dll), the only requirement is .NET 2.0 or higher.

AltGUI HTML Renderer


AForge.NET

AForge.NET is an open source C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, fuzzy logic, machine learning, robotics, etc.

AltGUI AForge.NET Fuzzy AGV Demo


QuickFont​

QuickFont is a text printing library.

Features:

  • Loads and renders ttf font files, converting them to texture fonts
  • Creation of custom texture fonts
  • Drop shadows
  • Supports pixel-perfect (lock to pixel) option
  • Supports pixel-perfect text rendered at a size consistent with the current orthogonal projection, independent of screen resolution.
  • Kerning
  • Monospacing
  • Left, right, centre align
  • Justified text
  • Super-sampling during texture generation
  • Light-weight

AltGUI XNA MonoGame QuickFont


PieChart3D

3D Pie Chart

AltGUI Pie Chart 3D


OxyPlot

OxyPlot is a cross-platform plotting library for .NET.

AltGUI OxyPlot - Mandelbrot


PDFsharp

PDFsharp is a .NET library for processing PDF file. You create PDF pages using drawing routines known from GDI+. Almost anything that can be done with GDI+ will also work with PDFsharp. Only basic text layout is supported by PDFsharp, and page breaks are not created automatically. The same drawing routines can be used for screen, PDF, or meta files.

AltGUI PDFsharp


NPlot​

NPlot (formerly known as scpl) is a free charting library for .NET. It boasts an elegant and flexible API.

AltGUI NPlot Multi Plot


Clipper​

The Clipper library performs polygon clipping - intersection, union, difference & exclusive-or, and also polygon and polyline offsetting. The library is based on Vatti's clipping algorithm.

AltGUI Clipper Geo - Circles


ZedGraph

ZedGraph is a class library, user control, and web control for .net, written in C#, for drawing 2D Line, Bar, and Pie Charts. It features full, detailed customization capabilities, but most options have defaults for ease of use.

AltGUI ZedGraph - Dual Y Demo


Awesomium Web Browser

AltGUI Awesomium Web Browser

Awesomium Web Browser has been integrated into AltGUI Demo.

AltGUI NeoAxis Awesomium Web Browser

AltSketch Irrlicht QuickFont AltSketch Irrlicht SVG AltSketch Irrlicht Vector Text AltSketch NeoAxis Accord Face Detection and Vector Text Transformation AltSketch NeoAxis Pie Chart AltSketch NeoAxis GMap.NET and CombinedGeometry AltSketch NeoAxis HTML Renderer AltSketch NeoAxis OxyPlot and Vector Graphics Transformations AltSketch NeoAxis NPlot and SVG AltSketch NeoAxis NPlot and Clipper AltSketch Irrlicht GUI Control AltSketch Irrlicht ExtBrush AltSketch NeoAxis ExtBrush

AltSketch on Facebook

AltSketch on Twitter

AltSketch Silverlight Demo

AltSketch on YouTube

 

AltSDK includes many Integration Demos with a wide variety GUI-s & Frameworks:

AltSketch UnityWindows Phone Android (MonoDroid) iOS (MonoTouch) AltSketch Microsoft Silverlight XNA MonoGame     AltSketch Windows Forms  Mono GTK (the GIMP Toolkit)