示例#1
0
        /// <summary>
        /// Constructs a DisplayWindow from a resource.
        /// </summary>
        /// <param name="resources"></param>
        /// <param name="name"></param>
        public DisplayWindow(Resources.AgateResourceCollection resources, string name)
        {
            Resources.AgateResource         res  = resources[name];
            Resources.DisplayWindowResource disp = res as Resources.DisplayWindowResource;

            if (disp == null)
            {
                throw new Resources.AgateResourceException("Resource " + name + " was found, but was of type " + name.GetType().ToString() + ", not DisplayWindowResource.");
            }


            if (disp.FullScreen)
            {
                CreateWindowParams par = CreateWindowParams.FullScreen(
                    disp.Title, disp.Size.Width, disp.Size.Height, disp.Bpp);

                impl = Display.Impl.CreateDisplayWindow(par);
            }
            else
            {
                CreateWindowParams par = CreateWindowParams.Windowed(
                    disp.Title, disp.Size.Width, disp.Size.Height, disp.AllowResize, null);

                impl = Display.Impl.CreateDisplayWindow(par);
            }

            Display.RenderTarget    = this;
            Display.DisposeDisplay += new Display.DisposeDisplayHandler(Dispose);
        }
示例#2
0
 /// <summary>
 /// Disposes of unmanaged resources.
 /// </summary>
 public void Dispose()
 {
     if (impl != null)
     {
         impl.Dispose();
         impl = null;
     }
 }
示例#3
0
        protected override void ShowCursor()
        {
            System.Windows.Forms.Cursor.Show();

            if (Display.CurrentWindow != null)
            {
                DisplayWindowImpl impl = Display.CurrentWindow.Impl;
                ((GL_IRenderTarget)impl).ShowCursor();
            }
        }
示例#4
0
        /// <summary>
        /// Creates a DisplayWindow object using the specified CreateWindowParams to create
        /// the window.
        /// </summary>
        /// <param name="windowParams"></param>
        public DisplayWindow(CreateWindowParams windowParams)
        {
            if (Display.Impl == null)
            {
                throw new AgateException(
                          "Display has not been initialized." + Environment.NewLine +
                          "Did you forget to call AgateSetup.Initialize or Display.Initialize?");
            }

            impl = Display.Impl.CreateDisplayWindow(windowParams);

            Display.RenderTarget    = this;
            Display.DisposeDisplay += new Display.DisposeDisplayHandler(Dispose);
        }