Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Derive Debug for FontGroup and Homu is a bully #9013

Merged
merged 2 commits into from Dec 18, 2015
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

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

ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.