diff --git a/Cairo/Perspex.Cairo/Media/DrawingContext.cs b/Cairo/Perspex.Cairo/Media/DrawingContext.cs
index a0ddc58856..72cf0c0340 100644
--- a/Cairo/Perspex.Cairo/Media/DrawingContext.cs
+++ b/Cairo/Perspex.Cairo/Media/DrawingContext.cs
@@ -175,7 +175,7 @@ namespace Perspex.Cairo.Media
///
/// The pen.
/// The rectangle bounds.
- public void DrawRectange(Pen pen, Rect rect)
+ public void DrawRectange(Pen pen, Rect rect, float cornerRadius)
{
this.SetPen(pen);
this.context.Rectangle(rect.ToCairo());
@@ -202,7 +202,7 @@ namespace Perspex.Cairo.Media
///
/// The brush.
/// The rectangle bounds.
- public void FillRectange(Perspex.Media.Brush brush, Rect rect)
+ public void FillRectange(Perspex.Media.Brush brush, Rect rect, float cornerRadius)
{
this.SetBrush(brush);
this.context.Rectangle(rect.ToCairo());
diff --git a/Cairo/Perspex.Cairo/Media/FormattedTextImpl.cs b/Cairo/Perspex.Cairo/Media/FormattedTextImpl.cs
index 2925b2e741..3b1054cdd0 100644
--- a/Cairo/Perspex.Cairo/Media/FormattedTextImpl.cs
+++ b/Cairo/Perspex.Cairo/Media/FormattedTextImpl.cs
@@ -29,23 +29,25 @@ namespace Perspex.Cairo.Media
this.Layout.FontDescription = new Pango.FontDescription
{
Family = fontFamily,
- Size = Pango.Units.FromDouble(fontSize),
+ Size = Pango.Units.FromDouble(fontSize * 0.73),
Style = (Pango.Style)fontStyle,
Weight = fontWeight.ToCairo()
};
-
+
this.Layout.Alignment = textAlignment.ToCairo();
}
+ private Size size;
public Size Constraint
{
get
{
- return new Size(this.Layout.Width, double.PositiveInfinity);
+ return size;
}
set
{
+ this.size = value;
this.Layout.Width = Pango.Units.FromDouble(value.Width);
}
}
@@ -92,8 +94,14 @@ namespace Perspex.Cairo.Media
public IEnumerable HitTestTextRange(int index, int length, Point origin)
{
- // TODO: Implement.
- return new Rect[0];
+ var ranges = new List();
+
+ for (var i = 0; i < length; i++)
+ {
+ ranges.Add(this.HitTestTextPosition(index+i));
+ }
+
+ return ranges;
}
public Size Measure()
@@ -102,11 +110,6 @@ namespace Perspex.Cairo.Media
int height;
this.Layout.GetPixelSize(out width, out height);
- if (this.Layout.Alignment == Pango.Alignment.Right)
- {
- return new Size(width, height);
- }
-
return new Size(width, height);
}
diff --git a/Gtk/Perspex.Gtk/WindowImpl.cs b/Gtk/Perspex.Gtk/WindowImpl.cs
index ed70b6168e..6d67d248cc 100644
--- a/Gtk/Perspex.Gtk/WindowImpl.cs
+++ b/Gtk/Perspex.Gtk/WindowImpl.cs
@@ -133,7 +133,7 @@ namespace Perspex.Gtk
protected override bool OnConfigureEvent(Gdk.EventConfigure evnt)
{
var newSize = new Size(evnt.Width, evnt.Height);
-
+
if (newSize != this.clientSize)
{
this.Resized(newSize);