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

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

[dotgnu-pnet-commits] pnetlib ./ChangeLog System.Drawing/Toolkit/IToo...


From: Heiko Weiss
Subject: [dotgnu-pnet-commits] pnetlib ./ChangeLog System.Drawing/Toolkit/IToo...
Date: Fri, 13 Jan 2006 09:07:59 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    pnetlib
Branch:         
Changes by:     Heiko Weiss <address@hidden>    06/01/13 09:07:59

Modified files:
        .              : ChangeLog 
        System.Drawing/Toolkit: IToolkitTopLevelWindow.cs 
        System.Drawing.Win32: DrawingTopLevelWindow.cs 
        System.Drawing.Xsharp: DrawingTopLevelWindow.cs 
        System.Windows.Forms: Form.cs 
        Xsharp         : TopLevelWindow.cs 

Log message:
        enable transparent forms.
        can be used with xorg and if option "Composite" is "Enable" in section 
"Extensions" in xorg.conf.
        Now we can display semi transparent forms!!!.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/ChangeLog.diff?tr1=1.2344&tr2=1.2345&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/System.Drawing/Toolkit/IToolkitTopLevelWindow.cs.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/System.Drawing.Win32/DrawingTopLevelWindow.cs.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/System.Drawing.Xsharp/DrawingTopLevelWindow.cs.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/System.Windows.Forms/Form.cs.diff?tr1=1.47&tr2=1.48&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/Xsharp/TopLevelWindow.cs.diff?tr1=1.33&tr2=1.34&r1=text&r2=text

Patches:
Index: pnetlib/ChangeLog
diff -u pnetlib/ChangeLog:1.2344 pnetlib/ChangeLog:1.2345
--- pnetlib/ChangeLog:1.2344    Thu Jan  5 14:41:35 2006
+++ pnetlib/ChangeLog   Fri Jan 13 09:07:59 2006
@@ -1,3 +1,14 @@
+2006-01-13  Heiko Weiss <address@hidden>
+
+       * System.Drawing/Toolkit/IToolkitTopLevelWindow.cs,
+       * System.Drawing.Win32/DrawingTopLevelWindow.cs,
+       * System.Drawing.Xsharp/DrawingTopLevelWindow.cs,
+       * System.Windows.Forms/Form.cs,
+       * Xsharp/TopLevelWindow.cs:
+       enable transparent forms.
+       can be used with xorg and if option "Composite" is "Enable" in section 
"Extensions" in xorg.conf.
+       Now we can display semi transparent forms!!!.
+       
 
 2006-01-05  Gopal V  <address@hidden>
 
Index: pnetlib/System.Drawing.Win32/DrawingTopLevelWindow.cs
diff -u pnetlib/System.Drawing.Win32/DrawingTopLevelWindow.cs:1.14 
pnetlib/System.Drawing.Win32/DrawingTopLevelWindow.cs:1.15
--- pnetlib/System.Drawing.Win32/DrawingTopLevelWindow.cs:1.14  Sun Nov 21 
01:14:32 2004
+++ pnetlib/System.Drawing.Win32/DrawingTopLevelWindow.cs       Fri Jan 13 
09:07:59 2006
@@ -294,6 +294,11 @@
 
        }
 
+       void IToolkitTopLevelWindow.SetOpacity(double opacity)
+       {
+               // Not yet implemented
+       }
+
        internal override void SetFocus()
        {
                if (sink != null)
Index: pnetlib/System.Drawing.Xsharp/DrawingTopLevelWindow.cs
diff -u pnetlib/System.Drawing.Xsharp/DrawingTopLevelWindow.cs:1.32 
pnetlib/System.Drawing.Xsharp/DrawingTopLevelWindow.cs:1.33
--- pnetlib/System.Drawing.Xsharp/DrawingTopLevelWindow.cs:1.32 Wed Sep 21 
13:08:35 2005
+++ pnetlib/System.Drawing.Xsharp/DrawingTopLevelWindow.cs      Fri Jan 13 
09:07:59 2006
@@ -410,6 +410,11 @@
                                OtherHints = otherHints;
                        }
 
