Update Gdk to the 2.99 API
* cairo/Surface.cs: expose LookupSurface * cairo/cairo-api.xml: add surface mapping * gdk/*: updates and hobbling to get gdk building. lots of work to come.
This commit is contained in:
parent
d49ffa8759
commit
955cdcf123
23 changed files with 1875 additions and 2927 deletions
|
@ -68,7 +68,7 @@ namespace Cairo {
|
|||
}
|
||||
}
|
||||
|
||||
static internal Surface LookupSurface (IntPtr surface)
|
||||
public static Surface LookupSurface (IntPtr surface)
|
||||
{
|
||||
SurfaceType st = NativeMethods.cairo_surface_get_type (surface);
|
||||
switch (st) {
|
||||
|
|
|
@ -3,4 +3,5 @@
|
|||
<symbol type="manual" cname="cairo_t" name="Cairo.Context"/>
|
||||
<symbol type="manual" cname="cairo_font_options_t" name="Cairo.FontOptions"/>
|
||||
<symbol type="manual" cname="cairo_region_t" name="Cairo.Region"/>
|
||||
<symbol type="marshal" cname="cairo_surface_t" name="Cairo.Surface" native_type="IntPtr" to_fmt="{0}.Handle" from_fmt="Cairo.Surface.LookupSurface ({0})" />
|
||||
</api>
|
||||
|
|
|
@ -22,11 +22,6 @@
|
|||
// Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
public override string ToString ()
|
||||
{
|
||||
return String.Format ("rgb:{0:x}/{1:x}/{2:x}", Red, Green, Blue);
|
||||
}
|
||||
|
||||
public Color (byte r, byte g, byte b)
|
||||
{
|
||||
Red = (ushort) (r << 8 | r);
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
// Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
[DllImport("gdksharpglue-3")]
|
||||
static extern DeviceAxis gtksharp_gdk_device_get_device_axis (IntPtr device, uint axis);
|
||||
|
||||
[DllImport("gdksharpglue-3")]
|
||||
static extern DeviceKey gtksharp_gdk_device_get_device_key (IntPtr device, uint axis);
|
||||
|
||||
|
@ -29,17 +26,15 @@
|
|||
static extern void gdk_device_get_state(IntPtr device, IntPtr window, double [] axes, out int maskAsInt);
|
||||
|
||||
|
||||
#if FIXME30
|
||||
public void GetState(Gdk.Window window, out double [] axes, out Gdk.ModifierType mask) {
|
||||
int maskAsInt;
|
||||
axes = new double [this.NumAxes];
|
||||
gdk_device_get_state(Handle, window.Handle, axes, out maskAsInt);
|
||||
mask = (Gdk.ModifierType) maskAsInt;
|
||||
}
|
||||
#endif
|
||||
|
||||
public Gdk.DeviceAxis GetDeviceAxis (uint axis) {
|
||||
return gtksharp_gdk_device_get_device_axis (Handle, axis);
|
||||
}
|
||||
|
||||
public Gdk.DeviceKey GetDeviceKey (uint axis) {
|
||||
return gtksharp_gdk_device_get_device_key (Handle, axis);
|
||||
}
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
//
|
||||
// gdk/DragContext.custom
|
||||
//
|
||||
// Author: Ettore Perazzoli <ettore@ximian.com>
|
||||
//
|
||||
// Copyright (C) 2003 Novell, Inc.
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of version 2 of the Lesser GNU General
|
||||
// Public License as published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this program; if not, write to the
|
||||
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
// Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
[DllImport("gdksharpglue-3")]
|
||||
static extern IntPtr gtksharp_drag_context_get_targets (IntPtr ptr);
|
||||
|
||||
public Atom [] Targets {
|
||||
get {
|
||||
GLib.List list = new GLib.List (gtksharp_drag_context_get_targets (this.Handle), typeof (Atom));
|
||||
|
||||
Atom [] entries = new Atom [list.Count];
|
||||
|
||||
int i = 0;
|
||||
foreach (Atom a in list)
|
||||
entries [i ++] = a;
|
||||
|
||||
return entries;
|
||||
}
|
||||
}
|
|
@ -151,7 +151,6 @@ namespace Gdk {
|
|||
#endif
|
||||
case EventType.Map:
|
||||
case EventType.Unmap:
|
||||
case EventType.NoExpose:
|
||||
case EventType.Delete:
|
||||
case EventType.Destroy:
|
||||
default:
|
||||
|
|
|
@ -50,17 +50,21 @@ namespace Gdk {
|
|||
public double[] Axes {
|
||||
get {
|
||||
double[] result = null;
|
||||
#if FIXME30
|
||||
IntPtr axes = Native.axes;
|
||||
if (axes != IntPtr.Zero) {
|
||||
result = new double [Device.NumAxes];
|
||||
Marshal.Copy (axes, result, 0, result.Length);
|
||||
}
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
set {
|
||||
NativeStruct native = Native;
|
||||
#if FIXME30
|
||||
if (native.axes == IntPtr.Zero || value.Length != Device.NumAxes)
|
||||
throw new InvalidOperationException ();
|
||||
#endif
|
||||
Marshal.Copy (value, 0, native.axes, value.Length);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,8 +51,8 @@ namespace Gdk {
|
|||
}
|
||||
}
|
||||
|
||||
public Region Region {
|
||||
get { return GLib.Opaque.GetOpaque (Native.region, typeof (Region), false) as Region; }
|
||||
public Cairo.Region Region {
|
||||
get { return new Cairo.Region (Native.region); }
|
||||
set {
|
||||
NativeStruct native = Native;
|
||||
native.region = value == null ? IntPtr.Zero : value.Handle;
|
||||
|
|
|
@ -51,17 +51,21 @@ namespace Gdk {
|
|||
public double[] Axes {
|
||||
get {
|
||||
double[] result = null;
|
||||
#if FIXME30
|
||||
IntPtr axes = Native.axes;
|
||||
if (axes != IntPtr.Zero) {
|
||||
result = new double [Device.NumAxes];
|
||||
Marshal.Copy (axes, result, 0, result.Length);
|
||||
}
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
set {
|
||||
NativeStruct native = Native;
|
||||
#if FIXME30
|
||||
if (native.axes == IntPtr.Zero || value.Length != Device.NumAxes)
|
||||
throw new InvalidOperationException ();
|
||||
#endif
|
||||
Marshal.Copy (value, 0, native.axes, value.Length);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,6 +84,7 @@
|
|||
<attr path="/api/namespace/object[@cname='GdkDisplayManager']/method[@name='ListDisplays']" name="hidden">1</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkDragContext']/field[@cname='protocol']" name="name">DragProtocol</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkDragContext']/field[@cname='targets']" name="hidden">1</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkDragContext']/method[@name='ListTargets']/return-type" name="element_type">GdkAtom*</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawGrayImage']/*/*[@name='buf']" name="array">1</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawIndexedImage']/*/*[@name='buf']" name="array">1</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawRgbImage']/*/*[@name='rgb_buf']" name="array">1</attr>
|
||||
|
@ -143,7 +144,6 @@
|
|||
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='GetWindowStack']/return-type" name="owned">true</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='GetWindowStack']/return-type" name="elements_owned">true</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkScreen']/property[@name='FontOptions']" name="hidden">1</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkWindow']" name="parent">GdkDrawable</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='AddFilter']" name="hidden">1</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='Destroy']" name="hidden">1</attr>
|
||||
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='FreezeToplevelUpdatesLibgtkOnly']" name="hidden">1</attr>
|
||||
|
@ -205,5 +205,7 @@
|
|||
<attr path="/api/namespace/struct[@cname='GdkTimeCoord']/field[@cname='axes']" name="array_len">128</attr>
|
||||
<attr path="/api/namespace/struct[@cname='GdkWindowObject']" name="hidden">1</attr>
|
||||
<remove-node path="/api/namespace/object[@name='Pixbuf']/method[@name='Gettext']" />
|
||||
<remove-node path="/api/namespace/alias[@name='Rectangle']" />
|
||||
<remove-node path="/api/namespace/class[@cname='GdkRectangle_']" />
|
||||
</metadata>
|
||||
|
||||
|
|
|
@ -59,6 +59,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
#if FIXME30
|
||||
public static Gdk.Window[] WindowManagerClientWindows {
|
||||
get {
|
||||
Gdk.Window [] windows;
|
||||
|
@ -68,6 +69,7 @@
|
|||
return windows;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static int NumberOfDesktops {
|
||||
get {
|
||||
|
@ -89,6 +91,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
#if FIXME30
|
||||
public static Gdk.Window ActiveWindow {
|
||||
get {
|
||||
Gdk.Window [] windows;
|
||||
|
@ -98,6 +101,7 @@
|
|||
return windows [0];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static Gdk.Rectangle[] DesktopWorkareas {
|
||||
get {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
SUBDIRS = . glue
|
||||
|
||||
pkg = gdk
|
||||
SYMBOLS = gdk-symbols.xml
|
||||
INCLUDE_API = $(top_srcdir)/glib/glib-api.xml $(top_srcdir)/cairo/cairo-api.xml $(top_builddir)/gio/gio-api.xml $(top_builddir)/pango/pango-api.xml
|
||||
|
@ -28,6 +26,7 @@ sources = \
|
|||
EventVisibility.cs \
|
||||
EventWindowState.cs \
|
||||
Key.cs \
|
||||
Rectangle.cs \
|
||||
Size.cs \
|
||||
TextProperty.cs
|
||||
|
||||
|
@ -39,7 +38,6 @@ customs = \
|
|||
DeviceAxis.custom \
|
||||
Display.custom \
|
||||
DisplayManager.custom \
|
||||
DragContext.custom \
|
||||
Drawable.custom \
|
||||
EdgeTable.custom \
|
||||
GCValues.custom \
|
||||
|
@ -58,7 +56,6 @@ customs = \
|
|||
Pixdata.custom \
|
||||
Point.custom \
|
||||
Property.custom \
|
||||
Rectangle.custom \
|
||||
Region.custom \
|
||||
RgbCmap.custom \
|
||||
Screen.custom \
|
||||
|
|
|
@ -32,75 +32,6 @@
|
|||
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
// Boston, MA 02111-1307, USA.
|
||||
|
||||
[DllImport ("libgdk-win32-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern IntPtr gdk_pixbuf_get_from_drawable(IntPtr raw, IntPtr src, IntPtr cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
|
||||
|
||||
public Gdk.Pixbuf GetFromDrawable(Gdk.Drawable src, Gdk.Colormap cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height) {
|
||||
IntPtr raw_ret = gdk_pixbuf_get_from_drawable(Handle, src.Handle, cmap.Handle, src_x, src_y, dest_x, dest_y, width, height);
|
||||
Gdk.Pixbuf ret;
|
||||
if (raw_ret == IntPtr.Zero)
|
||||
ret = null;
|
||||
else
|
||||
ret = (Gdk.Pixbuf) GLib.Object.GetObject(raw_ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
[DllImport ("libgdk-win32-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern IntPtr gdk_pixbuf_get_from_image(IntPtr raw, IntPtr src, IntPtr cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
|
||||
|
||||
public Gdk.Pixbuf GetFromImage(Gdk.Image src, Gdk.Colormap cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height) {
|
||||
IntPtr raw_ret = gdk_pixbuf_get_from_image(Handle, src.Handle, cmap.Handle, src_x, src_y, dest_x, dest_y, width, height);
|
||||
Gdk.Pixbuf ret;
|
||||
if (raw_ret == IntPtr.Zero)
|
||||
ret = null;
|
||||
else
|
||||
ret = (Gdk.Pixbuf) GLib.Object.GetObject(raw_ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
[DllImport ("libgdk-win32-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern void gdk_pixbuf_render_pixmap_and_mask (IntPtr raw, out IntPtr pixmap_return, out IntPtr mask_return, int alpha_threshold);
|
||||
|
||||
public void RenderPixmapAndMask (out Pixmap pixmap_return, out Pixmap mask_return, int alpha_threshold)
|
||||
{
|
||||
IntPtr mask_handle, pixmap_handle;
|
||||
gdk_pixbuf_render_pixmap_and_mask (Handle, out pixmap_handle, out mask_handle, alpha_threshold);
|
||||
pixmap_return = GLib.Object.GetObject (pixmap_handle) as Pixmap;
|
||||
mask_return = GLib.Object.GetObject (mask_handle) as Pixmap;
|
||||
}
|
||||
|
||||
[DllImport ("libgdk-win32-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern void gdk_pixbuf_render_pixmap_and_mask_for_colormap (IntPtr raw, IntPtr colormap, out IntPtr pixmap_return, out IntPtr mask_return, int alpha_threshold);
|
||||
|
||||
public void RenderPixmapAndMaskForColormap (Colormap colormap, out Pixmap pixmap_return, out Pixmap mask_return, int alpha_threshold)
|
||||
{
|
||||
IntPtr mask_handle, pixmap_handle;
|
||||
gdk_pixbuf_render_pixmap_and_mask_for_colormap (Handle, colormap == null ? IntPtr.Zero : colormap.Handle, out pixmap_handle, out mask_handle, alpha_threshold);
|
||||
pixmap_return = GLib.Object.GetObject (pixmap_handle) as Pixmap;
|
||||
mask_return = GLib.Object.GetObject (mask_handle) as Pixmap;
|
||||
}
|
||||
|
||||
[DllImport ("libgdk-win32-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern void gdk_pixbuf_render_threshold_alpha(IntPtr raw, IntPtr bitmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_threshold);
|
||||
|
||||
public void RenderThresholdAlpha(Gdk.Pixmap bitmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_threshold) {
|
||||
gdk_pixbuf_render_threshold_alpha(Handle, bitmap.Handle, src_x, src_y, dest_x, dest_y, width, height, alpha_threshold);
|
||||
}
|
||||
|
||||
[DllImport ("libgdk-win32-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern void gdk_pixbuf_render_to_drawable(IntPtr raw, IntPtr drawable, IntPtr gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int dither, int x_dither, int y_dither);
|
||||
|
||||
public void RenderToDrawable(Gdk.Drawable drawable, Gdk.GC gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Gdk.RgbDither dither, int x_dither, int y_dither) {
|
||||
gdk_pixbuf_render_to_drawable(Handle, drawable.Handle, gc.Handle, src_x, src_y, dest_x, dest_y, width, height, (int) dither, x_dither, y_dither);
|
||||
}
|
||||
|
||||
[DllImport ("libgdk-win32-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern void gdk_pixbuf_render_to_drawable_alpha(IntPtr raw, IntPtr drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_mode, int alpha_threshold, int dither, int x_dither, int y_dither);
|
||||
|
||||
public void RenderToDrawableAlpha(Gdk.Drawable drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Gdk.PixbufAlphaMode alpha_mode, int alpha_threshold, Gdk.RgbDither dither, int x_dither, int y_dither) {
|
||||
gdk_pixbuf_render_to_drawable_alpha(Handle, drawable.Handle, src_x, src_y, dest_x, dest_y, width, height, (int) alpha_mode, alpha_threshold, (int) dither, x_dither, y_dither);
|
||||
}
|
||||
|
||||
public Pixbuf (System.IO.Stream stream) : base (IntPtr.Zero)
|
||||
{
|
||||
using (PixbufLoader pl = new PixbufLoader (stream)) {
|
||||
|
@ -254,23 +185,6 @@
|
|||
}
|
||||
|
||||
|
||||
//
|
||||
// These are factory versions of a couple of existing methods, but simplify
|
||||
// the process by reducing the number of steps required. Here a single
|
||||
// operation will create the Pixbuf instead of two
|
||||
//
|
||||
|
||||
public static Gdk.Pixbuf FromDrawable (Gdk.Drawable src, Gdk.Colormap cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height) {
|
||||
IntPtr raw_ret = gdk_pixbuf_get_from_drawable(IntPtr.Zero, src.Handle, cmap.Handle, src_x, src_y, dest_x, dest_y, width, height);
|
||||
return new Pixbuf (raw_ret);
|
||||
}
|
||||
|
||||
[Obsolete ("Replaced by static FromDrawable method")]
|
||||
public Gdk.Pixbuf CreateFromDrawable (Gdk.Drawable src, Gdk.Colormap cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height) {
|
||||
IntPtr raw_ret = gdk_pixbuf_get_from_drawable((IntPtr) 0, src.Handle, cmap.Handle, src_x, src_y, dest_x, dest_y, width, height);
|
||||
return new Pixbuf (raw_ret);
|
||||
}
|
||||
|
||||
//
|
||||
// the 'Pixels' property
|
||||
//
|
||||
|
|
|
@ -136,6 +136,7 @@
|
|||
return true;
|
||||
}
|
||||
|
||||
#if FIXME30
|
||||
public static bool Get (Gdk.Window window, Gdk.Atom property, bool pdelete, out Gdk.Window[] windows) {
|
||||
return Get (window, property, 0, uint.MaxValue - 3, pdelete, out windows);
|
||||
}
|
||||
|
@ -153,3 +154,4 @@
|
|||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
|
236
gdk/Rectangle.cs
Normal file
236
gdk/Rectangle.cs
Normal file
|
@ -0,0 +1,236 @@
|
|||
// Authors:
|
||||
// Jasper van Putten <Jaspervp@gmx.net>
|
||||
// Ben Maurer <bmaurer@novell.com>
|
||||
// Contains lots of c&p from System.Drawing
|
||||
//
|
||||
// Copyright (c) 2002 Jasper van Putten
|
||||
// Copyright (c) 2005 Novell, Inc
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of version 2 of the Lesser GNU General
|
||||
// Public License as published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this program; if not, write to the
|
||||
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
// Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Gdk {
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct Rectangle {
|
||||
|
||||
public int X;
|
||||
public int Y;
|
||||
public int Width;
|
||||
public int Height;
|
||||
|
||||
public Rectangle (int x, int y, int width, int height)
|
||||
{
|
||||
this.X = x;
|
||||
this.Y = y;
|
||||
this.Width = width;
|
||||
this.Height = height;
|
||||
}
|
||||
|
||||
public Rectangle (Point loc, Size sz) : this (loc.X, loc.Y, sz.Width, sz.Height) {}
|
||||
|
||||
public static Rectangle FromLTRB (int left, int top, int right, int bottom)
|
||||
{
|
||||
return new Rectangle (left, top, right - left, bottom - top);
|
||||
}
|
||||
|
||||
public override bool Equals (object o)
|
||||
{
|
||||
if (!(o is Rectangle))
|
||||
return false;
|
||||
|
||||
return (this == (Rectangle) o);
|
||||
}
|
||||
|
||||
public override int GetHashCode ()
|
||||
{
|
||||
return (Height + Width) ^ X + Y;
|
||||
}
|
||||
|
||||
public static bool operator == (Rectangle r1, Rectangle r2)
|
||||
{
|
||||
return ((r1.Location == r2.Location) && (r1.Size == r2.Size));
|
||||
}
|
||||
|
||||
public static bool operator != (Rectangle r1, Rectangle r2)
|
||||
{
|
||||
return !(r1 == r2);
|
||||
}
|
||||
|
||||
public override string ToString ()
|
||||
{
|
||||
return String.Format ("{0}x{1}+{2}+{3}", Width, Height, X, Y);
|
||||
}
|
||||
|
||||
// Hit Testing / Intersection / Union
|
||||
public bool Contains (Rectangle rect)
|
||||
{
|
||||
return (rect == Intersect (this, rect));
|
||||
}
|
||||
|
||||
public bool Contains (Point pt)
|
||||
{
|
||||
return Contains (pt.X, pt.Y);
|
||||
}
|
||||
|
||||
public bool Contains (int x, int y)
|
||||
{
|
||||
return ((x >= Left) && (x <= Right) && (y >= Top) && (y <= Bottom));
|
||||
}
|
||||
|
||||
public bool IntersectsWith (Rectangle r)
|
||||
{
|
||||
return !((Left > r.Right) || (Right < r.Left) ||
|
||||
(Top > r.Bottom) || (Bottom < r.Top));
|
||||
}
|
||||
|
||||
public static Rectangle Union (Rectangle r1, Rectangle r2)
|
||||
{
|
||||
return FromLTRB (Math.Min (r1.Left, r2.Left),
|
||||
Math.Min (r1.Top, r2.Top),
|
||||
Math.Max (r1.Right, r2.Right),
|
||||
Math.Max (r1.Bottom, r2.Bottom));
|
||||
}
|
||||
|
||||
public void Intersect (Rectangle r)
|
||||
{
|
||||
this = Intersect (this, r);
|
||||
}
|
||||
|
||||
public static Rectangle Intersect (Rectangle r1, Rectangle r2)
|
||||
{
|
||||
Rectangle r;
|
||||
if (!r1.Intersect (r2, out r))
|
||||
return new Rectangle ();
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
// Position/Size
|
||||
public int Top {
|
||||
get { return Y; }
|
||||
}
|
||||
public int Bottom {
|
||||
get { return Y + Height - 1; }
|
||||
}
|
||||
public int Right {
|
||||
get { return X + Width - 1; }
|
||||
}
|
||||
public int Left {
|
||||
get { return X; }
|
||||
}
|
||||
|
||||
public bool IsEmpty {
|
||||
get { return (Width == 0) || (Height == 0); }
|
||||
}
|
||||
|
||||
public Size Size {
|
||||
get { return new Size (Width, Height); }
|
||||
set {
|
||||
Width = value.Width;
|
||||
Height = value.Height;
|
||||
}
|
||||
}
|
||||
|
||||
public Point Location {
|
||||
get {
|
||||
return new Point (X, Y);
|
||||
}
|
||||
set {
|
||||
X = value.X;
|
||||
Y = value.Y;
|
||||
}
|
||||
}
|
||||
|
||||
// Inflate and Offset
|
||||
public void Inflate (Size sz)
|
||||
{
|
||||
Inflate (sz.Width, sz.Height);
|
||||
}
|
||||
|
||||
public void Inflate (int width, int height)
|
||||
{
|
||||
X -= width;
|
||||
Y -= height;
|
||||
Width += width * 2;
|
||||
Height += height * 2;
|
||||
}
|
||||
|
||||
public static Rectangle Inflate (Rectangle rect, int x, int y)
|
||||
{
|
||||
Rectangle r = rect;
|
||||
r.Inflate (x, y);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static Rectangle Inflate (Rectangle rect, Size sz)
|
||||
{
|
||||
return Inflate (rect, sz.Width, sz.Height);
|
||||
}
|
||||
|
||||
public void Offset (int dx, int dy)
|
||||
{
|
||||
X += dx;
|
||||
Y += dy;
|
||||
}
|
||||
|
||||
public void Offset (Point dr)
|
||||
{
|
||||
Offset (dr.X, dr.Y);
|
||||
}
|
||||
|
||||
public static Rectangle Offset (Rectangle rect, int dx, int dy)
|
||||
{
|
||||
Rectangle r = rect;
|
||||
r.Offset (dx, dy);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static Rectangle Offset (Rectangle rect, Point dr)
|
||||
{
|
||||
return Offset (rect, dr.X, dr.Y);
|
||||
}
|
||||
|
||||
[DllImport("libgdk-win32-3.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern IntPtr gdk_rectangle_get_type();
|
||||
|
||||
public static GLib.GType GType {
|
||||
get {
|
||||
IntPtr raw_ret = gdk_rectangle_get_type();
|
||||
GLib.GType ret = new GLib.GType(raw_ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport("libgdk-win32-3.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern void gdk_rectangle_union (ref Rectangle src1, ref Rectangle src2, out Rectangle dest);
|
||||
|
||||
public void Union (Gdk.Rectangle src, out Gdk.Rectangle dest)
|
||||
{
|
||||
gdk_rectangle_union (ref this, ref src, out dest);
|
||||
}
|
||||
|
||||
[DllImport("libgdk-win32-3.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern bool gdk_rectangle_intersect (ref Rectangle src1, ref Rectangle src2, out Rectangle dest);
|
||||
|
||||
public bool Intersect (Gdk.Rectangle src, out Gdk.Rectangle dest)
|
||||
{
|
||||
return gdk_rectangle_intersect (ref this, ref src, out dest);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,204 +0,0 @@
|
|||
// Gdk.Point.Rectangle - Gdk Rectangle class customizations
|
||||
//
|
||||
// Authors:
|
||||
// Jasper van Putten <Jaspervp@gmx.net>
|
||||
// Ben Maurer <bmaurer@novell.com>
|
||||
// Contains lots of c&p from System.Drawing
|
||||
//
|
||||
// Copyright (c) 2002 Jasper van Putten
|
||||
// Copyright (c) 2005 Novell, Inc
|
||||
//
|
||||
// This code is inserted after the automatically generated code.
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of version 2 of the Lesser GNU General
|
||||
// Public License as published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this program; if not, write to the
|
||||
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
// Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
public override string ToString ()
|
||||
{
|
||||
return String.Format ("{0}x{1}+{2}+{3}", Width, Height, X, Y);
|
||||
}
|
||||
|
||||
// constructors
|
||||
public Rectangle (int x, int y, int width, int height)
|
||||
{
|
||||
this.X = x;
|
||||
this.Y = y;
|
||||
this.Width = width;
|
||||
this.Height = height;
|
||||
}
|
||||
|
||||
public Rectangle (Point loc, Size sz) : this (loc.X, loc.Y, sz.Width, sz.Height) {}
|
||||
|
||||
public static Rectangle FromLTRB (int left, int top, int right, int bottom)
|
||||
{
|
||||
return new Rectangle (left, top, right - left,
|
||||
bottom - top);
|
||||
}
|
||||
|
||||
// Equality
|
||||
public override bool Equals (object o)
|
||||
{
|
||||
if (!(o is Rectangle))
|
||||
return false;
|
||||
|
||||
return (this == (Rectangle) o);
|
||||
}
|
||||
|
||||
public override int GetHashCode ()
|
||||
{
|
||||
return (Height + Width) ^ X + Y;
|
||||
}
|
||||
|
||||
public static bool operator == (Rectangle r1, Rectangle r2)
|
||||
{
|
||||
return ((r1.Location == r2.Location) && (r1.Size == r2.Size));
|
||||
}
|
||||
|
||||
public static bool operator != (Rectangle r1, Rectangle r2)
|
||||
{
|
||||
return !(r1 == r2);
|
||||
}
|
||||
|
||||
// Hit Testing / Intersection / Union
|
||||
public bool Contains (Rectangle rect)
|
||||
{
|
||||
return (rect == Intersect (this, rect));
|
||||
}
|
||||
|
||||
public bool Contains (Point pt)
|
||||
{
|
||||
return Contains (pt.X, pt.Y);
|
||||
}
|
||||
|
||||
public bool Contains (int x, int y)
|
||||
{
|
||||
return ((x >= Left) && (x <= Right) &&
|
||||
(y >= Top) && (y <= Bottom));
|
||||
}
|
||||
|
||||
public bool IntersectsWith (Rectangle r)
|
||||
{
|
||||
return !((Left > r.Right) || (Right < r.Left) ||
|
||||
(Top > r.Bottom) || (Bottom < r.Top));
|
||||
}
|
||||
|
||||
public static Rectangle Union (Rectangle r1, Rectangle r2)
|
||||
{
|
||||
return FromLTRB (Math.Min (r1.Left, r2.Left),
|
||||
Math.Min (r1.Top, r2.Top),
|
||||
Math.Max (r1.Right, r2.Right),
|
||||
Math.Max (r1.Bottom, r2.Bottom));
|
||||
}
|
||||
|
||||
public void Intersect (Rectangle r)
|
||||
{
|
||||
this = Intersect (this, r);
|
||||
}
|
||||
|
||||
public static Rectangle Intersect (Rectangle r1, Rectangle r2)
|
||||
{
|
||||
Rectangle r;
|
||||
if (!r1.Intersect (r2, out r))
|
||||
return new Rectangle ();
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
// Position/Size
|
||||
public int Top {
|
||||
get { return Y; }
|
||||
}
|
||||
public int Bottom {
|
||||
get { return Y + Height - 1; }
|
||||
}
|
||||
public int Right {
|
||||
get { return X + Width - 1; }
|
||||
}
|
||||
public int Left {
|
||||
get { return X; }
|
||||
}
|
||||
|
||||
public bool IsEmpty {
|
||||
get { return (Width == 0) || (Height == 0); }
|
||||
}
|
||||
|
||||
public Size Size {
|
||||
get {
|
||||
return new Size (Width, Height);
|
||||
}
|
||||
set {
|
||||
Width = value.Width;
|
||||
Height = value.Height;
|
||||
}
|
||||
}
|
||||
|
||||
public Point Location {
|
||||
get {
|
||||
return new Point (X, Y);
|
||||
}
|
||||
set {
|
||||
X = value.X;
|
||||
Y = value.Y;
|
||||
}
|
||||
}
|
||||
|
||||
// Inflate and Offset
|
||||
public void Inflate (Size sz)
|
||||
{
|
||||
Inflate (sz.Width, sz.Height);
|
||||
}
|
||||
|
||||
public void Inflate (int width, int height)
|
||||
{
|
||||
X -= width;
|
||||
Y -= height;
|
||||
Width += width * 2;
|
||||
Height += height * 2;
|
||||
}
|
||||
|
||||
public static Rectangle Inflate (Rectangle rect, int x, int y)
|
||||
{
|
||||
Rectangle r = rect;
|
||||
r.Inflate (x, y);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static Rectangle Inflate (Rectangle rect, Size sz)
|
||||
{
|
||||
return Inflate (rect, sz.Width, sz.Height);
|
||||
}
|
||||
|
||||
public void Offset (int dx, int dy)
|
||||
{
|
||||
X += dx;
|
||||
Y += dy;
|
||||
}
|
||||
|
||||
public void Offset (Point dr)
|
||||
{
|
||||
Offset (dr.X, dr.Y);
|
||||
}
|
||||
|
||||
public static Rectangle Offset (Rectangle rect, int dx, int dy)
|
||||
{
|
||||
Rectangle r = rect;
|
||||
r.Offset (dx, dy);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static Rectangle Offset (Rectangle rect, Point dr)
|
||||
{
|
||||
return Offset (rect, dr.X, dr.Y);
|
||||
}
|
|
@ -88,12 +88,14 @@
|
|||
gdk_window_move_resize (Handle, rect.X, rect.Y, rect.Width, rect.Height);
|
||||
}
|
||||
|
||||
#if FIXME30
|
||||
public void ClearArea (Gdk.Rectangle rect, bool expose) {
|
||||
if (expose)
|
||||
gdk_window_clear_area_e (Handle, rect.X, rect.Y, rect.Width, rect.Height);
|
||||
else
|
||||
gdk_window_clear_area (Handle, rect.X, rect.Y, rect.Width, rect.Height);
|
||||
}
|
||||
#endif
|
||||
|
||||
[DllImport ("libgdk-win32-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern void gdk_window_get_user_data (IntPtr raw, out IntPtr data);
|
||||
|
|
|
@ -38,15 +38,6 @@
|
|||
set { _visual = value.Handle; }
|
||||
}
|
||||
|
||||
[Obsolete ("Replaced by Colormap property.")]
|
||||
public Gdk.Colormap colormap {
|
||||
get {
|
||||
Gdk.Colormap ret = (Gdk.Colormap) GLib.Object.GetObject(_colormap);
|
||||
return ret;
|
||||
}
|
||||
set { _colormap = value.Handle; }
|
||||
}
|
||||
|
||||
[Obsolete ("Replaced by Cursor property.")]
|
||||
public Gdk.Cursor cursor {
|
||||
get {
|
||||
|
|
4148
gdk/gdk-api.raw
4148
gdk/gdk-api.raw
File diff suppressed because it is too large
Load diff
|
@ -23,5 +23,6 @@
|
|||
<symbol type="manual" cname="GdkEventVisibility" name="Gdk.EventVisibility"/>
|
||||
<symbol type="manual" cname="GdkEventWindowState" name="Gdk.EventWindowState"/>
|
||||
<symbol type="simple" cname="GdkKey" name="Gdk.Key" default_value="Gdk.Key.VoidSymbol"/>
|
||||
<symbol type="struct" cname="GdkRectangle" name="Gdk.Rectangle"/>
|
||||
</api>
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
lib_LTLIBRARIES = libgdksharpglue-3.la
|
||||
|
||||
libgdksharpglue_3_la_SOURCES = \
|
||||
dragcontext.c \
|
||||
device.c \
|
||||
vmglueheaders.h
|
||||
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
/* dragcontext.c: Glue for accessing fields in a GdkDragContext.
|
||||
*
|
||||
* Author: Ettore Perazzoli <ettore@ximian.com>
|
||||
*
|
||||
* Copyright (c) 2003 Novell, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of version 2 of the Lesser GNU General
|
||||
* Public License as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <gdk/gdkdnd.h>
|
||||
|
||||
GList *gtksharp_drag_context_get_targets (GdkDragContext *context);
|
||||
|
||||
GList *
|
||||
gtksharp_drag_context_get_targets (GdkDragContext *context)
|
||||
{
|
||||
return context->targets;
|
||||
}
|
|
@ -176,6 +176,8 @@ namespace GtkSharp.Generation {
|
|||
string call = symbol.GetAttribute ("call_fmt");
|
||||
string from = symbol.GetAttribute ("from_fmt");
|
||||
result = new MarshalGen (cname, name, mtype, call, from);
|
||||
} else if (type == "struct") {
|
||||
result = new ByRefGen (symbol.GetAttribute ("cname"), symbol.GetAttribute ("name"));
|
||||
} else
|
||||
Console.WriteLine ("Parser::ParseSymbol - Unexpected symbol type " + type);
|
||||
|
||||
|
|
Loading…
Reference in a new issue