dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnetlib/Xsharp/Events EventMask.cs,NONE,1.1 E


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/Xsharp/Events EventMask.cs,NONE,1.1 EventType.cs,NONE,1.1 XAnyEvent.cs,NONE,1.1 XButtonEvent.cs,NONE,1.1 XCirculateEvent.cs,NONE,1.1 XCirculateRequestEvent.cs,NONE,1.1 XClientMessageEvent.cs,NONE,1.1 XColormapEvent.cs,NONE,1.1 XConfigureEvent.cs,NONE,1.1 XConfigureRequestEvent.cs,NONE,1.1 XCreateWindowEvent.cs,NONE,1.1 XCrossingEvent.cs,NONE,1.1 XDestroyWindowEvent.cs,NONE,1.1 XEvent.cs,NONE,1.1 XExposeEvent.cs,NONE,1.1 XFocusChangeEvent.cs,NONE,1.1 XGraphicsExposeEvent.cs,NONE,1.1 XGravityEvent.cs,NONE,1.1 XKeyEvent.cs,NONE,1.1 XKeymapEvent.cs,NONE,1.1 XMapEvent.cs,NONE,1.1 XMapRequestEvent.cs,NONE,1.1 XMappingEvent.cs,NONE,1.1 XMotionEvent.cs,NONE,1.1 XNoExposeEvent.cs,NONE,1.1 XPadEvent.cs,NONE,1.1 XPropertyEvent.cs,NONE,1.1 XReparentEvent.cs,NONE,1.1 XResizeRequestEvent.cs,NONE,1.1 XSelectionClearEvent.cs,NONE,1.1 XSelectionEvent.cs,NONE,1.1 XSelectionRequestEvent.cs,NONE,1.1 XUnmapEvent.cs,NONE,1.1 XVisibilityEvent.cs,NONE,1.1
Date: Wed, 28 May 2003 00:17:55 -0400

Update of /cvsroot/dotgnu-pnet/pnetlib/Xsharp/Events
In directory subversions:/tmp/cvs-serv20758/Xsharp/Events

Added Files:
        EventMask.cs EventType.cs XAnyEvent.cs XButtonEvent.cs 
        XCirculateEvent.cs XCirculateRequestEvent.cs 
        XClientMessageEvent.cs XColormapEvent.cs XConfigureEvent.cs 
        XConfigureRequestEvent.cs XCreateWindowEvent.cs 
        XCrossingEvent.cs XDestroyWindowEvent.cs XEvent.cs 
        XExposeEvent.cs XFocusChangeEvent.cs XGraphicsExposeEvent.cs 
        XGravityEvent.cs XKeyEvent.cs XKeymapEvent.cs XMapEvent.cs 
        XMapRequestEvent.cs XMappingEvent.cs XMotionEvent.cs 
        XNoExposeEvent.cs XPadEvent.cs XPropertyEvent.cs 
        XReparentEvent.cs XResizeRequestEvent.cs 
        XSelectionClearEvent.cs XSelectionEvent.cs 
        XSelectionRequestEvent.cs XUnmapEvent.cs XVisibilityEvent.cs 
Log Message:


Add the Xsharp library to pnetlib.


