aboutsummaryrefslogtreecommitdiffstatsci
path: root/src
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-12-06 17:36:21 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-12-06 17:36:21 +0100
commit309945235a6bfd0c16cd64b8a0ad2501d7b62b50 (patch)
tree42ca544a3b08175f2389709958fe860ba7d487fe /src
parent78592468fe75f09299e12d8a8fbb94635a2befd6 (diff)
wip
Diffstat (limited to 'src')
-rw-r--r--src/Cairo/CairoHelpers.cs2
-rw-r--r--src/Colors.cs10
-rw-r--r--src/CompilerServices/CompilerServices.cs2
-rw-r--r--src/ExtensionsMethods.cs3
-rw-r--r--src/GraphicObjects/DockStack.cs11
-rw-r--r--src/GraphicObjects/DockWindow.cs13
-rw-r--r--src/GraphicObjects/GraphicObject.cs58
-rw-r--r--src/GraphicObjects/TabItem.cs41
-rw-r--r--src/GraphicObjects/TemplatedGroup.cs2
-rw-r--r--src/GraphicObjects/TreeView.cs8
-rw-r--r--src/Interface.cs37
-rw-r--r--src/Mono.Cairo/Color.cs75
-rw-r--r--src/Mono.Cairo/Context.cs31
-rw-r--r--src/Mono.Cairo/Gradient.cs2
-rw-r--r--src/Mono.Cairo/NativeMethods-internal.cs1026
-rw-r--r--src/Mono.Cairo/NativeMethods.cs4
-rw-r--r--src/Mono.Cairo/Rectangle.cs99
-rw-r--r--src/Mono.Cairo/SolidPattern.cs2
-rw-r--r--src/debug/DebugLogViewer.cs2
19 files changed, 1138 insertions, 290 deletions
diff --git a/src/Cairo/CairoHelpers.cs b/src/Cairo/CairoHelpers.cs
index 3b771c38..032980d0 100644
--- a/src/Cairo/CairoHelpers.cs
+++ b/src/Cairo/CairoHelpers.cs
@@ -73,7 +73,7 @@ namespace Crow
if (stroke>0.0) {
gr.LineWidth = stroke;
double hsw = stroke / 2.0;
- DrawRoundedRectangle (gr, r.X + hsw, r.Y + hsw, r.Width - stroke, r.Height - stroke, radius);
+ DrawRoundedRectangle (gr, hsw + r.X, hsw + r.Y, (double)r.Width - stroke, (double)r.Height - stroke, radius);
gr.Stroke ();
}else
DrawRoundedRectangle(gr, r.X, r.Y, r.Width, r.Height, radius);
diff --git a/src/Colors.cs b/src/Colors.cs
index 8e501b33..1da99135 100644
--- a/src/Colors.cs
+++ b/src/Colors.cs
@@ -130,16 +130,6 @@ namespace Crow
double.Parse(c[3]));
}
-// public static implicit operator OpenTK.Vector4(Color c)
-// {
-// return new OpenTK.Vector4 ((float)c.R, (float)c.G, (float)c.B, (float)c.A);
-// }
-// public static implicit operator Color(OpenTK.Vector4 v)
-// {
-// return new Color (v.X, v.Y, v.Z, v.W);
-// }
-
-
public static bool operator ==(Color left, Color right)
{
if (left.predefinied & right.predefinied)
diff --git a/src/CompilerServices/CompilerServices.cs b/src/CompilerServices/CompilerServices.cs
index e315f761..6ceff045 100644
--- a/src/CompilerServices/CompilerServices.cs
+++ b/src/CompilerServices/CompilerServices.cs
@@ -804,7 +804,7 @@ namespace Crow.IML
il.Emit (OpCodes.Ldstr, operandes [1].Trim ());
}
il.Emit (OpCodes.Callvirt, lopParseMi);
- il.Emit (OpCodes.Unbox_Any, lopPI.PropertyType);
+ //il.Emit (OpCodes.Unbox_Any, lopPI.PropertyType);
//emit left operand assignment
il.Emit (OpCodes.Callvirt, lopPI.GetSetMethod());
} else {//tree parsing and propert gets
diff --git a/src/ExtensionsMethods.cs b/src/ExtensionsMethods.cs
index 340a8ceb..ecbc8a72 100644
--- a/src/ExtensionsMethods.cs
+++ b/src/ExtensionsMethods.cs
@@ -153,13 +153,14 @@ namespace Crow
ctx.LineWidth = stroke;
ctx.Stroke ();
}
+
public static void SetSourceColor(this Cairo.Context ctx, Color c)
{
ctx.SetSourceRGBA(c.R,c.G,c.B,c.A);
}
public static void AddColorStop(this Cairo.Gradient grad, double offset, Color c)
{
- grad.AddColorStop (offset, new Cairo.Color (c.R, c.G, c.B, c.A));
+ grad.AddColorStop (offset, c);
}
#endregion
diff --git a/src/GraphicObjects/DockStack.cs b/src/GraphicObjects/DockStack.cs
index aa7c33da..75f0d2bb 100644
--- a/src/GraphicObjects/DockStack.cs
+++ b/src/GraphicObjects/DockStack.cs
@@ -116,9 +116,9 @@ namespace Crow
{
if (IsDropTarget) {
DockWindow dw = IFace.DragAndDropOperation.DragSource as DockWindow;
- if (dw.IsDocked) {
- base.onMouseMove (sender, e);
- return;
+ if (dw == null || dw.IsDocked) {
+ base.onMouseMove (sender, e);
+ return;
}
Alignment curDockPos = dw.DockingPosition;
@@ -416,6 +416,9 @@ namespace Crow
dw.Width = Measure.Parse (getConfAttrib (conf, ref i));
dw.Height = Measure.Parse (getConfAttrib (conf, ref i));
dw.DockingPosition = (Alignment)Enum.Parse (typeof(Alignment), getConfAttrib (conf, ref i));
+ dw.savedSlot = Rectangle.Parse (getConfAttrib (conf, ref i));
+ dw.wasResizable = Boolean.Parse (getConfAttrib (conf, ref i));
+
dw.IsDocked = true;
dw.DataSource = dataSource;
this.AddChild (dw);
@@ -450,7 +453,7 @@ namespace Crow
for (int i = 0; i < Children.Count; i++) {
if (Children [i] is DockWindow) {
DockWindow dw = Children [i] as DockWindow;
- tmp.Append (string.Format("WIN;{0};{1};{2};{3};",dw.Name, dw.Width, dw.Height, dw.DockingPosition));
+ tmp.Append (string.Format("WIN;{0};{1};{2};{3};{4};{5};",dw.Name, dw.Width, dw.Height, dw.DockingPosition, dw.savedSlot, dw.wasResizable));
} else if (Children [i] is DockStack) {
DockStack ds = Children [i] as DockStack;
tmp.Append (string.Format("STK;{0};{1};{2};{3}", ds.Width, ds.Height, ds.Orientation, ds.exportConfig()));
diff --git a/src/GraphicObjects/DockWindow.cs b/src/GraphicObjects/DockWindow.cs
index d6385057..e368db51 100644
--- a/src/GraphicObjects/DockWindow.cs
+++ b/src/GraphicObjects/DockWindow.cs
@@ -40,8 +40,8 @@ namespace Crow
Alignment docking = Alignment.Undefined;
Point undockingMousePosOrig; //mouse pos when docking was donne, use for undocking on mouse move
- Rectangle savedSlot; //last undocked slot recalled when view is undocked
- bool wasResizable;
+ internal Rectangle savedSlot; //last undocked slot recalled when view is undocked
+ internal bool wasResizable;
public bool IsDocked {
get { return isDocked; }
@@ -64,7 +64,6 @@ namespace Crow
NotifyValueChanged ("DockingPosition", DockingPosition);
}
}
-
public override bool PointIsIn (ref Point m)
{
if (!base.PointIsIn(ref m))
@@ -136,10 +135,10 @@ namespace Crow
IFace.AddWidget (this);
- this.Left = savedSlot.Left;
- this.Top = savedSlot.Top;
- this.Width = savedSlot.Width;
- this.Height = savedSlot.Height;
+ Left = savedSlot.Left;
+ Top = savedSlot.Top;
+ Width = savedSlot.Width;
+ Height = savedSlot.Height;
IsDocked = false;
DockingPosition = Alignment.Undefined;
diff --git a/src/GraphicObjects/GraphicObject.cs b/src/GraphicObjects/GraphicObject.cs
index 747609b0..ec4fa173 100644
--- a/src/GraphicObjects/GraphicObject.cs
+++ b/src/GraphicObjects/GraphicObject.cs
@@ -277,14 +277,14 @@ namespace Crow
Fill background = Color.Transparent;
Fill foreground = Color.White;
Font font = "droid, 10";
- Measure width, height;
+ protected Measure width, height;
int left, top;
double cornerRadius = 0;
int margin = 0;
bool focusable = false;
bool hasFocus = false;
bool isActive = false;
- bool isHover = false;
+ //bool isHover = false;
bool mouseRepeat;
protected bool isVisible = true;
bool isEnabled = true;
@@ -436,9 +436,9 @@ namespace Crow
/// <summary>Occurs when this object loose focus</summary>
public event EventHandler Unfocused;
/// <summary>Occurs when mouse is over</summary>
- public event EventHandler Hover;
+ //public event EventHandler Hover;
/// <summary>Occurs when this control is no longer the Hover one</summary>
- public event EventHandler UnHover;
+ //public event EventHandler UnHover;
/// <summary>Occurs when this object loose focus</summary>
public event EventHandler Enabled;
/// <summary>Occurs when the enabled state this object is set to false</summary>
@@ -744,7 +744,7 @@ namespace Crow
/// <summary>
/// true if this control has the pointer hover
/// </summary>
- [XmlIgnore]public virtual bool IsHover {
+ /*[XmlIgnore]public virtual bool IsHover {
get { return isHover; }
set {
if (value == isHover)
@@ -759,7 +759,7 @@ namespace Crow
NotifyValueChanged ("IsHover", isHover);
}
- }
+ }*/
/// <summary>
/// true if holding mouse button down should trigger multiple click events
/// </summary>
@@ -866,8 +866,12 @@ namespace Crow
RegisterForLayouting (LayoutingType.Sizing);
- if (!isVisible)
- unshownPostActions ();
+ if (!isVisible && IFace.HoverWidget != null) {
+ if (IFace.HoverWidget.IsOrIsInside (this)) {
+ //IFace.HoverWidget = null;
+ IFace.ProcessMouseMove (IFace.Mouse.X, IFace.Mouse.Y);
+ }
+ }
NotifyValueChanged ("Visible", isVisible);
}
@@ -1877,20 +1881,7 @@ namespace Crow
#if DEBUG_FOCUS
Debug.WriteLine("MouseEnter => " + this.ToString());
#endif
- MouseEnter.Raise (this, e);
- }
- public virtual void onMouseLeave(object sender, MouseMoveEventArgs e)
- {
- #if DEBUG_FOCUS
- Debug.WriteLine("MouseLeave => " + this.ToString());
- #endif
- MouseLeave.Raise (this, e);
- }
- public virtual void onHover(object sender, EventArgs e)
- {
- #if DEBUG_FOCUS
- Debug.WriteLine("MouseHover => " + this.ToString());
- #endif
+
if (IFace.DragAndDropOperation != null) {
GraphicObject g = this;
while (g != null) {
@@ -1905,15 +1896,18 @@ namespace Crow
g = g.focusParent;
}
}
- Hover.Raise (this, e);
+
+ MouseEnter.Raise (this, e);
}
- public virtual void onUnHover(object sender, EventArgs e)
+ public virtual void onMouseLeave(object sender, MouseMoveEventArgs e)
{
#if DEBUG_FOCUS
- Debug.WriteLine("MouseUnHover => " + this.ToString());
+ Debug.WriteLine("MouseLeave => " + this.ToString());
#endif
- UnHover.Raise (this, e);
+
+ MouseLeave.Raise (this, e);
}
+
#endregion
protected virtual void onFocused(object sender, EventArgs e){
@@ -1981,6 +1975,12 @@ namespace Crow
/// Checks to handle when widget is removed from the visible graphic tree
/// </summary>
void unshownPostActions () {
+ if (IFace.HoverWidget != null) {
+ if (IFace.HoverWidget.IsOrIsInside (this)) {
+ IFace.HoverWidget = null;
+ IFace.ProcessMouseMove (IFace.Mouse.X, IFace.Mouse.Y);
+ }
+ }
if (IFace.ActiveWidget != null) {
if (IFace.ActiveWidget.IsOrIsInside (this))
IFace.ActiveWidget = null;
@@ -1989,12 +1989,6 @@ namespace Crow
if (IFace.FocusedWidget.IsOrIsInside (this))
IFace.FocusedWidget = null;
}
- if (IFace.HoverWidget != null) {
- if (IFace.HoverWidget.IsOrIsInside (this)) {
- IFace.HoverWidget = null;
- IFace.ProcessMouseMove (IFace.Mouse.X, IFace.Mouse.Y);
- }
- }
}
}
}
diff --git a/src/GraphicObjects/TabItem.cs b/src/GraphicObjects/TabItem.cs
index 8ddd7a8e..52fdbfef 100644
--- a/src/GraphicObjects/TabItem.cs
+++ b/src/GraphicObjects/TabItem.cs
@@ -49,6 +49,7 @@ namespace Crow
int tabOffset;
bool isSelected;
Measure tabThickness;
+ Fill selectedBackground = Color.Transparent;
#endregion
#region TemplatedControl overrides
@@ -115,8 +116,30 @@ namespace Crow
set {
if (isSelected == value)
return;
+
+ if (tview != null)
+ tview.SelectedTab = tview.Children.IndexOf(this);
+
isSelected = value;
NotifyValueChanged ("IsSelected", isSelected);
+ RegisterForRedraw ();
+ }
+ }
+
+ /// <summary>
+ /// background fill of the control, maybe solid color, gradient, image, or svg
+ /// </summary>
+ [DesignCategory ("Appearance")][DefaultValue("DimGrey")]
+ public virtual Fill SelectedBackground {
+ get { return selectedBackground; }
+ set {
+ if (selectedBackground == value)
+ return;
+ if (value == null)
+ return;
+ selectedBackground = value;
+ NotifyValueChanged ("SelectedBackground", selectedBackground);
+ RegisterForRedraw ();
}
}
protected override void onDraw (Context gr)
@@ -150,7 +173,11 @@ namespace Crow
gr.StrokePreserve ();
gr.ClipPreserve ();
- Background.SetAsSource (gr);
+ if (IsSelected)
+ SelectedBackground.SetAsSource (gr, ClientRectangle);
+ else
+ Background.SetAsSource (gr, ClientRectangle);
+
gr.Fill ();
base.onDraw (gr);
@@ -162,14 +189,8 @@ namespace Crow
int dragThreshold = 16;
int dis = 128;
internal TabView savedParent = null;
- public override Fill Background {
- get {
- return base.Background;
- }
- set {
- base.Background = value;
- }
- }
+
+
void makeFloating (TabView tv) {
lock (IFace.UpdateMutex) {
ImageSurface di = new ImageSurface (Format.Argb32, dis, dis);
@@ -252,7 +273,7 @@ namespace Crow
public override void onMouseUp (object sender, MouseButtonEventArgs e)
{
base.onMouseUp (sender, e);
- tview.UpdateLayout (LayoutingType.ArrangeChildren);
+ tview?.UpdateLayout (LayoutingType.ArrangeChildren);
}
public override void onMouseMove (object sender, MouseMoveEventArgs e)
{
diff --git a/src/GraphicObjects/TemplatedGroup.cs b/src/GraphicObjects/TemplatedGroup.cs
index 73681b9d..4d236dab 100644
--- a/src/GraphicObjects/TemplatedGroup.cs
+++ b/src/GraphicObjects/TemplatedGroup.cs
@@ -148,7 +148,7 @@ namespace Crow
: items.Children;
}
}
- [XmlAttributeAttribute][DefaultValue(-1)]public virtual int SelectedIndex{
+ [DefaultValue(-1)]public virtual int SelectedIndex{
get { return _selectedIndex; }
set {
if (value == _selectedIndex)
diff --git a/src/GraphicObjects/TreeView.cs b/src/GraphicObjects/TreeView.cs
index 2c3f817f..12a99fb3 100644
--- a/src/GraphicObjects/TreeView.cs
+++ b/src/GraphicObjects/TreeView.cs
@@ -67,13 +67,13 @@ namespace Crow
GraphicObject tmp = sender as GraphicObject;
if (!tmp.HasFocus)
return;
- if (selectedItemContainer != null) {
+ /*if (selectedItemContainer != null) {
selectedItemContainer.Foreground = Color.Transparent;
selectedItemContainer.Background = Color.Transparent;
- }
+ }*/
selectedItemContainer = tmp;
- selectedItemContainer.Foreground = SelectionForeground;
- selectedItemContainer.Background = SelectionBackground;
+ //selectedItemContainer.Foreground = SelectionForeground;
+ //selectedItemContainer.Background = SelectionBackground;
NotifyValueChanged ("SelectedItem", SelectedItem);
raiseSelectedItemChanged ();
}
diff --git a/src/Interface.cs b/src/Interface.cs
index f2d6a1ce..9a11fa18 100644
--- a/src/Interface.cs
+++ b/src/Interface.cs
@@ -129,8 +129,8 @@ namespace Crow
Keyboard.KeyUp += Keyboard_KeyUp;
Keyboard.KeyPress += Keyboard_KeyPress;
- initTooltip ();
- initContextMenus ();
+ /*initTooltip ();
+ initContextMenus ();*/
running = true;
@@ -605,14 +605,15 @@ namespace Crow
if (_hoverWidget == value)
return;
- if (_hoverWidget != null)
- _hoverWidget.IsHover = false;
+ //if (_hoverWidget != null)
+ // _hoverWidget.IsHover = false;
_hoverWidget = value;
+
#if DEBUG_FOCUS
NotifyValueChanged("HoverWidget", _hoverWidget);
#endif
-
+ /*
if (_hoverWidget != null)
{
_hoverWidget.IsHover = true;
@@ -623,6 +624,7 @@ namespace Crow
#else
}
#endif
+ */
}
}
/// <summary>Widget has the keyboard or mouse focus</summary>
@@ -860,10 +862,11 @@ namespace Crow
if (newW != null) {
while (ptr < GraphicTree.Count) {
Window w = GraphicTree [ptr] as Window;
- if (w != null) {
- if (newW.AlwaysOnTop || !w.AlwaysOnTop)
- break;
- }
+ if (w == null)
+ break;
+ if (newW.AlwaysOnTop || !w.AlwaysOnTop)
+ break;
+
ptr++;
}
}
@@ -1001,10 +1004,10 @@ namespace Crow
/// <returns>true if mouse is in the interface</returns>
public virtual bool ProcessMouseMove(int x, int y)
{
- if (armedClickSender != null) {
- armedClickSender.onMouseClick (armedClickSender, armedClickEvtArgs);
+ /*if (armedClickSender != null) {
+ //armedClickSender.onMouseClick (armedClickSender, armedClickEvtArgs);
armedClickSender = null;
- }
+ }*/
int deltaX = x - Mouse.X;
int deltaY = y - Mouse.Y;
Mouse.X = x;
@@ -1130,7 +1133,15 @@ namespace Crow
if (HoverWidget == null)
return false;
- if (HoverWidget == armedClickSender) {
+ GraphicObject hoverFocused = HoverWidget;
+ while (!hoverFocused.Focusable) {
+ hoverFocused = hoverFocused.focusParent;
+ if (hoverFocused == null) {
+ hoverFocused = HoverWidget;
+ break;
+ }
+ }
+ if (hoverFocused == armedClickSender) {
if (clickTimer.ElapsedMilliseconds < Interface.DoubleClick) {
armedClickSender.onMouseDoubleClick (armedClickSender, e);
armedClickSender = null;
diff --git a/src/Mono.Cairo/Color.cs b/src/Mono.Cairo/Color.cs
deleted file mode 100644
index 030089e8..00000000
--- a/src/Mono.Cairo/Color.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// Mono.Cairo.Context.cs
-//
-// Author:
-// Duncan Mak (duncan@ximian.com)
-// Miguel de Icaza (miguel@novell.com)
-// Hisham Mardam Bey (hisham.mardambey@gmail.com)
-// Alp Toker (alp@atoker.com)
-//
-// (C) Ximian Inc, 2003.
-// (C) Novell Inc, 2003.
-//
-// This is an OO wrapper API for the Cairo API.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Cairo {
-
- public struct Color
- {
- public Color(double r, double g, double b) : this (r, g, b, 1.0)
- {
- }
-
- public Color(double r, double g, double b, double a)
- {
- this.r = r;
- this.g = g;
- this.b = b;
- this.a = a;
- }
-
- double r, g, b, a;
-
- public double R {
- get { return r; }
- set { r = value; }
- }
-
- public double G {
- get { return g; }
- set { g = value; }
- }
-
- public double B {
- get { return b; }
- set { b = value; }
- }
-
- public double A {
- get { return a; }
- set { a = value; }
- }
- }
-}
diff --git a/src/Mono.Cairo/Context.cs b/src/Mono.Cairo/Context.cs
index 264774dd..74c2e444 100644
--- a/src/Mono.Cairo/Context.cs
+++ b/src/Mono.Cairo/Context.cs
@@ -38,8 +38,9 @@ using System;
using System.Runtime.InteropServices;
using System.Text;
using Cairo;
+using Color = Crow.Color;
-namespace Cairo {
+namespace Cairo {
[Obsolete ("Renamed Cairo.Context per suggestion from cairo binding guidelines.")]
public class Graphics : Context {
@@ -161,20 +162,6 @@ namespace Cairo {
}
}
- [Obsolete ("Use SetSourceColor method")]
- public Color Color {
- set {
- SetSourceColor (value);
- }
- }
-
- [Obsolete ("Use SetSourceRGBA method")]
- public Cairo.Color ColorRgb {
- set {
- Color = new Color (value.R, value.G, value.B);
- }
- }
-
public double Tolerance {
get {
return NativeMethods.cairo_get_tolerance (handle);
@@ -870,13 +857,9 @@ namespace Cairo {
public void ShowText(string str)
{
- NativeMethods.cairo_show_text (handle, TerminateUtf8(str));
+ NativeMethods.cairo_show_text (handle, str);
}
- public void ShowText(byte[] utf8)
- {
- NativeMethods.cairo_show_text (handle, TerminateUtf8(utf8));
- }
public void TextPath(string str)
{
@@ -891,16 +874,10 @@ namespace Cairo {
public TextExtents TextExtents(string s)
{
TextExtents extents;
- NativeMethods.cairo_text_extents (handle, TerminateUtf8(s), out extents);
+ NativeMethods.cairo_text_extents (handle, s, out extents);
return extents;
}
- public TextExtents TextExtents(byte[] utf8)
- {
- TextExtents extents;
- NativeMethods.cairo_text_extents (handle, TerminateUtf8(utf8), out extents);
- return extents;
- }
public TextExtents GlyphExtents (Glyph[] glyphs)
{
diff --git a/src/Mono.Cairo/Gradient.cs b/src/Mono.Cairo/Gradient.cs
index 0fb617e4..c7bc53c6 100644
--- a/src/Mono.Cairo/Gradient.cs
+++ b/src/Mono.Cairo/Gradient.cs
@@ -28,7 +28,7 @@
//
using System;
-
+using Color = Crow.Color;
namespace Cairo {
public class Gradient : Pattern
diff --git a/src/Mono.Cairo/NativeMethods-internal.cs b/src/Mono.Cairo/NativeMethods-internal.cs
new file mode 100644
index 00000000..6e6d507c
--- /dev/null
+++ b/src/Mono.Cairo/NativeMethods-internal.cs
@@ -0,0 +1,1026 @@
+//
+// Cairo.cs - a simplistic binding of the Cairo API to C#.
+//
+// Authors: Duncan Mak (duncan@ximian.com)
+// Hisham Mardam Bey (hisham.mardambey@gmail.com)
+// John Luke (john.luke@gmail.com)
+// Alp Toker (alp@atoker.com)
+//
+// (C) Ximian, Inc. 2003
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005 John Luke
+// Copyright (C) 2006 Alp Toker
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Runtime.InteropServices;
+using System.Runtime.CompilerServices;
+
+namespace Cairo
+{
+ // sort the functions like in the following page so it is easier to find what is missing
+ // http://cairographics.org/manual/index-all.html
+
+ public static class NativeMethods
+ {
+ #if MONOTOUCH
+ const string cairo = "__Internal";
+ #else
+ const string cairo = "libcairo-2.dll";
+ #endif
+
+ //[MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ //public static extern void cairo_append_path (IntPtr cr, Path path);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_arc (IntPtr cr, double xc, double yc, double radius, double angle1, double angle2);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_arc_negative (IntPtr cr, double xc, double yc, double radius, double angle1, double angle2);
+
+ // [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ // public static extern IntPtr cairo_atsui_font_face_create_for_atsu_font_id (IntPtr font_id);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_clip (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_clip_preserve (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_clip_extents (IntPtr cr, out double x1, out double y1, out double x2, out double y2);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_close_path (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_copy_page (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_copy_path (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_copy_path_flat (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_append_path (IntPtr cr, IntPtr path);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_create (IntPtr target);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_curve_to (IntPtr cr, double x1, double y1, double x2, double y2, double x3, double y3);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_debug_reset_static_data ();
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_destroy (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_device_to_user (IntPtr cr, ref double x, ref double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_device_to_user_distance (IntPtr cr, ref double dx, ref double dy);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_fill (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_fill_extents (IntPtr cr, out double x1, out double y1, out double x2, out double y2);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_fill_preserve (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_font_extents (IntPtr cr, out FontExtents extents);
+
+ #region FontFace
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_font_face_destroy (IntPtr font_face);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern FontType cairo_font_face_get_type (IntPtr font_face);
+
+ //[MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ //public static extern void cairo_font_face_get_user_data (IntPtr font_face);
+
+ //[MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ //public static extern void cairo_font_face_set_user_data (IntPtr font_face);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_font_face_reference (IntPtr font_face);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_font_face_status (IntPtr font_face);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern uint cairo_font_face_get_reference_count (IntPtr surface);
+ #endregion
+
+ #region FontOptions
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_font_options_copy (IntPtr original);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_font_options_create ();
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_font_options_destroy (IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern bool cairo_font_options_equal (IntPtr options, IntPtr other);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Antialias cairo_font_options_get_antialias (IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern HintMetrics cairo_font_options_get_hint_metrics (IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern HintStyle cairo_font_options_get_hint_style (IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern SubpixelOrder cairo_font_options_get_subpixel_order (IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern long cairo_font_options_hash (IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_font_options_merge (IntPtr options, IntPtr other);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_font_options_set_antialias (IntPtr options, Antialias aa);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_font_options_set_hint_metrics (IntPtr options, HintMetrics metrics);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_font_options_set_hint_style (IntPtr options, HintStyle style);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_font_options_set_subpixel_order (IntPtr options, SubpixelOrder order);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_font_options_status (IntPtr options);
+ #endregion
+
+ #region Freetype / FontConfig
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_ft_font_face_create_for_ft_face (IntPtr face, int load_flags);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_ft_font_face_create_for_pattern (IntPtr fc_pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_ft_font_options_substitute (FontOptions options, IntPtr pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_ft_scaled_font_lock_face (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_ft_scaled_font_unlock_face (IntPtr scaled_font);
+ #endregion
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Antialias cairo_get_antialias (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_get_current_point (IntPtr cr, out double x, out double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern FillRule cairo_get_fill_rule (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_get_font_face (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_get_font_matrix (IntPtr cr, out Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_get_font_options (IntPtr cr, IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_get_group_target (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern LineCap cairo_get_line_cap (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern LineJoin cairo_get_line_join (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern double cairo_get_line_width (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_get_matrix (IntPtr cr, Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern double cairo_get_miter_limit (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Operator cairo_get_operator (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern uint cairo_get_reference_count (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_get_source (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_get_target (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern double cairo_get_tolerance (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_glitz_surface_create (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_glyph_extents (IntPtr cr, IntPtr glyphs, int num_glyphs, out TextExtents extents);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_glyph_path (IntPtr cr, IntPtr glyphs, int num_glyphs);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ [return: MarshalAs (UnmanagedType.U1)]
+ public static extern bool cairo_has_current_point (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_identity_matrix (IntPtr cr);
+
+ #region Image Surface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_image_surface_create (Cairo.Format format, int width, int height);
+
+ [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
+ public static extern IntPtr cairo_image_surface_create_for_data (byte[] data, Cairo.Format format, int width, int height, int stride);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_image_surface_create_for_data (IntPtr data, Cairo.Format format, int width, int height, int stride);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_image_surface_create_from_png (string filename);
+
+ //[MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ //public static extern IntPtr cairo_image_surface_create_from_png_stream (string filename);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_image_surface_get_data (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Format cairo_image_surface_get_format (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_image_surface_get_height (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_image_surface_get_stride (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_image_surface_get_width (IntPtr surface);
+ #endregion
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ [return: MarshalAs (UnmanagedType.U1)]
+ public static extern bool cairo_in_clip (IntPtr cr, double x, double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ [return: MarshalAs (UnmanagedType.U1)]
+ public static extern bool cairo_in_fill (IntPtr cr, double x, double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ [return: MarshalAs (UnmanagedType.U1)]
+ public static extern bool cairo_in_stroke (IntPtr cr, double x, double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_line_to (IntPtr cr, double x, double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_mask (IntPtr cr, IntPtr pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_mask_surface (IntPtr cr, IntPtr surface, double x, double y);
+
+ #region Matrix
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_init (Matrix matrix, double xx, double yx, double xy, double yy, double x0, double y0);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_init_identity (Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_init_rotate (Matrix matrix, double radians);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_init_scale (Matrix matrix, double sx, double sy);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_init_translate (Matrix matrix, double tx, double ty);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_matrix_invert (Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_multiply (Matrix result, Matrix a, Matrix b);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_scale (Matrix matrix, double sx, double sy);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_rotate (Matrix matrix, double radians);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_transform_distance (Matrix matrix, ref double dx, ref double dy);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_transform_point (Matrix matrix, ref double x, ref double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_matrix_translate (Matrix matrix, double tx, double ty);
+ #endregion
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_move_to (IntPtr cr, double x, double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_new_path (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_new_sub_path (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_paint (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_paint_with_alpha (IntPtr cr, double alpha);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_path_destroy (IntPtr path);
+
+ #region Pattern
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pattern_add_color_stop_rgb (IntPtr pattern, double offset, double red, double green, double blue);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pattern_add_color_stop_rgba (IntPtr pattern, double offset, double red, double green, double blue, double alpha);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_pattern_get_color_stop_count (IntPtr pattern, out int count);
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_pattern_get_color_stop_rgba (IntPtr pattern, int index, out double offset, out double red, out double green, out double blue, out double alpha);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_pattern_create_for_surface (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_pattern_get_surface (IntPtr pattern, out IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_pattern_create_linear (double x0, double y0, double x1, double y1);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_pattern_get_linear_points (IntPtr pattern, out double x0, out double y0, out double x1, out double y1);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_pattern_create_radial (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_pattern_get_radial_circles (IntPtr pattern, out double x0, out double y0, out double r0, out double x1, out double y1, out double r1);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_pattern_create_rgb (double r, double g, double b);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_pattern_create_rgba (double r, double g, double b, double a);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_pattern_get_rgba (IntPtr pattern, out double red, out double green, out double blue, out double alpha);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pattern_destroy (IntPtr pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Extend cairo_pattern_get_extend (IntPtr pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Filter cairo_pattern_get_filter (IntPtr pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pattern_get_matrix (IntPtr pattern, Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern PatternType cairo_pattern_get_type (IntPtr pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_pattern_reference (IntPtr pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pattern_set_extend (IntPtr pattern, Extend extend);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pattern_set_filter (IntPtr pattern, Filter filter);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pattern_set_matrix (IntPtr pattern, Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_pattern_status (IntPtr pattern);
+ #endregion
+
+ #region PdfSurface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_pdf_surface_create (string filename, double width, double height);
+
+ //[MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ //public static extern IntPtr cairo_pdf_surface_create_for_stream (string filename, double width, double height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pdf_surface_set_size (IntPtr surface, double x, double y);
+ #endregion
+
+ #region PostscriptSurface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_ps_surface_create (string filename, double width, double height);
+
+ //[MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ //public static extern IntPtr cairo_ps_surface_create_for_stream (string filename, double width, double height);
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_ps_surface_dsc_begin_page_setup (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_ps_surface_dsc_begin_setup (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_ps_surface_dsc_comment (IntPtr surface, string comment);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_ps_surface_set_size (IntPtr surface, double x, double y);
+ #endregion
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_pop_group (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_pop_group_to_source (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_push_group (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_push_group_with_content (IntPtr cr, Content content);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_quartz_surface_create (IntPtr context, bool flipped, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_rectangle (IntPtr cr, double x, double y, double width, double height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_reference (IntPtr cr);
+
+ #region Regions
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern bool cairo_region_contains_point (IntPtr region, int x, int y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern RegionOverlap cairo_region_contains_rectangle (IntPtr region, ref Crow.Rectangle rectangle);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_region_copy (IntPtr original);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_region_create ();
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_region_create_rectangle (ref Crow.Rectangle rect);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_region_create_rectangles (IntPtr rects, int count);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_region_destroy (IntPtr region);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern bool cairo_region_equal (IntPtr a, IntPtr b);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_region_get_extents (IntPtr region, out Crow.Rectangle extents);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_region_get_rectangle (IntPtr region, int nth, out Crow.Rectangle rectangle);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_intersect (IntPtr dst, IntPtr other);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_intersect_rectangle (IntPtr dst, ref Crow.Rectangle rectangle);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern bool cairo_region_is_empty (IntPtr region);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_region_num_rectangles (IntPtr region);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_region_reference (IntPtr region);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_status (IntPtr region);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_subtract (IntPtr dst, IntPtr other);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_subtract_rectangle (IntPtr dst, ref Crow.Rectangle rectangle);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_region_translate (IntPtr region, int dx, int dy);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_union (IntPtr dst, IntPtr other);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_union_rectangle (IntPtr dst, ref Crow.Rectangle rectangle);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_xor (IntPtr dst, IntPtr other);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_region_xor_rectangle (IntPtr dst, ref Crow.Rectangle rectangle);
+ #endregion
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_rel_curve_to (IntPtr cr, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_rel_line_to (IntPtr cr, double dx, double dy);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_rel_move_to (IntPtr cr, double dx, double dy);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_reset_clip (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_restore (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_rotate (IntPtr cr, double angle);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_save (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_scale (IntPtr cr, double sx, double sy);
+
+ #region ScaledFont
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_scaled_font_create (IntPtr fontFace, Matrix matrix, Matrix ctm, IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_scaled_font_destroy (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_scaled_font_extents (IntPtr scaled_font, out FontExtents extents);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_scaled_font_get_ctm (IntPtr scaled_font, out Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_scaled_font_get_font_face (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_scaled_font_get_font_matrix (IntPtr scaled_font, out Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_scaled_font_get_font_options (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern FontType cairo_scaled_font_get_type (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_scaled_font_glyph_extents (IntPtr scaled_font, IntPtr glyphs, int num_glyphs, out TextExtents extents);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_scaled_font_reference (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_scaled_font_status (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_scaled_font (IntPtr cr, IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_get_scaled_font (IntPtr cr);
+
+ [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
+ public static extern void cairo_scaled_font_text_extents (IntPtr scaled_font, byte[] utf8, out TextExtents extents);
+ #endregion
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_select_font_face (IntPtr cr, string family, FontSlant slant, FontWeight weight);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_antialias (IntPtr cr, Antialias antialias);
+
+ [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
+ public static extern void cairo_set_dash (IntPtr cr, double [] dashes, int ndash, double offset);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_get_dash (IntPtr cr, IntPtr dashes, out double offset);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_get_dash_count (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_fill_rule (IntPtr cr, Cairo.FillRule fill_rule);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_font_face (IntPtr cr, IntPtr fontFace);
+
+ [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
+ public static extern void cairo_set_font_matrix (IntPtr cr, Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_font_options (IntPtr cr, IntPtr options);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_font_size (IntPtr cr, double size);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_line_cap (IntPtr cr, LineCap line_cap);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_line_join (IntPtr cr, LineJoin line_join);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_line_width (IntPtr cr, double width);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_matrix (IntPtr cr, Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_miter_limit (IntPtr cr, double limit);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_operator (IntPtr cr, Cairo.Operator op);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_source (IntPtr cr, IntPtr pattern);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_source_rgb (IntPtr cr, double red, double green, double blue);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_source_rgba (IntPtr cr, double red, double green, double blue, double alpha);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_source_surface (IntPtr cr, IntPtr surface, double x, double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_set_tolerance (IntPtr cr, double tolerance);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_show_glyphs (IntPtr ct, IntPtr glyphs, int num_glyphs);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_show_page (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_show_text (IntPtr cr, string str);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_status (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_status_to_string (Status status);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_stroke (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_stroke_extents (IntPtr cr, out double x1, out double y1, out double x2, out double y2);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_stroke_preserve (IntPtr cr);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_rectangle_list_destroy (IntPtr rectangle_list);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_copy_clip_rectangle_list (IntPtr cr);
+
+ #region Surface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_surface_create_similar (IntPtr surface, Cairo.Content content, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_destroy (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_finish (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_flush (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Content cairo_surface_get_content (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_get_device_offset (IntPtr surface, out double x, out double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_get_font_options (IntPtr surface, IntPtr FontOptions);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern uint cairo_surface_get_reference_count (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern SurfaceType cairo_surface_get_type (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_mark_dirty (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_mark_dirty_rectangle (IntPtr surface, int x, int y, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_surface_reference (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_set_device_offset (IntPtr surface, double x, double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_set_fallback_resolution (IntPtr surface, double x, double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_surface_status (IntPtr surface);
+ #endregion
+
+ #region SVG surface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_surface_write_to_png (IntPtr surface, string filename);
+
+ //[MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ //public static extern void cairo_surface_write_to_png_stream (IntPtr surface, WriteFunc writeFunc);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_svg_surface_create (string fileName, double width, double height);
+
+ //[MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ //public static extern IntPtr cairo_svg_surface_create_for_stream (double width, double height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_svg_surface_restrict_to_version (IntPtr surface, SvgVersion version);
+ #endregion
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_text_extents (IntPtr cr, string txt, out TextExtents extents);
+
+ [DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
+ public static extern void cairo_text_path (IntPtr ct, byte[] utf8);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_transform (IntPtr cr, Matrix matrix);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_translate (IntPtr cr, double tx, double ty);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_user_to_device (IntPtr cr, ref double x, ref double y);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_user_to_device_distance (IntPtr cr, ref double dx, ref double dy);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_version ();
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_version_string ();
+
+ #region DirectFBSurface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_directfb_surface_create (IntPtr dfb, IntPtr surface);
+ #endregion
+
+ #region win32 fonts
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_win32_font_face_create_for_logfontw (IntPtr logfontw);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_win32_scaled_font_done_font (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern double cairo_win32_scaled_font_get_metrics_factor (IntPtr scaled_font);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_win32_scaled_font_select_font (IntPtr scaled_font, IntPtr hdc);
+ #endregion
+
+ #region win32 surface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_win32_surface_create (IntPtr hdc);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_win32_surface_create_with_ddb (IntPtr hdc, Format format, int width, int height);
+ #endregion
+
+ #region XcbSurface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_xcb_surface_create (IntPtr connection, uint drawable, IntPtr visual, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_xcb_surface_create_for_bitmap (IntPtr connection, uint bitmap, IntPtr screen, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_xcb_surface_set_size (IntPtr surface, int width, int height);
+ #endregion
+
+ #region XlibSurface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_xlib_surface_create (IntPtr display, IntPtr drawable, IntPtr visual, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_xlib_surface_create_for_bitmap (IntPtr display, IntPtr bitmap, IntPtr screen, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_xlib_surface_get_depth (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_xlib_surface_get_display (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_xlib_surface_get_drawable (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_xlib_surface_get_height (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_xlib_surface_get_screen (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_xlib_surface_get_visual (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_xlib_surface_get_width (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_xlib_surface_set_drawable (IntPtr surface, IntPtr drawable, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_xlib_surface_set_size (IntPtr surface, int width, int height);
+ #endregion
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_gl_device_set_thread_aware(IntPtr device, int value);
+
+ #region GLSurface
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_gl_surface_create (IntPtr device, uint content, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_gl_surface_create_for_texture (IntPtr device, uint content, uint tex, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_gl_surface_set_size (IntPtr surface, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_gl_surface_get_width (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_gl_surface_get_height (IntPtr surface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_gl_surface_swapbuffers (IntPtr surf);
+ #endregion
+
+ #region GLX Functions
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_glx_device_create (IntPtr dpy, IntPtr gl_ctx);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_glx_device_get_display (IntPtr device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_glx_device_get_context (IntPtr device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_gl_surface_create_for_window (IntPtr device, IntPtr window, int width, int height);
+ #endregion
+
+ #region WGL Fucntions
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_wgl_device_create (IntPtr hglrc);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_wgl_device_get_context (IntPtr device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_gl_surface_create_for_dc (IntPtr device, IntPtr hdc, int width, int height);
+ #endregion
+
+ #region EGL Functions
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_egl_device_create (IntPtr dpy, IntPtr gl_ctx);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_gl_surface_create_for_egl (IntPtr device, IntPtr eglSurface, int width, int height);
+ #endregion
+
+ #region DRM Functions
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_device_get (IntPtr udev_device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_device_get_for_fd (int fd);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_device_default ();
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_drm_device_get_fd (IntPtr cairo_device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_drm_device_throttle (IntPtr cairo_device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_surface_create (IntPtr cairo_device, Format format, int width, int height);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_surface_create_for_name (IntPtr cairo_device, uint name, Format format, int width, int height, int stride);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_surface_create_from_cacheable_image (IntPtr cairo_device, IntPtr imageSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_drm_surface_enable_scan_out (IntPtr drmSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_surface_get_handle (IntPtr drmSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_surface_get_name (IntPtr drmSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Format cairo_drm_surface_get_format (IntPtr drmSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_drm_surface_get_width (IntPtr drmSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_drm_surface_get_height (IntPtr drmSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern int cairo_drm_surface_get_stride (IntPtr drmSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_drm_surface_map_to_image (IntPtr drmSurface);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_drm_surface_unmap (IntPtr drmSurface, IntPtr imageSurface);
+ #endregion
+
+ #region Device
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_device_acquire(IntPtr device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_device_destroy (IntPtr device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern IntPtr cairo_device_reference (IntPtr device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void cairo_device_release(IntPtr device);
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern Status cairo_device_status(IntPtr device);
+ #endregion
+
+
+
+ [MethodImplAttribute(MethodImplOptions.InternalCall)][System.Security.SecuritySafeCriticalAttribute]
+ public static extern void crow_cairo_region_clear(IntPtr ctx, IntPtr reg);
+
+ }
+} \ No newline at end of file
diff --git a/src/Mono.Cairo/NativeMethods.cs b/src/Mono.Cairo/NativeMethods.cs
index 53501369..24384fe7 100644
--- a/src/Mono.Cairo/NativeMethods.cs
+++ b/src/Mono.Cairo/NativeMethods.cs
@@ -752,7 +752,7 @@ namespace Cairo
internal static extern void cairo_show_page (IntPtr cr);
[DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
- internal static extern void cairo_show_text (IntPtr cr, byte[] utf8);
+ internal static extern void cairo_show_text (IntPtr cr, string text);
[DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
internal static extern Status cairo_status (IntPtr cr);
@@ -840,7 +840,7 @@ namespace Cairo
#endregion
[DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
- internal static extern void cairo_text_extents (IntPtr cr, byte[] utf8, out TextExtents extents);
+ internal static extern void cairo_text_extents (IntPtr cr, string text, out TextExtents extents);
[DllImport (cairo, CallingConvention=CallingConvention.Cdecl)]
internal static extern void cairo_text_path (IntPtr ct, byte[] utf8);
diff --git a/src/Mono.Cairo/Rectangle.cs b/src/Mono.Cairo/Rectangle.cs
deleted file mode 100644
index 6766aa45..00000000
--- a/src/Mono.Cairo/Rectangle.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-// Mono.Cairo.Rectangle.cs
-//
-// Author:
-// John Luke (john.luke@gmail.com)
-//
-// (C) John Luke 2005.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-namespace Cairo
-{
-// public struct Rectangle
-// {
-// double x;
-// double y;
-// double width;
-// double height;
-//
-// public Rectangle (double x, double y, double width, double height)
-// {
-// this.x = x;
-// this.y = y;
-// this.width = width;
-// this.height = height;
-// }
-//
-// public Rectangle (Point point, double width, double height)
-// {
-// x = point.X;
-// y = point.Y;
-// this.width = width;
-// this.height = height;
-// }
-//
-// public double X {
-// get { return x; }
-// }
-//
-// public double Y {
-// get { return y; }
-// }
-//
-// public double Width {
-// get { return width; }
-// }
-//
-// public double Height {
-// get { return height; }
-// }
-//
-// public override bool Equals (object obj)
-// {
-// if (obj is Rectangle)
-// return this == (Rectangle)obj;
-// return false;
-// }
-//
-// public override int GetHashCode ()
-// {
-// return (int) (x + y + width + height);
-// }
-//
-// public override string ToString ()
-// {
-// return String.Format ("x:{0} y:{1} w:{2} h:{3}", x, y, width, height);
-// }
-//
-// public static bool operator == (Rectangle rectangle, Rectangle other)
-// {
-// return rectangle.X == other.X && rectangle.Y == other.Y && rectangle.Width == other.Width && rectangle.Height == other.Height;
-// }
-//
-// public static bool operator != (Rectangle rectangle, Rectangle other)
-// {
-// return !(rectangle == other);
-// }
-// }
-}
diff --git a/src/Mono.Cairo/SolidPattern.cs b/src/Mono.Cairo/SolidPattern.cs
index 875b3fbf..37864e5b 100644
--- a/src/Mono.Cairo/SolidPattern.cs
+++ b/src/Mono.Cairo/SolidPattern.cs
@@ -28,7 +28,7 @@
//
using System;
-
+using Color = Crow.Color;
namespace Cairo {
public class SolidPattern : Pattern
diff --git a/src/debug/DebugLogViewer.cs b/src/debug/DebugLogViewer.cs
index 5b6ca360..36a29f96 100644
--- a/src/debug/DebugLogViewer.cs
+++ b/src/debug/DebugLogViewer.cs
@@ -289,7 +289,7 @@ namespace Crow
}
void Buffer_PositionChanged (object sender, EventArgs e)
{
- Console.WriteLine ("Position changes: ({0},{1})", buffer.CurrentLine, buffer.CurrentColumn);
+ //Console.WriteLine ("Position changes: ({0},{1})", buffer.CurrentLine, buffer.CurrentColumn);
int cc = buffer.CurrentTabulatedColumn;
if (cc > visibleColumns + ScrollX) {