servo: Merge #9013 - Derive Debug for FontGroup and Homu is a bully (from antrik:debug-fontgroup); r=Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 6490d1e1c59c6de3d7ef030c209ad33e22bc6b26
This commit is contained in:
Olaf Buddenhagen 2015-12-18 13:54:15 +05:01
Родитель 97934d668c
Коммит c17165f0d9
10 изменённых файлов: 20 добавлений и 9 удалений

Просмотреть файл

@ -89,6 +89,7 @@ pub struct FontMetrics {
pub type SpecifiedFontStyle = FontStyle;
#[derive(Debug)]
pub struct Font {
pub handle: FontHandle,
pub metrics: FontMetrics,
@ -115,7 +116,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.
@ -129,7 +130,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,
@ -217,6 +218,7 @@ impl Font {
}
}
#[derive(Debug)]
pub struct FontGroup {
pub fonts: SmallVec<[Rc<RefCell<Font>>; 8]>,
}

Просмотреть файл

@ -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,

Просмотреть файл

@ -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.

Просмотреть файл

@ -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

Просмотреть файл

@ -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,

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

@ -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 {

Просмотреть файл

@ -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,

Просмотреть файл

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