示例#1
0
        public void RenderSurface(WMSurface surface)
        {
            int posAttrib = desktopPipeline.GetAttribLocation("position");

            GL.EnableVertexAttribArray(posAttrib);

            int texAttrib = desktopPipeline.GetAttribLocation("texcoord");

            GL.EnableVertexAttribArray(texAttrib);

            surface.Geometry(posAttrib, texAttrib);
            //surface.Geometry(posAttrib, 0);

            int texture = surface.Texture();

            GL.BindTexture(TextureTarget.Texture2D, texture);
            desktopPipeline.Draw();
            //Console.WriteLine("Rendering surface");
            //GL.DisableVertexAttribArray(posAttrib);
            //GL.DisableVertexAttribArray(texAttrib);

            GL.Flush();
            surface.SendDone();
            //surface.callback.Remove();
            //surface.callback = null;
        }
示例#2
0
        public override void CreateSurface(IntPtr clientPtr, IntPtr resourcePtr, UInt32 id)
        {
            WMSurface surface = new WMSurface(clientPtr, 3, id);             // Make new Surface : WlSurface resource

            WindowManager.Surfaces.Add(surface);
            //Starfury.CurrentVirtualDesktop.Surfaces.Add(surface);
            //WindowManager.CurrentVirtualDesktop.Surfaces.Add(surface);
        }
示例#3
0
        public WMSubsurface(IntPtr client, Int32 version, UInt32 id, IntPtr resource) : base(client, version, id, resource)
        {
            IntPtr   surfacePtr = resource;
            Resource r          = this.client.FindResource(surfacePtr);

            if (r != null)
            {
                this.surface = (WMSurface)r;
            }
        }
示例#4
0
 public void FirstCommit(WMSurface surface)
 {
 }