Improve API and separate bin and lib
Reworked API, does not compile
This commit is contained in:
parent
7ebd83a979
commit
282534c969
46
src/lib.rs
Normal file
46
src/lib.rs
Normal file
@ -0,0 +1,46 @@
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
|
||||
fn setup_logger() -> Result<(), fern::InitError> {
|
||||
use fern::colors::{Color, ColoredLevelConfig};
|
||||
|
||||
let colors = ColoredLevelConfig::new()
|
||||
.info(Color::Green)
|
||||
.debug(Color::Magenta)
|
||||
.warn(Color::Yellow)
|
||||
.error(Color::Red);
|
||||
|
||||
fern::Dispatch::new()
|
||||
.format(move |out, message, record| {
|
||||
out.finish(format_args!(
|
||||
"{}[{}][{}] {}",
|
||||
chrono::Local::now().format("[%H:%M:%S]"),
|
||||
colors.color(record.level()),
|
||||
record.target(),
|
||||
message
|
||||
))
|
||||
})
|
||||
.level(log::LevelFilter::Trace)
|
||||
.chain(std::io::stdout())
|
||||
.chain(fern::log_file("output.log")?)
|
||||
.apply()?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn vk_create() {
|
||||
let canvas = crate::create_vk_canvas("vk_create", 1280, 720)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn vk_run() {
|
||||
|
||||
let canvas = crate::create_vk_canvas("vk_run", 1280, 720)
|
||||
.unwrap();
|
||||
|
||||
canvas.update();
|
||||
canvas.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
73
src/main.rs
73
src/main.rs
@ -1,7 +1,5 @@
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
|
||||
fn setup_logger() -> Result<(), fern::InitError> {
|
||||
fn setup_logger() -> Result<(), fern::InitError> {
|
||||
use fern::colors::{Color, ColoredLevelConfig};
|
||||
|
||||
let colors = ColoredLevelConfig::new()
|
||||
@ -25,20 +23,18 @@ mod tests {
|
||||
.chain(fern::log_file("output.log")?)
|
||||
.apply()?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn vk_create() {
|
||||
let canvas = crate::create_vk_canvas("vk_create", 1280, 720, |_| {}, |_| {})
|
||||
.unwrap();
|
||||
}
|
||||
fn main() -> Result<(), &'static str> {
|
||||
|
||||
#[test]
|
||||
fn vk_run() {
|
||||
setup_logger()
|
||||
.map_err(|_| "Failed to setup logger")?;
|
||||
|
||||
let canvas = crate::create_vk_canvas("vk_run", 1280, 720, |_| {}, |_| {})
|
||||
let canvas = crate::create_vk_canvas("vk_example", 1280, 720)
|
||||
.unwrap();
|
||||
|
||||
while canvas.should_exit() == false {
|
||||
// inputs
|
||||
if canvas.key_pressed(Key::A) {
|
||||
unimplemented!();
|
||||
}
|
||||
@ -54,19 +50,50 @@ mod tests {
|
||||
|
||||
let mouse = canvas.get_mouse();
|
||||
|
||||
let sprite = canvas.create_sprite(Size {w: 20, h: 20}, 1.0);
|
||||
sprite.draw(&[[0u8, 0u8, 0u8, 225u8]; 20 * 20]);
|
||||
sprite.clear_color(Color::black);
|
||||
sprite.draw_rectangle(Position {x: 0, y: 0}, Size {w: 10, h: 10}, Color::black);
|
||||
sprite.draw_text(Position {x: 0, y: 0}, 5, Color::black, "text");
|
||||
sprite.move_to(Position {x: 0, y: 0});
|
||||
sprite.rotate(50);
|
||||
sprite.set_alpha(255);
|
||||
sprite.hide();
|
||||
sprite.show();
|
||||
// outputs
|
||||
canvas.set_clear_color(Color::black);
|
||||
|
||||
// white rectangle inset by one in the sprite
|
||||
let bas_sprite = canvas.create_basic_sprite(Size {w: 40, h: 40}, 1.0);
|
||||
bas_sprite.set_shape(
|
||||
Shape::Rectangle (Position {x: 1, y: 1},
|
||||
Size {w: 38, h: 38},
|
||||
Color::White,
|
||||
));
|
||||
canvas.draw(bas_sprite);
|
||||
|
||||
// 20 x 20 sprite of a picture
|
||||
let texture = canvas.create_texture_from_file(
|
||||
Position {x: 0, y: 0},
|
||||
Some("texture.png"),
|
||||
Some(Color::White)
|
||||
);
|
||||
pix_sprite = canvas.create_texture_sprite(Size {w: 20, h: 20}, 1.0);
|
||||
pix_sprite.set_texture(texture, Some(Position {w: 0, h: 0}));
|
||||
canvas.draw(pix_sprite);
|
||||
|
||||
// scaled sprite of a manually drawed texture
|
||||
let texture = canvas.create_texture(Size {w: 20, h: 20}, Some(Color::White));
|
||||
texture.set_pixel(Position {x: 0, y: 0}, Pixel::rgb(0, 255, 0));
|
||||
let _ = texture.pixels();
|
||||
pix_sprite = canvas.create_texture_sprite(Size {w: 20, h: 20}, 2.0);
|
||||
pix_sprite.set_texture(texture, None);
|
||||
canvas.draw(pix_sprite);
|
||||
|
||||
// floating text
|
||||
let txt_sprite = canvas.create_text_sprite(Size {w: 10, h: 10}, 5.0);
|
||||
txt_sprite.set_text("text", None);
|
||||
|
||||
// generic operations
|
||||
txt_sprite.set_position(Position {x: 0, y: 0});
|
||||
txt_sprite.set_rotation(50);
|
||||
txt_sprite.set_alpha(255);
|
||||
canvas.draw(txt_sprite);
|
||||
|
||||
canvas.update();
|
||||
canvas.destroy();
|
||||
}
|
||||
|
||||
canvas.destroy();
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user