--- NEW FILE ---
/*
 * EventMask.cs - Event mask values.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;

[Flags]
internal enum EventMask
{

        NoEventMask                                     = 0,
        KeyPressMask                            = (1<<0),
        KeyReleaseMask                          = (1<<1),
        ButtonPressMask                         = (1<<2),
        ButtonReleaseMask                       = (1<<3),
        EnterWindowMask                         = (1<<4),
        LeaveWindowMask                         = (1<<5),
        PointerMotionMask                       = (1<<6),
        PointerMotionHintMask           = (1<<7),
        Button1MotionMask                       = (1<<8),
        Button2MotionMask                       = (1<<9),
        Button3MotionMask                       = (1<<10),
        Button4MotionMask                       = (1<<11),
        Button5MotionMask                       = (1<<12),
        ButtonMotionMask                        = (1<<13),
        KeymapStateMask                         = (1<<14),
        ExposureMask                            = (1<<15),
        VisibilityChangeMask            = (1<<16),
        StructureNotifyMask                     = (1<<17),
        ResizeRedirectMask                      = (1<<18),
        SubstructureNotifyMask          = (1<<19),
        SubstructureRedirectMask        = (1<<20),
        FocusChangeMask                         = (1<<21),
        PropertyChangeMask                      = (1<<22),
        ColormapChangeMask                      = (1<<23),
        OwnerGrabButtonMask                     = (1<<24) 

} // enum EventMask

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * EventType.cs - Event type codes.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;

internal enum EventType
{

        KeyPress                        = 2,
        KeyRelease                      = 3,
        ButtonPress                     = 4,
        ButtonRelease           = 5,
        MotionNotify            = 6,
        EnterNotify                     = 7,
        LeaveNotify                     = 8,
        FocusIn                         = 9,
        FocusOut                        = 10,
        KeymapNotify            = 11,
        Expose                          = 12,
        GraphicsExpose          = 13,
        NoExpose                        = 14,
        VisibilityNotify        = 15,
        CreateNotify            = 16,
        DestroyNotify           = 17,
        UnmapNotify                     = 18,
        MapNotify                       = 19,
        MapRequest                      = 20,
        ReparentNotify          = 21,
        ConfigureNotify         = 22,
        ConfigureRequest        = 23,
        GravityNotify           = 24,
        ResizeRequest           = 25,
        CirculateNotify         = 26,
        CirculateRequest        = 27,
        PropertyNotify          = 28,
        SelectionClear          = 29,
        SelectionRequest        = 30,
        SelectionNotify         = 31,
        ColormapNotify          = 32,
        ClientMessage           = 33,
        MappingNotify           = 34

} // enum EventType

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XAnyEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Basic event structure that allows us to access common fields.
[StructLayout(LayoutKind.Sequential)]
internal struct XAnyEvent
{
        // Structure fields.
        public Xlib.Xint        type__;
        public Xlib.Xulong      serial__;
        public Xlib.Bool        send_event__;
        public IntPtr           display;
        public Xlib.Window      window;

        // Convert odd fields into types that are useful.
        public int type    { get { return (int)type__; } }
        public uint serial { get { return (uint)serial__; } }
        public bool send_event
                { get { return (send_event__ != Xlib.Bool.False); } }

} // struct XAnyEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XButtonEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Button event.
[StructLayout(LayoutKind.Sequential)]
internal struct XButtonEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      root;
        public Xlib.Window      subwindow;
        public Xlib.Time        time;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        x_root__;
        public Xlib.Xint        y_root__;
        public Xlib.Xuint       state__;
        public Xlib.Xuint       button__;
        public Xlib.Bool        same_screen__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int x_root         { get { return (int)x_root__; } }
        public int y_root         { get { return (int)y_root__; } }
        public ModifierMask state { get { return (ModifierMask)(uint)state__; } 
}
        public ButtonName button  { get { return (ButtonName)(uint)button__; } }
        public bool same_screen
                { get { return (same_screen__ != Xlib.Bool.False); } }

} // struct XButtonEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XCirculateEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Circulate event.
[StructLayout(LayoutKind.Sequential)]
internal struct XCirculateEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Xint        place__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window event_window
                        { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int place          { get { return (int)place__; } }

} // struct XCirculateEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XCirculateRequestEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Circulate request event.
[StructLayout(LayoutKind.Sequential)]
internal struct XCirculateRequestEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Xint        place__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window parent { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int place          { get { return (int)place__; } }

} // struct XCirculateRequestEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XClientMessageEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Client message event.
[StructLayout(LayoutKind.Sequential)]
internal struct XClientMessageEvent
{
        // Nested structures for defining different variants of
        // the client message data payload.
        [StructLayout(LayoutKind.Sequential)]
        internal struct ByteMessage
        {
                public sbyte b0;
                public sbyte b1;
                public sbyte b2;
                public sbyte b3;
                public sbyte b4;
                public sbyte b5;
                public sbyte b6;
                public sbyte b7;
                public sbyte b8;
                public sbyte b9;
                public sbyte b10;
                public sbyte b11;
                public sbyte b12;
                public sbyte b13;
                public sbyte b14;
                public sbyte b15;
                public sbyte b16;
                public sbyte b17;
                public sbyte b18;
                public sbyte b19;

        } // struct ByteMessage
        [StructLayout(LayoutKind.Sequential)]
        internal struct ShortMessage
        {
                public short s0;
                public short s1;
                public short s2;
                public short s3;
                public short s4;
                public short s5;
                public short s6;
                public short s7;
                public short s8;
                public short s9;

        } // struct ShortMessage
        [StructLayout(LayoutKind.Sequential)]
        internal struct LongMessage
        {
                public Xlib.Xlong s0;
                public Xlib.Xlong s1;
                public Xlib.Xlong s2;
                public Xlib.Xlong s3;
                public Xlib.Xlong s4;

        } // struct LongMessage
        [StructLayout(LayoutKind.Explicit)]
        internal struct Message
        {
                [FieldOffset(0)] public ByteMessage  b;
                [FieldOffset(0)] public ShortMessage s;
                [FieldOffset(0)] public LongMessage  l;

        } // struct Message

        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Atom        message_type;
        public Xlib.Xint        format__;
        public Message      data__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int format         { get { return (int)format__; } }
        public sbyte b(int n)
                        {
                                switch(n)
                                {
                                        case 0:         return data__.b.b0;
                                        case 1:         return data__.b.b1;
                                        case 2:         return data__.b.b2;
                                        case 3:         return data__.b.b3;
                                        case 4:         return data__.b.b4;
                                        case 5:         return data__.b.b5;
                                        case 6:         return data__.b.b6;
                                        case 7:         return data__.b.b7;
                                        case 8:         return data__.b.b8;
                                        case 9:         return data__.b.b9;
                                        case 10:        return data__.b.b10;
                                        case 11:        return data__.b.b11;
                                        case 12:        return data__.b.b12;
                                        case 13:        return data__.b.b13;
                                        case 14:        return data__.b.b14;
                                        case 15:        return data__.b.b15;
                                        case 16:        return data__.b.b16;
                                        case 17:        return data__.b.b17;
                                        case 18:        return data__.b.b18;
                                        case 19:        return data__.b.b19;
                                }
                                return 0;
                        }
        public short s(int n)
                        {
                                switch(n)
                                {
                                        case 0:         return data__.s.s0;
                                        case 1:         return data__.s.s1;
                                        case 2:         return data__.s.s2;
                                        case 3:         return data__.s.s3;
                                        case 4:         return data__.s.s4;
                                        case 5:         return data__.s.s5;
                                        case 6:         return data__.s.s6;
                                        case 7:         return data__.s.s7;
                                        case 8:         return data__.s.s8;
                                        case 9:         return data__.s.s9;
                                }
                                return 0;
                        }
        public int l(int n)
                        {
                                switch(n)
                                {
                                        case 0:         return 
(int)(data__.l.s0);
                                        case 1:         return 
(int)(data__.l.s1);
                                        case 2:         return 
(int)(data__.l.s2);
                                        case 3:         return 
(int)(data__.l.s3);
                                        case 4:         return 
(int)(data__.l.s4);
                                }
                                return 0;
                        }

} // struct XClientMessageEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XColormapEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Colormap change event.
[StructLayout(LayoutKind.Sequential)]
internal struct XColormapEvent
{
        // Structure fields.
        XAnyEvent                        common__;
        public Xlib.Colormap colormap;
        public Xlib.Bool         c_new__;
        public Xlib.Xint         state__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public bool c_new
                        { get { return (c_new__ != Xlib.Bool.False); } }
        public int state          { get { return (int)state__; } }

} // struct XColormapEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XConfigureEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Configure window event.
[StructLayout(LayoutKind.Sequential)]
internal struct XConfigureEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        width__;
        public Xlib.Xint        height__;
        public Xlib.Xint        border_width__;
        public Xlib.Window      above;
        public Xlib.Bool        override_redirect__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window event_window
                        { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int width          { get { return (int)width__; } }
        public int height         { get { return (int)height__; } }
        public int border_width   { get { return (int)border_width__; } }
        public bool override_redirect
                        { get { return (override_redirect__ != 
Xlib.Bool.False); } }

} // struct XConfigureEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XConfigureRequestEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Configure request event.
[StructLayout(LayoutKind.Sequential)]
internal struct XConfigureRequestEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        width__;
        public Xlib.Xint        height__;
        public Xlib.Xint        border_width__;
        public Xlib.Window      above;
        public Xlib.Xint        detail__;
        public Xlib.Xulong      value_mask__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window parent { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int width          { get { return (int)width__; } }
        public int height         { get { return (int)height__; } }
        public int border_width   { get { return (int)border_width__; } }
        public int detail         { get { return (int)detail__; } }
        public uint value_mask    { get { return (uint)value_mask__; } }

} // struct XConfigureRequestEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XCreateWindowEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Create window event.
[StructLayout(LayoutKind.Sequential)]
internal struct XCreateWindowEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        width__;
        public Xlib.Xint        height__;
        public Xlib.Xint        border_width__;
        public Xlib.Bool        override_redirect__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window parent { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int width          { get { return (int)width__; } }
        public int height         { get { return (int)height__; } }
        public int border_width   { get { return (int)border_width__; } }
        public bool override_redirect
                        { get { return (override_redirect__ != 
Xlib.Bool.False); } }

} // struct XCreateWindowEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XCrossingEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Border crossing event.
[StructLayout(LayoutKind.Sequential)]
internal struct XCrossingEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      root;
        public Xlib.Window      subwindow;
        public Xlib.Time        time;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        x_root__;
        public Xlib.Xint        y_root__;
        public Xlib.Xint        mode__;
        public Xlib.Xint        detail__;
        public Xlib.Bool        same_screen__;
        public Xlib.Bool        focus__;
        public Xlib.Xuint       state__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int x_root         { get { return (int)x_root__; } }
        public int y_root         { get { return (int)y_root__; } }
        public CrossingMode mode  { get { return (CrossingMode)(int)mode__; } }
        public CrossingDetail detail
                { get { return (CrossingDetail)(int)detail__; } }
        public bool same_screen
                { get { return (same_screen__ != Xlib.Bool.False); } }
        public bool focus
                { get { return (focus__ != Xlib.Bool.False); } }
        public ModifierMask state { get { return (ModifierMask)(uint)state__; } 
}

} // struct XCrossingEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XDestroyWindowEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Destroy window event.
[StructLayout(LayoutKind.Sequential)]
internal struct XDestroyWindowEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window event_window
                        { get { return common__.window; } }

} // struct XDestroyWindowEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Union that combines all of the events into one structure.
[StructLayout(LayoutKind.Explicit)]
internal struct XEvent
{
        [FieldOffset(0)] public XAnyEvent                 xany;
        [FieldOffset(0)] public XKeyEvent                 xkey;
        [FieldOffset(0)] public XButtonEvent              xbutton;
        [FieldOffset(0)] public XMotionEvent              xmotion;
        [FieldOffset(0)] public XCrossingEvent            xcrossing;
        [FieldOffset(0)] public XFocusChangeEvent         xfocus;
        [FieldOffset(0)] public XKeymapEvent              xkeymap;
        [FieldOffset(0)] public XExposeEvent              xexpose;
        [FieldOffset(0)] public XGraphicsExposeEvent      xgraphicsexpose;
        [FieldOffset(0)] public XNoExposeEvent            xnoexpose;
        [FieldOffset(0)] public XVisibilityEvent          xvisibility;
        [FieldOffset(0)] public XCreateWindowEvent        xcreatewindow;
        [FieldOffset(0)] public XDestroyWindowEvent       xdestroywindow;
        [FieldOffset(0)] public XUnmapEvent               xunmap;
        [FieldOffset(0)] public XMapEvent                 xmap;
        [FieldOffset(0)] public XMapRequestEvent          xmaprequest;
        [FieldOffset(0)] public XReparentEvent            xreparent;
        [FieldOffset(0)] public XConfigureEvent           xconfigure;
        [FieldOffset(0)] public XGravityEvent             xgravity;
        [FieldOffset(0)] public XResizeRequestEvent       xresizerequest;
        [FieldOffset(0)] public XConfigureRequestEvent    xconfigurerequest;
        [FieldOffset(0)] public XCirculateEvent           xcirculate;
        [FieldOffset(0)] public XCirculateRequestEvent    xcirculaterequest;
        [FieldOffset(0)] public XPropertyEvent            xproperty;
        [FieldOffset(0)] public XSelectionClearEvent      xselectionclear;
        [FieldOffset(0)] public XSelectionRequestEvent    xselectionrequest;
        [FieldOffset(0)] public XSelectionEvent           xselection;
        [FieldOffset(0)] public XColormapEvent            xcolormap;
        [FieldOffset(0)] public XClientMessageEvent       xclient;
        [FieldOffset(0)] public XMappingEvent             xmapping;
        [FieldOffset(0)] public XPadEvent                 pad;

        // Access common fields.
        public EventType type     { get { return (EventType)(xany.type); } }
        public uint serial        { get { return xany.serial; } }
        public bool send_event    { get { return xany.send_event; } }
        public IntPtr display     { get { return xany.display; } }
        public Xlib.Window window { get { return xany.window; } }

} // struct XEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XExposeEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Expose event.
[StructLayout(LayoutKind.Sequential)]
internal struct XExposeEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        width__;
        public Xlib.Xint        height__;
        public Xlib.Xint        count__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int width          { get { return (int)width__; } }
        public int height         { get { return (int)height__; } }
        public int count          { get { return (int)count__; } }

} // struct XExposeEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XFocusChangeEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Focus change event.
[StructLayout(LayoutKind.Sequential)]
internal struct XFocusChangeEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Xint        mode__;
        public Xlib.Xint        detail__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int mode           { get { return (int)mode__; } }
        public int detail         { get { return (int)detail__; } }

} // struct XFocusChangeEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XGraphicsExposeEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Graphics expose event.
[StructLayout(LayoutKind.Sequential)]
internal struct XGraphicsExposeEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        width__;
        public Xlib.Xint        height__;
        public Xlib.Xint        count__;
        public Xlib.Xint        major_code__;
        public Xlib.Xint        minor_code__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Drawable drawable
                        { get { return (Xlib.Drawable)common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int width          { get { return (int)width__; } }
        public int height         { get { return (int)height__; } }
        public int count          { get { return (int)count__; } }
        public int major_code     { get { return (int)major_code__; } }
        public int minor_code     { get { return (int)minor_code__; } }

} // struct XGraphicsExposeEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XGravityEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Gravity change event.
[StructLayout(LayoutKind.Sequential)]
internal struct XGravityEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window event_window
                        { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }

} // struct XGravityEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XKeyEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Keyboard event.
[StructLayout(LayoutKind.Sequential)]
internal struct XKeyEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      root;
        public Xlib.Window      subwindow;
        public Xlib.Time        time;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        x_root__;
        public Xlib.Xint        y_root__;
        public Xlib.Xuint       state__;
        public Xlib.Xuint       keycode__;
        public Xlib.Bool        same_screen__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int x_root         { get { return (int)x_root__; } }
        public int y_root         { get { return (int)y_root__; } }
        public ModifierMask state { get { return (ModifierMask)(uint)state__; } 
}
        public uint keycode       { get { return (uint)keycode__; } }
        public bool same_screen
                { get { return (same_screen__ != Xlib.Bool.False); } }

} // struct XKeyEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XKeymapEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Keymap event.
[StructLayout(LayoutKind.Sequential)]
internal struct XKeymapEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public sbyte            key_vector0;
        public sbyte            key_vector1;
        public sbyte            key_vector2;
        public sbyte            key_vector3;
        public sbyte            key_vector4;
        public sbyte            key_vector5;
        public sbyte            key_vector6;
        public sbyte            key_vector7;
        public sbyte            key_vector8;
        public sbyte            key_vector9;
        public sbyte            key_vector10;
        public sbyte            key_vector11;
        public sbyte            key_vector12;
        public sbyte            key_vector13;
        public sbyte            key_vector14;
        public sbyte            key_vector15;
        public sbyte            key_vector16;
        public sbyte            key_vector17;
        public sbyte            key_vector18;
        public sbyte            key_vector19;
        public sbyte            key_vector20;
        public sbyte            key_vector21;
        public sbyte            key_vector22;
        public sbyte            key_vector23;
        public sbyte            key_vector24;
        public sbyte            key_vector25;
        public sbyte            key_vector26;
        public sbyte            key_vector27;
        public sbyte            key_vector28;
        public sbyte            key_vector29;
        public sbyte            key_vector30;
        public sbyte            key_vector31;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public sbyte key_vector(int n)
                        {
                                switch(n)
                                {
                                        case 0:         return key_vector0;
                                        case 1:         return key_vector1;
                                        case 2:         return key_vector2;
                                        case 3:         return key_vector3;
                                        case 4:         return key_vector4;
                                        case 5:         return key_vector5;
                                        case 6:         return key_vector6;
                                        case 7:         return key_vector7;
                                        case 8:         return key_vector8;
                                        case 9:         return key_vector9;
                                        case 10:        return key_vector10;
                                        case 11:        return key_vector11;
                                        case 12:        return key_vector12;
                                        case 13:        return key_vector13;
                                        case 14:        return key_vector14;
                                        case 15:        return key_vector15;
                                        case 16:        return key_vector16;
                                        case 17:        return key_vector17;
                                        case 18:        return key_vector18;
                                        case 19:        return key_vector19;
                                        case 20:        return key_vector20;
                                        case 21:        return key_vector21;
                                        case 22:        return key_vector22;
                                        case 23:        return key_vector23;
                                        case 24:        return key_vector24;
                                        case 25:        return key_vector25;
                                        case 26:        return key_vector26;
                                        case 27:        return key_vector27;
                                        case 28:        return key_vector28;
                                        case 29:        return key_vector29;
                                        case 30:        return key_vector30;
                                        case 31:        return key_vector31;
                                }
                                return 0;
                        }

} // struct XKeymapEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XMapEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Map window event.
[StructLayout(LayoutKind.Sequential)]
internal struct XMapEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Bool        override_redirect__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window event_window
                        { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public bool override_redirect
                        { get { return (override_redirect__ != 
Xlib.Bool.False); } }

} // struct XMapEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XMapRequestEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Map request event.
[StructLayout(LayoutKind.Sequential)]
internal struct XMapRequestEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window parent { get { return common__.window; } }

} // struct XMapRequestEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XMappingEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Key mapping event.
[StructLayout(LayoutKind.Sequential)]
internal struct XMappingEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Xint        request__;
        public Xlib.Xint        first_keycode__;
        public Xlib.Xint        count__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int request        { get { return (int)request__; } }
        public int first_keycode  { get { return (int)first_keycode__; } }
        public int count          { get { return (int)count__; } }

} // struct XMappingEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XMotionEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Pointer motion event.
[StructLayout(LayoutKind.Sequential)]
internal struct XMotionEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      root;
        public Xlib.Window      subwindow;
        public Xlib.Time        time;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Xint        x_root__;
        public Xlib.Xint        y_root__;
        public Xlib.Xuint       state__;
        public sbyte            is_hint;
        public Xlib.Bool        same_screen__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public int x_root         { get { return (int)x_root__; } }
        public int y_root         { get { return (int)y_root__; } }
        public ModifierMask state { get { return (ModifierMask)(uint)state__; } 
}
        public bool same_screen
                { get { return (same_screen__ != Xlib.Bool.False); } }

} // struct XMotionEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XNoExposeEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// No expose event.
[StructLayout(LayoutKind.Sequential)]
internal struct XNoExposeEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Xint        major_code__;
        public Xlib.Xint        minor_code__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Drawable drawable
                        { get { return (Xlib.Drawable)common__.window; } }

        // Convert odd fields into types that are useful.
        public int major_code     { get { return (int)major_code__; } }
        public int minor_code     { get { return (int)minor_code__; } }

} // struct XNoExposeEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XPadEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Structure that is used to pad an XEvent to its maximum size.
[StructLayout(LayoutKind.Sequential)]
internal struct XPadEvent
{
        public Xlib.Xlong       pad0;
        public Xlib.Xlong       pad1;
        public Xlib.Xlong       pad2;
        public Xlib.Xlong       pad3;
        public Xlib.Xlong       pad4;
        public Xlib.Xlong       pad5;
        public Xlib.Xlong       pad6;
        public Xlib.Xlong       pad7;
        public Xlib.Xlong       pad8;
        public Xlib.Xlong       pad9;
        public Xlib.Xlong       pad10;
        public Xlib.Xlong       pad11;
        public Xlib.Xlong       pad12;
        public Xlib.Xlong       pad13;
        public Xlib.Xlong       pad14;
        public Xlib.Xlong       pad15;
        public Xlib.Xlong       pad16;
        public Xlib.Xlong       pad17;
        public Xlib.Xlong       pad18;
        public Xlib.Xlong       pad19;
        public Xlib.Xlong       pad20;
        public Xlib.Xlong       pad21;
        public Xlib.Xlong       pad22;
        public Xlib.Xlong       pad23;
}

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XPropertyEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Property change event.
[StructLayout(LayoutKind.Sequential)]
internal struct XPropertyEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Atom        atom;
        public Xlib.Time        time;
        public Xlib.Xint        state__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int state          { get { return (int)state__; } }

} // struct XPropertyEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XReparentEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Reparent window event.
[StructLayout(LayoutKind.Sequential)]
internal struct XReparentEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Window      parent;
        public Xlib.Xint        x__;
        public Xlib.Xint        y__;
        public Xlib.Bool        override_redirect__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window event_window
                        { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int x              { get { return (int)x__; } }
        public int y              { get { return (int)y__; } }
        public bool override_redirect
                        { get { return (override_redirect__ != 
Xlib.Bool.False); } }

} // struct XReparentEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XResizeRequestEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Resize request event.
[StructLayout(LayoutKind.Sequential)]
internal struct XResizeRequestEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Xint        width__;
        public Xlib.Xint        height__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int width          { get { return (int)width__; } }
        public int height         { get { return (int)height__; } }

} // struct XResizeRequestEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XSelectionClearEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Selection clear event.
[StructLayout(LayoutKind.Sequential)]
internal struct XSelectionClearEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Atom        selection;
        public Xlib.Time        time;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

} // struct XSelectionClearEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XSelectionEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Selection event.
[StructLayout(LayoutKind.Sequential)]
internal struct XSelectionEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Atom        selection;
        public Xlib.Atom        target;
        public Xlib.Atom        property;
        public Xlib.Time        time;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window requestor
                        { get { return common__.window; } }

} // struct XSelectionEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XSelectionRequestEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Selection request event.
[StructLayout(LayoutKind.Sequential)]
internal struct XSelectionRequestEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      requestor;
        public Xlib.Atom        selection;
        public Xlib.Atom        target;
        public Xlib.Atom        property;
        public Xlib.Time        time;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window owner  { get { return common__.window; } }

} // struct XSelectionRequestEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XUnmapEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Unmap window event.
[StructLayout(LayoutKind.Sequential)]
internal struct XUnmapEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Window      window;
        public Xlib.Bool        from_configure__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window event_window
                        { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public bool from_configure
                        { get { return (from_configure__ != Xlib.Bool.False); } 
}

} // struct XUnmapEvent

} // namespace Xsharp.Events

--- NEW FILE ---
/*
 * XVisibilityEvent.cs - Definitions for X event structures.
 *
 * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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 General Public License for more details.
 *
 * You should have received a copy of the GNU 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
 */

namespace Xsharp.Events
{

using System;
using System.Runtime.InteropServices;

// Visibility change event.
[StructLayout(LayoutKind.Sequential)]
internal struct XVisibilityEvent
{
        // Structure fields.
        XAnyEvent                       common__;
        public Xlib.Xint        state__;

        // Access parent class fields.
        public int type           { get { return common__.type; } }
        public uint serial        { get { return common__.serial; } }
        public bool send_event    { get { return common__.send_event; } }
        public IntPtr display     { get { return common__.display; } }
        public Xlib.Window window { get { return common__.window; } }

        // Convert odd fields into types that are useful.
        public int state          { get { return (int)state__; } }

} // struct XVisibilityEvent

} // namespace Xsharp.Events





reply via email to

[Prev in Thread] Current Thread [Next in Thread]