Derive Debug on FontGroup and its components

This commit is contained in:
Olaf Buddenhagen 2015-12-09 19:35:14 +01:00
parent 3d078f7c64
commit c5ede5851e
10 changed files with 16 additions and 8 deletions

View file

@ -85,6 +85,7 @@ pub struct FontMetrics {
pub type SpecifiedFontStyle = FontStyle;
#[derive(Debug)]
pub struct Font {
pub handle: FontHandle,
pub metrics: FontMetrics,
@ -111,7 +112,7 @@ bitflags! {
}
/// Various options that control text shaping.
#[derive(Clone, Eq, PartialEq, Hash, Copy)]
#[derive(Clone, Eq, PartialEq, Hash, Copy, Debug)]
pub struct ShapingOptions {
/// Spacing to add between each letter. Corresponds to the CSS 2.1 `letter-spacing` property.
/// NB: You will probably want to set the `IGNORE_LIGATURES_SHAPING_FLAG` if this is non-null.
@ -125,7 +126,7 @@ pub struct ShapingOptions {
}
/// An entry in the shape cache.
#[derive(Clone, Eq, PartialEq, Hash)]
#[derive(Clone, Eq, PartialEq, Hash, Debug)]
pub struct ShapeCacheEntry {
text: String,
options: ShapingOptions,
@ -206,6 +207,7 @@ impl Font {
}
}
#[derive(Debug)]
pub struct FontGroup {
pub fonts: SmallVec<[Rc<RefCell<Font>>; 8]>,
}

View file

@ -14,7 +14,7 @@ use style::computed_values::{font_stretch, font_weight};
/// to be expanded or refactored when we support more of the font styling parameters.
///
/// NB: If you change this, you will need to update `style::properties::compute_font_hash()`.
#[derive(Clone, Copy, Eq, Hash, Deserialize, Serialize)]
#[derive(Clone, Copy, Eq, Hash, Deserialize, Serialize, Debug)]
pub struct FontTemplateDescriptor {
pub weight: font_weight::T,
pub stretch: font_stretch::T,

View file

@ -45,6 +45,7 @@ impl FontTableMethods for FontTable {
}
}
#[derive(Debug)]
pub struct FontHandle {
// The font binary. This must stay valid for the lifetime of the font,
// if the font is created using FT_Memory_Face.

View file

@ -70,7 +70,7 @@ pub type UserPtr = *mut User;
// WARNING: We need to be careful how we use this struct. See the comment about Rc<> in
// FontContextHandle.
#[derive(Clone)]
#[derive(Clone, Debug)]
pub struct FreeTypeLibraryHandle {
pub ctx: FT_Library,
mem: FT_Memory,
@ -98,7 +98,7 @@ impl HeapSizeOf for FreeTypeLibraryHandle {
}
}
#[derive(Clone, HeapSizeOf)]
#[derive(Clone, HeapSizeOf, Debug)]
pub struct FontContextHandle {
// WARNING: FreeTypeLibraryHandle contains raw pointers, is clonable, and also implements
// `Drop`. This field needs to be Rc<> to make sure that the `drop` function is only called

View file

@ -10,7 +10,7 @@ use string_cache::Atom;
/// The identifier is an absolute path, and the bytes
/// field is the loaded data that can be passed to
/// freetype and azure directly.
#[derive(Deserialize, Serialize)]
#[derive(Deserialize, Serialize, Debug)]
pub struct FontTemplateData {
pub bytes: Vec<u8>,
pub identifier: Atom,

View file

@ -57,6 +57,7 @@ impl FontTableMethods for FontTable {
}
}
#[derive(Debug)]
pub struct FontHandle {
pub font_data: Arc<FontTemplateData>,
pub ctfont: CTFont,

View file

@ -4,7 +4,7 @@
use util::mem::HeapSizeOf;
#[derive(Clone)]
#[derive(Clone, Debug)]
pub struct FontContextHandle {
ctx: ()
}

View file

@ -17,7 +17,7 @@ use string_cache::Atom;
/// The identifier is a PostScript font name. The
/// CTFont object is cached here for use by the
/// paint functions that create CGFont references.
#[derive(Deserialize, Serialize)]
#[derive(Deserialize, Serialize, Debug)]
pub struct FontTemplateData {
/// The `CTFont` object, if present. This is cached here so that we don't have to keep creating
/// `CTFont` instances over and over. It can always be recreated from the `identifier` and/or
@ -64,6 +64,7 @@ impl FontTemplateData {
}
}
#[derive(Debug)]
pub struct CachedCTFont(Mutex<Option<CTFont>>);
impl Deref for CachedCTFont {

View file

@ -134,11 +134,13 @@ impl ShapedGlyphData {
}
}
#[derive(Debug)]
struct FontAndShapingOptions {
font: *mut Font,
options: ShapingOptions,
}
#[derive(Debug)]
pub struct Shaper {
hb_face: *mut hb_face_t,
hb_font: *mut hb_font_t,

View file

@ -12,6 +12,7 @@ use std::hash::{Hash, Hasher, SipHasher};
use std::slice::Iter;
#[derive(Debug)]
pub struct HashCache<K, V>
where K: Clone + PartialEq + Eq + Hash,
V: Clone,