Skip to content

Commit

Permalink
Merge pull request #433 from ozkriff/i427_error_types
Browse files Browse the repository at this point in the history
Implement (Z)Error types for zscene, zgui and Zemeroth
  • Loading branch information
ozkriff committed Feb 21, 2019
2 parents 9213564 + 0897fab commit 6e02b5d
Show file tree
Hide file tree
Showing 21 changed files with 303 additions and 143 deletions.
13 changes: 7 additions & 6 deletions ggwp-zgui/examples/absolute_coordinates.rs
Expand Up @@ -12,12 +12,12 @@ enum Message {
Command2,
}

fn make_gui(context: &mut Context, font: Font) -> GameResult<ui::Gui<Message>> {
fn make_gui(context: &mut Context, font: Font) -> ui::Result<ui::Gui<Message>> {
let mut gui = ui::Gui::new(context);
let text_1 = Box::new(Text::new(("[Button1]", font, 32.0)));
let text_2 = Box::new(Text::new(("[Button1]", font, 64.0)));
let button_1 = ui::Button::new(context, text_1, 0.2, gui.sender(), Message::Command1);
let button_2 = ui::Button::new(context, text_2, 0.2, gui.sender(), Message::Command2);
let button_1 = ui::Button::new(context, text_1, 0.2, gui.sender(), Message::Command1)?;
let button_2 = ui::Button::new(context, text_2, 0.2, gui.sender(), Message::Command2)?;
let mut layout = ui::VLayout::new();
layout.add(Box::new(button_1));
layout.add(Box::new(button_2));
Expand All @@ -31,7 +31,7 @@ struct State {
}

impl State {
fn new(context: &mut Context) -> GameResult<State> {
fn new(context: &mut Context) -> ui::Result<State> {
let (w, h) = graphics::drawable_size(context);
let font = Font::new(context, "/Karla-Regular.ttf")?;
let gui = make_gui(context, font)?;
Expand Down Expand Up @@ -105,8 +105,9 @@ fn context() -> GameResult<(Context, event::EventsLoop)> {
.build()
}

fn main() -> GameResult {
fn main() -> ui::Result {
let (mut context, mut events_loop) = context()?;
let mut state = State::new(&mut context)?;
event::run(&mut context, &mut events_loop, &mut state)
event::run(&mut context, &mut events_loop, &mut state)?;
Ok(())
}
13 changes: 7 additions & 6 deletions ggwp-zgui/examples/layout.rs
Expand Up @@ -12,13 +12,13 @@ enum Message {
Command2,
}

fn make_gui(context: &mut Context, font: Font) -> GameResult<ui::Gui<Message>> {
fn make_gui(context: &mut Context, font: Font) -> ui::Result<ui::Gui<Message>> {
let font_size = 64.0;
let mut gui = ui::Gui::new(context);
let text_1 = Box::new(Text::new(("[Button1]", font, font_size)));
let text_2 = Box::new(Text::new(("[Button2]", font, font_size)));
let button_1 = ui::Button::new(context, text_1, 0.2, gui.sender(), Message::Command1);
let button_2 = ui::Button::new(context, text_2, 0.2, gui.sender(), Message::Command2);
let button_1 = ui::Button::new(context, text_1, 0.2, gui.sender(), Message::Command1)?;
let button_2 = ui::Button::new(context, text_2, 0.2, gui.sender(), Message::Command2)?;
let mut layout = ui::VLayout::new();
layout.add(Box::new(button_1));
layout.add(Box::new(button_2));
Expand All @@ -32,7 +32,7 @@ struct State {
}

impl State {
fn new(context: &mut Context) -> GameResult<State> {
fn new(context: &mut Context) -> ui::Result<State> {
let font = Font::new(context, "/Karla-Regular.ttf")?;
let gui = make_gui(context, font)?;
Ok(Self { gui })
Expand Down Expand Up @@ -85,8 +85,9 @@ fn context() -> GameResult<(Context, event::EventsLoop)> {
.build()
}

fn main() -> GameResult {
fn main() -> ui::Result {
let (mut context, mut events_loop) = context()?;
let mut state = State::new(&mut context)?;
event::run(&mut context, &mut events_loop, &mut state)
event::run(&mut context, &mut events_loop, &mut state)?;
Ok(())
}
33 changes: 17 additions & 16 deletions ggwp-zgui/examples/nested.rs
Expand Up @@ -18,28 +18,28 @@ enum Message {
}

// TODO: rework this into some more game-like
fn make_gui(context: &mut Context, font: Font) -> GameResult<ui::Gui<Message>> {
fn make_gui(context: &mut Context, font: Font) -> ui::Result<ui::Gui<Message>> {
let font_size = 32.0;
let mut gui = ui::Gui::new(context);
{
let image = Box::new(Image::new(context, "/fire.png")?);
let button = ui::Button::new(context, image, 0.1, gui.sender(), Message::Image);
let button = ui::Button::new(context, image, 0.1, gui.sender(), Message::Image)?;
let anchor = ui::Anchor(ui::HAnchor::Right, ui::VAnchor::Top);
gui.add(&ui::pack(button), anchor);
}
{
let text = Box::new(Text::new(("label", font, font_size)));
let label = ui::Label::new(context, text, 0.1);
let label = ui::Label::new(context, text, 0.1)?;
let anchor = ui::Anchor(ui::HAnchor::Left, ui::VAnchor::Bottom);
gui.add(&ui::pack(label), anchor);
}
let v_layout_1 = {
let text_a = Box::new(Text::new(("[A]", font, font_size)));
let text_b = Box::new(Text::new(("[A]", font, font_size)));
let text_c = Box::new(Text::new(("[A]", font, font_size)));
let button_a = ui::Button::new(context, text_a, 0.1, gui.sender(), Message::A);
let button_b = ui::Button::new(context, text_b, 0.1, gui.sender(), Message::B);
let button_c = ui::Button::new(context, text_c, 0.1, gui.sender(), Message::C);
let button_a = ui::Button::new(context, text_a, 0.1, gui.sender(), Message::A)?;
let button_b = ui::Button::new(context, text_b, 0.1, gui.sender(), Message::B)?;
let button_c = ui::Button::new(context, text_c, 0.1, gui.sender(), Message::C)?;
let mut layout = ui::VLayout::new();
layout.add(Box::new(button_a));
layout.add(Box::new(button_b));
Expand All @@ -51,10 +51,10 @@ fn make_gui(context: &mut Context, font: Font) -> GameResult<ui::Gui<Message>> {
let text_x = Box::new(Text::new(("[X]", font, font_size)));
let text_y = Box::new(Text::new(("[Y]", font, font_size)));
let text_z = Box::new(Text::new(("[Z]", font, font_size)));
let button_i = ui::Button::new(context, image_i, 0.1, gui.sender(), Message::Image);
let button_x = ui::Button::new(context, text_x, 0.1, gui.sender(), Message::X);
let button_y = ui::Button::new(context, text_y, 0.1, gui.sender(), Message::Y);
let button_z = ui::Button::new(context, text_z, 0.1, gui.sender(), Message::Z);
let button_i = ui::Button::new(context, image_i, 0.1, gui.sender(), Message::Image)?;
let button_x = ui::Button::new(context, text_x, 0.1, gui.sender(), Message::X)?;
let button_y = ui::Button::new(context, text_y, 0.1, gui.sender(), Message::Y)?;
let button_z = ui::Button::new(context, text_z, 0.1, gui.sender(), Message::Z)?;
let mut layout = ui::VLayout::new();
layout.add(Box::new(button_i));
layout.add(Box::new(button_x));
Expand All @@ -66,9 +66,9 @@ fn make_gui(context: &mut Context, font: Font) -> GameResult<ui::Gui<Message>> {
let text_a = Box::new(Text::new(("[A]", font, font_size)));
let text_b = Box::new(Text::new(("[A]", font, font_size)));
let image_i = Box::new(Image::new(context, "/fire.png")?);
let button_a = ui::Button::new(context, text_a, 0.1, gui.sender(), Message::A);
let button_b = ui::Button::new(context, text_b, 0.1, gui.sender(), Message::B);
let button_i = ui::Button::new(context, image_i, 0.2, gui.sender(), Message::Image);
let button_a = ui::Button::new(context, text_a, 0.1, gui.sender(), Message::A)?;
let button_b = ui::Button::new(context, text_b, 0.1, gui.sender(), Message::B)?;
let button_i = ui::Button::new(context, image_i, 0.2, gui.sender(), Message::Image)?;
let mut layout = ui::HLayout::new();
layout.add(Box::new(button_a));
layout.add(Box::new(button_i));
Expand All @@ -86,7 +86,7 @@ struct State {
}

impl State {
fn new(context: &mut Context) -> GameResult<State> {
fn new(context: &mut Context) -> ui::Result<State> {
let font = Font::new(context, "/Karla-Regular.ttf")?;
let gui = make_gui(context, font)?;
Ok(State { gui })
Expand Down Expand Up @@ -142,8 +142,9 @@ fn context() -> GameResult<(Context, event::EventsLoop)> {
.build()
}

fn main() -> GameResult {
fn main() -> ui::Result {
let (mut context, mut events_loop) = context()?;
let mut state = State::new(&mut context)?;
event::run(&mut context, &mut events_loop, &mut state)
event::run(&mut context, &mut events_loop, &mut state)?;
Ok(())
}
13 changes: 7 additions & 6 deletions ggwp-zgui/examples/pixel_coordinates.rs
Expand Up @@ -12,12 +12,12 @@ enum Message {
Command2,
}

fn make_gui(context: &mut Context, font: Font) -> GameResult<ui::Gui<Message>> {
fn make_gui(context: &mut Context, font: Font) -> ui::Result<ui::Gui<Message>> {
let mut gui = ui::Gui::new(context);
let text_1 = Box::new(Text::new(("[Button1]", font, 32.0)));
let text_2 = Box::new(Text::new(("[Button1]", font, 64.0)));
let button_1 = ui::Button::new(context, text_1, 0.2, gui.sender(), Message::Command1);
let button_2 = ui::Button::new(context, text_2, 0.2, gui.sender(), Message::Command2);
let button_1 = ui::Button::new(context, text_1, 0.2, gui.sender(), Message::Command1)?;
let button_2 = ui::Button::new(context, text_2, 0.2, gui.sender(), Message::Command2)?;
let mut layout = ui::VLayout::new();
layout.add(Box::new(button_1));
layout.add(Box::new(button_2));
Expand All @@ -31,7 +31,7 @@ struct State {
}

impl State {
fn new(context: &mut Context) -> GameResult<State> {
fn new(context: &mut Context) -> ui::Result<State> {
let (w, h) = graphics::drawable_size(context);
let font = Font::new(context, "/Karla-Regular.ttf")?;
let gui = make_gui(context, font)?;
Expand Down Expand Up @@ -105,8 +105,9 @@ fn context() -> GameResult<(Context, event::EventsLoop)> {
.build()
}

fn main() -> GameResult {
fn main() -> ui::Result {
let (mut context, mut events_loop) = context()?;
let mut state = State::new(&mut context)?;
event::run(&mut context, &mut events_loop, &mut state)
event::run(&mut context, &mut events_loop, &mut state)?;
Ok(())
}
17 changes: 9 additions & 8 deletions ggwp-zgui/examples/remove.rs
Expand Up @@ -11,17 +11,17 @@ enum Message {
AddOrRemove,
}

fn make_label(context: &mut Context) -> ui::RcWidget {
fn make_label(context: &mut Context) -> ui::Result<ui::RcWidget> {
let image = Image::new(context, "/fire.png").expect("Can't load test image");
ui::pack(ui::Label::new(context, Box::new(image), 0.5))
Ok(ui::pack(ui::Label::new(context, Box::new(image), 0.5)?))
}

fn make_gui(context: &mut Context, font: Font) -> GameResult<ui::Gui<Message>> {
fn make_gui(context: &mut Context, font: Font) -> ui::Result<ui::Gui<Message>> {
let font_size = 32.0;
let mut gui = ui::Gui::new(context);
let anchor = ui::Anchor(ui::HAnchor::Right, ui::VAnchor::Bottom);
let text = Box::new(Text::new(("[Add/Remove]", font, font_size)));
let button = ui::Button::new(context, text, 0.2, gui.sender(), Message::AddOrRemove);
let button = ui::Button::new(context, text, 0.2, gui.sender(), Message::AddOrRemove)?;
gui.add(&ui::pack(button), anchor);
Ok(gui)
}
Expand All @@ -32,7 +32,7 @@ struct State {
}

impl State {
fn new(context: &mut Context) -> GameResult<State> {
fn new(context: &mut Context) -> ui::Result<State> {
let font = Font::new(context, "/Karla-Regular.ttf")?;
let gui = make_gui(context, font)?;
Ok(Self { gui, label: None })
Expand All @@ -54,7 +54,7 @@ impl State {

fn add_label(&mut self, context: &mut Context) {
println!("Adding...");
let label = make_label(context);
let label = make_label(context).expect("Can't make a label");
let anchor = ui::Anchor(ui::HAnchor::Left, ui::VAnchor::Top);
self.gui.add(&label, anchor);
self.label = Some(label);
Expand Down Expand Up @@ -110,8 +110,9 @@ fn context() -> GameResult<(Context, event::EventsLoop)> {
.build()
}

fn main() -> GameResult {
fn main() -> ui::Result {
let (mut context, mut events_loop) = context()?;
let mut state = State::new(&mut context)?;
event::run(&mut context, &mut events_loop, &mut state)
event::run(&mut context, &mut events_loop, &mut state)?;
Ok(())
}
11 changes: 6 additions & 5 deletions ggwp-zgui/examples/text_button.rs
Expand Up @@ -11,12 +11,12 @@ enum Message {
Command,
}

fn make_gui(context: &mut Context, font: Font) -> GameResult<ui::Gui<Message>> {
fn make_gui(context: &mut Context, font: Font) -> ui::Result<ui::Gui<Message>> {
let font_size = 32.0;
let mut gui = ui::Gui::new(context);
let anchor = ui::Anchor(ui::HAnchor::Right, ui::VAnchor::Bottom);
let text = Box::new(Text::new(("[Button]", font, font_size)));
let button = ui::Button::new(context, text, 0.2, gui.sender(), Message::Command);
let button = ui::Button::new(context, text, 0.2, gui.sender(), Message::Command)?;
gui.add(&ui::pack(button), anchor);
Ok(gui)
}
Expand All @@ -26,7 +26,7 @@ struct State {
}

impl State {
fn new(context: &mut Context) -> GameResult<State> {
fn new(context: &mut Context) -> ui::Result<State> {
let font = Font::new(context, "/Karla-Regular.ttf")?;
let gui = make_gui(context, font)?;
Ok(Self { gui })
Expand Down Expand Up @@ -79,8 +79,9 @@ fn context() -> GameResult<(Context, event::EventsLoop)> {
.build()
}

fn main() -> GameResult {
fn main() -> ui::Result {
let (mut context, mut events_loop) = context()?;
let mut state = State::new(&mut context)?;
event::run(&mut context, &mut events_loop, &mut state)
event::run(&mut context, &mut events_loop, &mut state)?;
Ok(())
}

0 comments on commit 6e02b5d

Please sign in to comment.