C.R.O.W.

C# Rapid Open Widgets

## Presentation **C.R.O.W.** is a [widget toolkit](https://en.wikipedia.org/wiki/Widget_toolkit) and rendering engine entirely developed in **C#**, offering a nice trade-off between complexity of language and performances. Crow provides a declarative interface language with styling and templates called [IML](interface-markup-language) for **Interface Markup Language** similar to [XAML](https://en.wikipedia.org/wiki/Extensible_Application_Markup_Language) and a binding system for easy c# code linking.

#### Features - [Declarative interface definition](https://github.com/jpbruyere/Crow/wiki/interface-markup-language). - [Templates](https://github.com/jpbruyere/Crow/wiki/Templates) - [Styling](https://github.com/jpbruyere/Crow/wiki/Styling) - [Dynamic binding system](https://github.com/jpbruyere/Crow/wiki/The-binding-system) - SVG rendering (with [rsvg library](https://developer.gnome.org/rsvg/)) #### Documentation * [Introduction](https://github.com/jpbruyere/Crow/wiki) * [Classes documentation autogenerated from doxygen](https://github.com/jpbruyere/Crow/wiki/index) * [Tutorials](https://github.com/jpbruyere/Crow/wiki/Tutorials) Please report bugs and issues on [GitHub](https://github.com/jpbruyere/Crow/issues) ------------------- ## Getting Start ### Requirements - [mono >= 5.0](http://www.mono-project.com/download/) - [Cairo Graphic Library](https://cairographics.org/) >= 1.20 - [rsvg library](https://developer.gnome.org/rsvg/) for svg rendering - [nuget](https://www.nuget.org/). ### Building from source _[Git](https://git-scm.com) has to be installed._ ```bash git clone https://github.com/jpbruyere/Crow.git # Download source code from github cd Crow # Enter the source directory nuget restore Crow.sln # Restore nuget packages xbuild /p:Configuration=Release Crow.sln # Build with Mono ``` ### Using nuget * add [Crow.OpenTK NuGet package](https://www.nuget.org/packages/Crow.OpenTK/) to your project. * Derive **CrowWindow** class. * Load some widget in the **OnLoad** override with `CrowWindow.Load` . * Build your project with **mono**. (**xbuild**) - copy **Crow.dll.config** to output directory if you have trouble finding native libs.