-
Notifications
You must be signed in to change notification settings - Fork 173
/
Copy pathglyph.rs
38 lines (35 loc) · 996 Bytes
/
glyph.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// This whole file is strongly inspired by: https://github.com/jeaye/q3/blob/master/src/client/ui/ttf/glyph.rs
// available under the BSD-3 licence.
// It has been modified to work with gl-rs, nalgebra, and rust-freetype
use na::Vec2;
#[repr(packed)]
/// A ttf glyph.
pub struct Glyph {
#[doc(hidden)]
pub tex: Vec2<f32>,
#[doc(hidden)]
pub advance: Vec2<f32>,
#[doc(hidden)]
pub dimensions: Vec2<f32>,
#[doc(hidden)]
pub offset: Vec2<f32>,
#[doc(hidden)]
pub buffer: Vec<u8>
}
impl Glyph {
/// Creates a new empty glyph.
pub fn new(tex: Vec2<f32>,
advance: Vec2<f32>,
dimensions: Vec2<f32>,
offset: Vec2<f32>,
buffer: Vec<u8>)
-> Glyph {
Glyph {
tex: tex,
advance: advance,
dimensions: dimensions,
offset: offset,
buffer: buffer
}
}
}