Files
haxework/README.md
2019-03-11 22:37:31 +03:00

67 lines
1.3 KiB
Markdown
Executable File

# haxework
Gui framework for Haxe.
## View
`haxework.gui` provides views classes.
### Example
Build form using macro @:template.
form.json:
```json
{
"$type": "haxework.gui.VGroupView",
"skin": [{"$type": "haxework.gui.skin.ColorSkin", "color": "0xffff00"}],
"geometry.padding": 20,
"layout.margin": 10,
"views":[
{
"id": "view1",
"type":"haxework.gui.SpriteView",
"geometry.size.stretch": true,
"skin":[{"$type":"haxework.gui.skin.ColorSkin", "color": "0xff0000"}]
},
{
"id": "view2",
"type": "haxework.gui.SpriteView",
"geometry.size.width": "100%",
"geometry.size.height": 50,
"skin": [{"$type":"haxework.gui.skin.ColorSkin", "color": "0x00ff00"}]
}
]
}
```
```haxe
@:template("form.json")
class FormView extends VGroupView {
@:view public var view1:SpriteView;
@:view("view2") public var anyVarName:SpriteView;
}
var form = new FormView();
Root.bind(form); // Add form to stage as root view element.
trace(form.view1);
trace(form.anyVarName);
```
## Loader
`haxework.net` provides loaders classes.
### Example
```haxe
new JsonLoader().GET("http://example.com/file.json")
.then(function(data) {
trace("Json Ok: " + data);
})
.catchError(function(error) {
trace("Json Fail: " + error);
});
```