+       void IToolkitTopLevelWindow.SetOpacity(double opacity)
+                       {
+                               Opacity = opacity;
+                       }
+
        protected override void OnBeginInvokeMessage(IntPtr i_gch)
                        {
                                if( sink != null )
Index: pnetlib/System.Drawing/Toolkit/IToolkitTopLevelWindow.cs
diff -u pnetlib/System.Drawing/Toolkit/IToolkitTopLevelWindow.cs:1.1 
pnetlib/System.Drawing/Toolkit/IToolkitTopLevelWindow.cs:1.2
--- pnetlib/System.Drawing/Toolkit/IToolkitTopLevelWindow.cs:1.1        Mon Dec 
 1 00:23:26 2003
+++ pnetlib/System.Drawing/Toolkit/IToolkitTopLevelWindow.cs    Fri Jan 13 
09:07:59 2006
@@ -54,6 +54,9 @@
        // Change the set of supported window decorations and functions.
        void SetWindowFlags(ToolkitWindowFlags flags);
 
+       // Set opacity
+       void SetOpacity(double opacity);
+
 }; // interface IToolkitWindow
 
 }; // namespace System.Drawing.Toolkit
Index: pnetlib/System.Windows.Forms/Form.cs
diff -u pnetlib/System.Windows.Forms/Form.cs:1.47 
pnetlib/System.Windows.Forms/Form.cs:1.48
--- pnetlib/System.Windows.Forms/Form.cs:1.47   Thu Sep  8 12:10:35 2005
+++ pnetlib/System.Windows.Forms/Form.cs        Fri Jan 13 09:07:59 2006
@@ -513,9 +513,12 @@
                                }
                                set
                                {
-                                       // We don't support transparent windows,
-                                       // so just save the value away for 
later.
                                        opacity = value;
+                                       IToolkitTopLevelWindow window = 
(IToolkitTopLevelWindow)ToolkitWindow;
+                                       if(window != null)
+                                       {
+                                               window.SetOpacity(opacity);
+                                       }
                                }
                        }
        public Form[] OwnedForms
@@ -737,6 +740,10 @@
                                                        window.Dimensions.Height
                                                );
                                }
+                               if(opacity != 1.0)
+                               {
+                                       window.SetOpacity(opacity);
+                               }
                                return window;
                        }
 
Index: pnetlib/Xsharp/TopLevelWindow.cs
diff -u pnetlib/Xsharp/TopLevelWindow.cs:1.33 
pnetlib/Xsharp/TopLevelWindow.cs:1.34
--- pnetlib/Xsharp/TopLevelWindow.cs:1.33       Wed Sep 21 23:29:33 2005
+++ pnetlib/Xsharp/TopLevelWindow.cs    Fri Jan 13 09:07:59 2006
@@ -2377,6 +2377,32 @@
                                }
                        }
 
+       public double Opacity
+       {
+               set
+               {
+                       int op = (int)(value * 0xffffffff);
+                       try
+                       {       
+                               IntPtr display = dpy.Lock();
+                               XWindow handle = GetWidgetHandle();
+                               
+                               Xsharp.Xlib.XChangeProperty
+                                                                       
(display, handle,
+                                                                       
Xlib.XInternAtom(display, "_NET_WM_WINDOW_OPACITY",
+                                                                               
                        XBool.False),
+                                                                       
Xlib.XInternAtom(display, "CARDINAL",
+                                                                               
                        XBool.False),
+                                                                       32, 0 
/* PropModeReplace */,
+                                                                       new 
Xlib.Xlong [] {(Xlib.Xlong)(op)}, 1);
+                       }
+                       finally
+                       {
+                               dpy.Unlock();
+                       }
+               }
+       }
+
 } // class TopLevelWindow
 
 } // namespace Xsharp




reply via email to

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