blob: e66c6135c48fb9a586592b91b71c9c4b7d2b8638 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<h1 align="center">
<br>
<a href="http://www.amitmerchant.com/electron-markdownify">
<img src="https://github.com/jpbruyere/Crow/blob/master/Images/crow.png" alt="C.R.O.W." width="140">
</a>
<br>
<br>
C# Rapid Open Widgets
<br>
<p align="center">
<a href="https://gitter.im/CSharpRapidOpenWidgets?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge">
<img src="https://badges.gitter.im/CSharpRapidOpenWidgets.svg">
</a>
<a href="https://www.paypal.me/GrandTetraSoftware">
<img src="https://img.shields.io/badge/Donate-PayPal-green.svg">
</a>
<a href="https://travis-ci.org/jpbruyere/Crow">
<img src="https://travis-ci.org/jpbruyere/Crow.svg?branch=master">
</a>
<a href="https://ci.appveyor.com/project/jpbruyere/Crow">
<img src="https://ci.appveyor.com/api/projects/status/j387lo59vnov8jbc?svg=true">
</a>
</p>
</h1>
**C.R.O.W.** is an [application framework](https://en.wikipedia.org/wiki/Application_framework) for building portable graphical interfaces entirely developed in **C#**. It 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 code linking.
C.R.O.W. is in **beta** development state, api could change.
There's currently **3 main versions**, diverging on the way they handle OS integration. The last one replace [Cairo](https://www.cairographics.org/) with [vkvg](https://github.com/jpbruyere/vkvg).
| Package | Description | Link |
|-------------------|--------------------|------------------------------|
| Crow.OpenTK |OS layer handle with [OpenTK](https://github.com/opentk/opentk), fast implementation of 3D gui in OTK scenes |[](https://www.nuget.org/packages/Crow.OpenTK) |
| Crow | `IBackend` interface for **xcb** and **win32** |[](https://www.nuget.org/packages/Crow) |
| Crow.Vk | OS layer with [GLFW](https://www.glfw.org/), [vkvg](https://github.com/jpbruyere/vkvg) for accelerated 2d vectors and text.| [](https://www.nuget.org/packages/Crow.Vk) |
#### 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/))
<p align="center">
<a href="https://github.com/jpbruyere/Crow/blob/master/Images/screenshot.png">
<kbd><img src="https://github.com/jpbruyere/Crow/blob/master/Images/screenshot.png" height="200"></kbd>
</a>
<a href="https://github.com/jpbruyere/Crow/blob/master/Images/screenshot3.png">
<kbd><img src="https://github.com/jpbruyere/Crow/blob/master/Images/screenshot3.png" height="200"></kbd>
</a>
<a href="https://raw.githubusercontent.com/wiki/jpbruyere/Crow/images/chess.jpg">
<kbd><img src="https://raw.githubusercontent.com/wiki/jpbruyere/Crow/images/chess.jpg" height="200"></kbd>
</a>
</p>
#### Documentation
Due to the early state of this project and the frequent changes, some part of the docs may be outdated.
* [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)
### Requirements
- [Cairo Graphic Library](https://cairographics.org/) >= 1.20
- [rsvg library](https://developer.gnome.org/rsvg/) for svg rendering
|