Browse Source

Merge pull request #41 from ncarrillo/feat-cairo-fontweight

Implemented FontWeight for Cairo/Pango
pull/40/head
Steven Kirk 12 years ago
parent
commit
177b624e79
  1. 23
      Cairo/Perspex.Cairo/CairoExtensions.cs
  2. 1
      Cairo/Perspex.Cairo/Media/FormattedTextImpl.cs

23
Cairo/Perspex.Cairo/CairoExtensions.cs

@ -33,5 +33,28 @@ namespace Perspex.Cairo
Pango.Units.ToDouble(rect.Width),
Pango.Units.ToDouble(rect.Height));
}
public static Pango.Weight ToCairo(this Perspex.Media.FontWeight weight)
{
if (weight == Perspex.Media.FontWeight.Light)
return Pango.Weight.Light;
if (weight == Perspex.Media.FontWeight.Normal || weight == Perspex.Media.FontWeight.Regular)
return Pango.Weight.Normal;
if (weight == Perspex.Media.FontWeight.DemiBold || weight == Perspex.Media.FontWeight.Medium)
return Pango.Weight.Semibold;
if (weight == Perspex.Media.FontWeight.Bold)
return Pango.Weight.Bold;
if (weight == Perspex.Media.FontWeight.UltraBold || weight == Perspex.Media.FontWeight.ExtraBold)
return Pango.Weight.Ultrabold;
if (weight == Perspex.Media.FontWeight.Black || weight == Perspex.Media.FontWeight.Heavy || weight == Perspex.Media.FontWeight.UltraBlack)
return Pango.Weight.Heavy;
return Pango.Weight.Ultralight;
}
}
}

1
Cairo/Perspex.Cairo/Media/FormattedTextImpl.cs

@ -30,6 +30,7 @@ namespace Perspex.Cairo.Media
Family = fontFamily,
Size = Pango.Units.FromDouble(fontSize),
Style = (Pango.Style)fontStyle,
Weight = fontWeight.ToCairo()
};
}

Loading…
Cancel
Save