diff options
Diffstat (limited to 'components/style/font_metrics.rs')
-rw-r--r-- | components/style/font_metrics.rs | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/components/style/font_metrics.rs b/components/style/font_metrics.rs index db435539735..13a4e9e182b 100644 --- a/components/style/font_metrics.rs +++ b/components/style/font_metrics.rs @@ -6,9 +6,7 @@ #![deny(missing_docs)] -use crate::context::SharedStyleContext; use crate::values::computed::Length; -use crate::Atom; /// Represents the font metrics that style needs from a font to compute the /// value of certain CSS units like `ex`. @@ -47,64 +45,3 @@ pub enum FontMetricsOrientation { /// Force getting horizontal metrics. Horizontal, } - -/// A trait used to represent something capable of providing us font metrics. -pub trait FontMetricsProvider { - /// Obtain the metrics for given font family. - fn query( - &self, - _context: &crate::values::computed::Context, - _base_size: crate::values::specified::length::FontBaseSize, - _orientation: FontMetricsOrientation, - ) -> FontMetrics { - Default::default() - } - - /// Get default size of a given language and generic family. - fn get_size( - &self, - font_name: &Atom, - font_family: crate::values::computed::font::GenericFontFamily, - ) -> Length; - - /// Construct from a shared style context - fn create_from(context: &SharedStyleContext) -> Self - where - Self: Sized; -} - -// TODO: Servo's font metrics provider will probably not live in this crate, so this will -// have to be replaced with something else (perhaps a trait method on TElement) -// when we get there -#[derive(Debug)] -#[cfg(feature = "servo")] -/// Dummy metrics provider for Servo. Knows nothing about fonts and does not provide -/// any metrics. -pub struct ServoMetricsProvider; - -#[cfg(feature = "servo")] -impl FontMetricsProvider for ServoMetricsProvider { - fn create_from(_: &SharedStyleContext) -> Self { - ServoMetricsProvider - } - - fn get_size(&self, _: &Atom, _: crate::values::computed::font::GenericFontFamily) -> Length { - unreachable!("Dummy provider should never be used to compute font size") - } -} - -// Servo's font metrics provider will probably not live in this crate, so this will -// have to be replaced with something else (perhaps a trait method on TElement) -// when we get there - -#[cfg(feature = "gecko")] -/// Construct a font metrics provider for the current product -pub fn get_metrics_provider_for_product() -> crate::gecko::wrapper::GeckoFontMetricsProvider { - crate::gecko::wrapper::GeckoFontMetricsProvider::new() -} - -#[cfg(feature = "servo")] -/// Construct a font metrics provider for the current product -pub fn get_metrics_provider_for_product() -> ServoMetricsProvider { - ServoMetricsProvider -} |