public static Surface CreateGlitzSurface(Gdk.Drawable d) { Console.WriteLine("XvisID: " + GdkUtils.GetXVisualId(d.Visual)); IntPtr fmt = NDesk.Glitz.GlitzAPI.glitz_glx_find_drawable_format_for_visual(GdkUtils.GetXDisplay(d.Display), d.Screen.Number, GdkUtils.GetXVisualId(d.Visual)); Console.WriteLine("fmt: " + fmt); uint w = 100, h = 100; IntPtr glitz_drawable = NDesk.Glitz.GlitzAPI.glitz_glx_create_drawable_for_window(GdkUtils.GetXDisplay(d.Display), d.Screen.Number, fmt, GdkUtils.GetXid(d), w, h); NDesk.Glitz.Drawable ggd = new NDesk.Glitz.Drawable(glitz_drawable); IntPtr glitz_format = ggd.FindStandardFormat(NDesk.Glitz.FormatName.ARGB32); NDesk.Glitz.Surface ggs = new NDesk.Glitz.Surface(ggd, glitz_format, 100, 100, 0, IntPtr.Zero); Console.WriteLine(ggd.Features); bool doublebuffer = false; ggs.Attach(ggd, doublebuffer ? NDesk.Glitz.DrawableBuffer.BackColor : NDesk.Glitz.DrawableBuffer.FrontColor); //GlitzAPI.glitz_drawable_destroy (glitz_drawable); GlitzSurface gs = new GlitzSurface(ggs.Handle); return(gs); }
public static Surface CreateGlitzSurface (Gdk.Drawable d) { Console.WriteLine ("XvisID: " + GdkUtils.GetXVisualId (d.Visual)); IntPtr fmt = NDesk.Glitz.GlitzAPI.glitz_glx_find_drawable_format_for_visual (GdkUtils.GetXDisplay (d.Display), d.Screen.Number, GdkUtils.GetXVisualId (d.Visual)); Console.WriteLine ("fmt: " + fmt); uint w = 100, h = 100; IntPtr glitz_drawable = NDesk.Glitz.GlitzAPI.glitz_glx_create_drawable_for_window (GdkUtils.GetXDisplay (d.Display), d.Screen.Number, fmt, GdkUtils.GetXid (d), w, h); NDesk.Glitz.Drawable ggd = new NDesk.Glitz.Drawable (glitz_drawable); IntPtr glitz_format = ggd.FindStandardFormat (NDesk.Glitz.FormatName.ARGB32); NDesk.Glitz.Surface ggs = new NDesk.Glitz.Surface (ggd, glitz_format, 100, 100, 0, IntPtr.Zero); Console.WriteLine (ggd.Features); bool doublebuffer = false; ggs.Attach (ggd, doublebuffer ? NDesk.Glitz.DrawableBuffer.BackColor : NDesk.Glitz.DrawableBuffer.FrontColor); //GlitzAPI.glitz_drawable_destroy (glitz_drawable); GlitzSurface gs = new GlitzSurface (ggs.Handle); return gs; }