#prototty #input #glutin #window #context #view #renderer

prototty_glutin

为 glutin 窗口提供的 Prototty 上下文

33 个版本 (19 个破坏性更新)

使用旧的 Rust 2015

0.27.0 2019 年 3 月 30 日
0.25.0 2019 年 3 月 1 日
0.20.1 2018 年 4 月 5 日
0.19.1 2018 年 3 月 9 日

1 in #prototty

Download history 17/week @ 2024-03-11 27/week @ 2024-04-01 1/week @ 2024-05-27

每月 79 次下载

MIT 许可证

81KB
2K SLoC

prototty_glutin

Version Documentation

一个使用 glutin 创建窗口和输入的 opengl 前端库。它提供了一个 Context,可以将视图渲染到窗口,并访问输入。

示例

让我们继续这里开始的标题示例

extern crate prototty;
extern crate prototty_glutin;

// Assuming the title and its views were defined here
extern crate prototty_title;

use prototty::{Renderer, inputs};
use prototty_title::*;

fn main() {

    // Use a builder to configure how text should be rendered.
    // This assumes "Hack-Regular.ttf" is in your "src" directory.
    let mut context = prototty_glutin::ContextBuilder::new_with_font(
        include_bytes!("Hack-Regular.ttf"))
        .with_window_dimensions(320, 240)
        .with_font_scale(32.0, 32.0)
        .with_cell_dimensions(16, 32)
        .with_underline_position(28)
        .with_underline_width(2)
        .with_max_grid_size(30, 30)
        .build().unwrap();

    let title = Title {
        width: 20,
        text: "My Title".to_string(),
    };

    let mut running = true;
    while running {

        // render the title using the DemoTitleView
        context.render(&DemoTitleView, &title).unwrap();

        // exit after the window is closed
        context.poll_input(|input| {
            if input == inputs::ETX {
                running = false;
            }
        });
    }
}

运行此代码将在新窗口中生成以下输出

Example

依赖关系

~8–18MB
~235K SLoC