Add screen model
This commit is contained in:
parent
64d4746545
commit
bd9dde064e
2
build.rs
2
build.rs
@ -1,4 +1,6 @@
|
|||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
if cfg!(target = "windows") {
|
||||||
println!("cargo:rustc-link-search=native=C:\\msys64\\mingw64\\lib");
|
println!("cargo:rustc-link-search=native=C:\\msys64\\mingw64\\lib");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
extern crate gtk;
|
extern crate gtk;
|
||||||
extern crate cairo;
|
extern crate cairo;
|
||||||
|
|
||||||
|
mod ui_model;
|
||||||
mod ui;
|
mod ui;
|
||||||
|
|
||||||
use ui::Ui;
|
use ui::Ui;
|
||||||
|
@ -3,6 +3,8 @@ use gtk;
|
|||||||
use gtk::prelude::*;
|
use gtk::prelude::*;
|
||||||
use gtk::{Window, WindowType, DrawingArea, Grid, Button, ButtonBox, Orientation};
|
use gtk::{Window, WindowType, DrawingArea, Grid, Button, ButtonBox, Orientation};
|
||||||
|
|
||||||
|
use ui_model::UiModel;
|
||||||
|
|
||||||
pub struct Ui;
|
pub struct Ui;
|
||||||
|
|
||||||
impl Ui {
|
impl Ui {
|
||||||
|
40
src/ui_model.rs
Normal file
40
src/ui_model.rs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
pub struct Cell {
|
||||||
|
ch: char,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Cell {
|
||||||
|
pub fn new(ch: char) -> Cell {
|
||||||
|
Cell { ch: ch }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct UiModel {
|
||||||
|
columns: u64,
|
||||||
|
rows: u64,
|
||||||
|
cur_row: u64,
|
||||||
|
cur_col: u64,
|
||||||
|
model: Vec<Cell>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl UiModel {
|
||||||
|
pub fn new(columns: u64, rows: u64) -> UiModel {
|
||||||
|
let cells = (columns * rows) as usize;
|
||||||
|
let mut model = Vec::with_capacity(cells);
|
||||||
|
for i in 0..cells {
|
||||||
|
model[i] = Cell::new(' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
UiModel {
|
||||||
|
columns: columns,
|
||||||
|
rows: rows,
|
||||||
|
cur_row: 0,
|
||||||
|
cur_col: 0,
|
||||||
|
model: model,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn set_cursor(&mut self, col: u64, row: u64) {
|
||||||
|
self.cur_col = col;
|
||||||
|
self.cur_row = row;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user