Newer
Older
font_mapping.set_default(asset_server.load("roboto.kayak_font"));
let mut widget_context = KayakRootContext::new();
widget_context.add_plugin(KayakWidgetsContextPlugin);
// The border prop splits up the image into 9 quadrants like so:
// 1----2----3
// | |
// 4 9 5
// | |
// 6----7----8
// The sizes of sprites for a 15 pixel border are as follows:
// TopLeft = (15, 15)
// TopRight = (15, 15)
// LeftCenter = (15, image_height)
// RightCenter = (15, image_height)
// TopCenter = (image_width, 15)
// BottomCenter = (image_width, 15)
// BottomRight = (15, 15)
// BottomLeft = (15, 15)
// Middle = (
// 30 being left border + right border
// image_width - 30
// 30 being top border + bottom border
// image_height - 30
// )
rsx! {
<KayakAppBundle>
<NinePatchBundle
nine_patch={NinePatch {
handle: image,
border: Edge::all(15.0),
}}
styles={KStyle {
width: StyleProp::Value(Units::Pixels(512.0)),
height: StyleProp::Value(Units::Pixels(512.0)),
..KStyle::default()
}}
/>
</KayakAppBundle>
commands.spawn(UICameraBundle::new(widget_context));
App::new()
.add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
.add_plugin(KayakContextPlugin)
.add_plugin(KayakWidgets)
.add_startup_system(startup)
.run()