/*not that easy without fixed function
        /// <summary>
        /// Select this texture as texture stage 0
        /// </summary>
        public virtual void Select()
        {
            if (xnaTexture != null)
                RCGame.device.sette.DirectXDevice.SetTexture(0, xnaTexture);
        } // Select()
         */

        #endregion Other

        #if DEBUG

        /*
        /// <summary>
        /// Test fullscreen texture
        /// </summary>
        //[Test]
        public static void TestFullscreenTextures()
        {
            Texture testTexture = null, testTexture2 = null;
            RaceGame.StartTest("TestFullscreenTextures",
                delegate
                {
                    testTexture = new Texture("MainMenu.dds");
                    testTexture2 = new Texture("MouseCursor.dds");
                },
                delegate
                {
                    // Fill background with crazy color
                    RaceGame.DirectXDevice.Clear(ClearFlags.Target,
                        Color.Aquamarine, 1, 0);

                    // Draw texture on top of it without any alpha!
                    RaceGame.DirectXDevice.RenderState.AlphaBlendEnable = false;
                    testTexture.RenderOnScreen(
                        GraphicForm.ResolutionRect,
                        new Rectangle(0, 0, 1024, 768));
                    testTexture2.RenderOnScreen(new Rectangle(0, 0,
                        testTexture2.Width, testTexture2.Height));
                });
        } // TestTextures()
         */
        /// <summary>
        /// Test rendering rotated texture
        /// </summary>
        //[Test]
        public static void TestRenderingRotatedTexture()
        {
            Texture testTexture = null;
            TestGame.Start("TestRenderingRotatedTexture",
                delegate
                {
                    testTexture = new Texture("landscape");
                },
                delegate
                {
                    testTexture.RenderOnScreen(
                        new Rectangle(0, 0, 100, 100),
                        new Rectangle(0, 0, 100, 100));

                    testTexture.RenderOnScreenWithRotation(
                        new Rectangle(100, 100, 150, 150),
                        new Rectangle(100, 100, 150, 150),
                        Input.MousePos.X / 100.0f,
                        new Vector2(50, 50));
                });
        }