## 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.